Built motion from commit (unavailable).|2.5.8
[motion2.git] / server / api / intVtigerAccount / intVtigerAccount.controller.js
index ae40d68..26d1006 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xc07b=['substring','lastIndexOf','format','%s/webservice.php','GET','getchallenge','success','POST','login','token','sessionName','autogenerated','reference','owner','remove','editable','label','startsWith','cf_','picklistValues','value','log','statusCode','getFields,\x20%s,\x20%s,\x20%s','send','Wrong\x20credentials','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','jayson/promise','http','test','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','info','VtigerAccount,\x20%s,\x20%s','request\x20sent','debug','VtigerAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','end','status','json','count','offset','limit','set','apply','save','then','stack','name','index','map','VtigerAccount','rawAttributes','fieldName','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','length','create','update','body','find','VtigerConfiguration','getConfigurations','addConfiguration','findOne','getSubjects','channel','type','Descriptions','getDescriptions','VtigerField','Subjects','md5','getFields','username','remoteUri','serverUrl','accessKey','slice'];(function(_0x1d18d7,_0x2f186b){var _0x33f488=function(_0x140801){while(--_0x140801){_0x1d18d7['push'](_0x1d18d7['shift']());}};_0x33f488(++_0x2f186b);}(_0xc07b,0x1a3));var _0xbc07=function(_0x5608a3,_0x5b33c5){_0x5608a3=_0x5608a3-0x0;var _0x1ed50a=_0xc07b[_0x5608a3];return _0x1ed50a;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xbc07('0x0'));var rimraf=require(_0xbc07('0x1'));var zipdir=require(_0xbc07('0x2'));var jsonpatch=require(_0xbc07('0x3'));var rp=require(_0xbc07('0x4'));var moment=require(_0xbc07('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xbc07('0x6'));var util=require(_0xbc07('0x7'));var path=require(_0xbc07('0x8'));var sox=require(_0xbc07('0x9'));var csv=require(_0xbc07('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbc07('0xb'));var squel=require(_0xbc07('0xc'));var crypto=require(_0xbc07('0xd'));var jsforce=require(_0xbc07('0xe'));var deskjs=require(_0xbc07('0xf'));var toCsv=require(_0xbc07('0xa'));var querystring=require(_0xbc07('0x10'));var Papa=require(_0xbc07('0x11'));var Redis=require(_0xbc07('0x12'));var authService=require(_0xbc07('0x13'));var qs=require(_0xbc07('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xbc07('0x15'));var logger=require(_0xbc07('0x16'))('api');var utils=require(_0xbc07('0x17'));var config=require(_0xbc07('0x18'));var db=require(_0xbc07('0x19'))['db'];var integrations=require(_0xbc07('0x1a'));var jayson=require(_0xbc07('0x1b'));var client=jayson['client'][_0xbc07('0x1c')]({'port':0x232a});function checkPasswordPattern(_0x31dd02,_0x1200c7,_0x50b498){if(_0x50b498){var _0x1d2c00=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x1d2c00[_0xbc07('0x1d')](_0x1200c7)){return _0x31dd02;}else{throw new db['Sequelize']['ValidationError'](_0xbc07('0x1e'));}}else{return _0x31dd02;}}function respondWithRpcPromise(_0x4019ea,_0x152a68,_0x2da9a5,_0x5efbc6){return new BPromise(function(_0x3401ee,_0x461fd0){var _0x434a5d=_0x5efbc6||client;return _0x434a5d[_0xbc07('0x1f')](_0x4019ea,_0x2da9a5)['then'](function(_0x17e869){logger[_0xbc07('0x20')](_0xbc07('0x21'),_0x152a68,_0xbc07('0x22'));logger[_0xbc07('0x23')](_0xbc07('0x24'),_0x152a68,_0xbc07('0x22'),JSON[_0xbc07('0x25')](_0x17e869));if(_0x17e869[_0xbc07('0x26')]){if(_0x17e869['error'][_0xbc07('0x27')]===0x1f4){logger[_0xbc07('0x26')](_0xbc07('0x21'),_0x152a68,_0x17e869['error'][_0xbc07('0x28')]);return _0x461fd0(_0x17e869[_0xbc07('0x26')][_0xbc07('0x28')]);}logger[_0xbc07('0x26')]('VtigerAccount,\x20%s,\x20%s',_0x152a68,_0x17e869[_0xbc07('0x26')][_0xbc07('0x28')]);return _0x3401ee(_0x17e869['error'][_0xbc07('0x28')]);}else{logger[_0xbc07('0x20')]('VtigerAccount,\x20%s,\x20%s',_0x152a68,'request\x20sent');_0x3401ee(_0x17e869[_0xbc07('0x29')][_0xbc07('0x28')]);}})[_0xbc07('0x2a')](function(_0x57911c){logger[_0xbc07('0x26')](_0xbc07('0x21'),_0x152a68,_0x57911c);_0x461fd0(_0x57911c);});});}function respondWithStatusCode(_0x2f949e,_0x9755cc){_0x9755cc=_0x9755cc||0xcc;return function(_0x238c8d){if(_0x238c8d){return _0x2f949e[_0xbc07('0x2b')](_0x9755cc);}return _0x2f949e['status'](_0x9755cc)[_0xbc07('0x2c')]();};}function respondWithResult(_0x4b452a,_0x419508){_0x419508=_0x419508||0xc8;return function(_0x58b83e){if(_0x58b83e){return _0x4b452a[_0xbc07('0x2d')](_0x419508)[_0xbc07('0x2e')](_0x58b83e);}};}function respondWithFilteredResult(_0x471e1a,_0x354998){return function(_0x269859){if(_0x269859){var _0x4c51c9=_0x269859[_0xbc07('0x2f')],_0x36770f=_0x354998[_0xbc07('0x30')],_0xc763df=_0x354998[_0xbc07('0x30')]+_0x354998[_0xbc07('0x31')],_0x2994cc;if(_0xc763df>=_0x4c51c9){_0xc763df=_0x4c51c9;_0x2994cc=0xc8;}else{_0x2994cc=0xce;}_0x471e1a[_0xbc07('0x2d')](_0x2994cc);return _0x471e1a[_0xbc07('0x32')]('Content-Range',_0x36770f+'-'+_0xc763df+'/'+_0x4c51c9)[_0xbc07('0x2e')](_0x269859);}return null;};}function patchUpdates(_0x2a49ee){return function(_0xb97b84){try{jsonpatch[_0xbc07('0x33')](_0xb97b84,_0x2a49ee,!![]);}catch(_0x4af326){return BPromise['reject'](_0x4af326);}return _0xb97b84[_0xbc07('0x34')]();};}function saveUpdates(_0x9af037,_0x144ec6){return function(_0x2153a4){if(_0x2153a4){return _0x2153a4['update'](_0x9af037)[_0xbc07('0x35')](function(_0x444398){return _0x444398;});}return null;};}function removeEntity(_0x12c0f8,_0x1d0449){return function(_0x38d99b){if(_0x38d99b){return _0x38d99b['destroy']()[_0xbc07('0x35')](function(){_0x12c0f8[_0xbc07('0x2d')](0xcc)[_0xbc07('0x2c')]();});}};}function handleEntityNotFound(_0x31e9b2,_0x3a7063){return function(_0x53658c){if(!_0x53658c){_0x31e9b2[_0xbc07('0x2b')](0x194);}return _0x53658c;};}function handleError(_0x318bbf,_0x163b85){_0x163b85=_0x163b85||0x1f4;return function(_0x3df197){logger[_0xbc07('0x26')](_0x3df197[_0xbc07('0x36')]);if(_0x3df197[_0xbc07('0x37')]){delete _0x3df197['name'];}_0x318bbf[_0xbc07('0x2d')](_0x163b85)['send'](_0x3df197);};}exports[_0xbc07('0x38')]=function(_0x49255a,_0x496c81){var _0x9c975b={},_0x4d14b1={},_0x1aab17={'count':0x0,'rows':[]};var _0x5db385=_[_0xbc07('0x39')](db[_0xbc07('0x3a')][_0xbc07('0x3b')],function(_0x5845f4){return{'name':_0x5845f4[_0xbc07('0x3c')],'type':_0x5845f4['type']['key']};});_0x4d14b1['model']=_['map'](_0x5db385,'name');_0x4d14b1[_0xbc07('0x3d')]=_[_0xbc07('0x3e')](_0x49255a[_0xbc07('0x3d')]);_0x4d14b1[_0xbc07('0x3f')]=_[_0xbc07('0x40')](_0x4d14b1[_0xbc07('0x41')],_0x4d14b1['query']);_0x9c975b[_0xbc07('0x42')]=_[_0xbc07('0x40')](_0x4d14b1[_0xbc07('0x41')],qs[_0xbc07('0x43')](_0x49255a[_0xbc07('0x3d')][_0xbc07('0x43')]));_0x9c975b[_0xbc07('0x42')]=_0x9c975b[_0xbc07('0x42')]['length']?_0x9c975b[_0xbc07('0x42')]:_0x4d14b1[_0xbc07('0x41')];if(!_0x49255a[_0xbc07('0x3d')][_0xbc07('0x44')](_0xbc07('0x45'))){_0x9c975b[_0xbc07('0x31')]=qs[_0xbc07('0x31')](_0x49255a[_0xbc07('0x3d')]['limit']);_0x9c975b[_0xbc07('0x30')]=qs[_0xbc07('0x30')](_0x49255a[_0xbc07('0x3d')][_0xbc07('0x30')]);}_0x9c975b['order']=qs[_0xbc07('0x46')](_0x49255a['query'][_0xbc07('0x46')]);_0x9c975b[_0xbc07('0x47')]=qs[_0xbc07('0x3f')](_['pick'](_0x49255a[_0xbc07('0x3d')],_0x4d14b1[_0xbc07('0x3f')]));if(_0x49255a[_0xbc07('0x3d')][_0xbc07('0x48')]){_0x9c975b[_0xbc07('0x47')]=_[_0xbc07('0x49')](_0x9c975b[_0xbc07('0x47')],{'$or':_[_0xbc07('0x39')](_0x5db385,function(_0x46fbb0){if(_0x46fbb0['type']!==_0xbc07('0x4a')){var _0x2ac22e={};_0x2ac22e[_0x46fbb0['name']]={'$like':'%'+_0x49255a[_0xbc07('0x3d')][_0xbc07('0x48')]+'%'};return _0x2ac22e;}})});}_0x9c975b=_[_0xbc07('0x49')]({},_0x9c975b,_0x49255a[_0xbc07('0x4b')]);var _0x22c2fa={'where':_0x9c975b['where']};return db[_0xbc07('0x3a')][_0xbc07('0x2f')](_0x22c2fa)['then'](function(_0x3be655){_0x1aab17['count']=_0x3be655;if(_0x49255a['query'][_0xbc07('0x4c')]){_0x9c975b[_0xbc07('0x4d')]=[{'all':!![]}];}return db[_0xbc07('0x3a')][_0xbc07('0x4e')](_0x9c975b);})[_0xbc07('0x35')](function(_0x67032f){_0x1aab17[_0xbc07('0x4f')]=_0x67032f;return _0x1aab17;})[_0xbc07('0x35')](respondWithFilteredResult(_0x496c81,_0x9c975b))[_0xbc07('0x2a')](handleError(_0x496c81,null));};exports[_0xbc07('0x50')]=function(_0x2bbac9,_0x50559c){var _0x12bd10={'raw':![],'where':{'id':_0x2bbac9[_0xbc07('0x51')]['id']}},_0x2b0df9={};_0x2b0df9[_0xbc07('0x41')]=_[_0xbc07('0x3e')](db['VtigerAccount'][_0xbc07('0x3b')]);_0x2b0df9[_0xbc07('0x3d')]=_[_0xbc07('0x3e')](_0x2bbac9[_0xbc07('0x3d')]);_0x2b0df9['filters']=_[_0xbc07('0x40')](_0x2b0df9[_0xbc07('0x41')],_0x2b0df9[_0xbc07('0x3d')]);_0x12bd10[_0xbc07('0x42')]=_[_0xbc07('0x40')](_0x2b0df9['model'],qs[_0xbc07('0x43')](_0x2bbac9[_0xbc07('0x3d')]['fields']));_0x12bd10[_0xbc07('0x42')]=_0x12bd10[_0xbc07('0x42')][_0xbc07('0x52')]?_0x12bd10[_0xbc07('0x42')]:_0x2b0df9[_0xbc07('0x41')];if(_0x2bbac9[_0xbc07('0x3d')][_0xbc07('0x4c')]){_0x12bd10[_0xbc07('0x4d')]=[{'all':!![]}];}_0x12bd10=_[_0xbc07('0x49')]({},_0x12bd10,_0x2bbac9[_0xbc07('0x4b')]);return db['VtigerAccount']['find'](_0x12bd10)[_0xbc07('0x35')](handleEntityNotFound(_0x50559c,null))[_0xbc07('0x35')](respondWithResult(_0x50559c,null))['catch'](handleError(_0x50559c,null));};exports[_0xbc07('0x53')]=function(_0x161e7b,_0x1340a2){return db[_0xbc07('0x3a')][_0xbc07('0x53')](_0x161e7b['body'],{})[_0xbc07('0x35')](respondWithResult(_0x1340a2,0xc9))['catch'](handleError(_0x1340a2,null));};exports[_0xbc07('0x54')]=function(_0x273b5a,_0x426655){if(_0x273b5a[_0xbc07('0x55')]['id']){delete _0x273b5a[_0xbc07('0x55')]['id'];}return db['VtigerAccount'][_0xbc07('0x56')]({'where':{'id':_0x273b5a[_0xbc07('0x51')]['id']}})[_0xbc07('0x35')](handleEntityNotFound(_0x426655,null))[_0xbc07('0x35')](saveUpdates(_0x273b5a[_0xbc07('0x55')],null))[_0xbc07('0x35')](respondWithResult(_0x426655,null))[_0xbc07('0x2a')](handleError(_0x426655,null));};exports['destroy']=function(_0x4a87b6,_0x160aa0){return db[_0xbc07('0x3a')][_0xbc07('0x56')]({'where':{'id':_0x4a87b6[_0xbc07('0x51')]['id']}})[_0xbc07('0x35')](handleEntityNotFound(_0x160aa0,null))[_0xbc07('0x35')](removeEntity(_0x160aa0,null))[_0xbc07('0x2a')](handleError(_0x160aa0,null));};exports['getConfigurations']=function(_0xc30acf,_0x3d6d5e,_0x50c653){var _0xbab59={};var _0x17774e={};var _0x71a587;var _0x11f23a;return db[_0xbc07('0x3a')]['findOne']({'where':{'id':_0xc30acf[_0xbc07('0x51')]['id']}})['then'](handleEntityNotFound(_0x3d6d5e,null))['then'](function(_0x4d126a){if(_0x4d126a){_0x71a587=_0x4d126a;_0x17774e[_0xbc07('0x41')]=_[_0xbc07('0x3e')](db[_0xbc07('0x57')]['rawAttributes']);_0x17774e[_0xbc07('0x3d')]=_[_0xbc07('0x3e')](_0xc30acf['query']);_0x17774e[_0xbc07('0x3f')]=_[_0xbc07('0x40')](_0x17774e['model'],_0x17774e[_0xbc07('0x3d')]);_0xbab59[_0xbc07('0x42')]=_[_0xbc07('0x40')](_0x17774e['model'],qs[_0xbc07('0x43')](_0xc30acf[_0xbc07('0x3d')]['fields']));_0xbab59[_0xbc07('0x42')]=_0xbab59[_0xbc07('0x42')][_0xbc07('0x52')]?_0xbab59[_0xbc07('0x42')]:_0x17774e[_0xbc07('0x41')];_0xbab59['order']=qs[_0xbc07('0x46')](_0xc30acf[_0xbc07('0x3d')][_0xbc07('0x46')]);_0xbab59[_0xbc07('0x47')]=qs[_0xbc07('0x3f')](_['pick'](_0xc30acf[_0xbc07('0x3d')],_0x17774e['filters']));if(_0xc30acf[_0xbc07('0x3d')][_0xbc07('0x48')]){_0xbab59[_0xbc07('0x47')]=_[_0xbc07('0x49')](_0xbab59[_0xbc07('0x47')],{'$or':_['map'](_0xbab59[_0xbc07('0x42')],function(_0x240395){var _0x5dd084={};_0x5dd084[_0x240395]={'$like':'%'+_0xc30acf[_0xbc07('0x3d')]['filter']+'%'};return _0x5dd084;})});}_0xbab59=_['merge']({},_0xbab59,_0xc30acf[_0xbc07('0x4b')]);return _0x71a587[_0xbc07('0x58')](_0xbab59);}})[_0xbc07('0x35')](function(_0xb1c256){if(_0xb1c256){_0x11f23a=_0xb1c256['length'];if(!_0xc30acf[_0xbc07('0x3d')][_0xbc07('0x44')](_0xbc07('0x45'))){_0xbab59[_0xbc07('0x31')]=qs[_0xbc07('0x31')](_0xc30acf[_0xbc07('0x3d')][_0xbc07('0x31')]);_0xbab59['offset']=qs['offset'](_0xc30acf[_0xbc07('0x3d')]['offset']);}return _0x71a587[_0xbc07('0x58')](_0xbab59);}})[_0xbc07('0x35')](function(_0x343336){if(_0x343336){return _0x343336?{'count':_0x11f23a,'rows':_0x343336}:null;}})[_0xbc07('0x35')](respondWithResult(_0x3d6d5e,null))[_0xbc07('0x2a')](handleError(_0x3d6d5e,null));};exports[_0xbc07('0x59')]=function(_0x2dec69,_0x2c5a98,_0x59e8f3){if(_0x2dec69['body']['id']){delete _0x2dec69[_0xbc07('0x55')]['id'];}return db[_0xbc07('0x3a')][_0xbc07('0x5a')]({'where':{'id':_0x2dec69[_0xbc07('0x51')]['id']}})['then'](handleEntityNotFound(_0x2c5a98,null))[_0xbc07('0x35')](function(_0x7b9be2){if(_0x7b9be2){_0x2dec69[_0xbc07('0x55')]['AccountId']=_0x7b9be2['id'];_0x2dec69[_0xbc07('0x55')]['Subjects']=integrations[_0xbc07('0x5b')](_0x2dec69[_0xbc07('0x55')][_0xbc07('0x5c')],_0x2dec69[_0xbc07('0x55')][_0xbc07('0x5d')]);_0x2dec69['body'][_0xbc07('0x5e')]=integrations[_0xbc07('0x5f')](_0x2dec69[_0xbc07('0x55')][_0xbc07('0x5c')],_0x2dec69['body'][_0xbc07('0x5d')]);return db['VtigerConfiguration']['create'](_0x2dec69['body'],{'include':[{'model':db[_0xbc07('0x60')],'as':_0xbc07('0x61')},{'model':db['VtigerField'],'as':_0xbc07('0x5e')}]});}return null;})[_0xbc07('0x35')](respondWithResult(_0x2c5a98,null))[_0xbc07('0x2a')](handleError(_0x2c5a98,null));};var md5=require(_0xbc07('0x62'));exports[_0xbc07('0x63')]=function(_0x37fec0,_0x2dba9f,_0x522b87){var _0x5c706e=null;var _0x9c6dfe=null;var _0x14f774=null;var _0x252b7b=null;var _0x5a52ef='';return db[_0xbc07('0x3a')]['findOne']({'where':{'id':_0x37fec0[_0xbc07('0x51')]['id']},'attributes':['id',_0xbc07('0x37'),_0xbc07('0x64'),'description','moduleName',_0xbc07('0x65'),_0xbc07('0x66'),_0xbc07('0x67')]})[_0xbc07('0x35')](handleEntityNotFound(_0x2dba9f,null))[_0xbc07('0x35')](function(_0x41b20e){if(_0x41b20e){_0x5c706e=_0x41b20e[_0xbc07('0x64')];_0x9c6dfe=_0x41b20e[_0xbc07('0x67')];_0x14f774=_0x41b20e['moduleName'];_0x5a52ef=_0x41b20e[_0xbc07('0x65')];var _0x3791b7=_0x5a52ef[_0xbc07('0x68')](-0x1);if(_0x3791b7==='/'){_0x5a52ef=_0x5a52ef[_0xbc07('0x69')](0x0,_0x5a52ef[_0xbc07('0x6a')](_0x3791b7));}_0x252b7b=util[_0xbc07('0x6b')](_0xbc07('0x6c'),_0x5a52ef);var _0x5d0743={'method':_0xbc07('0x6d'),'uri':_0x252b7b,'qs':{'operation':_0xbc07('0x6e'),'username':_0x41b20e[_0xbc07('0x64')]},'json':!![]};return rp(_0x5d0743);}})['then'](function(_0x249756){if(_0x249756[_0xbc07('0x6f')]){var _0x333048={'method':_0xbc07('0x70'),'uri':_0x252b7b,'form':{'operation':_0xbc07('0x71'),'username':_0x5c706e,'accessKey':md5(_0x249756[_0xbc07('0x29')][_0xbc07('0x72')]+_0x9c6dfe)},'json':!![]};return rp(_0x333048);}})[_0xbc07('0x35')](function(_0x2bf309){if(_0x2bf309[_0xbc07('0x6f')]){var _0xa95d95={'method':_0xbc07('0x6d'),'uri':_0x252b7b,'qs':{'operation':'describe','username':_0x5c706e,'sessionName':_0x2bf309['result'][_0xbc07('0x73')],'elementType':_0x14f774},'json':!![]};return rp(_0xa95d95);}})[_0xbc07('0x35')](function(_0x28d489){if(_0x28d489[_0xbc07('0x6f')]){var _0x57d7ad=[_0xbc07('0x74'),_0xbc07('0x75'),_0xbc07('0x76')];_[_0xbc07('0x77')](_0x28d489[_0xbc07('0x29')][_0xbc07('0x43')],function(_0x25f6cf){return _0x57d7ad['includes'](_0x25f6cf[_0xbc07('0x5d')][_0xbc07('0x37')]);});_[_0xbc07('0x77')](_0x28d489[_0xbc07('0x29')]['fields'],function(_0x386640){return _0x386640[_0xbc07('0x78')]==='false';});return{'count':_0x28d489['result'][_0xbc07('0x43')]['length'],'rows':_[_0xbc07('0x39')](_0x28d489[_0xbc07('0x29')][_0xbc07('0x43')],function(_0x15dd3c){return{'id':_0x15dd3c['name'],'name':_0x15dd3c[_0xbc07('0x79')],'custom':_[_0xbc07('0x7a')](_0x15dd3c[_0xbc07('0x37')],_0xbc07('0x7b'))?!![]:![],'options':_0x15dd3c[_0xbc07('0x5d')]['name']==='picklist'&&_0x15dd3c[_0xbc07('0x5d')][_0xbc07('0x7c')][_0xbc07('0x52')]>0x0?_['map'](_0x15dd3c['type'][_0xbc07('0x7c')],function(_0x2894ef){return{'name':_0x2894ef['label'],'value':_0x2894ef[_0xbc07('0x7d')]};}):[]};})};}})[_0xbc07('0x35')](respondWithResult(_0x2dba9f,null))[_0xbc07('0x2a')](function(_0x563e8d){console[_0xbc07('0x7e')]('vTiger\x20error:\x20'+_0x563e8d);var _0xf70a84=_0x37fec0[_0xbc07('0x3d')]['test']?0x1f4:_0x563e8d[_0xbc07('0x7f')]||0x1f4;logger['error'](_0xbc07('0x80'),_0xbc07('0x63'),_0xf70a84,JSON[_0xbc07('0x25')](_0x563e8d));delete _0x563e8d[_0xbc07('0x37')];if(_0xf70a84===0x191){_0xf70a84=0x190;}_0x2dba9f[_0xbc07('0x2d')](_0xf70a84)[_0xbc07('0x81')](_0x37fec0[_0xbc07('0x3d')][_0xbc07('0x1d')]?{'message':_0xbc07('0x82'),'statusCode':_0x563e8d['statusCode']}:_0x563e8d);});};
\ No newline at end of file
+var _0x9fb1=['lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','then','info','VtigerAccount,\x20%s,\x20%s','request\x20sent','debug','stringify','error','message','catch','sendStatus','end','json','offset','status','set','Content-Range','apply','update','destroy','name','send','index','map','VtigerAccount','rawAttributes','type','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','include','findAll','rows','params','keys','find','create','body','getConfigurations','nolimit','addConfiguration','findOne','AccountId','Subjects','getSubjects','Descriptions','getDescriptions','channel','VtigerConfiguration','VtigerField','getFields','username','description','remoteUri','serverUrl','accessKey','moduleName','substring','format','%s/webservice.php','GET','getchallenge','result','describe','sessionName','success','autogenerated','remove','editable','false','startsWith','cf_','value','log','getFields,\x20%s,\x20%s,\x20%s','test','Wrong\x20credentials','statusCode','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv'];(function(_0x228e90,_0x12d534){var _0x161875=function(_0x185ea9){while(--_0x185ea9){_0x228e90['push'](_0x228e90['shift']());}};_0x161875(++_0x12d534);}(_0x9fb1,0xe6));var _0x19fb=function(_0x3e5086,_0x48f4a2){_0x3e5086=_0x3e5086-0x0;var _0xfeb102=_0x9fb1[_0x3e5086];return _0xfeb102;};'use strict';var pdf=require(_0x19fb('0x0'));var emlformat=require(_0x19fb('0x1'));var rimraf=require(_0x19fb('0x2'));var zipdir=require(_0x19fb('0x3'));var jsonpatch=require(_0x19fb('0x4'));var rp=require(_0x19fb('0x5'));var moment=require(_0x19fb('0x6'));var BPromise=require(_0x19fb('0x7'));var Mustache=require(_0x19fb('0x8'));var util=require('util');var path=require(_0x19fb('0x9'));var sox=require(_0x19fb('0xa'));var csv=require(_0x19fb('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x19fb('0xc'));var squel=require(_0x19fb('0xd'));var crypto=require(_0x19fb('0xe'));var jsforce=require(_0x19fb('0xf'));var deskjs=require(_0x19fb('0x10'));var toCsv=require(_0x19fb('0xb'));var querystring=require('querystring');var Papa=require(_0x19fb('0x11'));var Redis=require(_0x19fb('0x12'));var authService=require(_0x19fb('0x13'));var qs=require(_0x19fb('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x19fb('0x15'))(_0x19fb('0x16'));var utils=require(_0x19fb('0x17'));var config=require(_0x19fb('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x19fb('0x19'))['db'];var integrations=require(_0x19fb('0x1a'));var jayson=require(_0x19fb('0x1b'));var client=jayson[_0x19fb('0x1c')]['http']({'port':0x232a});function respondWithRpcPromise(_0x28a48d,_0x1ab47d,_0x30436c,_0x474990){return new BPromise(function(_0x1f5e51,_0x364411){var _0x488416=_0x474990||client;return _0x488416['request'](_0x28a48d,_0x30436c)[_0x19fb('0x1d')](function(_0x521689){logger[_0x19fb('0x1e')](_0x19fb('0x1f'),_0x1ab47d,_0x19fb('0x20'));logger[_0x19fb('0x21')]('VtigerAccount,\x20%s,\x20%s,\x20%s',_0x1ab47d,_0x19fb('0x20'),JSON[_0x19fb('0x22')](_0x521689));if(_0x521689['error']){if(_0x521689[_0x19fb('0x23')]['code']===0x1f4){logger[_0x19fb('0x23')](_0x19fb('0x1f'),_0x1ab47d,_0x521689[_0x19fb('0x23')][_0x19fb('0x24')]);return _0x364411(_0x521689[_0x19fb('0x23')][_0x19fb('0x24')]);}logger[_0x19fb('0x23')]('VtigerAccount,\x20%s,\x20%s',_0x1ab47d,_0x521689[_0x19fb('0x23')][_0x19fb('0x24')]);return _0x1f5e51(_0x521689[_0x19fb('0x23')][_0x19fb('0x24')]);}else{logger[_0x19fb('0x1e')](_0x19fb('0x1f'),_0x1ab47d,_0x19fb('0x20'));_0x1f5e51(_0x521689['result']['message']);}})[_0x19fb('0x25')](function(_0x4c9bd6){logger['error']('VtigerAccount,\x20%s,\x20%s',_0x1ab47d,_0x4c9bd6);_0x364411(_0x4c9bd6);});});}function respondWithStatusCode(_0xeab34b,_0x492721){_0x492721=_0x492721||0xcc;return function(_0x818ac0){if(_0x818ac0){return _0xeab34b[_0x19fb('0x26')](_0x492721);}return _0xeab34b['status'](_0x492721)[_0x19fb('0x27')]();};}function respondWithResult(_0x4c825b,_0xdf6404){_0xdf6404=_0xdf6404||0xc8;return function(_0x18bde1){if(_0x18bde1){return _0x4c825b['status'](_0xdf6404)[_0x19fb('0x28')](_0x18bde1);}};}function respondWithFilteredResult(_0x5b75af,_0x3b17a2){return function(_0x40e6db){if(_0x40e6db){var _0x827fc2=_0x40e6db['count'],_0x14623a=_0x3b17a2['offset'],_0x5269ce=_0x3b17a2[_0x19fb('0x29')]+_0x3b17a2['limit'],_0x2590e4;if(_0x5269ce>=_0x827fc2){_0x5269ce=_0x827fc2;_0x2590e4=0xc8;}else{_0x2590e4=0xce;}_0x5b75af[_0x19fb('0x2a')](_0x2590e4);return _0x5b75af[_0x19fb('0x2b')](_0x19fb('0x2c'),_0x14623a+'-'+_0x5269ce+'/'+_0x827fc2)[_0x19fb('0x28')](_0x40e6db);}return null;};}function patchUpdates(_0x55a612){return function(_0x3ccc90){try{jsonpatch[_0x19fb('0x2d')](_0x3ccc90,_0x55a612,!![]);}catch(_0x4d9472){return BPromise['reject'](_0x4d9472);}return _0x3ccc90['save']();};}function saveUpdates(_0x29041e,_0x56425a){return function(_0x412f92){if(_0x412f92){return _0x412f92[_0x19fb('0x2e')](_0x29041e)[_0x19fb('0x1d')](function(_0x3d8708){return _0x3d8708;});}return null;};}function removeEntity(_0x6523bf,_0x13d356){return function(_0x1dbaea){if(_0x1dbaea){return _0x1dbaea[_0x19fb('0x2f')]()[_0x19fb('0x1d')](function(){_0x6523bf[_0x19fb('0x2a')](0xcc)[_0x19fb('0x27')]();});}};}function handleEntityNotFound(_0x5aae8e,_0x4600f8){return function(_0xbb0d9){if(!_0xbb0d9){_0x5aae8e[_0x19fb('0x26')](0x194);}return _0xbb0d9;};}function handleError(_0x19619c,_0x3d7829){_0x3d7829=_0x3d7829||0x1f4;return function(_0x5c9d19){logger[_0x19fb('0x23')](_0x5c9d19['stack']);if(_0x5c9d19[_0x19fb('0x30')]){delete _0x5c9d19['name'];}_0x19619c[_0x19fb('0x2a')](_0x3d7829)[_0x19fb('0x31')](_0x5c9d19);};}exports[_0x19fb('0x32')]=function(_0x46e340,_0x1a03a5){var _0x4d7f07={},_0x363312={},_0xb62517={'count':0x0,'rows':[]};var _0x849aa0=_[_0x19fb('0x33')](db[_0x19fb('0x34')][_0x19fb('0x35')],function(_0x564533){return{'name':_0x564533['fieldName'],'type':_0x564533[_0x19fb('0x36')]['key']};});_0x363312['model']=_[_0x19fb('0x33')](_0x849aa0,_0x19fb('0x30'));_0x363312[_0x19fb('0x37')]=_['keys'](_0x46e340[_0x19fb('0x37')]);_0x363312[_0x19fb('0x38')]=_[_0x19fb('0x39')](_0x363312[_0x19fb('0x3a')],_0x363312['query']);_0x4d7f07[_0x19fb('0x3b')]=_[_0x19fb('0x39')](_0x363312['model'],qs[_0x19fb('0x3c')](_0x46e340['query'][_0x19fb('0x3c')]));_0x4d7f07[_0x19fb('0x3b')]=_0x4d7f07[_0x19fb('0x3b')][_0x19fb('0x3d')]?_0x4d7f07[_0x19fb('0x3b')]:_0x363312[_0x19fb('0x3a')];if(!_0x46e340[_0x19fb('0x37')][_0x19fb('0x3e')]('nolimit')){_0x4d7f07['limit']=qs[_0x19fb('0x3f')](_0x46e340['query']['limit']);_0x4d7f07['offset']=qs[_0x19fb('0x29')](_0x46e340[_0x19fb('0x37')][_0x19fb('0x29')]);}_0x4d7f07[_0x19fb('0x40')]=qs[_0x19fb('0x41')](_0x46e340['query'][_0x19fb('0x41')]);_0x4d7f07[_0x19fb('0x42')]=qs[_0x19fb('0x38')](_[_0x19fb('0x43')](_0x46e340[_0x19fb('0x37')],_0x363312[_0x19fb('0x38')]),_0x849aa0);if(_0x46e340[_0x19fb('0x37')][_0x19fb('0x44')]){_0x4d7f07[_0x19fb('0x42')]=_[_0x19fb('0x45')](_0x4d7f07[_0x19fb('0x42')],{'$or':_[_0x19fb('0x33')](_0x849aa0,function(_0x239e8c){if(_0x239e8c[_0x19fb('0x36')]!==_0x19fb('0x46')){var _0x2f22bb={};_0x2f22bb[_0x239e8c['name']]={'$like':'%'+_0x46e340[_0x19fb('0x37')][_0x19fb('0x44')]+'%'};return _0x2f22bb;}})});}_0x4d7f07=_[_0x19fb('0x45')]({},_0x4d7f07,_0x46e340[_0x19fb('0x47')]);var _0x1f8eca={'where':_0x4d7f07[_0x19fb('0x42')]};return db['VtigerAccount'][_0x19fb('0x48')](_0x1f8eca)[_0x19fb('0x1d')](function(_0x113857){_0xb62517[_0x19fb('0x48')]=_0x113857;if(_0x46e340[_0x19fb('0x37')]['includeAll']){_0x4d7f07[_0x19fb('0x49')]=[{'all':!![]}];}return db['VtigerAccount'][_0x19fb('0x4a')](_0x4d7f07);})['then'](function(_0x4b2939){_0xb62517[_0x19fb('0x4b')]=_0x4b2939;return _0xb62517;})[_0x19fb('0x1d')](respondWithFilteredResult(_0x1a03a5,_0x4d7f07))[_0x19fb('0x25')](handleError(_0x1a03a5,null));};exports['show']=function(_0x3e6b20,_0x1112c8){var _0x3b7732={'raw':![],'where':{'id':_0x3e6b20[_0x19fb('0x4c')]['id']}},_0x30a57c={};_0x30a57c[_0x19fb('0x3a')]=_[_0x19fb('0x4d')](db['VtigerAccount'][_0x19fb('0x35')]);_0x30a57c[_0x19fb('0x37')]=_[_0x19fb('0x4d')](_0x3e6b20[_0x19fb('0x37')]);_0x30a57c['filters']=_[_0x19fb('0x39')](_0x30a57c['model'],_0x30a57c[_0x19fb('0x37')]);_0x3b7732[_0x19fb('0x3b')]=_[_0x19fb('0x39')](_0x30a57c[_0x19fb('0x3a')],qs[_0x19fb('0x3c')](_0x3e6b20[_0x19fb('0x37')]['fields']));_0x3b7732['attributes']=_0x3b7732[_0x19fb('0x3b')]['length']?_0x3b7732[_0x19fb('0x3b')]:_0x30a57c[_0x19fb('0x3a')];if(_0x3e6b20['query']['includeAll']){_0x3b7732[_0x19fb('0x49')]=[{'all':!![]}];}_0x3b7732=_[_0x19fb('0x45')]({},_0x3b7732,_0x3e6b20[_0x19fb('0x47')]);return db[_0x19fb('0x34')][_0x19fb('0x4e')](_0x3b7732)['then'](handleEntityNotFound(_0x1112c8,null))['then'](respondWithResult(_0x1112c8,null))[_0x19fb('0x25')](handleError(_0x1112c8,null));};exports[_0x19fb('0x4f')]=function(_0x3fb562,_0x3c0931){return db[_0x19fb('0x34')]['create'](_0x3fb562['body'],{})[_0x19fb('0x1d')](respondWithResult(_0x3c0931,0xc9))['catch'](handleError(_0x3c0931,null));};exports[_0x19fb('0x2e')]=function(_0x4fe082,_0x4daffb){if(_0x4fe082[_0x19fb('0x50')]['id']){delete _0x4fe082[_0x19fb('0x50')]['id'];}return db[_0x19fb('0x34')][_0x19fb('0x4e')]({'where':{'id':_0x4fe082['params']['id']}})['then'](handleEntityNotFound(_0x4daffb,null))[_0x19fb('0x1d')](saveUpdates(_0x4fe082[_0x19fb('0x50')],null))[_0x19fb('0x1d')](respondWithResult(_0x4daffb,null))['catch'](handleError(_0x4daffb,null));};exports['destroy']=function(_0x40a16b,_0x16d387){return db[_0x19fb('0x34')][_0x19fb('0x4e')]({'where':{'id':_0x40a16b[_0x19fb('0x4c')]['id']}})[_0x19fb('0x1d')](handleEntityNotFound(_0x16d387,null))['then'](removeEntity(_0x16d387,null))[_0x19fb('0x25')](handleError(_0x16d387,null));};exports[_0x19fb('0x51')]=function(_0x164eb1,_0x4bc324,_0x508ae6){var _0x41387d={};var _0xd24565={};var _0x202f5c;var _0x153c16;return db[_0x19fb('0x34')]['findOne']({'where':{'id':_0x164eb1[_0x19fb('0x4c')]['id']}})[_0x19fb('0x1d')](handleEntityNotFound(_0x4bc324,null))[_0x19fb('0x1d')](function(_0x4d9a74){if(_0x4d9a74){_0x202f5c=_0x4d9a74;_0xd24565[_0x19fb('0x3a')]=_[_0x19fb('0x4d')](db['VtigerConfiguration'][_0x19fb('0x35')]);_0xd24565[_0x19fb('0x37')]=_['keys'](_0x164eb1[_0x19fb('0x37')]);_0xd24565[_0x19fb('0x38')]=_[_0x19fb('0x39')](_0xd24565['model'],_0xd24565[_0x19fb('0x37')]);_0x41387d[_0x19fb('0x3b')]=_[_0x19fb('0x39')](_0xd24565['model'],qs[_0x19fb('0x3c')](_0x164eb1['query']['fields']));_0x41387d[_0x19fb('0x3b')]=_0x41387d['attributes'][_0x19fb('0x3d')]?_0x41387d[_0x19fb('0x3b')]:_0xd24565[_0x19fb('0x3a')];_0x41387d[_0x19fb('0x40')]=qs[_0x19fb('0x41')](_0x164eb1[_0x19fb('0x37')][_0x19fb('0x41')]);_0x41387d[_0x19fb('0x42')]=qs['filters'](_[_0x19fb('0x43')](_0x164eb1['query'],_0xd24565[_0x19fb('0x38')]));if(_0x164eb1[_0x19fb('0x37')][_0x19fb('0x44')]){_0x41387d['where']=_['merge'](_0x41387d[_0x19fb('0x42')],{'$or':_[_0x19fb('0x33')](_0x41387d[_0x19fb('0x3b')],function(_0x33eede){var _0x38a7f4={};_0x38a7f4[_0x33eede]={'$like':'%'+_0x164eb1[_0x19fb('0x37')]['filter']+'%'};return _0x38a7f4;})});}_0x41387d=_[_0x19fb('0x45')]({},_0x41387d,_0x164eb1[_0x19fb('0x47')]);return _0x202f5c[_0x19fb('0x51')](_0x41387d);}})[_0x19fb('0x1d')](function(_0x37deeb){if(_0x37deeb){_0x153c16=_0x37deeb[_0x19fb('0x3d')];if(!_0x164eb1[_0x19fb('0x37')][_0x19fb('0x3e')](_0x19fb('0x52'))){_0x41387d[_0x19fb('0x3f')]=qs['limit'](_0x164eb1['query'][_0x19fb('0x3f')]);_0x41387d[_0x19fb('0x29')]=qs['offset'](_0x164eb1[_0x19fb('0x37')][_0x19fb('0x29')]);}return _0x202f5c[_0x19fb('0x51')](_0x41387d);}})[_0x19fb('0x1d')](function(_0x2159f1){if(_0x2159f1){return _0x2159f1?{'count':_0x153c16,'rows':_0x2159f1}:null;}})[_0x19fb('0x1d')](respondWithResult(_0x4bc324,null))[_0x19fb('0x25')](handleError(_0x4bc324,null));};exports[_0x19fb('0x53')]=function(_0x5bfefd,_0x536e56,_0x19a4ce){if(_0x5bfefd[_0x19fb('0x50')]['id']){delete _0x5bfefd[_0x19fb('0x50')]['id'];}return db[_0x19fb('0x34')][_0x19fb('0x54')]({'where':{'id':_0x5bfefd[_0x19fb('0x4c')]['id']}})[_0x19fb('0x1d')](handleEntityNotFound(_0x536e56,null))[_0x19fb('0x1d')](function(_0x5ec16c){if(_0x5ec16c){_0x5bfefd['body'][_0x19fb('0x55')]=_0x5ec16c['id'];_0x5bfefd[_0x19fb('0x50')][_0x19fb('0x56')]=integrations[_0x19fb('0x57')](_0x5bfefd[_0x19fb('0x50')]['channel'],_0x5bfefd[_0x19fb('0x50')]['type']);_0x5bfefd[_0x19fb('0x50')][_0x19fb('0x58')]=integrations[_0x19fb('0x59')](_0x5bfefd[_0x19fb('0x50')][_0x19fb('0x5a')],_0x5bfefd[_0x19fb('0x50')][_0x19fb('0x36')]);return db[_0x19fb('0x5b')][_0x19fb('0x4f')](_0x5bfefd['body'],{'include':[{'model':db['VtigerField'],'as':_0x19fb('0x56')},{'model':db[_0x19fb('0x5c')],'as':_0x19fb('0x58')}]});}return null;})[_0x19fb('0x1d')](respondWithResult(_0x536e56,null))[_0x19fb('0x25')](handleError(_0x536e56,null));};var md5=require('md5');exports[_0x19fb('0x5d')]=function(_0x38db77,_0x5b03e3,_0x1b3a1a){var _0x10b131=null;var _0x72437=null;var _0x5d8f8f=null;var _0x2e8f70=null;var _0xe91308='';return db[_0x19fb('0x34')][_0x19fb('0x54')]({'where':{'id':_0x38db77[_0x19fb('0x4c')]['id']},'attributes':['id',_0x19fb('0x30'),_0x19fb('0x5e'),_0x19fb('0x5f'),'moduleName',_0x19fb('0x60'),_0x19fb('0x61'),_0x19fb('0x62')]})['then'](handleEntityNotFound(_0x5b03e3,null))[_0x19fb('0x1d')](function(_0x27a92d){if(_0x27a92d){_0x10b131=_0x27a92d[_0x19fb('0x5e')];_0x72437=_0x27a92d[_0x19fb('0x62')];_0x5d8f8f=_0x27a92d[_0x19fb('0x63')];_0xe91308=_0x27a92d[_0x19fb('0x60')];var _0xdfea2e=_0xe91308['slice'](-0x1);if(_0xdfea2e==='/'){_0xe91308=_0xe91308[_0x19fb('0x64')](0x0,_0xe91308['lastIndexOf'](_0xdfea2e));}_0x2e8f70=util[_0x19fb('0x65')](_0x19fb('0x66'),_0xe91308);var _0x327592={'method':_0x19fb('0x67'),'uri':_0x2e8f70,'qs':{'operation':_0x19fb('0x68'),'username':_0x27a92d['username']},'json':!![]};return rp(_0x327592);}})[_0x19fb('0x1d')](function(_0x34532f){if(_0x34532f['success']){var _0x1c1fe5={'method':'POST','uri':_0x2e8f70,'form':{'operation':'login','username':_0x10b131,'accessKey':md5(_0x34532f[_0x19fb('0x69')]['token']+_0x72437)},'json':!![]};return rp(_0x1c1fe5);}})['then'](function(_0x42ab0b){if(_0x42ab0b['success']){var _0x4a0855={'method':_0x19fb('0x67'),'uri':_0x2e8f70,'qs':{'operation':_0x19fb('0x6a'),'username':_0x10b131,'sessionName':_0x42ab0b['result'][_0x19fb('0x6b')],'elementType':_0x5d8f8f},'json':!![]};return rp(_0x4a0855);}})[_0x19fb('0x1d')](function(_0x36b25a){if(_0x36b25a[_0x19fb('0x6c')]){var _0xc7dcdf=[_0x19fb('0x6d'),'reference','owner'];_[_0x19fb('0x6e')](_0x36b25a[_0x19fb('0x69')][_0x19fb('0x3c')],function(_0x30ecc8){return _0xc7dcdf['includes'](_0x30ecc8[_0x19fb('0x36')][_0x19fb('0x30')]);});_[_0x19fb('0x6e')](_0x36b25a[_0x19fb('0x69')][_0x19fb('0x3c')],function(_0x342354){return _0x342354[_0x19fb('0x6f')]===_0x19fb('0x70');});return{'count':_0x36b25a[_0x19fb('0x69')][_0x19fb('0x3c')][_0x19fb('0x3d')],'rows':_[_0x19fb('0x33')](_0x36b25a[_0x19fb('0x69')][_0x19fb('0x3c')],function(_0x2fcc05){return{'id':_0x2fcc05[_0x19fb('0x30')],'name':_0x2fcc05['label'],'custom':_[_0x19fb('0x71')](_0x2fcc05[_0x19fb('0x30')],_0x19fb('0x72'))?!![]:![],'options':_0x2fcc05[_0x19fb('0x36')][_0x19fb('0x30')]==='picklist'&&_0x2fcc05['type']['picklistValues'][_0x19fb('0x3d')]>0x0?_['map'](_0x2fcc05[_0x19fb('0x36')]['picklistValues'],function(_0x3201b3){return{'name':_0x3201b3['label'],'value':_0x3201b3[_0x19fb('0x73')]};}):[]};})};}})[_0x19fb('0x1d')](respondWithResult(_0x5b03e3,null))['catch'](function(_0x5c8946){console[_0x19fb('0x74')]('vTiger\x20error:\x20'+_0x5c8946);var _0x708085=_0x38db77[_0x19fb('0x37')]['test']?0x1f4:_0x5c8946['statusCode']||0x1f4;logger[_0x19fb('0x23')](_0x19fb('0x75'),_0x19fb('0x5d'),_0x708085,JSON[_0x19fb('0x22')](_0x5c8946));delete _0x5c8946['name'];if(_0x708085===0x191){_0x708085=0x190;}_0x5b03e3[_0x19fb('0x2a')](_0x708085)['send'](_0x38db77[_0x19fb('0x37')][_0x19fb('0x76')]?{'message':_0x19fb('0x77'),'statusCode':_0x5c8946[_0x19fb('0x78')]}:_0x5c8946);});};
\ No newline at end of file