Built motion from commit 85328c08.|2.5.50
[motion2.git] / server / api / intZohoAccount / intZohoAccount.controller.js
index f4985c0..5a2c6af 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x7bfb=['papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','../../components/integrations/configuration','jayson/promise','client','http','request','info','ZohoAccount,\x20%s,\x20%s','debug','ZohoAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','catch','status','json','count','offset','limit','set','apply','reject','save','then','destroy','end','send','index','ZohoAccount','rawAttributes','type','map','name','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','include','findAll','rows','params','includeAll','find','create','body','findOne','ZohoConfiguration','pick','getConfigurations','addConfiguration','AccountId','Subjects','getSubjects','channel','Descriptions','getDescriptions','ZohoField','zone','https://accounts.zoho.com','https://accounts.zoho.in','https://accounts.zoho.com.cn','https://accounts.zoho.eu','refresh_token','access_token','Unable\x20to\x20retrieve\x20the\x20access\x20token','host','clientSecret','serverUrl','refreshToken','zoho.eu','com','slice','substring','lastIndexOf','Refresh\x20Token\x20not\x20available\x20for\x20the\x20account','GET','https://www.zohoapis.%s/crm/v2/settings/fields','response','Owner','Subject','Description','WhoId','Call_Start_Time','includes','api_name','system_mandatory','push','custom_field','data_type','pick_list_values','test','getFields,\x20%s,\x20%s,\x20%s','getFields','statusCode','html-pdf','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','querystring'];(function(_0x56a061,_0x53fb1b){var _0x105fa0=function(_0x164d08){while(--_0x164d08){_0x56a061['push'](_0x56a061['shift']());}};_0x105fa0(++_0x53fb1b);}(_0x7bfb,0x182));var _0xb7bf=function(_0x19d473,_0x32f2f9){_0x19d473=_0x19d473-0x0;var _0x5b89b2=_0x7bfb[_0x19d473];return _0x5b89b2;};'use strict';var pdf=require(_0xb7bf('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xb7bf('0x1'));var zipdir=require(_0xb7bf('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb7bf('0x3'));var moment=require(_0xb7bf('0x4'));var BPromise=require(_0xb7bf('0x5'));var Mustache=require(_0xb7bf('0x6'));var util=require(_0xb7bf('0x7'));var path=require(_0xb7bf('0x8'));var sox=require(_0xb7bf('0x9'));var csv=require(_0xb7bf('0xa'));var ejs=require(_0xb7bf('0xb'));var fs=require('fs');var _=require(_0xb7bf('0xc'));var squel=require('squel');var crypto=require(_0xb7bf('0xd'));var jsforce=require(_0xb7bf('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xb7bf('0xa'));var querystring=require(_0xb7bf('0xf'));var Papa=require(_0xb7bf('0x10'));var Redis=require(_0xb7bf('0x11'));var authService=require(_0xb7bf('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xb7bf('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xb7bf('0x14'));var utils=require(_0xb7bf('0x15'));var config=require(_0xb7bf('0x16'));var licenseUtil=require(_0xb7bf('0x17'));var db=require(_0xb7bf('0x18'))['db'];var integrations=require(_0xb7bf('0x19'));var jayson=require(_0xb7bf('0x1a'));var client=jayson[_0xb7bf('0x1b')][_0xb7bf('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x1a29b8,_0x1141fc,_0x45132a,_0x31d75a){return new BPromise(function(_0x4a8c43,_0x5c533d){var _0x17ce27=_0x31d75a||client;return _0x17ce27[_0xb7bf('0x1d')](_0x1a29b8,_0x45132a)['then'](function(_0x141ded){logger[_0xb7bf('0x1e')](_0xb7bf('0x1f'),_0x1141fc,'request\x20sent');logger[_0xb7bf('0x20')](_0xb7bf('0x21'),_0x1141fc,_0xb7bf('0x22'),JSON[_0xb7bf('0x23')](_0x141ded));if(_0x141ded[_0xb7bf('0x24')]){if(_0x141ded[_0xb7bf('0x24')][_0xb7bf('0x25')]===0x1f4){logger['error'](_0xb7bf('0x1f'),_0x1141fc,_0x141ded[_0xb7bf('0x24')][_0xb7bf('0x26')]);return _0x5c533d(_0x141ded[_0xb7bf('0x24')][_0xb7bf('0x26')]);}logger['error'](_0xb7bf('0x1f'),_0x1141fc,_0x141ded[_0xb7bf('0x24')][_0xb7bf('0x26')]);return _0x4a8c43(_0x141ded['error']['message']);}else{logger['info']('ZohoAccount,\x20%s,\x20%s',_0x1141fc,_0xb7bf('0x22'));_0x4a8c43(_0x141ded[_0xb7bf('0x27')][_0xb7bf('0x26')]);}})[_0xb7bf('0x28')](function(_0x10fad){logger[_0xb7bf('0x24')]('ZohoAccount,\x20%s,\x20%s',_0x1141fc,_0x10fad);_0x5c533d(_0x10fad);});});}function respondWithStatusCode(_0x5b5a78,_0x129771){_0x129771=_0x129771||0xcc;return function(_0x4b6faf){if(_0x4b6faf){return _0x5b5a78['sendStatus'](_0x129771);}return _0x5b5a78[_0xb7bf('0x29')](_0x129771)['end']();};}function respondWithResult(_0x594a43,_0x4a6c50){_0x4a6c50=_0x4a6c50||0xc8;return function(_0x2e7ee2){if(_0x2e7ee2){return _0x594a43[_0xb7bf('0x29')](_0x4a6c50)[_0xb7bf('0x2a')](_0x2e7ee2);}};}function respondWithFilteredResult(_0xd430c8,_0x2cd6bf){return function(_0x12f21b){if(_0x12f21b){var _0x577068=_0x12f21b[_0xb7bf('0x2b')],_0x176282=_0x2cd6bf[_0xb7bf('0x2c')],_0x66ac30=_0x2cd6bf[_0xb7bf('0x2c')]+_0x2cd6bf[_0xb7bf('0x2d')],_0x29f156;if(_0x66ac30>=_0x577068){_0x66ac30=_0x577068;_0x29f156=0xc8;}else{_0x29f156=0xce;}_0xd430c8['status'](_0x29f156);return _0xd430c8[_0xb7bf('0x2e')]('Content-Range',_0x176282+'-'+_0x66ac30+'/'+_0x577068)[_0xb7bf('0x2a')](_0x12f21b);}return null;};}function patchUpdates(_0x594b80){return function(_0x3f7c11){try{jsonpatch[_0xb7bf('0x2f')](_0x3f7c11,_0x594b80,!![]);}catch(_0x5f11ac){return BPromise[_0xb7bf('0x30')](_0x5f11ac);}return _0x3f7c11[_0xb7bf('0x31')]();};}function saveUpdates(_0x27b22b,_0x2949c6){return function(_0x350fdf){if(_0x350fdf){return _0x350fdf['update'](_0x27b22b)[_0xb7bf('0x32')](function(_0x3b6bf5){return _0x3b6bf5;});}return null;};}function removeEntity(_0x822db4,_0x23a17f){return function(_0x256a8a){if(_0x256a8a){return _0x256a8a[_0xb7bf('0x33')]()[_0xb7bf('0x32')](function(){_0x822db4[_0xb7bf('0x29')](0xcc)[_0xb7bf('0x34')]();});}};}function handleEntityNotFound(_0x3af11,_0x3f9ce6){return function(_0x429a40){if(!_0x429a40){_0x3af11['sendStatus'](0x194);}return _0x429a40;};}function handleError(_0x2fdfee,_0x3454bc){_0x3454bc=_0x3454bc||0x1f4;return function(_0x4897a3){logger['error'](_0x4897a3['stack']);if(_0x4897a3['name']){delete _0x4897a3['name'];}_0x2fdfee['status'](_0x3454bc)[_0xb7bf('0x35')](_0x4897a3);};}exports[_0xb7bf('0x36')]=function(_0x55265b,_0x52074b){var _0x4bf97d={},_0x39286a={},_0x86675b={'count':0x0,'rows':[]};var _0x5e1400=_['map'](db[_0xb7bf('0x37')][_0xb7bf('0x38')],function(_0x4c784d){return{'name':_0x4c784d['fieldName'],'type':_0x4c784d[_0xb7bf('0x39')]['key']};});_0x39286a['model']=_[_0xb7bf('0x3a')](_0x5e1400,_0xb7bf('0x3b'));_0x39286a['query']=_[_0xb7bf('0x3c')](_0x55265b[_0xb7bf('0x3d')]);_0x39286a[_0xb7bf('0x3e')]=_[_0xb7bf('0x3f')](_0x39286a[_0xb7bf('0x40')],_0x39286a['query']);_0x4bf97d[_0xb7bf('0x41')]=_['intersection'](_0x39286a[_0xb7bf('0x40')],qs['fields'](_0x55265b[_0xb7bf('0x3d')][_0xb7bf('0x42')]));_0x4bf97d[_0xb7bf('0x41')]=_0x4bf97d[_0xb7bf('0x41')][_0xb7bf('0x43')]?_0x4bf97d['attributes']:_0x39286a[_0xb7bf('0x40')];if(!_0x55265b['query'][_0xb7bf('0x44')](_0xb7bf('0x45'))){_0x4bf97d[_0xb7bf('0x2d')]=qs[_0xb7bf('0x2d')](_0x55265b[_0xb7bf('0x3d')]['limit']);_0x4bf97d[_0xb7bf('0x2c')]=qs[_0xb7bf('0x2c')](_0x55265b[_0xb7bf('0x3d')]['offset']);}_0x4bf97d[_0xb7bf('0x46')]=qs['sort'](_0x55265b[_0xb7bf('0x3d')][_0xb7bf('0x47')]);_0x4bf97d['where']=qs[_0xb7bf('0x3e')](_['pick'](_0x55265b[_0xb7bf('0x3d')],_0x39286a[_0xb7bf('0x3e')]),_0x5e1400);if(_0x55265b[_0xb7bf('0x3d')][_0xb7bf('0x48')]){_0x4bf97d[_0xb7bf('0x49')]=_[_0xb7bf('0x4a')](_0x4bf97d[_0xb7bf('0x49')],{'$or':_[_0xb7bf('0x3a')](_0x5e1400,function(_0x2c57d8){if(_0x2c57d8[_0xb7bf('0x39')]!==_0xb7bf('0x4b')){var _0xb90615={};_0xb90615[_0x2c57d8[_0xb7bf('0x3b')]]={'$like':'%'+_0x55265b[_0xb7bf('0x3d')][_0xb7bf('0x48')]+'%'};return _0xb90615;}})});}_0x4bf97d=_['merge']({},_0x4bf97d,_0x55265b[_0xb7bf('0x4c')]);var _0x43484f={'where':_0x4bf97d[_0xb7bf('0x49')]};return db[_0xb7bf('0x37')]['count'](_0x43484f)['then'](function(_0x31f443){_0x86675b[_0xb7bf('0x2b')]=_0x31f443;if(_0x55265b[_0xb7bf('0x3d')]['includeAll']){_0x4bf97d[_0xb7bf('0x4d')]=[{'all':!![]}];}return db['ZohoAccount'][_0xb7bf('0x4e')](_0x4bf97d);})['then'](function(_0x33b19a){_0x86675b[_0xb7bf('0x4f')]=_0x33b19a;return _0x86675b;})[_0xb7bf('0x32')](respondWithFilteredResult(_0x52074b,_0x4bf97d))[_0xb7bf('0x28')](handleError(_0x52074b,null));};exports['show']=function(_0x100890,_0x3631f5){var _0x193911={'raw':![],'where':{'id':_0x100890[_0xb7bf('0x50')]['id']}},_0x28e9db={};_0x28e9db[_0xb7bf('0x40')]=_['keys'](db[_0xb7bf('0x37')][_0xb7bf('0x38')]);_0x28e9db[_0xb7bf('0x3d')]=_[_0xb7bf('0x3c')](_0x100890[_0xb7bf('0x3d')]);_0x28e9db[_0xb7bf('0x3e')]=_[_0xb7bf('0x3f')](_0x28e9db[_0xb7bf('0x40')],_0x28e9db['query']);_0x193911[_0xb7bf('0x41')]=_[_0xb7bf('0x3f')](_0x28e9db[_0xb7bf('0x40')],qs[_0xb7bf('0x42')](_0x100890[_0xb7bf('0x3d')][_0xb7bf('0x42')]));_0x193911['attributes']=_0x193911[_0xb7bf('0x41')][_0xb7bf('0x43')]?_0x193911[_0xb7bf('0x41')]:_0x28e9db[_0xb7bf('0x40')];if(_0x100890[_0xb7bf('0x3d')][_0xb7bf('0x51')]){_0x193911['include']=[{'all':!![]}];}_0x193911=_['merge']({},_0x193911,_0x100890[_0xb7bf('0x4c')]);return db[_0xb7bf('0x37')][_0xb7bf('0x52')](_0x193911)[_0xb7bf('0x32')](handleEntityNotFound(_0x3631f5,null))[_0xb7bf('0x32')](respondWithResult(_0x3631f5,null))[_0xb7bf('0x28')](handleError(_0x3631f5,null));};exports[_0xb7bf('0x53')]=function(_0x379018,_0x52291d){return db[_0xb7bf('0x37')][_0xb7bf('0x53')](_0x379018[_0xb7bf('0x54')],{})[_0xb7bf('0x32')](respondWithResult(_0x52291d,0xc9))[_0xb7bf('0x28')](handleError(_0x52291d,null));};exports['update']=function(_0x267146,_0x207225){if(_0x267146['body']['id']){delete _0x267146['body']['id'];}return db[_0xb7bf('0x37')][_0xb7bf('0x52')]({'where':{'id':_0x267146[_0xb7bf('0x50')]['id']}})[_0xb7bf('0x32')](handleEntityNotFound(_0x207225,null))['then'](saveUpdates(_0x267146[_0xb7bf('0x54')],null))[_0xb7bf('0x32')](respondWithResult(_0x207225,null))[_0xb7bf('0x28')](handleError(_0x207225,null));};exports['destroy']=function(_0x7e55be,_0x363521){return db[_0xb7bf('0x37')]['find']({'where':{'id':_0x7e55be[_0xb7bf('0x50')]['id']}})['then'](handleEntityNotFound(_0x363521,null))['then'](removeEntity(_0x363521,null))['catch'](handleError(_0x363521,null));};exports['getConfigurations']=function(_0x374c01,_0x4d8c6b,_0xd83a0a){var _0x35d316={};var _0x1b136f={};var _0x280a2f;var _0x33736b;return db['ZohoAccount'][_0xb7bf('0x55')]({'where':{'id':_0x374c01['params']['id']}})['then'](handleEntityNotFound(_0x4d8c6b,null))[_0xb7bf('0x32')](function(_0x2d5814){if(_0x2d5814){_0x280a2f=_0x2d5814;_0x1b136f['model']=_[_0xb7bf('0x3c')](db[_0xb7bf('0x56')][_0xb7bf('0x38')]);_0x1b136f[_0xb7bf('0x3d')]=_[_0xb7bf('0x3c')](_0x374c01['query']);_0x1b136f['filters']=_[_0xb7bf('0x3f')](_0x1b136f[_0xb7bf('0x40')],_0x1b136f[_0xb7bf('0x3d')]);_0x35d316[_0xb7bf('0x41')]=_[_0xb7bf('0x3f')](_0x1b136f[_0xb7bf('0x40')],qs[_0xb7bf('0x42')](_0x374c01[_0xb7bf('0x3d')][_0xb7bf('0x42')]));_0x35d316['attributes']=_0x35d316[_0xb7bf('0x41')][_0xb7bf('0x43')]?_0x35d316[_0xb7bf('0x41')]:_0x1b136f['model'];_0x35d316[_0xb7bf('0x46')]=qs[_0xb7bf('0x47')](_0x374c01['query'][_0xb7bf('0x47')]);_0x35d316[_0xb7bf('0x49')]=qs[_0xb7bf('0x3e')](_[_0xb7bf('0x57')](_0x374c01['query'],_0x1b136f['filters']));if(_0x374c01['query']['filter']){_0x35d316['where']=_['merge'](_0x35d316[_0xb7bf('0x49')],{'$or':_[_0xb7bf('0x3a')](_0x35d316[_0xb7bf('0x41')],function(_0x4e37a9){var _0x2ad406={};_0x2ad406[_0x4e37a9]={'$like':'%'+_0x374c01['query'][_0xb7bf('0x48')]+'%'};return _0x2ad406;})});}_0x35d316=_[_0xb7bf('0x4a')]({},_0x35d316,_0x374c01['options']);return _0x280a2f[_0xb7bf('0x58')](_0x35d316);}})[_0xb7bf('0x32')](function(_0x461dd0){if(_0x461dd0){_0x33736b=_0x461dd0[_0xb7bf('0x43')];if(!_0x374c01[_0xb7bf('0x3d')][_0xb7bf('0x44')](_0xb7bf('0x45'))){_0x35d316[_0xb7bf('0x2d')]=qs[_0xb7bf('0x2d')](_0x374c01['query'][_0xb7bf('0x2d')]);_0x35d316['offset']=qs[_0xb7bf('0x2c')](_0x374c01[_0xb7bf('0x3d')][_0xb7bf('0x2c')]);}return _0x280a2f[_0xb7bf('0x58')](_0x35d316);}})[_0xb7bf('0x32')](function(_0x408d98){if(_0x408d98){return _0x408d98?{'count':_0x33736b,'rows':_0x408d98}:null;}})[_0xb7bf('0x32')](respondWithResult(_0x4d8c6b,null))[_0xb7bf('0x28')](handleError(_0x4d8c6b,null));};exports[_0xb7bf('0x59')]=function(_0x1093fb,_0x55bfbc,_0x4f63ef){if(_0x1093fb['body']['id']){delete _0x1093fb[_0xb7bf('0x54')]['id'];}return db[_0xb7bf('0x37')]['findOne']({'where':{'id':_0x1093fb[_0xb7bf('0x50')]['id']}})[_0xb7bf('0x32')](handleEntityNotFound(_0x55bfbc,null))['then'](function(_0x159891){if(_0x159891){_0x1093fb[_0xb7bf('0x54')][_0xb7bf('0x5a')]=_0x159891['id'];_0x1093fb[_0xb7bf('0x54')][_0xb7bf('0x5b')]=integrations[_0xb7bf('0x5c')](_0x1093fb[_0xb7bf('0x54')][_0xb7bf('0x5d')],_0x1093fb[_0xb7bf('0x54')][_0xb7bf('0x39')]);_0x1093fb[_0xb7bf('0x54')][_0xb7bf('0x5e')]=integrations[_0xb7bf('0x5f')](_0x1093fb[_0xb7bf('0x54')][_0xb7bf('0x5d')],_0x1093fb[_0xb7bf('0x54')][_0xb7bf('0x39')]);return db[_0xb7bf('0x56')][_0xb7bf('0x53')](_0x1093fb['body'],{'include':[{'model':db[_0xb7bf('0x60')],'as':_0xb7bf('0x5b')},{'model':db[_0xb7bf('0x60')],'as':_0xb7bf('0x5e')}]});}return null;})[_0xb7bf('0x32')](respondWithResult(_0x55bfbc,null))[_0xb7bf('0x28')](handleError(_0x55bfbc,null));};function getAccessToken(_0x1f744d){return new Promise(function(_0x5cd792,_0x1ca574){var _0x522929;switch(_0x1f744d[_0xb7bf('0x61')]){case'US':_0x522929=_0xb7bf('0x62');break;case'AU':_0x522929='https://accounts.zoho.com.au';break;case'EU':_0x522929='https://accounts.zoho.eu';break;case'IN':_0x522929=_0xb7bf('0x63');break;case'CN':_0x522929=_0xb7bf('0x64');break;default:_0x522929=_0xb7bf('0x65');break;}var _0x598565={'method':'POST','uri':_0x522929+'/oauth/v2/token','qs':{'refresh_token':_0x1f744d['refreshToken'],'client_id':_0x1f744d['clientId'],'client_secret':_0x1f744d['clientSecret'],'grant_type':_0xb7bf('0x66')},'json':!![]};return rp(_0x598565)['then'](function(_0x3bd646){if(_0x3bd646[_0xb7bf('0x67')]){_0x5cd792(_0x3bd646[_0xb7bf('0x67')]);}else{_0x1ca574(_0xb7bf('0x68'));}})['catch'](function(_0x7ea055){_0x1ca574(_0x7ea055);});});}exports['getFields']=function(_0x386912,_0x1062d9,_0xc0c8a9){var _0x31868e,_0x4fb6f0,_0x94ced5,_0x3b9a01,_0x1fd7ca;return db[_0xb7bf('0x37')][_0xb7bf('0x55')]({'where':{'id':_0x386912[_0xb7bf('0x50')]['id']},'attributes':['id',_0xb7bf('0x69'),_0xb7bf('0x61'),'clientId',_0xb7bf('0x6a'),_0xb7bf('0x6b'),_0xb7bf('0x25'),_0xb7bf('0x6c')]})[_0xb7bf('0x32')](handleEntityNotFound(_0x1062d9,null))[_0xb7bf('0x32')](function(_0x344af1){_0x1fd7ca=_0x344af1;_0x31868e=_0x1fd7ca[_0xb7bf('0x69')];_0x4fb6f0=_0x31868e===_0xb7bf('0x6d')?'eu':_0xb7bf('0x6e');_0x94ced5=_0x1fd7ca[_0xb7bf('0x6b')];var _0x336d1a=_0x94ced5[_0xb7bf('0x6f')](-0x1);if(_0x336d1a==='/'||_0x336d1a==='\x5c'||_0x336d1a===':'){_0x94ced5=_0x94ced5[_0xb7bf('0x70')](0x0,_0x94ced5[_0xb7bf('0x71')](_0x336d1a));}if(!_0x1fd7ca[_0xb7bf('0x6c')]){throw new Error(_0xb7bf('0x72'));}return getAccessToken(_0x1fd7ca);})[_0xb7bf('0x32')](function(_0x5de685){if(_0x5de685){return rp({'method':_0xb7bf('0x73'),'uri':util['format'](_0xb7bf('0x74'),_0x4fb6f0),'qs':{'module':'Calls'},'headers':{'Authorization':'Zoho-oauthtoken\x20'+_0x5de685},'json':!![]});}})[_0xb7bf('0x32')](function(_0x206a24){if(_0x206a24){if(_0x206a24['response']&&_0x206a24['response'][_0xb7bf('0x24')]){throw new Error(_0x206a24[_0xb7bf('0x75')][_0xb7bf('0x24')]['message']);}var _0x388ba5=[];var _0x3bf6c2=[];var _0x3566e6=[_0xb7bf('0x76'),_0xb7bf('0x77'),_0xb7bf('0x78'),_0xb7bf('0x79'),'Call_Duration','Call_Result',_0xb7bf('0x7a'),'Call_Type'];_0x3bf6c2=_['remove'](_0x206a24[_0xb7bf('0x42')],function(_0x451a93){return _0x3566e6[_0xb7bf('0x7b')](_0x451a93[_0xb7bf('0x7c')]);});for(var _0x57887e=0x0;_0x57887e<_0x3bf6c2['length'];_0x57887e++){if(_0x3bf6c2[_0x57887e][_0xb7bf('0x7d')]===![]){_0x388ba5[_0xb7bf('0x7e')]({'id':_0x3bf6c2[_0x57887e]['id'],'name':_0x3bf6c2[_0x57887e]['display_label'],'custom':_0x3bf6c2[_0x57887e][_0xb7bf('0x7f')],'options':_0x3bf6c2[_0x57887e][_0xb7bf('0x80')]==='picklist'&&_0x3bf6c2[_0x57887e][_0xb7bf('0x81')][_0xb7bf('0x43')]>-0x1?_['map'](_0x3bf6c2[_0x57887e][_0xb7bf('0x81')],function(_0x350d0d){return{'name':_0x350d0d,'value':_0x350d0d};}):[]});}}return{'count':_0x388ba5[_0xb7bf('0x43')],'rows':_0x388ba5};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithResult(_0x1062d9,null))[_0xb7bf('0x28')](function(_0x5d8d62){var _0x3ef87f=_0x386912[_0xb7bf('0x3d')][_0xb7bf('0x82')]?0x1f4:_0x5d8d62['statusCode']||0x1f4;logger[_0xb7bf('0x24')](_0xb7bf('0x83'),_0xb7bf('0x84'),_0x3ef87f,JSON[_0xb7bf('0x23')](_0x5d8d62));delete _0x5d8d62['name'];if(_0x3ef87f===0x191){_0x3ef87f=0x190;}_0x1062d9['status'](_0x3ef87f)['send'](_0x386912['query'][_0xb7bf('0x82')]?{'message':'Wrong\x20credentials','statusCode':_0x5d8d62[_0xb7bf('0x85')]}:_0x5d8d62);});};
\ No newline at end of file
+var _0xe157=['save','update','destroy','end','error','stack','name','send','index','map','ZohoAccount','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','then','includeAll','include','findAll','rows','catch','rawAttributes','find','create','body','getConfigurations','findOne','params','ZohoConfiguration','addConfiguration','Subjects','getSubjects','channel','Descriptions','getDescriptions','ZohoField','zone','https://accounts.zoho.eu','POST','/oauth/v2/token','refreshToken','clientId','clientSecret','refresh_token','access_token','Unable\x20to\x20retrieve\x20the\x20access\x20token','code','host','serverUrl','slice','lastIndexOf','GET','format','https://www.zohoapis.%s/crm/v2/settings/fields','Calls','Zoho-oauthtoken\x20','response','message','Owner','WhoId','Call_Duration','Call_Result','Call_Start_Time','Call_Type','includes','api_name','system_mandatory','push','display_label','custom_field','data_type','test','statusCode','getFields','stringify','zip-dir','fast-json-patch','request-promise','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../components/integrations/configuration','sendStatus','status','json','offset','undefined','limit','count','Content-Range','apply','reject'];(function(_0x5b78e8,_0x55096b){var _0xf2c321=function(_0x4e0cff){while(--_0x4e0cff){_0x5b78e8['push'](_0x5b78e8['shift']());}};_0xf2c321(++_0x55096b);}(_0xe157,0xd8));var _0x7e15=function(_0x461c6c,_0xf3e8d2){_0x461c6c=_0x461c6c-0x0;var _0x4d0d7a=_0xe157[_0x461c6c];return _0x4d0d7a;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x7e15('0x0'));var jsonpatch=require(_0x7e15('0x1'));var rp=require(_0x7e15('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x7e15('0x3'));var ejs=require(_0x7e15('0x4'));var fs=require('fs');var fs_extra=require(_0x7e15('0x5'));var _=require('lodash');var squel=require(_0x7e15('0x6'));var crypto=require(_0x7e15('0x7'));var jsforce=require(_0x7e15('0x8'));var deskjs=require(_0x7e15('0x9'));var toCsv=require(_0x7e15('0x3'));var querystring=require('querystring');var Papa=require(_0x7e15('0xa'));var Redis=require(_0x7e15('0xb'));var authService=require(_0x7e15('0xc'));var qs=require(_0x7e15('0xd'));var as=require(_0x7e15('0xe'));var hardwareService=require(_0x7e15('0xf'));var logger=require(_0x7e15('0x10'))(_0x7e15('0x11'));var utils=require(_0x7e15('0x12'));var config=require(_0x7e15('0x13'));var licenseUtil=require(_0x7e15('0x14'));var db=require('../../mysqldb')['db'];var integrations=require(_0x7e15('0x15'));function respondWithStatusCode(_0x59a080,_0x387ee4){_0x387ee4=_0x387ee4||0xcc;return function(_0x13b9fc){if(_0x13b9fc){return _0x59a080[_0x7e15('0x16')](_0x387ee4);}return _0x59a080['status'](_0x387ee4)['end']();};}function respondWithResult(_0x1c07e7,_0x217027){_0x217027=_0x217027||0xc8;return function(_0x1a3099){if(_0x1a3099){return _0x1c07e7[_0x7e15('0x17')](_0x217027)[_0x7e15('0x18')](_0x1a3099);}};}function respondWithFilteredResult(_0x3ca814,_0x54ed93){return function(_0x2ff13c){if(_0x2ff13c){var _0xfd48ca=typeof _0x54ed93[_0x7e15('0x19')]===_0x7e15('0x1a')&&typeof _0x54ed93[_0x7e15('0x1b')]==='undefined';var _0x12e9c6=_0x2ff13c[_0x7e15('0x1c')];var _0x25090a=_0xfd48ca?0x0:_0x54ed93[_0x7e15('0x19')];var _0xe36240=_0xfd48ca?_0x2ff13c[_0x7e15('0x1c')]:_0x54ed93[_0x7e15('0x19')]+_0x54ed93[_0x7e15('0x1b')];var _0x176405;if(_0xe36240>=_0x12e9c6){_0xe36240=_0x12e9c6;_0x176405=0xc8;}else{_0x176405=0xce;}_0x3ca814[_0x7e15('0x17')](_0x176405);return _0x3ca814['set'](_0x7e15('0x1d'),_0x25090a+'-'+_0xe36240+'/'+_0x12e9c6)[_0x7e15('0x18')](_0x2ff13c);}return null;};}function patchUpdates(_0x24c721){return function(_0x4a071b){try{jsonpatch[_0x7e15('0x1e')](_0x4a071b,_0x24c721,!![]);}catch(_0x4ef8c1){return BPromise[_0x7e15('0x1f')](_0x4ef8c1);}return _0x4a071b[_0x7e15('0x20')]();};}function saveUpdates(_0x13319a,_0x6b7e0a){return function(_0x1a7f25){if(_0x1a7f25){return _0x1a7f25[_0x7e15('0x21')](_0x13319a)['then'](function(_0xa52664){return _0xa52664;});}return null;};}function removeEntity(_0xcece3f,_0x50c3ed){return function(_0x5be565){if(_0x5be565){return _0x5be565[_0x7e15('0x22')]()['then'](function(){_0xcece3f['status'](0xcc)[_0x7e15('0x23')]();});}};}function handleEntityNotFound(_0x14f0fd,_0x3e9db0){return function(_0x3a1e77){if(!_0x3a1e77){_0x14f0fd[_0x7e15('0x16')](0x194);}return _0x3a1e77;};}function handleError(_0x576a8c,_0x44d0f9){_0x44d0f9=_0x44d0f9||0x1f4;return function(_0x1be782){logger[_0x7e15('0x24')](_0x1be782[_0x7e15('0x25')]);if(_0x1be782[_0x7e15('0x26')]){delete _0x1be782['name'];}_0x576a8c[_0x7e15('0x17')](_0x44d0f9)[_0x7e15('0x27')](_0x1be782);};}exports[_0x7e15('0x28')]=function(_0x41b8c0,_0x2ee85f){var _0x25d55f={},_0x48a76c={},_0x4c5813={'count':0x0,'rows':[]};var _0x4aa3df=_[_0x7e15('0x29')](db[_0x7e15('0x2a')]['rawAttributes'],function(_0x588c83){return{'name':_0x588c83[_0x7e15('0x2b')],'type':_0x588c83[_0x7e15('0x2c')][_0x7e15('0x2d')]};});_0x48a76c['model']=_[_0x7e15('0x29')](_0x4aa3df,'name');_0x48a76c[_0x7e15('0x2e')]=_[_0x7e15('0x2f')](_0x41b8c0[_0x7e15('0x2e')]);_0x48a76c[_0x7e15('0x30')]=_[_0x7e15('0x31')](_0x48a76c[_0x7e15('0x32')],_0x48a76c[_0x7e15('0x2e')]);_0x25d55f[_0x7e15('0x33')]=_[_0x7e15('0x31')](_0x48a76c[_0x7e15('0x32')],qs[_0x7e15('0x34')](_0x41b8c0[_0x7e15('0x2e')]['fields']));_0x25d55f[_0x7e15('0x33')]=_0x25d55f[_0x7e15('0x33')][_0x7e15('0x35')]?_0x25d55f['attributes']:_0x48a76c[_0x7e15('0x32')];if(!_0x41b8c0[_0x7e15('0x2e')][_0x7e15('0x36')](_0x7e15('0x37'))){_0x25d55f['limit']=qs[_0x7e15('0x1b')](_0x41b8c0['query']['limit']);_0x25d55f[_0x7e15('0x19')]=qs['offset'](_0x41b8c0[_0x7e15('0x2e')]['offset']);}_0x25d55f[_0x7e15('0x38')]=qs['sort'](_0x41b8c0[_0x7e15('0x2e')][_0x7e15('0x39')]);_0x25d55f[_0x7e15('0x3a')]=qs[_0x7e15('0x30')](_[_0x7e15('0x3b')](_0x41b8c0['query'],_0x48a76c['filters']),_0x4aa3df);if(_0x41b8c0[_0x7e15('0x2e')][_0x7e15('0x3c')]){_0x25d55f[_0x7e15('0x3a')]=_[_0x7e15('0x3d')](_0x25d55f[_0x7e15('0x3a')],{'$or':_[_0x7e15('0x29')](_0x4aa3df,function(_0x598542){if(_0x598542[_0x7e15('0x2c')]!==_0x7e15('0x3e')){var _0x3457ec={};_0x3457ec[_0x598542[_0x7e15('0x26')]]={'$like':'%'+_0x41b8c0[_0x7e15('0x2e')]['filter']+'%'};return _0x3457ec;}})});}_0x25d55f=_[_0x7e15('0x3d')]({},_0x25d55f,_0x41b8c0[_0x7e15('0x3f')]);var _0x4a21f4={'where':_0x25d55f[_0x7e15('0x3a')]};return db[_0x7e15('0x2a')]['count'](_0x4a21f4)[_0x7e15('0x40')](function(_0x32bf4b){_0x4c5813[_0x7e15('0x1c')]=_0x32bf4b;if(_0x41b8c0[_0x7e15('0x2e')][_0x7e15('0x41')]){_0x25d55f[_0x7e15('0x42')]=[{'all':!![]}];}return db[_0x7e15('0x2a')][_0x7e15('0x43')](_0x25d55f);})[_0x7e15('0x40')](function(_0x1d3309){_0x4c5813[_0x7e15('0x44')]=_0x1d3309;return _0x4c5813;})[_0x7e15('0x40')](respondWithFilteredResult(_0x2ee85f,_0x25d55f))[_0x7e15('0x45')](handleError(_0x2ee85f,null));};exports['show']=function(_0x28f032,_0x1494fa){var _0x294dd6={'raw':![],'where':{'id':_0x28f032['params']['id']}},_0x56faaf={};_0x56faaf[_0x7e15('0x32')]=_[_0x7e15('0x2f')](db['ZohoAccount'][_0x7e15('0x46')]);_0x56faaf[_0x7e15('0x2e')]=_[_0x7e15('0x2f')](_0x28f032[_0x7e15('0x2e')]);_0x56faaf[_0x7e15('0x30')]=_[_0x7e15('0x31')](_0x56faaf[_0x7e15('0x32')],_0x56faaf['query']);_0x294dd6[_0x7e15('0x33')]=_[_0x7e15('0x31')](_0x56faaf[_0x7e15('0x32')],qs[_0x7e15('0x34')](_0x28f032[_0x7e15('0x2e')][_0x7e15('0x34')]));_0x294dd6[_0x7e15('0x33')]=_0x294dd6[_0x7e15('0x33')][_0x7e15('0x35')]?_0x294dd6['attributes']:_0x56faaf['model'];if(_0x28f032[_0x7e15('0x2e')][_0x7e15('0x41')]){_0x294dd6[_0x7e15('0x42')]=[{'all':!![]}];}_0x294dd6=_[_0x7e15('0x3d')]({},_0x294dd6,_0x28f032[_0x7e15('0x3f')]);return db['ZohoAccount'][_0x7e15('0x47')](_0x294dd6)[_0x7e15('0x40')](handleEntityNotFound(_0x1494fa,null))[_0x7e15('0x40')](respondWithResult(_0x1494fa,null))[_0x7e15('0x45')](handleError(_0x1494fa,null));};exports[_0x7e15('0x48')]=function(_0x168ecc,_0x532fd7){return db[_0x7e15('0x2a')][_0x7e15('0x48')](_0x168ecc['body'],{})[_0x7e15('0x40')](respondWithResult(_0x532fd7,0xc9))['catch'](handleError(_0x532fd7,null));};exports[_0x7e15('0x21')]=function(_0x3f398b,_0x23b4d2){if(_0x3f398b['body']['id']){delete _0x3f398b['body']['id'];}return db[_0x7e15('0x2a')][_0x7e15('0x47')]({'where':{'id':_0x3f398b['params']['id']}})[_0x7e15('0x40')](handleEntityNotFound(_0x23b4d2,null))[_0x7e15('0x40')](saveUpdates(_0x3f398b[_0x7e15('0x49')],null))['then'](respondWithResult(_0x23b4d2,null))[_0x7e15('0x45')](handleError(_0x23b4d2,null));};exports[_0x7e15('0x22')]=function(_0x458f07,_0xc6ab79){return db[_0x7e15('0x2a')]['find']({'where':{'id':_0x458f07['params']['id']}})[_0x7e15('0x40')](handleEntityNotFound(_0xc6ab79,null))[_0x7e15('0x40')](removeEntity(_0xc6ab79,null))['catch'](handleError(_0xc6ab79,null));};exports[_0x7e15('0x4a')]=function(_0x5287a8,_0x54582e,_0x44f37d){var _0x512e12={};var _0x2ab93d={};var _0x48f27c;var _0x383fbb;return db['ZohoAccount'][_0x7e15('0x4b')]({'where':{'id':_0x5287a8[_0x7e15('0x4c')]['id']}})[_0x7e15('0x40')](handleEntityNotFound(_0x54582e,null))[_0x7e15('0x40')](function(_0x262021){if(_0x262021){_0x48f27c=_0x262021;_0x2ab93d[_0x7e15('0x32')]=_[_0x7e15('0x2f')](db[_0x7e15('0x4d')]['rawAttributes']);_0x2ab93d[_0x7e15('0x2e')]=_['keys'](_0x5287a8[_0x7e15('0x2e')]);_0x2ab93d[_0x7e15('0x30')]=_['intersection'](_0x2ab93d[_0x7e15('0x32')],_0x2ab93d[_0x7e15('0x2e')]);_0x512e12[_0x7e15('0x33')]=_[_0x7e15('0x31')](_0x2ab93d['model'],qs['fields'](_0x5287a8[_0x7e15('0x2e')][_0x7e15('0x34')]));_0x512e12[_0x7e15('0x33')]=_0x512e12[_0x7e15('0x33')][_0x7e15('0x35')]?_0x512e12[_0x7e15('0x33')]:_0x2ab93d['model'];_0x512e12[_0x7e15('0x38')]=qs[_0x7e15('0x39')](_0x5287a8[_0x7e15('0x2e')]['sort']);_0x512e12['where']=qs[_0x7e15('0x30')](_[_0x7e15('0x3b')](_0x5287a8[_0x7e15('0x2e')],_0x2ab93d[_0x7e15('0x30')]));if(_0x5287a8['query'][_0x7e15('0x3c')]){_0x512e12['where']=_[_0x7e15('0x3d')](_0x512e12[_0x7e15('0x3a')],{'$or':_[_0x7e15('0x29')](_0x512e12[_0x7e15('0x33')],function(_0x2f636c){var _0x197c45={};_0x197c45[_0x2f636c]={'$like':'%'+_0x5287a8['query'][_0x7e15('0x3c')]+'%'};return _0x197c45;})});}_0x512e12=_[_0x7e15('0x3d')]({},_0x512e12,_0x5287a8[_0x7e15('0x3f')]);return _0x48f27c['getConfigurations'](_0x512e12);}})[_0x7e15('0x40')](function(_0x295dc6){if(_0x295dc6){_0x383fbb=_0x295dc6[_0x7e15('0x35')];if(!_0x5287a8['query']['hasOwnProperty'](_0x7e15('0x37'))){_0x512e12[_0x7e15('0x1b')]=qs[_0x7e15('0x1b')](_0x5287a8[_0x7e15('0x2e')]['limit']);_0x512e12[_0x7e15('0x19')]=qs['offset'](_0x5287a8[_0x7e15('0x2e')][_0x7e15('0x19')]);}return _0x48f27c['getConfigurations'](_0x512e12);}})[_0x7e15('0x40')](function(_0x561c82){if(_0x561c82){return _0x561c82?{'count':_0x383fbb,'rows':_0x561c82}:null;}})[_0x7e15('0x40')](respondWithResult(_0x54582e,null))[_0x7e15('0x45')](handleError(_0x54582e,null));};exports[_0x7e15('0x4e')]=function(_0x54e5d7,_0x21d1f8,_0x2babd5){if(_0x54e5d7[_0x7e15('0x49')]['id']){delete _0x54e5d7[_0x7e15('0x49')]['id'];}return db[_0x7e15('0x2a')][_0x7e15('0x4b')]({'where':{'id':_0x54e5d7['params']['id']}})['then'](handleEntityNotFound(_0x21d1f8,null))['then'](function(_0x4fad84){if(_0x4fad84){_0x54e5d7[_0x7e15('0x49')]['AccountId']=_0x4fad84['id'];_0x54e5d7[_0x7e15('0x49')][_0x7e15('0x4f')]=integrations[_0x7e15('0x50')](_0x54e5d7['body'][_0x7e15('0x51')],_0x54e5d7['body'][_0x7e15('0x2c')]);_0x54e5d7[_0x7e15('0x49')][_0x7e15('0x52')]=integrations[_0x7e15('0x53')](_0x54e5d7[_0x7e15('0x49')][_0x7e15('0x51')],_0x54e5d7[_0x7e15('0x49')][_0x7e15('0x2c')]);return db[_0x7e15('0x4d')][_0x7e15('0x48')](_0x54e5d7[_0x7e15('0x49')],{'include':[{'model':db[_0x7e15('0x54')],'as':_0x7e15('0x4f')},{'model':db['ZohoField'],'as':_0x7e15('0x52')}]});}return null;})['then'](respondWithResult(_0x21d1f8,null))[_0x7e15('0x45')](handleError(_0x21d1f8,null));};function getAccessToken(_0x507066){return new Promise(function(_0x5379b1,_0x3a4c73){var _0x3b7fe1;switch(_0x507066[_0x7e15('0x55')]){case'US':_0x3b7fe1='https://accounts.zoho.com';break;case'AU':_0x3b7fe1='https://accounts.zoho.com.au';break;case'EU':_0x3b7fe1=_0x7e15('0x56');break;case'IN':_0x3b7fe1='https://accounts.zoho.in';break;case'CN':_0x3b7fe1='https://accounts.zoho.com.cn';break;default:_0x3b7fe1='https://accounts.zoho.eu';break;}var _0x5ebcc4={'method':_0x7e15('0x57'),'uri':_0x3b7fe1+_0x7e15('0x58'),'qs':{'refresh_token':_0x507066[_0x7e15('0x59')],'client_id':_0x507066[_0x7e15('0x5a')],'client_secret':_0x507066[_0x7e15('0x5b')],'grant_type':_0x7e15('0x5c')},'json':!![]};return rp(_0x5ebcc4)[_0x7e15('0x40')](function(_0x57d6b0){if(_0x57d6b0[_0x7e15('0x5d')]){_0x5379b1(_0x57d6b0[_0x7e15('0x5d')]);}else{_0x3a4c73(_0x7e15('0x5e'));}})['catch'](function(_0x33f654){_0x3a4c73(_0x33f654);});});}exports['getFields']=function(_0x39762a,_0xa8eebd,_0x47f812){var _0x36e868,_0x377f68,_0x2ea88c,_0x57139d,_0x4e3c47;return db[_0x7e15('0x2a')][_0x7e15('0x4b')]({'where':{'id':_0x39762a[_0x7e15('0x4c')]['id']},'attributes':['id','host','zone',_0x7e15('0x5a'),_0x7e15('0x5b'),'serverUrl',_0x7e15('0x5f'),'refreshToken']})[_0x7e15('0x40')](handleEntityNotFound(_0xa8eebd,null))['then'](function(_0x2493ea){_0x4e3c47=_0x2493ea;_0x36e868=_0x4e3c47[_0x7e15('0x60')];_0x377f68=_0x36e868==='zoho.eu'?'eu':'com';_0x2ea88c=_0x4e3c47[_0x7e15('0x61')];var _0x4694e1=_0x2ea88c[_0x7e15('0x62')](-0x1);if(_0x4694e1==='/'||_0x4694e1==='\x5c'||_0x4694e1===':'){_0x2ea88c=_0x2ea88c['substring'](0x0,_0x2ea88c[_0x7e15('0x63')](_0x4694e1));}if(!_0x4e3c47[_0x7e15('0x59')]){throw new Error('Refresh\x20Token\x20not\x20available\x20for\x20the\x20account');}return getAccessToken(_0x4e3c47);})[_0x7e15('0x40')](function(_0x521c57){if(_0x521c57){return rp({'method':_0x7e15('0x64'),'uri':util[_0x7e15('0x65')](_0x7e15('0x66'),_0x377f68),'qs':{'module':_0x7e15('0x67')},'headers':{'Authorization':_0x7e15('0x68')+_0x521c57},'json':!![]});}})[_0x7e15('0x40')](function(_0x503655){if(_0x503655){if(_0x503655[_0x7e15('0x69')]&&_0x503655['response']['error']){throw new Error(_0x503655[_0x7e15('0x69')]['error'][_0x7e15('0x6a')]);}var _0x419847=[];var _0x56c1b4=[];var _0x380cf4=[_0x7e15('0x6b'),'Subject','Description',_0x7e15('0x6c'),_0x7e15('0x6d'),_0x7e15('0x6e'),_0x7e15('0x6f'),_0x7e15('0x70')];_0x56c1b4=_['remove'](_0x503655[_0x7e15('0x34')],function(_0x5c7e41){return _0x380cf4[_0x7e15('0x71')](_0x5c7e41[_0x7e15('0x72')]);});for(var _0x34b25d=0x0;_0x34b25d<_0x56c1b4['length'];_0x34b25d++){if(_0x56c1b4[_0x34b25d][_0x7e15('0x73')]===![]){_0x419847[_0x7e15('0x74')]({'id':_0x56c1b4[_0x34b25d]['id'],'name':_0x56c1b4[_0x34b25d][_0x7e15('0x75')],'custom':_0x56c1b4[_0x34b25d][_0x7e15('0x76')],'options':_0x56c1b4[_0x34b25d][_0x7e15('0x77')]==='picklist'&&_0x56c1b4[_0x34b25d]['pick_list_values']['length']>-0x1?_['map'](_0x56c1b4[_0x34b25d]['pick_list_values'],function(_0x115afb){return{'name':_0x115afb,'value':_0x115afb};}):[]});}}return{'count':_0x419847[_0x7e15('0x35')],'rows':_0x419847};}else{return{'count':0x0,'rows':[]};}})[_0x7e15('0x40')](respondWithResult(_0xa8eebd,null))[_0x7e15('0x45')](function(_0x4f7f97){var _0x4f4889=_0x39762a[_0x7e15('0x2e')][_0x7e15('0x78')]?0x1f4:_0x4f7f97[_0x7e15('0x79')]||0x1f4;logger['error']('getFields,\x20%s,\x20%s,\x20%s',_0x7e15('0x7a'),_0x4f4889,JSON[_0x7e15('0x7b')](_0x4f7f97));delete _0x4f7f97[_0x7e15('0x26')];if(_0x4f4889===0x191){_0x4f4889=0x190;}_0xa8eebd[_0x7e15('0x17')](_0x4f4889)[_0x7e15('0x27')](_0x39762a['query'][_0x7e15('0x78')]?{'message':'Wrong\x20credentials','statusCode':_0x4f7f97[_0x7e15('0x79')]}:_0x4f7f97);});};
\ No newline at end of file