a40479a080b913d0f40dffbc99379b0145ec6be1
[motion2.git] / server / components / import / cm / csv2.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 _0xaf4a=['dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)','timezones','firstName','\x20not\x20specified','rows','emit','contact:import:','abort','SystemError','step','duplicates','cm_contacts_','CREATE\x20TABLE\x20','\x20LIKE\x20cm_contacts;','campaigns_','voice_queues_','(id\x20int,dialTimezone\x20varchar(255),offset\x20int);','each','then',',\x20scheduledAt\x20=\x20NOW()','VoiceQueueId','voice_queues_has_cm_blacklists','CampaignId','campaigns_has_cm_blacklists','DROP\x20TABLE\x20','affectedRows','unlink','argv','existsSync','file\x20doesn\x27t\x20exists','binding\x20doesn\x27t\x20exists','phone\x20is\x20mandatory','firstName\x20is\x20mandatory','ListId\x20is\x20mandatory','body\x20id\x20mandatory','No\x20agent\x20available','SIGINT','uncaughtException','lodash','bluebird','moment','squel','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','defaults','localhost','socket.io-emitter','redis','format','YYYY-MM-DD\x20HH:mm:ss','select','field','phone','from','join','.id\x20=\x20','where','.dialCheckDuplicateType\x20IN\x20(','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.priority','cm_contacts.UserId','insert','into','cm_hopper','fromQuery','scheduledat','ContactId','ListId','createdAt','updatedAt','priority','recallme','fields','.CmListId','cm_contacts.createdAt\x20=\x20?','\x22onlyIfOpen\x22','cm_contacts.phone\x20NOT\x20IN\x20(?)','\x22always\x22','toString','cm_contacts.updatedAt','cm_hopper_black','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId\x20=\x20?','\x20=\x20?','date_add(cm_contacts.scheduledat,interval\x20','.offset-cm_contacts.utcOffset\x20minute)','ListId\x20=\x20?','concat','keys','CompanyId',')\x20NOT\x20IN\x20?','deletedAt\x20IS\x20NULL','id\x20IN\x20?','MIN(id)','group','info','message','exit','errors','code','spread','push','catch','campaigns.id','campaigns.dialTimezone','campaigns','campaigns_has_cm_lists','campaigns.id\x20=\x20campaigns_has_cm_lists.CampaignId','sequelize','query','error','voice_queues.id','voice_queues.dialTimezone','voice_queues','voice_queues_has_cm_lists','voice_queues.id\x20=\x20voice_queues_has_cm_lists.VoiceQueueId','length','all','isNil','utcOffset','set','offset','dialTimezone','main','send','start','binding','socket_timestamp','root','server/files/tmp','.csv','includes','header',',utcOffset','parse','createReadStream','data','hasOwnProperty','replace','scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)','isNaN','UserId','isNumber','agent\x20not\x20exists','email','email\x20wrong\x20format','YYYY-MM-DD','isValid'];(function(_0x9df060,_0x253d33){var _0x338dfe=function(_0x17d9a5){while(--_0x17d9a5){_0x9df060['push'](_0x9df060['shift']());}};_0x338dfe(++_0x253d33);}(_0xaf4a,0x15a));var _0xaaf4=function(_0x362057,_0x448ff9){_0x362057=_0x362057-0x0;var _0x397f79=_0xaf4a[_0x362057];return _0x397f79;};'use strict';var fs=require('fs');var path=require('path');var _=require(_0xaaf4('0x0'));var Papa=require('papaparse');var util=require('util');var BPromise=require(_0xaaf4('0x1'));var moment=require(_0xaaf4('0x2'));var squel=require(_0xaaf4('0x3'));var Redis=require(_0xaaf4('0x4'));var db=require(_0xaaf4('0x5'))['db'];var config=require(_0xaaf4('0x6'));var shared=require('../../../config/environment/shared');var logger=require(_0xaaf4('0x7'))('import');config['redis']=_[_0xaaf4('0x8')](config['redis'],{'host':_0xaaf4('0x9'),'port':0x18eb});var socket=require(_0xaaf4('0xa'))(new Redis(config[_0xaaf4('0xb')]));var stats={'finish':![],'errors':[],'rows':0x0,'affectedRows':0x0};var results=[];var stopped=![];var tmp_voice_queues;var tmp_campaigns;var tzOffset=0x0;var hasTZ;var NOW=moment()[_0xaaf4('0xc')](_0xaaf4('0xd'));function isEmail(_0x3c7907){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'](_0x3c7907);}function selectNotIn(_0x343202,_0x3b0790,_0x2ad088,_0x33f625,_0x294ed8){return squel[_0xaaf4('0xe')]()[_0xaaf4('0xf')](_0xaaf4('0x10'))[_0xaaf4('0x11')](_0x33f625)[_0xaaf4('0x12')](_0x3b0790,null,_0x3b0790+_0xaaf4('0x13')+_0x33f625+'.'+_0x2ad088)['where'](_0x33f625+'.'+_0x2ad088+'\x20=\x20'+_0x343202+'.'+_0x2ad088)[_0xaaf4('0x14')](_0x3b0790+_0xaaf4('0x15')+_0x294ed8[_0xaaf4('0x12')]()+')');}function insertCmHopper(_0x42ef1d,_0x4ec805,_0xabc137,_0xa2765a,_0x1eb109){var _0x1d283a=[_0xaaf4('0x16'),_0xaaf4('0x17'),_0xaaf4('0x18'),_0xaaf4('0x19'),_0x4ec805+'.'+_0xa2765a,'cm_contacts.createdAt','cm_contacts.updatedAt',_0xaaf4('0x1a'),_0xaaf4('0x1b'),'\x22'+_0x1eb109+'\x22'];return squel[_0xaaf4('0x1c')]()[_0xaaf4('0x1d')](_0xaaf4('0x1e'))[_0xaaf4('0x1f')]([_0xaaf4('0x10'),_0xaaf4('0x20'),_0xaaf4('0x21'),_0xaaf4('0x22'),_0xa2765a,_0xaaf4('0x23'),_0xaaf4('0x24'),_0xaaf4('0x25'),'UserId',_0xaaf4('0x26')],squel[_0xaaf4('0xe')]()[_0xaaf4('0x27')](_0x1d283a)['from'](_0x4ec805)[_0xaaf4('0x12')]('cm_contacts',null,'cm_contacts.ListId\x20=\x20'+_0x4ec805+_0xaaf4('0x28'))[_0xaaf4('0x12')](_0xabc137,null,_0xabc137+_0xaaf4('0x13')+_0x4ec805+'.'+_0xa2765a)[_0xaaf4('0x14')](_0x4ec805+'.CmListId\x20=\x20?',_0x42ef1d)['where'](_0xaaf4('0x29'),NOW)[_0xaaf4('0x14')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x4ec805,_0xabc137,_0xa2765a,'cm_hopper',['\x22always\x22',_0xaaf4('0x2a')]))[_0xaaf4('0x14')](_0xaaf4('0x2b'),selectNotIn(_0x4ec805,_0xabc137,_0xa2765a,_0xaaf4('0x1e'),[_0xaaf4('0x2c')])))[_0xaaf4('0x2d')]();}function insertCmHopperBlack(_0xd78b74,_0x52bc90,_0x1d6288,_0x453848){var _0x530ba1=[_0xaaf4('0x16'),_0xaaf4('0x18'),'cm_contacts.ListId',_0x52bc90+'.'+_0x453848,'cm_contacts.createdAt',_0xaaf4('0x2e')];return squel[_0xaaf4('0x1c')]()['into'](_0xaaf4('0x2f'))[_0xaaf4('0x1f')]([_0xaaf4('0x10'),_0xaaf4('0x21'),_0xaaf4('0x22'),_0x453848,_0xaaf4('0x23'),'updatedAt'],squel[_0xaaf4('0xe')]()[_0xaaf4('0x27')](_0x530ba1)[_0xaaf4('0x11')](_0x52bc90)[_0xaaf4('0x12')](_0xaaf4('0x30'),null,_0xaaf4('0x31')+_0x52bc90+_0xaaf4('0x28'))['join'](_0x1d6288,null,_0x1d6288+'.id\x20=\x20'+_0x52bc90+'.'+_0x453848)['where'](_0x52bc90+_0xaaf4('0x32'),_0xd78b74)[_0xaaf4('0x14')](_0xaaf4('0x29'),NOW)[_0xaaf4('0x14')](_0xaaf4('0x2b'),squel['select']()[_0xaaf4('0xf')](_0xaaf4('0x10'))[_0xaaf4('0x11')](_0xaaf4('0x2f'))[_0xaaf4('0x14')]('ListId\x20=\x20?',_0xd78b74)['where'](_0x453848+_0xaaf4('0x33'),_0x52bc90+'.'+_0x453848)))[_0xaaf4('0x2d')]();}function insertTzCmHopper(_0xbad05f,_0x124b1e,_0x394076,_0x594838,_0x495dc5,_0x59a069){var _0x10ebd1=[_0xaaf4('0x16'),_0xaaf4('0x34')+_0x59a069+_0xaaf4('0x35'),_0xaaf4('0x18'),'cm_contacts.ListId',_0x124b1e+'.'+_0x594838,'cm_contacts.createdAt','cm_contacts.updatedAt',_0xaaf4('0x1a'),_0xaaf4('0x1b'),'\x22'+_0x495dc5+'\x22'];var _0x790d4=squel[_0xaaf4('0x1c')]()[_0xaaf4('0x1d')](_0xaaf4('0x1e'))[_0xaaf4('0x1f')]([_0xaaf4('0x10'),_0xaaf4('0x20'),'ContactId',_0xaaf4('0x22'),_0x594838,_0xaaf4('0x23'),'updatedAt',_0xaaf4('0x25'),'UserId',_0xaaf4('0x26')],squel['select']()[_0xaaf4('0x27')](_0x10ebd1)[_0xaaf4('0x11')](_0x124b1e)['join']('cm_contacts',null,_0xaaf4('0x31')+_0x124b1e+_0xaaf4('0x28'))[_0xaaf4('0x12')](_0x394076,null,_0x394076+_0xaaf4('0x13')+_0x124b1e+'.'+_0x594838)[_0xaaf4('0x12')](_0x59a069,null,_0x59a069+_0xaaf4('0x13')+_0x124b1e+'.'+_0x594838)['where'](_0x124b1e+'.CmListId\x20=\x20?',_0xbad05f)['where'](_0xaaf4('0x29'),NOW)[_0xaaf4('0x14')](_0xaaf4('0x2b'),selectNotIn(_0x124b1e,_0x394076,_0x594838,'cm_hopper',[_0xaaf4('0x2c'),_0xaaf4('0x2a')]))[_0xaaf4('0x14')](_0xaaf4('0x2b'),selectNotIn(_0x124b1e,_0x394076,_0x594838,_0xaaf4('0x1e'),[_0xaaf4('0x2c')])))[_0xaaf4('0x2d')]();return _0x790d4;}function insertTzCmHopperBlack(_0xef4883,_0x5985da,_0x220406,_0x37c1c6){var _0x4e0f5d=[_0xaaf4('0x16'),_0xaaf4('0x18'),'cm_contacts.ListId',_0x5985da+'.'+_0x37c1c6,'cm_contacts.createdAt','cm_contacts.updatedAt'];return squel[_0xaaf4('0x1c')]()[_0xaaf4('0x1d')](_0xaaf4('0x2f'))['fromQuery']([_0xaaf4('0x10'),_0xaaf4('0x21'),_0xaaf4('0x22'),_0x37c1c6,_0xaaf4('0x23'),_0xaaf4('0x24')],squel[_0xaaf4('0xe')]()[_0xaaf4('0x27')](_0x4e0f5d)[_0xaaf4('0x11')](_0x5985da)[_0xaaf4('0x12')](_0xaaf4('0x30'),null,'cm_contacts.ListId\x20=\x20'+_0x5985da+'.CmListId')[_0xaaf4('0x12')](_0x220406,null,_0x220406+_0xaaf4('0x13')+_0x5985da+'.'+_0x37c1c6)[_0xaaf4('0x14')](_0x5985da+_0xaaf4('0x32'),_0xef4883)[_0xaaf4('0x14')](_0xaaf4('0x29'),NOW)[_0xaaf4('0x14')](_0xaaf4('0x2b'),squel['select']()[_0xaaf4('0xf')](_0xaaf4('0x10'))[_0xaaf4('0x11')](_0xaaf4('0x2f'))[_0xaaf4('0x14')](_0xaaf4('0x36'),_0xef4883)[_0xaaf4('0x14')](_0x37c1c6+_0xaaf4('0x33'),_0x5985da+'.'+_0x37c1c6)))[_0xaaf4('0x2d')]();}function insertCmContact(_0x3f176e,_0x24e282,_0x423b77,_0x110b7b){var _0x1c0df0=_[_0xaaf4('0x37')](_[_0xaaf4('0x38')](_0x110b7b),['ListId',_0xaaf4('0x39'),_0xaaf4('0x23'),_0xaaf4('0x24')]);return squel[_0xaaf4('0x1c')]()['into'](_0xaaf4('0x30'))[_0xaaf4('0x1f')](_0x1c0df0,squel['select']()[_0xaaf4('0x27')](_0x1c0df0)[_0xaaf4('0x11')](_0x24e282)['where']('('+_0x423b77['join'](',')+_0xaaf4('0x3a'),squel[_0xaaf4('0xe')]()[_0xaaf4('0x27')](_0x423b77)[_0xaaf4('0x11')](_0xaaf4('0x30'))['where']('ListId\x20=\x20?',_0x3f176e)[_0xaaf4('0x14')](_0xaaf4('0x3b')))[_0xaaf4('0x14')](_0xaaf4('0x3c'),squel[_0xaaf4('0xe')]()[_0xaaf4('0xf')](_0xaaf4('0x3d'),'min_id')[_0xaaf4('0x11')](_0x24e282)[_0xaaf4('0x3e')](_0x423b77[_0xaaf4('0x12')](','))))[_0xaaf4('0x2d')]();}function handleStop(){logger[_0xaaf4('0x3f')]('Received\x20SIGINT');stopped=!![];}function handleUncaughtException(_0x48e1d4){logger['error'](_0x48e1d4[_0xaaf4('0x40')]);process[_0xaaf4('0x41')](0x1);}function handleError(_0x4b5b3c,_0x1fdfd6){stats[_0xaaf4('0x42')]['push']({'name':_0x1fdfd6[_0xaaf4('0x43')],'message':_0x1fdfd6[_0xaaf4('0x40')],'row':_0x4b5b3c});}function handleQuery(_0x19a072){logger['info'](_0x19a072);return db['sequelize']['query'](_0x19a072)[_0xaaf4('0x44')](function(_0x4ddf63){results[_0xaaf4('0x45')](_0x4ddf63);})[_0xaaf4('0x46')](function(_0xfd0028){logger['error'](_0xfd0028['message']);});}function updateTzCampaigns(_0x288e58){return new Promise(function(_0x3ace5b,_0x13cd44){var _0x215050=squel['select']()['fields']([_0xaaf4('0x47'),_0xaaf4('0x48')])['from'](_0xaaf4('0x49'))[_0xaaf4('0x12')](_0xaaf4('0x4a'),null,_0xaaf4('0x4b'))['where']('campaigns_has_cm_lists.CmListId='+_0x288e58);db[_0xaaf4('0x4c')][_0xaaf4('0x4d')](_0x215050[_0xaaf4('0x2d')]())[_0xaaf4('0x44')](function(_0x3248e8){var _0x3be947=[];for(var _0x20f861=0x0;_0x20f861<_0x3248e8['length'];_0x20f861++){_0x3be947[_0xaaf4('0x45')](getTimezoneData(_0x3248e8[_0x20f861],tmp_campaigns));}BPromise['all'](_0x3be947)['then'](function(){_0x3ace5b({'val':0x1});});})[_0xaaf4('0x46')](function(_0x34b355){logger[_0xaaf4('0x4e')](_0x34b355[_0xaaf4('0x40')]);_0x3ace5b({'val':0x0});});});}function updateTzVoiceQueues(_0x49859e){return new Promise(function(_0x2b07e1,_0x51ad27){var _0x24f287=squel[_0xaaf4('0xe')]()[_0xaaf4('0x27')]([_0xaaf4('0x4f'),_0xaaf4('0x50')])[_0xaaf4('0x11')](_0xaaf4('0x51'))['join'](_0xaaf4('0x52'),null,_0xaaf4('0x53'))[_0xaaf4('0x14')]('voice_queues_has_cm_lists.CmListId='+_0x49859e);db[_0xaaf4('0x4c')][_0xaaf4('0x4d')](_0x24f287[_0xaaf4('0x2d')]())['spread'](function(_0x47a906){var _0x3732b3=[];for(var _0x1b1574=0x0;_0x1b1574<_0x47a906[_0xaaf4('0x54')];_0x1b1574++){_0x3732b3[_0xaaf4('0x45')](getTimezoneData(_0x47a906[_0x1b1574],tmp_voice_queues));}BPromise[_0xaaf4('0x55')](_0x3732b3)['then'](function(){_0x2b07e1({'val':0x1});});})[_0xaaf4('0x46')](function(_0x1c6451){logger[_0xaaf4('0x4e')](_0x1c6451['message']);_0x2b07e1({'val':0x0});});});}function getTimezoneData(_0x5f35a6,_0x21aa4f){return new Promise(function(_0x4c7f52,_0xe829e0){var _0x1de6c7=shared['timezones'];var _0x3f4e99=_0x1de6c7[_0x5f35a6['dialTimezone']];if(_[_0xaaf4('0x56')](_0x3f4e99)){_0x4c7f52({'ret':0x1});}else{var _0x28772c=_0x3f4e99[_0xaaf4('0x57')];var _0x453b30=squel['insert']()[_0xaaf4('0x1d')](_0x21aa4f)[_0xaaf4('0x58')]('id',_0x5f35a6['id'])[_0xaaf4('0x58')](_0xaaf4('0x59'),_0x28772c)[_0xaaf4('0x58')](_0xaaf4('0x5a'),_0x5f35a6[_0xaaf4('0x5a')])[_0xaaf4('0x2d')]();return db[_0xaaf4('0x4c')][_0xaaf4('0x4d')](_0x453b30)[_0xaaf4('0x44')](function(_0x5cbf53){_0x4c7f52({'ret':0x1});})[_0xaaf4('0x46')](function(_0xb1088d){logger['error'](_0xb1088d['message']);_0xe829e0({'ret':0x1});});}});}function handleTZQuery(_0x43043e){logger[_0xaaf4('0x3f')](_0x43043e);return db['sequelize'][_0xaaf4('0x4d')](_0x43043e)[_0xaaf4('0x44')](function(_0x4e35a2){})[_0xaaf4('0x46')](function(_0x59c5ce){logger[_0xaaf4('0x4e')](_0x59c5ce[_0xaaf4('0x40')]);});}function main(_0x350ed8,_0x10a6a1,_0x4bd72c,_0x14ceed){logger[_0xaaf4('0x3f')](_0xaaf4('0x5b'),_0x350ed8,JSON['stringify'](_0x10a6a1));process[_0xaaf4('0x5c')](_0xaaf4('0x5d'));var _0x2354d1=_0x10a6a1[_0xaaf4('0x5e')];var _0x20d43a=_0x10a6a1[_0xaaf4('0x5f')];var _0x1b22d4=path['join'](config[_0xaaf4('0x60')],_0xaaf4('0x61'),_0x20d43a+_0xaaf4('0x62'));hasTZ=_[_0xaaf4('0x38')](_0x2354d1)[_0xaaf4('0x63')](_0xaaf4('0x5a'));var _0x40c7c9=_['keys'](_0x2354d1)['join']();logger[_0xaaf4('0x3f')](_0xaaf4('0x64'),_0x40c7c9);if(hasTZ)_0x40c7c9+=_0xaaf4('0x65');fs['writeFileSync'](_0x1b22d4,_0x40c7c9+'\x0a');Papa[_0xaaf4('0x66')](fs[_0xaaf4('0x67')](_0x350ed8),{'header':!![],'skipEmptyLines':!![],'step':function(_0x1043e6,_0x45de56){try{for(var _0x35d577=0x0,_0x2a54cd=[];_0x35d577<_0x1043e6[_0xaaf4('0x68')][_0xaaf4('0x54')];_0x35d577++){stats['rows']+=0x1;if(_0x1043e6['errors'][_0x35d577]){handleError(_0x1043e6['data'][_0x35d577],_0x1043e6['errors'][_0x35d577]);}else{var _0x2c6ab1=[];for(var _0x31ff66 in _0x2354d1){if(_0x2354d1[_0xaaf4('0x69')](_0x31ff66)){if(_0x1043e6[_0xaaf4('0x68')][_0x35d577][_0x2354d1[_0x31ff66]]){var _0xe47f3c=_['trim'](_0x1043e6[_0xaaf4('0x68')][_0x35d577][_0x2354d1[_0x31ff66]][_0xaaf4('0x6a')](/"/g,'\x27'));switch(_0x31ff66){case'scheduledat':var _0x48ec31=moment(_0xe47f3c,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x48ec31['isValid']()){_0x2a54cd[_0xaaf4('0x45')]('\x22'+_0xe47f3c+'\x22');}else{_0x2c6ab1[_0xaaf4('0x45')](_0xaaf4('0x6b'));}break;case _0xaaf4('0x25'):var _0x5ce2a4=parseInt(_0xe47f3c);_0xe47f3c=_[_0xaaf4('0x6c')](_0x5ce2a4)||_0x5ce2a4<0x0||_0x5ce2a4>0x4?_0x14ceed?0x3:0x2:_0x5ce2a4;_0x2a54cd[_0xaaf4('0x45')]('\x22'+_0xe47f3c+'\x22');break;case _0xaaf4('0x6d'):var _0x31b709=parseInt(_0xe47f3c);if(_[_0xaaf4('0x6e')](_0x31b709)&&_[_0xaaf4('0x63')](_0x4bd72c,_0x31b709)){_0x2a54cd[_0xaaf4('0x45')]('\x22'+_0x31b709+'\x22');}else{_0x2c6ab1[_0xaaf4('0x45')](_0xaaf4('0x6f'));}break;case _0xaaf4('0x70'):if(isEmail(_0xe47f3c)){_0x2a54cd['push']('\x22'+_0xe47f3c+'\x22');}else{_0x2c6ab1[_0xaaf4('0x45')](_0xaaf4('0x71'));}break;case'dateOfBirth':var _0x99f5a8=moment(_0xe47f3c,_0xaaf4('0x72'),!![]);if(_0x99f5a8[_0xaaf4('0x73')]()){_0x2a54cd[_0xaaf4('0x45')]('\x22'+_0xe47f3c+'\x22');}else{_0x2c6ab1[_0xaaf4('0x45')](_0xaaf4('0x74'));}break;case'dialTimezone':var _0x3431b7=shared[_0xaaf4('0x75')];var _0xec4130=_0x3431b7[_0xe47f3c];if(!_[_0xaaf4('0x56')](_0xec4130)){var _0x3ae5ee=_0xec4130[_0xaaf4('0x57')];_0x2a54cd[_0xaaf4('0x45')]('\x22'+_0xe47f3c+'\x22');_0x2a54cd[_0xaaf4('0x45')]('\x22'+_0x3ae5ee+'\x22');}break;default:_0x2a54cd[_0xaaf4('0x45')]('\x22'+_0xe47f3c+'\x22');}}else{switch(_0x31ff66){case _0xaaf4('0x76'):case _0xaaf4('0x10'):_0x2c6ab1[_0xaaf4('0x45')](_0x31ff66+_0xaaf4('0x77'));break;default:_0x2a54cd[_0xaaf4('0x45')]('\x22\x22');}}}}if(_0x2c6ab1[_0xaaf4('0x54')]){handleError(_0x1043e6[_0xaaf4('0x68')][_0x35d577],{'code':'SystemRow','message':_0x2c6ab1['join']()});}else{fs['appendFileSync'](_0x1b22d4,_0x2a54cd[_0xaaf4('0x12')]()+'\x0a');}_0x2a54cd=[];}if(!(stats[_0xaaf4('0x78')]%0xc8)){socket[_0xaaf4('0x79')](_0xaaf4('0x7a')+_0x20d43a,stats);stats[_0xaaf4('0x42')]=[];}}if(stopped){logger['info']('Abort\x20parser');_0x45de56[_0xaaf4('0x7b')]();}}catch(_0x15884c){handleError(_0x1043e6[_0xaaf4('0x68')][_0x35d577],{'code':_0xaaf4('0x7c'),'message':_0x15884c[_0xaaf4('0x40')]});logger[_0xaaf4('0x4e')](_0xaaf4('0x7d'),_0x15884c[_0xaaf4('0x40')]);}},'complete':function(){try{var _0x385111=[];var _0x5780cf=[];var _0x5703e8=_0xaaf4('0x30');if(_0x10a6a1['duplicates']&&_0x10a6a1[_0xaaf4('0x7e')][_0xaaf4('0x54')]){_0x5703e8=_0xaaf4('0x7f')+_0x20d43a;_0x385111[_0xaaf4('0x45')](_0xaaf4('0x80')+_0x5703e8+_0xaaf4('0x81'));}tmp_campaigns=_0xaaf4('0x82')+_0x20d43a;tmp_voice_queues=_0xaaf4('0x83')+_0x20d43a;_0x5780cf['push'](_0xaaf4('0x80')+tmp_campaigns+_0xaaf4('0x84'));_0x5780cf[_0xaaf4('0x45')]('CREATE\x20TABLE\x20'+tmp_voice_queues+_0xaaf4('0x84'));BPromise[_0xaaf4('0x85')](_0x5780cf,handleTZQuery)[_0xaaf4('0x86')](function(_0x3d9e85){updateTzCampaigns(_0x10a6a1[_0xaaf4('0x22')])[_0xaaf4('0x86')](function(_0x2663fa){updateTzVoiceQueues(_0x10a6a1[_0xaaf4('0x22')])[_0xaaf4('0x86')](function(_0x134962){var _0x1628df=util['format']('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\x20id\x20=\x20NULL,\x20ListId\x20=\x20%s,\x20CompanyId\x20=\x20%s,\x20createdAt\x20=\x20\x27%s\x27,\x20updatedAt\x20=\x20\x27%s\x27',_0x1b22d4,_0x5703e8,_0x40c7c9,_0x10a6a1[_0xaaf4('0x22')],_0x10a6a1[_0xaaf4('0x39')]||null,NOW,NOW);if(_['isNil'](_0x2354d1[_0xaaf4('0x20')])){_0x1628df+=_0xaaf4('0x87');}_0x385111['push'](_0x1628df);if(_0x10a6a1[_0xaaf4('0x7e')]&&_0x10a6a1['duplicates'][_0xaaf4('0x54')]){_0x385111[_0xaaf4('0x45')](insertCmContact(_0x10a6a1['ListId'],_0x5703e8,_0x10a6a1[_0xaaf4('0x7e')],_0x2354d1));_0x385111[_0xaaf4('0x45')]('DROP\x20TABLE\x20'+_0x5703e8+';');}if(hasTZ){_0x385111[_0xaaf4('0x45')](insertTzCmHopper(_0x10a6a1['ListId'],'voice_queues_has_cm_lists',_0xaaf4('0x51'),_0xaaf4('0x88'),_0x14ceed,tmp_voice_queues));_0x385111[_0xaaf4('0x45')](insertTzCmHopperBlack(_0x10a6a1[_0xaaf4('0x22')],_0xaaf4('0x89'),_0xaaf4('0x51'),_0xaaf4('0x88')));_0x385111['push'](insertTzCmHopper(_0x10a6a1[_0xaaf4('0x22')],'campaigns_has_cm_lists',_0xaaf4('0x49'),_0xaaf4('0x8a'),_0x14ceed,tmp_campaigns));_0x385111['push'](insertTzCmHopperBlack(_0x10a6a1[_0xaaf4('0x22')],'campaigns_has_cm_blacklists',_0xaaf4('0x49'),_0xaaf4('0x8a')));}else{_0x385111[_0xaaf4('0x45')](insertCmHopper(_0x10a6a1['ListId'],_0xaaf4('0x52'),_0xaaf4('0x51'),_0xaaf4('0x88'),_0x14ceed));_0x385111[_0xaaf4('0x45')](insertCmHopperBlack(_0x10a6a1[_0xaaf4('0x22')],_0xaaf4('0x89'),_0xaaf4('0x51'),_0xaaf4('0x88')));_0x385111[_0xaaf4('0x45')](insertCmHopper(_0x10a6a1[_0xaaf4('0x22')],_0xaaf4('0x4a'),'campaigns',_0xaaf4('0x8a'),_0x14ceed));_0x385111[_0xaaf4('0x45')](insertCmHopperBlack(_0x10a6a1[_0xaaf4('0x22')],_0xaaf4('0x8b'),_0xaaf4('0x49'),_0xaaf4('0x8a')));}_0x385111[_0xaaf4('0x45')](_0xaaf4('0x8c')+tmp_campaigns+';');_0x385111[_0xaaf4('0x45')]('DROP\x20TABLE\x20'+tmp_voice_queues+';');BPromise[_0xaaf4('0x85')](_0x385111,handleQuery)[_0xaaf4('0x86')](function(_0xc73a80){stats['finish']=!![];stats[_0xaaf4('0x8d')]=_0x10a6a1['duplicates']&&_0x10a6a1['duplicates'][_0xaaf4('0x54')]?results[0x2][_0xaaf4('0x8d')]:results[0x0][_0xaaf4('0x8d')];socket['emit'](_0xaaf4('0x7a')+_0x20d43a,stats);fs[_0xaaf4('0x8e')](_0x350ed8);fs[_0xaaf4('0x8e')](_0x1b22d4);process[_0xaaf4('0x41')](0x0);})[_0xaaf4('0x46')](function(_0x13f5e9){logger[_0xaaf4('0x4e')](_0x13f5e9[_0xaaf4('0x40')]);process['exit'](0x1);});});});});}catch(_0x556090){logger['error']('complete',_0x556090[_0xaaf4('0x40')]);process[_0xaaf4('0x41')](0x1);}},'error':function(_0x4b2e84,_0x12d75c,_0x2a6da9,_0x2b32b0){throw new Error(_0x2b32b0);}});}function validate(){if(process[_0xaaf4('0x8f')]&&process[_0xaaf4('0x8f')]['length']<0x4){throw new Error('arguments\x20<filename>\x20<parameters>\x20<agents>');}var _0xc7c495=path[_0xaaf4('0x12')](config[_0xaaf4('0x60')],_0xaaf4('0x61'),process[_0xaaf4('0x8f')][0x2]);if(!fs[_0xaaf4('0x90')](_0xc7c495)){throw new Error(_0xaaf4('0x91'));}var _0x2cbf70={};try{_0x2cbf70=JSON[_0xaaf4('0x66')](process[_0xaaf4('0x8f')][0x3]);if(!_0x2cbf70[_0xaaf4('0x5e')]){throw new Error(_0xaaf4('0x92'));}if(!_0x2cbf70[_0xaaf4('0x5e')][_0xaaf4('0x10')]){throw new Error(_0xaaf4('0x93'));}if(!_0x2cbf70[_0xaaf4('0x5e')][_0xaaf4('0x76')]){throw new Error(_0xaaf4('0x94'));}var _0x936972=0x0;if(_0x2cbf70['binding']['UserId']){_0x936972=0x1;}if(!_0x2cbf70[_0xaaf4('0x22')]){throw new Error(_0xaaf4('0x95'));}}catch(_0x55cb5f){throw new Error(_0xaaf4('0x96'));}var _0x3d22b0=[];try{_0x3d22b0=_['map'](JSON[_0xaaf4('0x66')](process['argv'][0x4]),'id');}catch(_0x396aee){logger[_0xaaf4('0x3f')](_0xaaf4('0x97'));}main(_0xc7c495,_0x2cbf70,_0x3d22b0,_0x936972);}validate();process['on'](_0xaaf4('0x98'),handleStop);process['on'](_0xaaf4('0x99'),handleUncaughtException);