Built motion from commit 4d4d9a88.|2.6.26
[motion2.git] / server / components / import / cm / csvUpdates.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x38fd=['from','.id\x20=\x20','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','join','sequelize','select\x20*\x20from\x20','spread','length','isNil','AdditionalPhones','push','all','then','catch','message','split','filter','findOne','CmContactHasItem','update','inserted','CmHopper','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.priority','into','cm_hopper','fromQuery','scheduledat','ContactId','createdAt','priority','recallme','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','cm_contacts.updatedAt','insert','ListId','field','cm_hopper_black','ListId\x20=\x20?','\x20=\x20?','toString','cm_hopper.id','cm_contact_has_items.item','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_hopper_additional_phones','CmHopperId','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','cm_hopper.ListId\x20=\x20?','concat','CompanyId','updatedAt',')\x20NOT\x20IN\x20?','id\x20IN\x20?','MIN(id)','min_id','group','info','Received\x20SIGINT','error','exit','errors','code','query','main','stringify','start','clone','socket_timestamp','server/files/tmp','.csv','body','ContactItemType','findAll','name','parse','data','rows','find','hasOwnProperty','replace','isValid','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','UserId','isNumber','includes','agent\x20not\x20exists','email','email\x20wrong\x20format','dateOfBirth','YYYY-MM-DD','firstName','trim','itemTypeId','emit','contact:import:','SystemError','step','CREATE\x20TABLE\x20','CIS\x20len','LOAD\x20DATA\x20LOCAL\x20INFILE\x20\x27%s\x27\x20INTO\x20TABLE\x20%s\x20CHARACTER\x20SET\x20UTF8\x20FIELDS\x20TERMINATED\x20BY\x20\x27,\x27\x20ENCLOSED\x20BY\x20\x27\x22\x27\x20LINES\x20TERMINATED\x20BY\x20\x27\x0a\x27\x20IGNORE\x201\x20ROWS\x20(%s)\x20SET\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27','contact','contactId','contactTypeId','DROP\x20TABLE\x20','each','finish','unlink','complete','argv','existsSync','file\x20doesn\x27t\x20exists','binding','body\x20id\x20mandatory','No\x20agent\x20available','uncaughtException','path','lodash','papaparse','bluebird','moment','squel','ioredis','../../../config/logger','import','defaults','redis','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','YYYYMMDDHHmmss','select','phone'];(function(_0x55b7c8,_0x42feb7){var _0x2dce6f=function(_0xe786a7){while(--_0xe786a7){_0x55b7c8['push'](_0x55b7c8['shift']());}};_0x2dce6f(++_0x42feb7);}(_0x38fd,0x117));var _0xd38f=function(_0x377a65,_0x27dfa7){_0x377a65=_0x377a65-0x0;var _0x2a994c=_0x38fd[_0x377a65];return _0x2a994c;};'use strict';var fs=require('fs');var path=require(_0xd38f('0x0'));var _=require(_0xd38f('0x1'));var Papa=require(_0xd38f('0x2'));var util=require('util');var BPromise=require(_0xd38f('0x3'));var moment=require(_0xd38f('0x4'));var squel=require(_0xd38f('0x5'));var Redis=require(_0xd38f('0x6'));var db=require('../../../mysqldb')['db'];var config=require('../../../config/environment');var logger=require(_0xd38f('0x7'))(_0xd38f('0x8'));config['redis']=_[_0xd38f('0x9')](config[_0xd38f('0xa')],{'host':'localhost','port':0x18eb});var socket=require(_0xd38f('0xb'))(new Redis(config['redis']));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var promisesAdditionalPhones=[];var promisesContact=[];var orderBy=0x0;var updatedRows=0x0;var stopped=![];var NOW=moment()[_0xd38f('0xc')](_0xd38f('0xd'));var tempTableName='cm_contacts_temp_'+moment()[_0xd38f('0xc')](_0xd38f('0xe'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x4bbf6d){return/^([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x22([^\x0d\x22\x5c\x80-\xff]|\x5c[\x00-\x7f])*\x22))*\x40([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d)(\x2e([^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+|\x5b([^\x0d\x5b-\x5d\x80-\xff]|\x5c[\x00-\x7f])*\x5d))*$/['test'](_0x4bbf6d);}function selectNotIn(_0x1415e2,_0xba64f,_0x1dddb5,_0x5741ba,_0x148160){return squel[_0xd38f('0xf')]()['field'](_0xd38f('0x10'))[_0xd38f('0x11')](_0x5741ba)['join'](_0xba64f,null,_0xba64f+_0xd38f('0x12')+_0x5741ba+'.'+_0x1dddb5)[_0xd38f('0x13')](_0x5741ba+'.'+_0x1dddb5+_0xd38f('0x14')+_0x1415e2+'.'+_0x1dddb5)[_0xd38f('0x13')](_0xba64f+_0xd38f('0x15')+_0x148160[_0xd38f('0x16')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x275434,_0x4a4a7b){promisesAdditionalPhones=[];promisesContact=[];return db[_0xd38f('0x17')]['query'](_0xd38f('0x18')+tempTableName)[_0xd38f('0x19')](function(_0x4192be){if(_0x4192be!==null){var _0xe06f6=[];for(var _0x5c0c34=0x0;_0x5c0c34<_0x4192be[_0xd38f('0x1a')];_0x5c0c34++){var _0x555af1=_0x4192be[_0x5c0c34];if(!_[_0xd38f('0x1b')](_0x555af1[_0xd38f('0x10')])){if(!_[_0xd38f('0x1b')](_0x555af1[_0xd38f('0x1c')]))_0xe06f6[_0xd38f('0x1d')](insertAdditionalPhones(_0x555af1));promisesContact[_0xd38f('0x1d')]({'contact':_0x555af1});}}}Promise[_0xd38f('0x1e')](_0xe06f6)[_0xd38f('0x1f')](function(){_0x275434({'val':0x1});});})[_0xd38f('0x20')](function(_0x804923){logger['error'](_0x804923[_0xd38f('0x21')]);});});}function insertAdditionalPhones(_0x67c308){return new Promise(function(_0x4e92f7,_0x3ff2ef){var _0x22a05c=_0x67c308['AdditionalPhones'];if(_[_0xd38f('0x1b')](_0x22a05c))_0x3ff2ef({'val':0x0});else{var _0x4f4c7e=_0x22a05c[_0xd38f('0x22')](';');var _0x3adaf8=[];orderBy=0x0;for(var _0x2e78a1=0x0;_0x2e78a1<_0x4f4c7e[_0xd38f('0x1a')];_0x2e78a1++){_0x3adaf8[_0xd38f('0x1d')](splitAdditionalPhone(_0x67c308['id'],_0x4f4c7e[_0x2e78a1]));}Promise[_0xd38f('0x1e')](_0x3adaf8)['then'](function(){_0x4e92f7({'val':_0x4f4c7e['length']});});}});}function splitAdditionalPhone(_0x2337aa,_0x23cb5c){return new Promise(function(_0x5655ca,_0x1109bd){var _0x2819b2=_0x23cb5c[_0xd38f('0x22')](':');var _0x5b13c5=_0x2819b2[0x0];var _0x343d41=_0x2819b2[0x1];if(_0x343d41!==''){var _0x5e83af=_0x343d41['split']('|');var _0x4129a7=[];for(var _0x14e699=0x0;_0x14e699<_0x5e83af['length'];_0x14e699++){if(_0x5e83af[_0x14e699]!==''){var _0x48779f=_[_0xd38f('0x23')](promisesAdditionalPhones,{'contactId':_0x2337aa,'phone':_0x5e83af[_0x14e699]});if(_0x48779f[_0xd38f('0x1a')]==0x0){orderBy++;promisesAdditionalPhones[_0xd38f('0x1d')]({'contactId':_0x2337aa,'contactTypeId':_0x5b13c5,'phone':_0x5e83af[_0x14e699],'orderBy':orderBy});}}}_0x5655ca({'ok':0x1});}else _0x5655ca({'res':0x0});});}function createAdditionalPhone(_0x5cfab1,_0x5ce6e4,_0x2ee0d5,_0x1a8f11){var _0x3e96d2='';var _0x2e785c='';var _0x16a7b4=_0x2ee0d5[_0xd38f('0x22')]('§');_0x3e96d2=_0x16a7b4[0x0];if(_0x16a7b4[_0xd38f('0x1a')]==0x2)_0x2e785c=_0x16a7b4[0x1];return new Promise(function(_0x177eff,_0x863efb){return db['CmContactHasItem'][_0xd38f('0x24')]({'where':{'CmContactId':_0x5cfab1,'item':_0x3e96d2}})[_0xd38f('0x1f')](function(_0x56ae4e){if(_0x56ae4e){return db[_0xd38f('0x25')][_0xd38f('0x26')]({'ItemTypeId':_0x5ce6e4,'description':_0x2e785c,'OrderBy':_0x1a8f11},{'where':{'CmContactId':_0x5cfab1,'item':_0x3e96d2}})['then'](function(_0x231341){_0x177eff({'res':'updated'});});}else{return db[_0xd38f('0x25')]['create']({'CmContactId':_0x5cfab1,'item':_0x3e96d2,'ItemTypeId':_0x5ce6e4,'description':_0x2e785c,'OrderBy':_0x1a8f11,'ItemClass':'PHONE'})[_0xd38f('0x1f')](function(_0xf684d2){_0x177eff({'res':_0xd38f('0x27')});});}});});}function updateContact(_0x2a6f50){return new Promise(function(_0x4214df,_0x160ced){var _0x486105=_0x2a6f50['id'];delete _0x2a6f50['id'];return db['CmContact'][_0xd38f('0x26')](_0x2a6f50,{'where':{'id':_0x486105}})['then'](function(_0x29dded){updatedRows+=0x1;return db[_0xd38f('0x28')]['update']({'phone':_0x2a6f50[_0xd38f('0x10')]},{'where':{'ContactId':_0x486105}})[_0xd38f('0x1f')](function(_0x2152b5){_0x4214df({'ret':'OK'});});});});}function insertCmHopper(_0x4cfb52,_0x35ff1a,_0x163cc8,_0xda7afd,_0x17bae5){var _0x28219=[_0xd38f('0x29'),_0xd38f('0x2a'),_0xd38f('0x2b'),_0xd38f('0x2c'),_0x35ff1a+'.'+_0xda7afd,_0xd38f('0x2d'),'cm_contacts.updatedAt',_0xd38f('0x2e'),'cm_contacts.UserId','\x22'+_0x17bae5+'\x22'];return squel['insert']()[_0xd38f('0x2f')](_0xd38f('0x30'))[_0xd38f('0x31')]([_0xd38f('0x10'),_0xd38f('0x32'),_0xd38f('0x33'),'ListId',_0xda7afd,_0xd38f('0x34'),'updatedAt',_0xd38f('0x35'),'UserId',_0xd38f('0x36')],squel['select']()[_0xd38f('0x37')](_0x28219)[_0xd38f('0x11')](_0x35ff1a)['join'](_0xd38f('0x38'),null,_0xd38f('0x39')+_0x35ff1a+_0xd38f('0x3a'))[_0xd38f('0x16')](_0x163cc8,null,_0x163cc8+_0xd38f('0x12')+_0x35ff1a+'.'+_0xda7afd)[_0xd38f('0x13')](_0x35ff1a+_0xd38f('0x3b'),_0x4cfb52)[_0xd38f('0x13')](_0xd38f('0x3c'),NOW)[_0xd38f('0x13')](_0xd38f('0x3d'),selectNotIn(_0x35ff1a,_0x163cc8,_0xda7afd,_0xd38f('0x30'),['\x22always\x22','\x22onlyIfOpen\x22']))[_0xd38f('0x13')](_0xd38f('0x3d'),selectNotIn(_0x35ff1a,_0x163cc8,_0xda7afd,_0xd38f('0x30'),[_0xd38f('0x3e')])))['toString']();}function insertCmHopperBlack(_0x3b86bb,_0xfef106,_0x2e1dc2,_0x458704){var _0x2d3a7f=[_0xd38f('0x29'),_0xd38f('0x2b'),_0xd38f('0x2c'),_0xfef106+'.'+_0x458704,_0xd38f('0x2d'),_0xd38f('0x3f')];return squel[_0xd38f('0x40')]()[_0xd38f('0x2f')]('cm_hopper_black')[_0xd38f('0x31')]([_0xd38f('0x10'),'ContactId',_0xd38f('0x41'),_0x458704,_0xd38f('0x34'),'updatedAt'],squel[_0xd38f('0xf')]()[_0xd38f('0x37')](_0x2d3a7f)['from'](_0xfef106)['join'](_0xd38f('0x38'),null,_0xd38f('0x39')+_0xfef106+_0xd38f('0x3a'))[_0xd38f('0x16')](_0x2e1dc2,null,_0x2e1dc2+'.id\x20=\x20'+_0xfef106+'.'+_0x458704)[_0xd38f('0x13')](_0xfef106+_0xd38f('0x3b'),_0x3b86bb)[_0xd38f('0x13')](_0xd38f('0x3c'),NOW)[_0xd38f('0x13')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel[_0xd38f('0xf')]()[_0xd38f('0x42')](_0xd38f('0x10'))['from'](_0xd38f('0x43'))['where'](_0xd38f('0x44'),_0x3b86bb)[_0xd38f('0x13')](_0x458704+_0xd38f('0x45'),_0xfef106+'.'+_0x458704)))[_0xd38f('0x46')]();}function insertCmHopperAdditionalPhones(_0x40e1e7){var _0x3d874a=[_0xd38f('0x47'),_0xd38f('0x48'),_0xd38f('0x49'),_0xd38f('0x4a'),'cm_contact_has_items.updatedAt'];return squel[_0xd38f('0x40')]()['into'](_0xd38f('0x4b'))['fromQuery']([_0xd38f('0x4c'),_0xd38f('0x10'),'OrderBy','createdAt','updatedAt'],squel[_0xd38f('0xf')]()[_0xd38f('0x37')](_0x3d874a)[_0xd38f('0x11')](_0xd38f('0x30'))[_0xd38f('0x16')](_0xd38f('0x38'),null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0xd38f('0x16')](_0xd38f('0x4d'),null,_0xd38f('0x4e'))[_0xd38f('0x13')](_0xd38f('0x4f'),_0x40e1e7)[_0xd38f('0x13')]('cm_contacts.createdAt\x20=\x20?',NOW))['toString']();}function insertCmContact(_0x1f2e0e,_0x223f0d,_0x48de66,_0x45af0d){var _0xdecc27=_[_0xd38f('0x50')](_['keys'](_0x45af0d),[_0xd38f('0x41'),_0xd38f('0x51'),_0xd38f('0x34'),_0xd38f('0x52')]);return squel[_0xd38f('0x40')]()[_0xd38f('0x2f')](_0xd38f('0x38'))['fromQuery'](_0xdecc27,squel[_0xd38f('0xf')]()[_0xd38f('0x37')](_0xdecc27)[_0xd38f('0x11')](_0x223f0d)[_0xd38f('0x13')]('('+_0x48de66[_0xd38f('0x16')](',')+_0xd38f('0x53'),squel[_0xd38f('0xf')]()[_0xd38f('0x37')](_0x48de66)[_0xd38f('0x11')](_0xd38f('0x38'))[_0xd38f('0x13')](_0xd38f('0x44'),_0x1f2e0e))[_0xd38f('0x13')](_0xd38f('0x54'),squel[_0xd38f('0xf')]()[_0xd38f('0x42')](_0xd38f('0x55'),_0xd38f('0x56'))[_0xd38f('0x11')](_0x223f0d)[_0xd38f('0x57')](_0x48de66['join'](','))))[_0xd38f('0x46')]();}function handleStop(){logger[_0xd38f('0x58')](_0xd38f('0x59'));stopped=!![];}function handleUncaughtException(_0x29eafa){logger[_0xd38f('0x5a')](_0x29eafa['message']);process[_0xd38f('0x5b')](0x1);}function handleError(_0x5d06e3,_0x3d0467){stats[_0xd38f('0x5c')][_0xd38f('0x1d')]({'name':_0x3d0467[_0xd38f('0x5d')],'message':_0x3d0467[_0xd38f('0x21')],'row':_0x5d06e3});}function handleQuery(_0x3b0d6){logger[_0xd38f('0x58')](_0x3b0d6);return db[_0xd38f('0x17')][_0xd38f('0x5e')](_0x3b0d6)['spread'](function(_0x393e6e){results['push'](_0x393e6e);})[_0xd38f('0x20')](function(_0x1c247b){logger['error'](_0x1c247b['message']);});}function main(_0x4afae9,_0x50386d,_0x3d03e3,_0x4dc302){logger[_0xd38f('0x58')](_0xd38f('0x5f'),_0x4afae9,JSON[_0xd38f('0x60')](_0x50386d));process['send'](_0xd38f('0x61'));var _0x36235b=_0x50386d['binding'];var _0x175412=_[_0xd38f('0x62')](_0x36235b);var _0x1f2646=_0x50386d[_0xd38f('0x63')];var _0x4854f6=path['join'](config['root'],_0xd38f('0x64'),_0x1f2646+_0xd38f('0x65'));logger[_0xd38f('0x58')](_0xd38f('0x66'),_0x50386d);db[_0xd38f('0x67')][_0xd38f('0x68')]({'raw':!![],'attributes':['id',_0xd38f('0x69')]})[_0xd38f('0x1f')](function(_0x5cb2a7){for(var _0x4c89da=0x0;_0x4c89da<_0x5cb2a7[_0xd38f('0x1a')];_0x4c89da++){if(_0x5cb2a7[_0x4c89da]['name']in _0x36235b){contactItemTypes['push'](_0x5cb2a7[_0x4c89da]);delete _0x175412[_0x5cb2a7[_0x4c89da][_0xd38f('0x69')]];hasAdditionalPhones=!![];}for(var _0x3325a0 in _0x36235b){if(_0x5cb2a7[_0x4c89da]['name']+'_description'===_0x3325a0){phoneDescriptions[_0xd38f('0x1d')]({'itemTypeId':_0x5cb2a7[_0x4c89da]['id'],'description':_0x3325a0});delete _0x175412[_0x3325a0];}}}if(hasAdditionalPhones)_0x175412['AdditionalPhones']='';var _0xa43962=_['keys'](_0x175412)['join']();logger['info']('header',_0xa43962);fs['writeFileSync'](_0x4854f6,_0xa43962+'\x0a');Papa[_0xd38f('0x6a')](fs['createReadStream'](_0x4afae9),{'header':!![],'skipEmptyLines':!![],'step':function(_0x6981e7,_0xfd42fd){try{for(var _0x144d7b=0x0,_0x42632b=[];_0x144d7b<_0x6981e7[_0xd38f('0x6b')][_0xd38f('0x1a')];_0x144d7b++){stats[_0xd38f('0x6c')]+=0x1;if(_0x6981e7[_0xd38f('0x5c')][_0x144d7b]){handleError(_0x6981e7[_0xd38f('0x6b')][_0x144d7b],_0x6981e7[_0xd38f('0x5c')][_0x144d7b]);}else{var _0xbcbcd2=[];var _0x4248a9=[];var _0x20a3af={};for(var _0x7dbf86 in _0x36235b){let _0x390510=contactItemTypes[_0xd38f('0x6d')](_0x4b6866=>_0x4b6866[_0xd38f('0x69')]===_0x7dbf86);let _0x5b5834=contactItemTypes[_0xd38f('0x6d')](_0x2f7fff=>_0x2f7fff[_0xd38f('0x69')]+'_description'===_0x7dbf86);if(_['isNil'](_0x390510)&&_[_0xd38f('0x1b')](_0x5b5834)){if(_0x36235b[_0xd38f('0x6e')](_0x7dbf86)){if(_0x6981e7['data'][_0x144d7b][_0x36235b[_0x7dbf86]]){var _0x39120f=_['trim'](_0x6981e7[_0xd38f('0x6b')][_0x144d7b][_0x36235b[_0x7dbf86]][_0xd38f('0x6f')](/"/g,'\x27'));switch(_0x7dbf86){case _0xd38f('0x32'):var _0x360651=moment(_0x39120f,_0xd38f('0xd'),!![]);if(_0x360651[_0xd38f('0x70')]()){_0x42632b[_0xd38f('0x1d')]('\x22'+_0x39120f+'\x22');}else{_0xbcbcd2['push'](_0xd38f('0x71'));}break;case _0xd38f('0x35'):var _0x2996ce=parseInt(_0x39120f);_0x39120f=_[_0xd38f('0x72')](_0x2996ce)||_0x2996ce<0x0||_0x2996ce>0x4?_0x4dc302?0x3:0x2:_0x2996ce;_0x42632b[_0xd38f('0x1d')]('\x22'+_0x39120f+'\x22');break;case _0xd38f('0x73'):var _0x568d55=parseInt(_0x39120f);if(_[_0xd38f('0x74')](_0x568d55)&&_[_0xd38f('0x75')](_0x3d03e3,_0x568d55)){_0x42632b[_0xd38f('0x1d')]('\x22'+_0x568d55+'\x22');}else{_0xbcbcd2[_0xd38f('0x1d')](_0xd38f('0x76'));}break;case _0xd38f('0x77'):if(isEmail(_0x39120f)){_0x42632b[_0xd38f('0x1d')]('\x22'+_0x39120f+'\x22');}else{_0xbcbcd2[_0xd38f('0x1d')](_0xd38f('0x78'));}break;case _0xd38f('0x79'):var _0x2a08ba=moment(_0x39120f,_0xd38f('0x7a'),!![]);if(_0x2a08ba[_0xd38f('0x70')]()){_0x42632b[_0xd38f('0x1d')]('\x22'+_0x39120f+'\x22');}else{_0xbcbcd2['push']('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;default:_0x42632b[_0xd38f('0x1d')]('\x22'+_0x39120f+'\x22');}}else{switch(_0x7dbf86){case _0xd38f('0x7b'):case'phone':_0xbcbcd2[_0xd38f('0x1d')](_0x7dbf86+'\x20not\x20specified');break;default:_0x42632b[_0xd38f('0x1d')]('\x22\x22');}}}}else{var _0x3f055b='';if(!_['isNil'](_0x390510)){if(!_0x20a3af[_0xd38f('0x6e')](_0x390510['id'])){for(var _0x1bbaa8=0x0;_0x1bbaa8<_0x36235b[_0x7dbf86][_0xd38f('0x1a')];_0x1bbaa8++){var _0x39120f=_[_0xd38f('0x7c')](_0x6981e7[_0xd38f('0x6b')][_0x144d7b][_0x36235b[_0x7dbf86][_0x1bbaa8]][_0xd38f('0x6f')](/"/g,'\x27'));var _0x2b4f9a=phoneDescriptions['find'](_0x18f4cb=>_0x18f4cb[_0xd38f('0x7d')]===_0x390510['id']);if(!_[_0xd38f('0x1b')](_0x2b4f9a)){var _0x41f3a3=_[_0xd38f('0x7c')](_0x6981e7[_0xd38f('0x6b')][_0x144d7b][_0x36235b[_0x2b4f9a['description']][0x0]][_0xd38f('0x6f')](/"/g,'\x27'));if(!_[_0xd38f('0x1b')](_0x41f3a3))_0x39120f=_0x39120f+'§'+_0x41f3a3;}if(_0x3f055b=='')_0x3f055b=_0x39120f;else _0x3f055b+='|'+_0x39120f;}_0x4248a9[_0xd38f('0x1d')](_0x390510['id']+':'+_0x3f055b);_0x20a3af[_0x390510['id']]=0x1;}}}}if(hasAdditionalPhones){_0x42632b[_0xd38f('0x1d')]('\x22'+_0x4248a9[_0xd38f('0x16')](';')+'\x22');}if(_0xbcbcd2[_0xd38f('0x1a')]){handleError(_0x6981e7[_0xd38f('0x6b')][_0x144d7b],{'code':'SystemRow','message':_0xbcbcd2[_0xd38f('0x16')]()});}else{fs['appendFileSync'](_0x4854f6,_0x42632b[_0xd38f('0x16')]()+'\x0a');}_0x42632b=[];}if(!(stats[_0xd38f('0x6c')]%0xc8)){socket[_0xd38f('0x7e')](_0xd38f('0x7f')+_0x1f2646,stats);stats[_0xd38f('0x5c')]=[];}}if(stopped){logger[_0xd38f('0x58')]('Abort\x20parser');_0xfd42fd['abort']();}}catch(_0x454998){handleError(_0x6981e7[_0xd38f('0x6b')][_0x144d7b],{'code':_0xd38f('0x80'),'message':_0x454998[_0xd38f('0x21')]});logger[_0xd38f('0x5a')](_0xd38f('0x81'),_0x454998[_0xd38f('0x21')]);}},'complete':function(){try{var _0x53b1ec=[];var _0x98ddd2=tempTableName;_0x53b1ec[_0xd38f('0x1d')](_0xd38f('0x82')+_0x98ddd2+'\x20LIKE\x20cm_contacts;');logger['info'](_0xd38f('0x83'),contactItemTypes[_0xd38f('0x1a')]);var _0x4a10ec=util['format'](_0xd38f('0x84'),_0x4854f6,_0x98ddd2,_0xa43962,_0x50386d[_0xd38f('0x41')],_0x50386d[_0xd38f('0x51')]||null,NOW,NOW);if(_[_0xd38f('0x1b')](_0x36235b[_0xd38f('0x32')])){_0x4a10ec+=',\x20scheduledAt\x20=\x20NOW()';}_0x53b1ec[_0xd38f('0x1d')](_0x4a10ec);BPromise['each'](_0x53b1ec,handleQuery)[_0xd38f('0x1f')](function(_0x1f22b6){BPromise[_0xd38f('0x1e')]([handleAdditionalPhones()])[_0xd38f('0x1f')](function(){_0x53b1ec=[];for(var _0xa522b2=0x0;_0xa522b2<promisesContact['length'];_0xa522b2++){_0x53b1ec[_0xd38f('0x1d')](updateContact(promisesContact[_0xa522b2][_0xd38f('0x85')]));}BPromise['all'](_0x53b1ec)['then'](function(){_0x53b1ec=[];for(var _0x525e03=0x0;_0x525e03<promisesAdditionalPhones[_0xd38f('0x1a')];_0x525e03++){_0x53b1ec[_0xd38f('0x1d')](createAdditionalPhone(promisesAdditionalPhones[_0x525e03][_0xd38f('0x86')],promisesAdditionalPhones[_0x525e03][_0xd38f('0x87')],promisesAdditionalPhones[_0x525e03][_0xd38f('0x10')],promisesAdditionalPhones[_0x525e03]['orderBy']));}BPromise[_0xd38f('0x1e')](_0x53b1ec)[_0xd38f('0x1f')](function(){_0x53b1ec=[];_0x53b1ec[_0xd38f('0x1d')](insertCmHopperAdditionalPhones(_0x50386d[_0xd38f('0x41')]));_0x53b1ec[_0xd38f('0x1d')](_0xd38f('0x88')+_0x98ddd2+';');BPromise[_0xd38f('0x89')](_0x53b1ec,handleQuery)[_0xd38f('0x1f')](function(_0x480948){stats[_0xd38f('0x8a')]=!![];stats['affectedRows']=updatedRows;socket[_0xd38f('0x7e')](_0xd38f('0x7f')+_0x1f2646,stats);fs[_0xd38f('0x8b')](_0x4afae9);fs[_0xd38f('0x8b')](_0x4854f6);process[_0xd38f('0x5b')](0x0);})['catch'](function(_0x2e5bb4){logger[_0xd38f('0x5a')](_0x2e5bb4['message']);process[_0xd38f('0x5b')](0x1);});});});});})[_0xd38f('0x20')](function(_0x144959){logger[_0xd38f('0x5a')](_0x144959[_0xd38f('0x21')]);process[_0xd38f('0x5b')](0x1);});}catch(_0x44df44){logger[_0xd38f('0x5a')](_0xd38f('0x8c'),_0x44df44[_0xd38f('0x21')]);process[_0xd38f('0x5b')](0x1);}},'error':function(_0x26a3d3,_0x439aaa,_0x38fce,_0x4be279){throw new Error(_0x4be279);}});});}function validate(){if(process[_0xd38f('0x8d')]&&process[_0xd38f('0x8d')][_0xd38f('0x1a')]<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0x2c7e3a=path['join'](config['root'],_0xd38f('0x64'),process['argv'][0x2]);if(!fs[_0xd38f('0x8e')](_0x2c7e3a)){throw new Error(_0xd38f('0x8f'));}var _0x470008={};try{_0x470008=JSON['parse'](process['argv'][0x3]);if(!_0x470008[_0xd38f('0x90')]){throw new Error('binding\x20doesn\x27t\x20exists');}var _0x1010ed=0x0;if(_0x470008['binding'][_0xd38f('0x73')]){_0x1010ed=0x1;}if(!_0x470008[_0xd38f('0x41')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0xcf7781){throw new Error(_0xd38f('0x91'));}var _0x23f0b7=[];try{_0x23f0b7=_['map'](JSON['parse'](process[_0xd38f('0x8d')][0x4]),'id');}catch(_0x945cb5){logger[_0xd38f('0x58')](_0xd38f('0x92'));}main(_0x2c7e3a,_0x470008,_0x23f0b7,_0x1010ed);}validate();process['on']('SIGINT',handleStop);process['on'](_0xd38f('0x93'),handleUncaughtException);