Built motion from commit (unavailable).|2.5.4
[motion2.git] / server / api / intZohoConfiguration / intZohoConfiguration.controller.js
index 99daeb9..f665a48 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xaabe=['bluebird','mustache','util','path','sox','to-csv','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','client','http','test','Sequelize','ValidationError','request','info','request\x20sent','debug','ZohoConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','ZohoConfiguration,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','stack','name','send','index','map','ZohoConfiguration','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','length','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','show','params','fields','create','body','find','getFields','findOne','ZohoField','hasOwnProperty','nolimit','getSubjects','getDescriptions','html-pdf','eml-format','zip-dir','fast-json-patch','moment'];(function(_0x372400,_0xdaeb10){var _0x4cd28c=function(_0x497d1f){while(--_0x497d1f){_0x372400['push'](_0x372400['shift']());}};_0x4cd28c(++_0xdaeb10);}(_0xaabe,0x118));var _0xeaab=function(_0x21a9d9,_0x4d5ac8){_0x21a9d9=_0x21a9d9-0x0;var _0x46adce=_0xaabe[_0x21a9d9];return _0x46adce;};'use strict';var pdf=require(_0xeaab('0x0'));var emlformat=require(_0xeaab('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xeaab('0x2'));var jsonpatch=require(_0xeaab('0x3'));var rp=require('request-promise');var moment=require(_0xeaab('0x4'));var BPromise=require(_0xeaab('0x5'));var Mustache=require(_0xeaab('0x6'));var util=require(_0xeaab('0x7'));var path=require(_0xeaab('0x8'));var sox=require(_0xeaab('0x9'));var csv=require(_0xeaab('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xeaab('0xb'));var crypto=require(_0xeaab('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xeaab('0xd'));var toCsv=require('to-csv');var querystring=require(_0xeaab('0xe'));var Papa=require(_0xeaab('0xf'));var Redis=require(_0xeaab('0x10'));var authService=require(_0xeaab('0x11'));var qs=require(_0xeaab('0x12'));var as=require(_0xeaab('0x13'));var hardwareService=require(_0xeaab('0x14'));var logger=require('../../config/logger')(_0xeaab('0x15'));var utils=require(_0xeaab('0x16'));var config=require(_0xeaab('0x17'));var db=require('../../mysqldb')['db'];var jayson=require('jayson/promise');var client=jayson[_0xeaab('0x18')][_0xeaab('0x19')]({'port':0x232a});function checkPasswordPattern(_0xa45c97,_0x483dd1,_0x5d64ca){if(_0x5d64ca){var _0x2e79fd=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x2e79fd[_0xeaab('0x1a')](_0x483dd1)){return _0xa45c97;}else{throw new db[(_0xeaab('0x1b'))][(_0xeaab('0x1c'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0xa45c97;}}function respondWithRpcPromise(_0x2767d6,_0x1efd51,_0xe1f7,_0x55da2e){return new BPromise(function(_0x5b600b,_0x24b6e3){var _0x12ce11=_0x55da2e||client;return _0x12ce11[_0xeaab('0x1d')](_0x2767d6,_0xe1f7)['then'](function(_0x33cdde){logger[_0xeaab('0x1e')]('ZohoConfiguration,\x20%s,\x20%s',_0x1efd51,_0xeaab('0x1f'));logger[_0xeaab('0x20')](_0xeaab('0x21'),_0x1efd51,_0xeaab('0x1f'),JSON[_0xeaab('0x22')](_0x33cdde));if(_0x33cdde[_0xeaab('0x23')]){if(_0x33cdde['error']['code']===0x1f4){logger[_0xeaab('0x23')](_0xeaab('0x24'),_0x1efd51,_0x33cdde[_0xeaab('0x23')][_0xeaab('0x25')]);return _0x24b6e3(_0x33cdde[_0xeaab('0x23')][_0xeaab('0x25')]);}logger['error'](_0xeaab('0x24'),_0x1efd51,_0x33cdde[_0xeaab('0x23')][_0xeaab('0x25')]);return _0x5b600b(_0x33cdde[_0xeaab('0x23')]['message']);}else{logger[_0xeaab('0x1e')](_0xeaab('0x24'),_0x1efd51,_0xeaab('0x1f'));_0x5b600b(_0x33cdde[_0xeaab('0x26')][_0xeaab('0x25')]);}})[_0xeaab('0x27')](function(_0x3d79b3){logger[_0xeaab('0x23')](_0xeaab('0x24'),_0x1efd51,_0x3d79b3);_0x24b6e3(_0x3d79b3);});});}function respondWithStatusCode(_0x8d5233,_0x167306){_0x167306=_0x167306||0xcc;return function(_0x3e4c59){if(_0x3e4c59){return _0x8d5233[_0xeaab('0x28')](_0x167306);}return _0x8d5233[_0xeaab('0x29')](_0x167306)[_0xeaab('0x2a')]();};}function respondWithResult(_0x2868fa,_0x285ce6){_0x285ce6=_0x285ce6||0xc8;return function(_0xff88b){if(_0xff88b){return _0x2868fa[_0xeaab('0x29')](_0x285ce6)[_0xeaab('0x2b')](_0xff88b);}};}function respondWithFilteredResult(_0x1d423d,_0x483574){return function(_0x3c544c){if(_0x3c544c){var _0x413423=_0x3c544c[_0xeaab('0x2c')],_0x303c9c=_0x483574[_0xeaab('0x2d')],_0x447382=_0x483574[_0xeaab('0x2d')]+_0x483574[_0xeaab('0x2e')],_0x3094cc;if(_0x447382>=_0x413423){_0x447382=_0x413423;_0x3094cc=0xc8;}else{_0x3094cc=0xce;}_0x1d423d[_0xeaab('0x29')](_0x3094cc);return _0x1d423d[_0xeaab('0x2f')](_0xeaab('0x30'),_0x303c9c+'-'+_0x447382+'/'+_0x413423)[_0xeaab('0x2b')](_0x3c544c);}return null;};}function patchUpdates(_0x28f8b0){return function(_0x1d9b80){try{jsonpatch[_0xeaab('0x31')](_0x1d9b80,_0x28f8b0,!![]);}catch(_0x3b3824){return BPromise[_0xeaab('0x32')](_0x3b3824);}return _0x1d9b80[_0xeaab('0x33')]();};}function saveUpdates(_0x1b9488,_0x3e38ba){return function(_0x488081){if(_0x488081){return _0x488081[_0xeaab('0x34')](_0x1b9488)[_0xeaab('0x35')](function(_0x27fa90){return _0x27fa90;});}return null;};}function removeEntity(_0x3c97f8,_0x41eaba){return function(_0xb33d60){if(_0xb33d60){return _0xb33d60[_0xeaab('0x36')]()[_0xeaab('0x35')](function(){_0x3c97f8[_0xeaab('0x29')](0xcc)['end']();});}};}function handleEntityNotFound(_0x322faa,_0x5334b0){return function(_0x2fbee0){if(!_0x2fbee0){_0x322faa[_0xeaab('0x28')](0x194);}return _0x2fbee0;};}function handleError(_0x5592b8,_0x5a64e3){_0x5a64e3=_0x5a64e3||0x1f4;return function(_0x2d193b){logger['error'](_0x2d193b[_0xeaab('0x37')]);if(_0x2d193b['name']){delete _0x2d193b[_0xeaab('0x38')];}_0x5592b8[_0xeaab('0x29')](_0x5a64e3)[_0xeaab('0x39')](_0x2d193b);};}exports[_0xeaab('0x3a')]=function(_0x306bb2,_0x5a9b6d){var _0x560fdc={},_0x34867={},_0x342d22={'count':0x0,'rows':[]};var _0x5703f4=_[_0xeaab('0x3b')](db[_0xeaab('0x3c')][_0xeaab('0x3d')],function(_0x86d2c){return{'name':_0x86d2c[_0xeaab('0x3e')],'type':_0x86d2c[_0xeaab('0x3f')]['key']};});_0x34867['model']=_[_0xeaab('0x3b')](_0x5703f4,_0xeaab('0x38'));_0x34867[_0xeaab('0x40')]=_[_0xeaab('0x41')](_0x306bb2['query']);_0x34867[_0xeaab('0x42')]=_[_0xeaab('0x43')](_0x34867[_0xeaab('0x44')],_0x34867[_0xeaab('0x40')]);_0x560fdc[_0xeaab('0x45')]=_[_0xeaab('0x43')](_0x34867[_0xeaab('0x44')],qs['fields'](_0x306bb2[_0xeaab('0x40')]['fields']));_0x560fdc[_0xeaab('0x45')]=_0x560fdc[_0xeaab('0x45')][_0xeaab('0x46')]?_0x560fdc[_0xeaab('0x45')]:_0x34867[_0xeaab('0x44')];if(!_0x306bb2[_0xeaab('0x40')]['hasOwnProperty']('nolimit')){_0x560fdc[_0xeaab('0x2e')]=qs['limit'](_0x306bb2['query'][_0xeaab('0x2e')]);_0x560fdc['offset']=qs[_0xeaab('0x2d')](_0x306bb2[_0xeaab('0x40')][_0xeaab('0x2d')]);}_0x560fdc[_0xeaab('0x47')]=qs[_0xeaab('0x48')](_0x306bb2[_0xeaab('0x40')]['sort']);_0x560fdc[_0xeaab('0x49')]=qs[_0xeaab('0x42')](_[_0xeaab('0x4a')](_0x306bb2[_0xeaab('0x40')],_0x34867[_0xeaab('0x42')]),_0x5703f4);if(_0x306bb2[_0xeaab('0x40')][_0xeaab('0x4b')]){_0x560fdc[_0xeaab('0x49')]=_[_0xeaab('0x4c')](_0x560fdc[_0xeaab('0x49')],{'$or':_[_0xeaab('0x3b')](_0x5703f4,function(_0x3290a5){if(_0x3290a5[_0xeaab('0x3f')]!==_0xeaab('0x4d')){var _0x4fc671={};_0x4fc671[_0x3290a5[_0xeaab('0x38')]]={'$like':'%'+_0x306bb2[_0xeaab('0x40')][_0xeaab('0x4b')]+'%'};return _0x4fc671;}})});}_0x560fdc=_['merge']({},_0x560fdc,_0x306bb2[_0xeaab('0x4e')]);var _0x3131bb={'where':_0x560fdc[_0xeaab('0x49')]};return db['ZohoConfiguration'][_0xeaab('0x2c')](_0x3131bb)['then'](function(_0x460c65){_0x342d22['count']=_0x460c65;if(_0x306bb2[_0xeaab('0x40')][_0xeaab('0x4f')]){_0x560fdc[_0xeaab('0x50')]=[{'all':!![]}];}return db['ZohoConfiguration'][_0xeaab('0x51')](_0x560fdc);})[_0xeaab('0x35')](function(_0x2c15e2){_0x342d22['rows']=_0x2c15e2;return _0x342d22;})[_0xeaab('0x35')](respondWithFilteredResult(_0x5a9b6d,_0x560fdc))[_0xeaab('0x27')](handleError(_0x5a9b6d,null));};exports[_0xeaab('0x52')]=function(_0x253356,_0xe24f98){var _0x5b1704={'raw':![],'where':{'id':_0x253356[_0xeaab('0x53')]['id']}},_0x287c59={};_0x287c59[_0xeaab('0x44')]=_[_0xeaab('0x41')](db[_0xeaab('0x3c')][_0xeaab('0x3d')]);_0x287c59[_0xeaab('0x40')]=_[_0xeaab('0x41')](_0x253356[_0xeaab('0x40')]);_0x287c59['filters']=_['intersection'](_0x287c59[_0xeaab('0x44')],_0x287c59[_0xeaab('0x40')]);_0x5b1704[_0xeaab('0x45')]=_[_0xeaab('0x43')](_0x287c59[_0xeaab('0x44')],qs[_0xeaab('0x54')](_0x253356[_0xeaab('0x40')][_0xeaab('0x54')]));_0x5b1704[_0xeaab('0x45')]=_0x5b1704['attributes'][_0xeaab('0x46')]?_0x5b1704[_0xeaab('0x45')]:_0x287c59[_0xeaab('0x44')];if(_0x253356[_0xeaab('0x40')][_0xeaab('0x4f')]){_0x5b1704[_0xeaab('0x50')]=[{'all':!![]}];}_0x5b1704=_['merge']({},_0x5b1704,_0x253356[_0xeaab('0x4e')]);return db['ZohoConfiguration']['find'](_0x5b1704)[_0xeaab('0x35')](handleEntityNotFound(_0xe24f98,null))['then'](respondWithResult(_0xe24f98,null))[_0xeaab('0x27')](handleError(_0xe24f98,null));};exports[_0xeaab('0x55')]=function(_0x1e85e1,_0x4b9f92){return db['ZohoConfiguration'][_0xeaab('0x55')](_0x1e85e1[_0xeaab('0x56')],{})[_0xeaab('0x35')](respondWithResult(_0x4b9f92,0xc9))[_0xeaab('0x27')](handleError(_0x4b9f92,null));};exports[_0xeaab('0x34')]=function(_0xc29a62,_0x3e603a){if(_0xc29a62[_0xeaab('0x56')]['id']){delete _0xc29a62[_0xeaab('0x56')]['id'];}return db[_0xeaab('0x3c')][_0xeaab('0x57')]({'where':{'id':_0xc29a62[_0xeaab('0x53')]['id']}})[_0xeaab('0x35')](handleEntityNotFound(_0x3e603a,null))['then'](saveUpdates(_0xc29a62[_0xeaab('0x56')],null))[_0xeaab('0x35')](respondWithResult(_0x3e603a,null))[_0xeaab('0x27')](handleError(_0x3e603a,null));};exports['destroy']=function(_0x25d544,_0xcbeefc){return db[_0xeaab('0x3c')]['find']({'where':{'id':_0x25d544[_0xeaab('0x53')]['id']}})[_0xeaab('0x35')](handleEntityNotFound(_0xcbeefc,null))[_0xeaab('0x35')](removeEntity(_0xcbeefc,null))[_0xeaab('0x27')](handleError(_0xcbeefc,null));};exports[_0xeaab('0x58')]=function(_0x1f841f,_0x493bea,_0x9c6a2b){var _0x3a4e20={};var _0x84ecee={};var _0x4a3106;var _0x120f97;return db[_0xeaab('0x3c')][_0xeaab('0x59')]({'where':{'id':_0x1f841f[_0xeaab('0x53')]['id']}})['then'](handleEntityNotFound(_0x493bea,null))[_0xeaab('0x35')](function(_0x148a4a){if(_0x148a4a){_0x4a3106=_0x148a4a;_0x84ecee[_0xeaab('0x44')]=_[_0xeaab('0x41')](db[_0xeaab('0x5a')][_0xeaab('0x3d')]);_0x84ecee[_0xeaab('0x40')]=_[_0xeaab('0x41')](_0x1f841f[_0xeaab('0x40')]);_0x84ecee[_0xeaab('0x42')]=_[_0xeaab('0x43')](_0x84ecee['model'],_0x84ecee[_0xeaab('0x40')]);_0x3a4e20[_0xeaab('0x45')]=_['intersection'](_0x84ecee[_0xeaab('0x44')],qs[_0xeaab('0x54')](_0x1f841f[_0xeaab('0x40')]['fields']));_0x3a4e20[_0xeaab('0x45')]=_0x3a4e20[_0xeaab('0x45')]['length']?_0x3a4e20[_0xeaab('0x45')]:_0x84ecee[_0xeaab('0x44')];_0x3a4e20[_0xeaab('0x47')]=qs[_0xeaab('0x48')](_0x1f841f[_0xeaab('0x40')][_0xeaab('0x48')]);_0x3a4e20[_0xeaab('0x49')]=qs[_0xeaab('0x42')](_[_0xeaab('0x4a')](_0x1f841f['query'],_0x84ecee[_0xeaab('0x42')]));if(_0x1f841f[_0xeaab('0x40')]['filter']){_0x3a4e20[_0xeaab('0x49')]=_[_0xeaab('0x4c')](_0x3a4e20[_0xeaab('0x49')],{'$or':_[_0xeaab('0x3b')](_0x3a4e20[_0xeaab('0x45')],function(_0x202ecb){var _0x2fdd2e={};_0x2fdd2e[_0x202ecb]={'$like':'%'+_0x1f841f['query'][_0xeaab('0x4b')]+'%'};return _0x2fdd2e;})});}_0x3a4e20=_[_0xeaab('0x4c')]({},_0x3a4e20,_0x1f841f['options']);return _0x4a3106[_0xeaab('0x58')](_0x3a4e20);}})['then'](function(_0x21c008){if(_0x21c008){_0x120f97=_0x21c008[_0xeaab('0x46')];if(!_0x1f841f[_0xeaab('0x40')][_0xeaab('0x5b')](_0xeaab('0x5c'))){_0x3a4e20[_0xeaab('0x2e')]=qs[_0xeaab('0x2e')](_0x1f841f[_0xeaab('0x40')]['limit']);_0x3a4e20['offset']=qs[_0xeaab('0x2d')](_0x1f841f[_0xeaab('0x40')]['offset']);}return _0x4a3106[_0xeaab('0x58')](_0x3a4e20);}})[_0xeaab('0x35')](function(_0x1d4a31){if(_0x1d4a31){return _0x1d4a31?{'count':_0x120f97,'rows':_0x1d4a31}:null;}})['then'](respondWithResult(_0x493bea,null))['catch'](handleError(_0x493bea,null));};exports[_0xeaab('0x5d')]=function(_0x5c2cba,_0x3cbbd8,_0x4a0965){var _0x30c400={};var _0x1f233b={};var _0x58b2d3;var _0xfbb8f9;return db[_0xeaab('0x3c')][_0xeaab('0x59')]({'where':{'id':_0x5c2cba['params']['id']}})[_0xeaab('0x35')](handleEntityNotFound(_0x3cbbd8,null))[_0xeaab('0x35')](function(_0xd32b8c){if(_0xd32b8c){_0x58b2d3=_0xd32b8c;_0x1f233b['model']=_[_0xeaab('0x41')](db['ZohoField'][_0xeaab('0x3d')]);_0x1f233b[_0xeaab('0x40')]=_[_0xeaab('0x41')](_0x5c2cba[_0xeaab('0x40')]);_0x1f233b['filters']=_[_0xeaab('0x43')](_0x1f233b[_0xeaab('0x44')],_0x1f233b[_0xeaab('0x40')]);_0x30c400['attributes']=_[_0xeaab('0x43')](_0x1f233b[_0xeaab('0x44')],qs[_0xeaab('0x54')](_0x5c2cba[_0xeaab('0x40')][_0xeaab('0x54')]));_0x30c400[_0xeaab('0x45')]=_0x30c400[_0xeaab('0x45')]['length']?_0x30c400[_0xeaab('0x45')]:_0x1f233b[_0xeaab('0x44')];_0x30c400[_0xeaab('0x47')]=qs[_0xeaab('0x48')](_0x5c2cba[_0xeaab('0x40')][_0xeaab('0x48')]);_0x30c400[_0xeaab('0x49')]=qs[_0xeaab('0x42')](_[_0xeaab('0x4a')](_0x5c2cba[_0xeaab('0x40')],_0x1f233b[_0xeaab('0x42')]));if(_0x5c2cba[_0xeaab('0x40')][_0xeaab('0x4b')]){_0x30c400[_0xeaab('0x49')]=_[_0xeaab('0x4c')](_0x30c400[_0xeaab('0x49')],{'$or':_[_0xeaab('0x3b')](_0x30c400[_0xeaab('0x45')],function(_0x54c392){var _0x462f4e={};_0x462f4e[_0x54c392]={'$like':'%'+_0x5c2cba[_0xeaab('0x40')][_0xeaab('0x4b')]+'%'};return _0x462f4e;})});}_0x30c400=_[_0xeaab('0x4c')]({},_0x30c400,_0x5c2cba[_0xeaab('0x4e')]);return _0x58b2d3[_0xeaab('0x5d')](_0x30c400);}})[_0xeaab('0x35')](function(_0x350e00){if(_0x350e00){_0xfbb8f9=_0x350e00[_0xeaab('0x46')];if(!_0x5c2cba[_0xeaab('0x40')][_0xeaab('0x5b')](_0xeaab('0x5c'))){_0x30c400['limit']=qs[_0xeaab('0x2e')](_0x5c2cba[_0xeaab('0x40')][_0xeaab('0x2e')]);_0x30c400[_0xeaab('0x2d')]=qs[_0xeaab('0x2d')](_0x5c2cba[_0xeaab('0x40')][_0xeaab('0x2d')]);}return _0x58b2d3[_0xeaab('0x5d')](_0x30c400);}})[_0xeaab('0x35')](function(_0x449f50){if(_0x449f50){return _0x449f50?{'count':_0xfbb8f9,'rows':_0x449f50}:null;}})[_0xeaab('0x35')](respondWithResult(_0x3cbbd8,null))['catch'](handleError(_0x3cbbd8,null));};exports[_0xeaab('0x5e')]=function(_0x57a355,_0x2ab897,_0x38c0aa){var _0x26643a={};var _0x2238ba={};var _0x46fbaa;var _0x4c2878;return db['ZohoConfiguration']['findOne']({'where':{'id':_0x57a355[_0xeaab('0x53')]['id']}})[_0xeaab('0x35')](handleEntityNotFound(_0x2ab897,null))[_0xeaab('0x35')](function(_0x428111){if(_0x428111){_0x46fbaa=_0x428111;_0x2238ba[_0xeaab('0x44')]=_['keys'](db[_0xeaab('0x5a')][_0xeaab('0x3d')]);_0x2238ba[_0xeaab('0x40')]=_[_0xeaab('0x41')](_0x57a355[_0xeaab('0x40')]);_0x2238ba[_0xeaab('0x42')]=_[_0xeaab('0x43')](_0x2238ba[_0xeaab('0x44')],_0x2238ba['query']);_0x26643a[_0xeaab('0x45')]=_[_0xeaab('0x43')](_0x2238ba[_0xeaab('0x44')],qs[_0xeaab('0x54')](_0x57a355['query'][_0xeaab('0x54')]));_0x26643a['attributes']=_0x26643a['attributes'][_0xeaab('0x46')]?_0x26643a[_0xeaab('0x45')]:_0x2238ba[_0xeaab('0x44')];_0x26643a['order']=qs[_0xeaab('0x48')](_0x57a355[_0xeaab('0x40')][_0xeaab('0x48')]);_0x26643a[_0xeaab('0x49')]=qs['filters'](_[_0xeaab('0x4a')](_0x57a355[_0xeaab('0x40')],_0x2238ba['filters']));if(_0x57a355[_0xeaab('0x40')]['filter']){_0x26643a[_0xeaab('0x49')]=_[_0xeaab('0x4c')](_0x26643a[_0xeaab('0x49')],{'$or':_['map'](_0x26643a['attributes'],function(_0x128882){var _0x49c4f6={};_0x49c4f6[_0x128882]={'$like':'%'+_0x57a355['query'][_0xeaab('0x4b')]+'%'};return _0x49c4f6;})});}_0x26643a=_[_0xeaab('0x4c')]({},_0x26643a,_0x57a355[_0xeaab('0x4e')]);return _0x46fbaa[_0xeaab('0x5e')](_0x26643a);}})['then'](function(_0x5f4339){if(_0x5f4339){_0x4c2878=_0x5f4339[_0xeaab('0x46')];if(!_0x57a355[_0xeaab('0x40')][_0xeaab('0x5b')](_0xeaab('0x5c'))){_0x26643a['limit']=qs[_0xeaab('0x2e')](_0x57a355[_0xeaab('0x40')][_0xeaab('0x2e')]);_0x26643a['offset']=qs[_0xeaab('0x2d')](_0x57a355['query']['offset']);}return _0x46fbaa[_0xeaab('0x5e')](_0x26643a);}})[_0xeaab('0x35')](function(_0x1c027d){if(_0x1c027d){return _0x1c027d?{'count':_0x4c2878,'rows':_0x1c027d}:null;}})[_0xeaab('0x35')](respondWithResult(_0x2ab897,null))[_0xeaab('0x27')](handleError(_0x2ab897,null));};
\ No newline at end of file
+var _0x0443=['client','http','test','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','request\x20sent','debug','ZohoConfiguration,\x20%s,\x20%s,\x20%s','stringify','error','code','ZohoConfiguration,\x20%s,\x20%s','message','result','catch','sendStatus','end','status','json','offset','limit','set','Content-Range','apply','reject','update','destroy','stack','name','map','rawAttributes','fieldName','key','model','query','keys','filters','fields','attributes','length','nolimit','order','sort','where','filter','merge','options','ZohoConfiguration','count','includeAll','include','findAll','rows','params','intersection','create','body','getFields','ZohoField','pick','hasOwnProperty','getSubjects','findOne','getDescriptions','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','mustache','path','ejs','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','jayson/promise'];(function(_0x36884e,_0x48008f){var _0x1cc367=function(_0x388a78){while(--_0x388a78){_0x36884e['push'](_0x36884e['shift']());}};_0x1cc367(++_0x48008f);}(_0x0443,0x1ab));var _0x3044=function(_0x3fec36,_0x3870d9){_0x3fec36=_0x3fec36-0x0;var _0xc9d244=_0x0443[_0x3fec36];return _0xc9d244;};'use strict';var pdf=require(_0x3044('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x3044('0x1'));var zipdir=require(_0x3044('0x2'));var jsonpatch=require(_0x3044('0x3'));var rp=require(_0x3044('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x3044('0x5'));var util=require('util');var path=require(_0x3044('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x3044('0x7'));var fs=require('fs');var _=require(_0x3044('0x8'));var squel=require(_0x3044('0x9'));var crypto=require(_0x3044('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x3044('0xb'));var toCsv=require('to-csv');var querystring=require(_0x3044('0xc'));var Papa=require(_0x3044('0xd'));var Redis=require(_0x3044('0xe'));var authService=require(_0x3044('0xf'));var qs=require(_0x3044('0x10'));var as=require(_0x3044('0x11'));var hardwareService=require(_0x3044('0x12'));var logger=require('../../config/logger')(_0x3044('0x13'));var utils=require(_0x3044('0x14'));var config=require(_0x3044('0x15'));var db=require('../../mysqldb')['db'];var jayson=require(_0x3044('0x16'));var client=jayson[_0x3044('0x17')][_0x3044('0x18')]({'port':0x232a});function checkPasswordPattern(_0x3555bb,_0x54947d,_0x5d1314){if(_0x5d1314){var _0x214d42=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x214d42[_0x3044('0x19')](_0x54947d)){return _0x3555bb;}else{throw new db['Sequelize'][(_0x3044('0x1a'))](_0x3044('0x1b'));}}else{return _0x3555bb;}}function respondWithRpcPromise(_0x3165e0,_0x4e6d9c,_0x241470,_0x1450a9){return new BPromise(function(_0xdcb041,_0x3c6c74){var _0x376b64=_0x1450a9||client;return _0x376b64[_0x3044('0x1c')](_0x3165e0,_0x241470)[_0x3044('0x1d')](function(_0x40ad3d){logger[_0x3044('0x1e')]('ZohoConfiguration,\x20%s,\x20%s',_0x4e6d9c,_0x3044('0x1f'));logger[_0x3044('0x20')](_0x3044('0x21'),_0x4e6d9c,_0x3044('0x1f'),JSON[_0x3044('0x22')](_0x40ad3d));if(_0x40ad3d['error']){if(_0x40ad3d[_0x3044('0x23')][_0x3044('0x24')]===0x1f4){logger[_0x3044('0x23')](_0x3044('0x25'),_0x4e6d9c,_0x40ad3d[_0x3044('0x23')][_0x3044('0x26')]);return _0x3c6c74(_0x40ad3d[_0x3044('0x23')][_0x3044('0x26')]);}logger['error'](_0x3044('0x25'),_0x4e6d9c,_0x40ad3d[_0x3044('0x23')][_0x3044('0x26')]);return _0xdcb041(_0x40ad3d[_0x3044('0x23')]['message']);}else{logger[_0x3044('0x1e')](_0x3044('0x25'),_0x4e6d9c,_0x3044('0x1f'));_0xdcb041(_0x40ad3d[_0x3044('0x27')][_0x3044('0x26')]);}})[_0x3044('0x28')](function(_0x38c2fb){logger[_0x3044('0x23')](_0x3044('0x25'),_0x4e6d9c,_0x38c2fb);_0x3c6c74(_0x38c2fb);});});}function respondWithStatusCode(_0x3548ad,_0x507f9a){_0x507f9a=_0x507f9a||0xcc;return function(_0x4874fa){if(_0x4874fa){return _0x3548ad[_0x3044('0x29')](_0x507f9a);}return _0x3548ad['status'](_0x507f9a)[_0x3044('0x2a')]();};}function respondWithResult(_0x59c4b9,_0x59282c){_0x59282c=_0x59282c||0xc8;return function(_0x579cba){if(_0x579cba){return _0x59c4b9[_0x3044('0x2b')](_0x59282c)[_0x3044('0x2c')](_0x579cba);}};}function respondWithFilteredResult(_0x554eb8,_0x2f2507){return function(_0x2cdeb0){if(_0x2cdeb0){var _0x55713c=_0x2cdeb0['count'],_0x57344d=_0x2f2507['offset'],_0x30b8ca=_0x2f2507[_0x3044('0x2d')]+_0x2f2507[_0x3044('0x2e')],_0x22cee8;if(_0x30b8ca>=_0x55713c){_0x30b8ca=_0x55713c;_0x22cee8=0xc8;}else{_0x22cee8=0xce;}_0x554eb8[_0x3044('0x2b')](_0x22cee8);return _0x554eb8[_0x3044('0x2f')](_0x3044('0x30'),_0x57344d+'-'+_0x30b8ca+'/'+_0x55713c)[_0x3044('0x2c')](_0x2cdeb0);}return null;};}function patchUpdates(_0x23b706){return function(_0x1dc136){try{jsonpatch[_0x3044('0x31')](_0x1dc136,_0x23b706,!![]);}catch(_0x3a4ee6){return BPromise[_0x3044('0x32')](_0x3a4ee6);}return _0x1dc136['save']();};}function saveUpdates(_0xbece79,_0x3736e2){return function(_0x411f76){if(_0x411f76){return _0x411f76[_0x3044('0x33')](_0xbece79)[_0x3044('0x1d')](function(_0x550470){return _0x550470;});}return null;};}function removeEntity(_0x40b97f,_0x4e21b1){return function(_0x58648e){if(_0x58648e){return _0x58648e[_0x3044('0x34')]()[_0x3044('0x1d')](function(){_0x40b97f[_0x3044('0x2b')](0xcc)[_0x3044('0x2a')]();});}};}function handleEntityNotFound(_0x33478d,_0x277795){return function(_0x5991fb){if(!_0x5991fb){_0x33478d[_0x3044('0x29')](0x194);}return _0x5991fb;};}function handleError(_0x24c095,_0xe069e2){_0xe069e2=_0xe069e2||0x1f4;return function(_0x251900){logger[_0x3044('0x23')](_0x251900[_0x3044('0x35')]);if(_0x251900['name']){delete _0x251900[_0x3044('0x36')];}_0x24c095[_0x3044('0x2b')](_0xe069e2)['send'](_0x251900);};}exports['index']=function(_0x33875e,_0x43e7ed){var _0x5764cd={},_0x556d13={},_0x219528={'count':0x0,'rows':[]};var _0x406f63=_[_0x3044('0x37')](db['ZohoConfiguration'][_0x3044('0x38')],function(_0x1f3ddc){return{'name':_0x1f3ddc[_0x3044('0x39')],'type':_0x1f3ddc['type'][_0x3044('0x3a')]};});_0x556d13[_0x3044('0x3b')]=_['map'](_0x406f63,'name');_0x556d13[_0x3044('0x3c')]=_[_0x3044('0x3d')](_0x33875e['query']);_0x556d13[_0x3044('0x3e')]=_['intersection'](_0x556d13['model'],_0x556d13['query']);_0x5764cd['attributes']=_['intersection'](_0x556d13['model'],qs[_0x3044('0x3f')](_0x33875e[_0x3044('0x3c')][_0x3044('0x3f')]));_0x5764cd['attributes']=_0x5764cd[_0x3044('0x40')][_0x3044('0x41')]?_0x5764cd[_0x3044('0x40')]:_0x556d13[_0x3044('0x3b')];if(!_0x33875e[_0x3044('0x3c')]['hasOwnProperty'](_0x3044('0x42'))){_0x5764cd[_0x3044('0x2e')]=qs[_0x3044('0x2e')](_0x33875e['query'][_0x3044('0x2e')]);_0x5764cd[_0x3044('0x2d')]=qs['offset'](_0x33875e[_0x3044('0x3c')][_0x3044('0x2d')]);}_0x5764cd[_0x3044('0x43')]=qs[_0x3044('0x44')](_0x33875e['query']['sort']);_0x5764cd[_0x3044('0x45')]=qs[_0x3044('0x3e')](_['pick'](_0x33875e[_0x3044('0x3c')],_0x556d13['filters']),_0x406f63);if(_0x33875e[_0x3044('0x3c')][_0x3044('0x46')]){_0x5764cd['where']=_[_0x3044('0x47')](_0x5764cd['where'],{'$or':_[_0x3044('0x37')](_0x406f63,function(_0x27439f){if(_0x27439f['type']!=='VIRTUAL'){var _0xe1da87={};_0xe1da87[_0x27439f['name']]={'$like':'%'+_0x33875e['query'][_0x3044('0x46')]+'%'};return _0xe1da87;}})});}_0x5764cd=_[_0x3044('0x47')]({},_0x5764cd,_0x33875e[_0x3044('0x48')]);var _0x376a24={'where':_0x5764cd['where']};return db[_0x3044('0x49')]['count'](_0x376a24)[_0x3044('0x1d')](function(_0x34a7d0){_0x219528[_0x3044('0x4a')]=_0x34a7d0;if(_0x33875e[_0x3044('0x3c')][_0x3044('0x4b')]){_0x5764cd[_0x3044('0x4c')]=[{'all':!![]}];}return db[_0x3044('0x49')][_0x3044('0x4d')](_0x5764cd);})[_0x3044('0x1d')](function(_0x1b55fa){_0x219528[_0x3044('0x4e')]=_0x1b55fa;return _0x219528;})[_0x3044('0x1d')](respondWithFilteredResult(_0x43e7ed,_0x5764cd))[_0x3044('0x28')](handleError(_0x43e7ed,null));};exports['show']=function(_0x5781df,_0x307849){var _0x2deaaf={'raw':![],'where':{'id':_0x5781df[_0x3044('0x4f')]['id']}},_0x12411d={};_0x12411d[_0x3044('0x3b')]=_[_0x3044('0x3d')](db[_0x3044('0x49')][_0x3044('0x38')]);_0x12411d[_0x3044('0x3c')]=_[_0x3044('0x3d')](_0x5781df[_0x3044('0x3c')]);_0x12411d[_0x3044('0x3e')]=_[_0x3044('0x50')](_0x12411d[_0x3044('0x3b')],_0x12411d[_0x3044('0x3c')]);_0x2deaaf[_0x3044('0x40')]=_[_0x3044('0x50')](_0x12411d['model'],qs['fields'](_0x5781df[_0x3044('0x3c')][_0x3044('0x3f')]));_0x2deaaf[_0x3044('0x40')]=_0x2deaaf[_0x3044('0x40')][_0x3044('0x41')]?_0x2deaaf['attributes']:_0x12411d[_0x3044('0x3b')];if(_0x5781df[_0x3044('0x3c')][_0x3044('0x4b')]){_0x2deaaf[_0x3044('0x4c')]=[{'all':!![]}];}_0x2deaaf=_[_0x3044('0x47')]({},_0x2deaaf,_0x5781df[_0x3044('0x48')]);return db[_0x3044('0x49')]['find'](_0x2deaaf)[_0x3044('0x1d')](handleEntityNotFound(_0x307849,null))['then'](respondWithResult(_0x307849,null))[_0x3044('0x28')](handleError(_0x307849,null));};exports[_0x3044('0x51')]=function(_0x3974c9,_0x6de1a4){return db['ZohoConfiguration']['create'](_0x3974c9[_0x3044('0x52')],{})[_0x3044('0x1d')](respondWithResult(_0x6de1a4,0xc9))[_0x3044('0x28')](handleError(_0x6de1a4,null));};exports[_0x3044('0x33')]=function(_0x4da215,_0x401d97){if(_0x4da215[_0x3044('0x52')]['id']){delete _0x4da215[_0x3044('0x52')]['id'];}return db[_0x3044('0x49')]['find']({'where':{'id':_0x4da215[_0x3044('0x4f')]['id']}})[_0x3044('0x1d')](handleEntityNotFound(_0x401d97,null))['then'](saveUpdates(_0x4da215[_0x3044('0x52')],null))[_0x3044('0x1d')](respondWithResult(_0x401d97,null))[_0x3044('0x28')](handleError(_0x401d97,null));};exports[_0x3044('0x34')]=function(_0x1746cc,_0xab1400){return db[_0x3044('0x49')]['find']({'where':{'id':_0x1746cc[_0x3044('0x4f')]['id']}})[_0x3044('0x1d')](handleEntityNotFound(_0xab1400,null))['then'](removeEntity(_0xab1400,null))[_0x3044('0x28')](handleError(_0xab1400,null));};exports[_0x3044('0x53')]=function(_0x657272,_0x1aa999,_0x434655){var _0x29c5ad={};var _0x20fff8={};var _0xf5d378;var _0x596ed8;return db['ZohoConfiguration']['findOne']({'where':{'id':_0x657272[_0x3044('0x4f')]['id']}})[_0x3044('0x1d')](handleEntityNotFound(_0x1aa999,null))[_0x3044('0x1d')](function(_0x480006){if(_0x480006){_0xf5d378=_0x480006;_0x20fff8[_0x3044('0x3b')]=_[_0x3044('0x3d')](db[_0x3044('0x54')][_0x3044('0x38')]);_0x20fff8[_0x3044('0x3c')]=_[_0x3044('0x3d')](_0x657272[_0x3044('0x3c')]);_0x20fff8[_0x3044('0x3e')]=_[_0x3044('0x50')](_0x20fff8[_0x3044('0x3b')],_0x20fff8[_0x3044('0x3c')]);_0x29c5ad['attributes']=_[_0x3044('0x50')](_0x20fff8[_0x3044('0x3b')],qs[_0x3044('0x3f')](_0x657272[_0x3044('0x3c')][_0x3044('0x3f')]));_0x29c5ad[_0x3044('0x40')]=_0x29c5ad['attributes'][_0x3044('0x41')]?_0x29c5ad[_0x3044('0x40')]:_0x20fff8['model'];_0x29c5ad[_0x3044('0x43')]=qs['sort'](_0x657272[_0x3044('0x3c')][_0x3044('0x44')]);_0x29c5ad[_0x3044('0x45')]=qs['filters'](_[_0x3044('0x55')](_0x657272[_0x3044('0x3c')],_0x20fff8[_0x3044('0x3e')]));if(_0x657272['query']['filter']){_0x29c5ad[_0x3044('0x45')]=_[_0x3044('0x47')](_0x29c5ad[_0x3044('0x45')],{'$or':_[_0x3044('0x37')](_0x29c5ad['attributes'],function(_0x13ceb8){var _0x1a3486={};_0x1a3486[_0x13ceb8]={'$like':'%'+_0x657272[_0x3044('0x3c')][_0x3044('0x46')]+'%'};return _0x1a3486;})});}_0x29c5ad=_[_0x3044('0x47')]({},_0x29c5ad,_0x657272[_0x3044('0x48')]);return _0xf5d378['getFields'](_0x29c5ad);}})[_0x3044('0x1d')](function(_0x595935){if(_0x595935){_0x596ed8=_0x595935['length'];if(!_0x657272['query'][_0x3044('0x56')](_0x3044('0x42'))){_0x29c5ad[_0x3044('0x2e')]=qs[_0x3044('0x2e')](_0x657272['query'][_0x3044('0x2e')]);_0x29c5ad[_0x3044('0x2d')]=qs[_0x3044('0x2d')](_0x657272[_0x3044('0x3c')][_0x3044('0x2d')]);}return _0xf5d378[_0x3044('0x53')](_0x29c5ad);}})[_0x3044('0x1d')](function(_0x37ba0b){if(_0x37ba0b){return _0x37ba0b?{'count':_0x596ed8,'rows':_0x37ba0b}:null;}})[_0x3044('0x1d')](respondWithResult(_0x1aa999,null))[_0x3044('0x28')](handleError(_0x1aa999,null));};exports[_0x3044('0x57')]=function(_0x2df44e,_0x410968,_0x3437e0){var _0x2760b5={};var _0x28f239={};var _0x1f67c9;var _0x106fbf;return db['ZohoConfiguration'][_0x3044('0x58')]({'where':{'id':_0x2df44e[_0x3044('0x4f')]['id']}})[_0x3044('0x1d')](handleEntityNotFound(_0x410968,null))[_0x3044('0x1d')](function(_0x2d9cbb){if(_0x2d9cbb){_0x1f67c9=_0x2d9cbb;_0x28f239[_0x3044('0x3b')]=_['keys'](db[_0x3044('0x54')]['rawAttributes']);_0x28f239['query']=_[_0x3044('0x3d')](_0x2df44e['query']);_0x28f239[_0x3044('0x3e')]=_[_0x3044('0x50')](_0x28f239[_0x3044('0x3b')],_0x28f239[_0x3044('0x3c')]);_0x2760b5[_0x3044('0x40')]=_[_0x3044('0x50')](_0x28f239[_0x3044('0x3b')],qs[_0x3044('0x3f')](_0x2df44e[_0x3044('0x3c')][_0x3044('0x3f')]));_0x2760b5[_0x3044('0x40')]=_0x2760b5[_0x3044('0x40')]['length']?_0x2760b5[_0x3044('0x40')]:_0x28f239[_0x3044('0x3b')];_0x2760b5['order']=qs['sort'](_0x2df44e[_0x3044('0x3c')]['sort']);_0x2760b5['where']=qs[_0x3044('0x3e')](_[_0x3044('0x55')](_0x2df44e['query'],_0x28f239[_0x3044('0x3e')]));if(_0x2df44e[_0x3044('0x3c')][_0x3044('0x46')]){_0x2760b5['where']=_['merge'](_0x2760b5[_0x3044('0x45')],{'$or':_['map'](_0x2760b5[_0x3044('0x40')],function(_0x2c4071){var _0x2748cf={};_0x2748cf[_0x2c4071]={'$like':'%'+_0x2df44e['query'][_0x3044('0x46')]+'%'};return _0x2748cf;})});}_0x2760b5=_['merge']({},_0x2760b5,_0x2df44e[_0x3044('0x48')]);return _0x1f67c9[_0x3044('0x57')](_0x2760b5);}})[_0x3044('0x1d')](function(_0x3ca57a){if(_0x3ca57a){_0x106fbf=_0x3ca57a[_0x3044('0x41')];if(!_0x2df44e['query'][_0x3044('0x56')](_0x3044('0x42'))){_0x2760b5[_0x3044('0x2e')]=qs['limit'](_0x2df44e[_0x3044('0x3c')]['limit']);_0x2760b5['offset']=qs['offset'](_0x2df44e[_0x3044('0x3c')][_0x3044('0x2d')]);}return _0x1f67c9['getSubjects'](_0x2760b5);}})[_0x3044('0x1d')](function(_0x43e20f){if(_0x43e20f){return _0x43e20f?{'count':_0x106fbf,'rows':_0x43e20f}:null;}})[_0x3044('0x1d')](respondWithResult(_0x410968,null))[_0x3044('0x28')](handleError(_0x410968,null));};exports[_0x3044('0x59')]=function(_0x5f27b7,_0x5857dc,_0x33788a){var _0x4a5fb4={};var _0x7260e1={};var _0x3d993c;var _0x2c0255;return db['ZohoConfiguration']['findOne']({'where':{'id':_0x5f27b7[_0x3044('0x4f')]['id']}})[_0x3044('0x1d')](handleEntityNotFound(_0x5857dc,null))[_0x3044('0x1d')](function(_0x574be6){if(_0x574be6){_0x3d993c=_0x574be6;_0x7260e1['model']=_[_0x3044('0x3d')](db[_0x3044('0x54')][_0x3044('0x38')]);_0x7260e1[_0x3044('0x3c')]=_[_0x3044('0x3d')](_0x5f27b7[_0x3044('0x3c')]);_0x7260e1[_0x3044('0x3e')]=_[_0x3044('0x50')](_0x7260e1[_0x3044('0x3b')],_0x7260e1['query']);_0x4a5fb4[_0x3044('0x40')]=_['intersection'](_0x7260e1[_0x3044('0x3b')],qs[_0x3044('0x3f')](_0x5f27b7['query'][_0x3044('0x3f')]));_0x4a5fb4[_0x3044('0x40')]=_0x4a5fb4['attributes'][_0x3044('0x41')]?_0x4a5fb4[_0x3044('0x40')]:_0x7260e1[_0x3044('0x3b')];_0x4a5fb4[_0x3044('0x43')]=qs[_0x3044('0x44')](_0x5f27b7['query']['sort']);_0x4a5fb4[_0x3044('0x45')]=qs['filters'](_[_0x3044('0x55')](_0x5f27b7[_0x3044('0x3c')],_0x7260e1[_0x3044('0x3e')]));if(_0x5f27b7['query'][_0x3044('0x46')]){_0x4a5fb4[_0x3044('0x45')]=_[_0x3044('0x47')](_0x4a5fb4[_0x3044('0x45')],{'$or':_[_0x3044('0x37')](_0x4a5fb4[_0x3044('0x40')],function(_0x4c0ee4){var _0x25d348={};_0x25d348[_0x4c0ee4]={'$like':'%'+_0x5f27b7[_0x3044('0x3c')][_0x3044('0x46')]+'%'};return _0x25d348;})});}_0x4a5fb4=_[_0x3044('0x47')]({},_0x4a5fb4,_0x5f27b7[_0x3044('0x48')]);return _0x3d993c[_0x3044('0x59')](_0x4a5fb4);}})[_0x3044('0x1d')](function(_0x21106c){if(_0x21106c){_0x2c0255=_0x21106c[_0x3044('0x41')];if(!_0x5f27b7[_0x3044('0x3c')][_0x3044('0x56')]('nolimit')){_0x4a5fb4[_0x3044('0x2e')]=qs[_0x3044('0x2e')](_0x5f27b7[_0x3044('0x3c')][_0x3044('0x2e')]);_0x4a5fb4[_0x3044('0x2d')]=qs[_0x3044('0x2d')](_0x5f27b7[_0x3044('0x3c')][_0x3044('0x2d')]);}return _0x3d993c['getDescriptions'](_0x4a5fb4);}})[_0x3044('0x1d')](function(_0x40c2ff){if(_0x40c2ff){return _0x40c2ff?{'count':_0x2c0255,'rows':_0x40c2ff}:null;}})[_0x3044('0x1d')](respondWithResult(_0x5857dc,null))[_0x3044('0x28')](handleError(_0x5857dc,null));};
\ No newline at end of file