Built motion from commit f8768ebe.|2.6.15
[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 _0xdce5=['createReadStream','data','rows','find','hasOwnProperty','trim','replace','isValid','isNaN','UserId','isNumber','email','YYYY-MM-DD','\x20not\x20specified','itemTypeId','description','SystemRow','appendFileSync','emit','abort','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','scheduledat',',\x20scheduledAt\x20=\x20NOW()','each','contact','contactId','contactTypeId','orderBy','DROP\x20TABLE\x20','affectedRows','contact:import:','unlink','complete','argv','arguments\x20<filename>\x20<parameters>\x20<agents>','server/files/tmp','existsSync','file\x20doesn\x27t\x20exists','binding','body\x20id\x20mandatory','map','SIGINT','lodash','util','moment','squel','../../../mysqldb','../../../config/environment','../../../config/logger','import','redis','defaults','localhost','socket.io-emitter','format','YYYY-MM-DD\x20HH:mm:ss','YYYYMMDDHHmmss','test','field','phone','from','where','\x20=\x20','.dialCheckDuplicateType\x20IN\x20(','join','query','select\x20*\x20from\x20','spread','isNil','AdditionalPhones','push','all','then','catch','error','split','length','filter','CmContactHasItem','update','updated','create','PHONE','CmContact','CmHopper','cm_contacts.phone','cm_contacts.scheduledat','cm_contacts.id','cm_contacts.ListId','cm_contacts.createdAt','cm_contacts.updatedAt','cm_contacts.priority','insert','into','fromQuery','ContactId','createdAt','priority','recallme','select','fields','cm_contacts','cm_contacts.ListId\x20=\x20','.CmListId','.CmListId\x20=\x20?','cm_contacts.createdAt\x20=\x20?','cm_hopper','\x22always\x22','\x22onlyIfOpen\x22','cm_contacts.phone\x20NOT\x20IN\x20(?)','toString','cm_hopper_black','ListId','ListId\x20=\x20?','\x20=\x20?','cm_hopper.id','cm_contact_has_items.OrderBy','cm_contact_has_items.createdAt','cm_contact_has_items.updatedAt','cm_hopper_additional_phones','CmHopperId','OrderBy','updatedAt','cm_contact_has_items','cm_contacts.id\x20=\x20cm_contact_has_items.CmContactId','concat','CompanyId',')\x20NOT\x20IN\x20?','id\x20IN\x20?','MIN(id)','min_id','info','Received\x20SIGINT','exit','errors','message','main','stringify','send','start','root','.csv','ContactItemType','name','_description','keys','header','writeFileSync','parse'];(function(_0x1ba708,_0x3d3c14){var _0x4fdb74=function(_0x23bc09){while(--_0x23bc09){_0x1ba708['push'](_0x1ba708['shift']());}};_0x4fdb74(++_0x3d3c14);}(_0xdce5,0xc7));var _0x5dce=function(_0x563cf8,_0x3312e2){_0x563cf8=_0x563cf8-0x0;var _0x424298=_0xdce5[_0x563cf8];return _0x424298;};'use strict';var fs=require('fs');var path=require('path');var _=require(_0x5dce('0x0'));var Papa=require('papaparse');var util=require(_0x5dce('0x1'));var BPromise=require('bluebird');var moment=require(_0x5dce('0x2'));var squel=require(_0x5dce('0x3'));var Redis=require('ioredis');var db=require(_0x5dce('0x4'))['db'];var config=require(_0x5dce('0x5'));var logger=require(_0x5dce('0x6'))(_0x5dce('0x7'));config[_0x5dce('0x8')]=_[_0x5dce('0x9')](config[_0x5dce('0x8')],{'host':_0x5dce('0xa'),'port':0x18eb});var socket=require(_0x5dce('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()[_0x5dce('0xc')](_0x5dce('0xd'));var tempTableName='cm_contacts_temp_'+moment()['format'](_0x5dce('0xe'));var contactItemTypes=[];var phoneDescriptions=[];var hasAdditionalPhones=![];function isEmail(_0x35b1a9){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))*$/[_0x5dce('0xf')](_0x35b1a9);}function selectNotIn(_0x298dd4,_0x2e2795,_0x4ad38d,_0x422775,_0x3599bc){return squel['select']()[_0x5dce('0x10')](_0x5dce('0x11'))[_0x5dce('0x12')](_0x422775)['join'](_0x2e2795,null,_0x2e2795+'.id\x20=\x20'+_0x422775+'.'+_0x4ad38d)[_0x5dce('0x13')](_0x422775+'.'+_0x4ad38d+_0x5dce('0x14')+_0x298dd4+'.'+_0x4ad38d)[_0x5dce('0x13')](_0x2e2795+_0x5dce('0x15')+_0x3599bc[_0x5dce('0x16')]()+')');}function handleAdditionalPhones(){return new Promise(function(_0x2239d8,_0x59b918){promisesAdditionalPhones=[];promisesContact=[];return db['sequelize'][_0x5dce('0x17')](_0x5dce('0x18')+tempTableName)[_0x5dce('0x19')](function(_0x235bce){if(_0x235bce!==null){var _0x440c28=[];for(var _0x327824=0x0;_0x327824<_0x235bce['length'];_0x327824++){var _0x1b2b1d=_0x235bce[_0x327824];if(!_[_0x5dce('0x1a')](_0x1b2b1d[_0x5dce('0x11')])){if(!_[_0x5dce('0x1a')](_0x1b2b1d[_0x5dce('0x1b')]))_0x440c28[_0x5dce('0x1c')](insertAdditionalPhones(_0x1b2b1d));promisesContact[_0x5dce('0x1c')]({'contact':_0x1b2b1d});}}}Promise[_0x5dce('0x1d')](_0x440c28)[_0x5dce('0x1e')](function(){_0x2239d8({'val':0x1});});})[_0x5dce('0x1f')](function(_0x3fb9f4){logger[_0x5dce('0x20')](_0x3fb9f4['message']);});});}function insertAdditionalPhones(_0x271c99){return new Promise(function(_0x115b1d,_0x4cd1a5){var _0x1cd26d=_0x271c99[_0x5dce('0x1b')];if(_[_0x5dce('0x1a')](_0x1cd26d))_0x4cd1a5({'val':0x0});else{var _0xeb3e44=_0x1cd26d[_0x5dce('0x21')](';');var _0x164e6d=[];orderBy=0x0;for(var _0x19d6ec=0x0;_0x19d6ec<_0xeb3e44[_0x5dce('0x22')];_0x19d6ec++){_0x164e6d[_0x5dce('0x1c')](splitAdditionalPhone(_0x271c99['id'],_0xeb3e44[_0x19d6ec]));}Promise[_0x5dce('0x1d')](_0x164e6d)[_0x5dce('0x1e')](function(){_0x115b1d({'val':_0xeb3e44[_0x5dce('0x22')]});});}});}function splitAdditionalPhone(_0x591d72,_0x792d6e){return new Promise(function(_0x108d59,_0x89a1ce){var _0x1d9ba4=_0x792d6e[_0x5dce('0x21')](':');var _0x3e1097=_0x1d9ba4[0x0];var _0x34633b=_0x1d9ba4[0x1];if(_0x34633b!==''){var _0x6018dd=_0x34633b[_0x5dce('0x21')]('|');var _0x464f10=[];for(var _0x1c05af=0x0;_0x1c05af<_0x6018dd[_0x5dce('0x22')];_0x1c05af++){if(_0x6018dd[_0x1c05af]!==''){var _0x4b1e82=_[_0x5dce('0x23')](promisesAdditionalPhones,{'contactId':_0x591d72,'phone':_0x6018dd[_0x1c05af]});if(_0x4b1e82[_0x5dce('0x22')]==0x0){orderBy++;promisesAdditionalPhones[_0x5dce('0x1c')]({'contactId':_0x591d72,'contactTypeId':_0x3e1097,'phone':_0x6018dd[_0x1c05af],'orderBy':orderBy});}}}_0x108d59({'ok':0x1});}else _0x108d59({'res':0x0});});}function createAdditionalPhone(_0x5cfa94,_0x236073,_0x35eb2e,_0x19afc9){var _0x1886c3='';var _0x5faf9d='';var _0x478bea=_0x35eb2e[_0x5dce('0x21')]('§');_0x1886c3=_0x478bea[0x0];if(_0x478bea[_0x5dce('0x22')]==0x2)_0x5faf9d=_0x478bea[0x1];return new Promise(function(_0x102ece,_0x49d6ea){return db[_0x5dce('0x24')]['findOne']({'where':{'CmContactId':_0x5cfa94,'item':_0x1886c3}})[_0x5dce('0x1e')](function(_0x3579fd){if(_0x3579fd){return db[_0x5dce('0x24')][_0x5dce('0x25')]({'ItemTypeId':_0x236073,'description':_0x5faf9d,'OrderBy':_0x19afc9},{'where':{'CmContactId':_0x5cfa94,'item':_0x1886c3}})[_0x5dce('0x1e')](function(_0x4028f2){_0x102ece({'res':_0x5dce('0x26')});});}else{return db[_0x5dce('0x24')][_0x5dce('0x27')]({'CmContactId':_0x5cfa94,'item':_0x1886c3,'ItemTypeId':_0x236073,'description':_0x5faf9d,'OrderBy':_0x19afc9,'ItemClass':_0x5dce('0x28')})[_0x5dce('0x1e')](function(_0x762ec){_0x102ece({'res':'inserted'});});}});});}function updateContact(_0x399a4d){return new Promise(function(_0x58421f,_0x4cc475){var _0x68955a=_0x399a4d['id'];delete _0x399a4d['id'];return db[_0x5dce('0x29')]['update'](_0x399a4d,{'where':{'id':_0x68955a}})[_0x5dce('0x1e')](function(_0x1f0142){updatedRows+=0x1;return db[_0x5dce('0x2a')][_0x5dce('0x25')]({'phone':_0x399a4d[_0x5dce('0x11')]},{'where':{'ContactId':_0x68955a}})[_0x5dce('0x1e')](function(_0x56f058){_0x58421f({'ret':'OK'});});});});}function insertCmHopper(_0x9af635,_0x4d5b65,_0x5abe75,_0x507d9c,_0x4384f5){var _0xb37ec2=[_0x5dce('0x2b'),_0x5dce('0x2c'),_0x5dce('0x2d'),_0x5dce('0x2e'),_0x4d5b65+'.'+_0x507d9c,_0x5dce('0x2f'),_0x5dce('0x30'),_0x5dce('0x31'),'cm_contacts.UserId','\x22'+_0x4384f5+'\x22'];return squel[_0x5dce('0x32')]()[_0x5dce('0x33')]('cm_hopper')[_0x5dce('0x34')]([_0x5dce('0x11'),'scheduledat',_0x5dce('0x35'),'ListId',_0x507d9c,_0x5dce('0x36'),'updatedAt',_0x5dce('0x37'),'UserId',_0x5dce('0x38')],squel[_0x5dce('0x39')]()[_0x5dce('0x3a')](_0xb37ec2)['from'](_0x4d5b65)['join'](_0x5dce('0x3b'),null,_0x5dce('0x3c')+_0x4d5b65+_0x5dce('0x3d'))['join'](_0x5abe75,null,_0x5abe75+'.id\x20=\x20'+_0x4d5b65+'.'+_0x507d9c)['where'](_0x4d5b65+_0x5dce('0x3e'),_0x9af635)['where'](_0x5dce('0x3f'),NOW)[_0x5dce('0x13')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',selectNotIn(_0x4d5b65,_0x5abe75,_0x507d9c,_0x5dce('0x40'),[_0x5dce('0x41'),_0x5dce('0x42')]))[_0x5dce('0x13')](_0x5dce('0x43'),selectNotIn(_0x4d5b65,_0x5abe75,_0x507d9c,_0x5dce('0x40'),[_0x5dce('0x41')])))[_0x5dce('0x44')]();}function insertCmHopperBlack(_0x48d1f5,_0x51a551,_0x401e98,_0x440277){var _0x22d4c5=[_0x5dce('0x2b'),'cm_contacts.id','cm_contacts.ListId',_0x51a551+'.'+_0x440277,_0x5dce('0x2f'),_0x5dce('0x30')];return squel[_0x5dce('0x32')]()['into'](_0x5dce('0x45'))[_0x5dce('0x34')]([_0x5dce('0x11'),_0x5dce('0x35'),_0x5dce('0x46'),_0x440277,_0x5dce('0x36'),'updatedAt'],squel[_0x5dce('0x39')]()[_0x5dce('0x3a')](_0x22d4c5)[_0x5dce('0x12')](_0x51a551)['join'](_0x5dce('0x3b'),null,_0x5dce('0x3c')+_0x51a551+'.CmListId')[_0x5dce('0x16')](_0x401e98,null,_0x401e98+'.id\x20=\x20'+_0x51a551+'.'+_0x440277)[_0x5dce('0x13')](_0x51a551+'.CmListId\x20=\x20?',_0x48d1f5)[_0x5dce('0x13')](_0x5dce('0x3f'),NOW)[_0x5dce('0x13')]('cm_contacts.phone\x20NOT\x20IN\x20(?)',squel['select']()[_0x5dce('0x10')](_0x5dce('0x11'))[_0x5dce('0x12')](_0x5dce('0x45'))['where'](_0x5dce('0x47'),_0x48d1f5)[_0x5dce('0x13')](_0x440277+_0x5dce('0x48'),_0x51a551+'.'+_0x440277)))[_0x5dce('0x44')]();}function insertCmHopperAdditionalPhones(_0x299e49){var _0x55a79a=[_0x5dce('0x49'),'cm_contact_has_items.item',_0x5dce('0x4a'),_0x5dce('0x4b'),_0x5dce('0x4c')];return squel[_0x5dce('0x32')]()[_0x5dce('0x33')](_0x5dce('0x4d'))[_0x5dce('0x34')]([_0x5dce('0x4e'),'phone',_0x5dce('0x4f'),'createdAt',_0x5dce('0x50')],squel[_0x5dce('0x39')]()[_0x5dce('0x3a')](_0x55a79a)[_0x5dce('0x12')](_0x5dce('0x40'))[_0x5dce('0x16')]('cm_contacts',null,'cm_contacts.id\x20=\x20cm_hopper.ContactId')[_0x5dce('0x16')](_0x5dce('0x51'),null,_0x5dce('0x52'))[_0x5dce('0x13')]('cm_hopper.ListId\x20=\x20?',_0x299e49)[_0x5dce('0x13')](_0x5dce('0x3f'),NOW))[_0x5dce('0x44')]();}function insertCmContact(_0x5b8068,_0x167396,_0xe87f12,_0x3c5928){var _0x1b4611=_[_0x5dce('0x53')](_['keys'](_0x3c5928),[_0x5dce('0x46'),_0x5dce('0x54'),_0x5dce('0x36'),'updatedAt']);return squel[_0x5dce('0x32')]()[_0x5dce('0x33')](_0x5dce('0x3b'))[_0x5dce('0x34')](_0x1b4611,squel[_0x5dce('0x39')]()[_0x5dce('0x3a')](_0x1b4611)['from'](_0x167396)[_0x5dce('0x13')]('('+_0xe87f12['join'](',')+_0x5dce('0x55'),squel[_0x5dce('0x39')]()[_0x5dce('0x3a')](_0xe87f12)[_0x5dce('0x12')](_0x5dce('0x3b'))[_0x5dce('0x13')]('ListId\x20=\x20?',_0x5b8068))['where'](_0x5dce('0x56'),squel[_0x5dce('0x39')]()[_0x5dce('0x10')](_0x5dce('0x57'),_0x5dce('0x58'))[_0x5dce('0x12')](_0x167396)['group'](_0xe87f12[_0x5dce('0x16')](','))))[_0x5dce('0x44')]();}function handleStop(){logger[_0x5dce('0x59')](_0x5dce('0x5a'));stopped=!![];}function handleUncaughtException(_0x372699){logger[_0x5dce('0x20')](_0x372699['message']);process[_0x5dce('0x5b')](0x1);}function handleError(_0x278fb6,_0x46343f){stats[_0x5dce('0x5c')][_0x5dce('0x1c')]({'name':_0x46343f['code'],'message':_0x46343f[_0x5dce('0x5d')],'row':_0x278fb6});}function handleQuery(_0x2035c3){logger[_0x5dce('0x59')](_0x2035c3);return db['sequelize']['query'](_0x2035c3)['spread'](function(_0x15368a){results[_0x5dce('0x1c')](_0x15368a);})[_0x5dce('0x1f')](function(_0x1b6dc4){logger['error'](_0x1b6dc4[_0x5dce('0x5d')]);});}function main(_0x28e421,_0xfb0ad4,_0x448a2a,_0x3963d8){logger[_0x5dce('0x59')](_0x5dce('0x5e'),_0x28e421,JSON[_0x5dce('0x5f')](_0xfb0ad4));process[_0x5dce('0x60')](_0x5dce('0x61'));var _0x2dc3e1=_0xfb0ad4['binding'];var _0x5efa86=_['clone'](_0x2dc3e1);var _0xb33f07=_0xfb0ad4['socket_timestamp'];var _0x1888b4=path[_0x5dce('0x16')](config[_0x5dce('0x62')],'server/files/tmp',_0xb33f07+_0x5dce('0x63'));logger[_0x5dce('0x59')]('body',_0xfb0ad4);db[_0x5dce('0x64')]['findAll']({'raw':!![],'attributes':['id',_0x5dce('0x65')]})[_0x5dce('0x1e')](function(_0x2d79b2){for(var _0x3e13ea=0x0;_0x3e13ea<_0x2d79b2[_0x5dce('0x22')];_0x3e13ea++){if(_0x2d79b2[_0x3e13ea][_0x5dce('0x65')]in _0x2dc3e1){contactItemTypes[_0x5dce('0x1c')](_0x2d79b2[_0x3e13ea]);delete _0x5efa86[_0x2d79b2[_0x3e13ea][_0x5dce('0x65')]];hasAdditionalPhones=!![];}for(var _0x52a210 in _0x2dc3e1){if(_0x2d79b2[_0x3e13ea][_0x5dce('0x65')]+_0x5dce('0x66')===_0x52a210){phoneDescriptions[_0x5dce('0x1c')]({'itemTypeId':_0x2d79b2[_0x3e13ea]['id'],'description':_0x52a210});delete _0x5efa86[_0x52a210];}}}if(hasAdditionalPhones)_0x5efa86[_0x5dce('0x1b')]='';var _0x1d2ed7=_[_0x5dce('0x67')](_0x5efa86)[_0x5dce('0x16')]();logger[_0x5dce('0x59')](_0x5dce('0x68'),_0x1d2ed7);fs[_0x5dce('0x69')](_0x1888b4,_0x1d2ed7+'\x0a');Papa[_0x5dce('0x6a')](fs[_0x5dce('0x6b')](_0x28e421),{'header':!![],'skipEmptyLines':!![],'step':function(_0xd8becc,_0x559dd3){try{for(var _0x5f33d0=0x0,_0x132d05=[];_0x5f33d0<_0xd8becc[_0x5dce('0x6c')][_0x5dce('0x22')];_0x5f33d0++){stats[_0x5dce('0x6d')]+=0x1;if(_0xd8becc[_0x5dce('0x5c')][_0x5f33d0]){handleError(_0xd8becc[_0x5dce('0x6c')][_0x5f33d0],_0xd8becc['errors'][_0x5f33d0]);}else{var _0x1c9b1a=[];var _0x47b3a2=[];var _0x2ef32f={};for(var _0xdcfe52 in _0x2dc3e1){let _0x46c5=contactItemTypes[_0x5dce('0x6e')](_0xdfdaf=>_0xdfdaf['name']===_0xdcfe52);let _0x5fb143=contactItemTypes[_0x5dce('0x6e')](_0x1be509=>_0x1be509[_0x5dce('0x65')]+_0x5dce('0x66')===_0xdcfe52);if(_[_0x5dce('0x1a')](_0x46c5)&&_[_0x5dce('0x1a')](_0x5fb143)){if(_0x2dc3e1[_0x5dce('0x6f')](_0xdcfe52)){if(_0xd8becc[_0x5dce('0x6c')][_0x5f33d0][_0x2dc3e1[_0xdcfe52]]){var _0x3d72d4=_[_0x5dce('0x70')](_0xd8becc[_0x5dce('0x6c')][_0x5f33d0][_0x2dc3e1[_0xdcfe52]][_0x5dce('0x71')](/"/g,'\x27'));switch(_0xdcfe52){case'scheduledat':var _0x158ed6=moment(_0x3d72d4,'YYYY-MM-DD\x20HH:mm:ss',!![]);if(_0x158ed6[_0x5dce('0x72')]()){_0x132d05['push']('\x22'+_0x3d72d4+'\x22');}else{_0x1c9b1a['push']('scheduledat\x20wrong\x20format\x20(YYYY-MM-DD\x20HH:mm:ss)');}break;case _0x5dce('0x37'):var _0x1f1237=parseInt(_0x3d72d4);_0x3d72d4=_[_0x5dce('0x73')](_0x1f1237)||_0x1f1237<0x0||_0x1f1237>0x4?_0x3963d8?0x3:0x2:_0x1f1237;_0x132d05['push']('\x22'+_0x3d72d4+'\x22');break;case _0x5dce('0x74'):var _0xe334d5=parseInt(_0x3d72d4);if(_[_0x5dce('0x75')](_0xe334d5)&&_['includes'](_0x448a2a,_0xe334d5)){_0x132d05[_0x5dce('0x1c')]('\x22'+_0xe334d5+'\x22');}else{_0x1c9b1a['push']('agent\x20not\x20exists');}break;case _0x5dce('0x76'):if(isEmail(_0x3d72d4)){_0x132d05[_0x5dce('0x1c')]('\x22'+_0x3d72d4+'\x22');}else{_0x1c9b1a[_0x5dce('0x1c')]('email\x20wrong\x20format');}break;case'dateOfBirth':var _0x42a224=moment(_0x3d72d4,_0x5dce('0x77'),!![]);if(_0x42a224['isValid']()){_0x132d05[_0x5dce('0x1c')]('\x22'+_0x3d72d4+'\x22');}else{_0x1c9b1a[_0x5dce('0x1c')]('dateOfBirth\x20wrong\x20format\x20(YYYY-MM-DD)');}break;default:_0x132d05[_0x5dce('0x1c')]('\x22'+_0x3d72d4+'\x22');}}else{switch(_0xdcfe52){case'firstName':case _0x5dce('0x11'):_0x1c9b1a[_0x5dce('0x1c')](_0xdcfe52+_0x5dce('0x78'));break;default:_0x132d05[_0x5dce('0x1c')]('\x22\x22');}}}}else{var _0x4348e4='';if(!_[_0x5dce('0x1a')](_0x46c5)){if(!_0x2ef32f['hasOwnProperty'](_0x46c5['id'])){for(var _0x5f240a=0x0;_0x5f240a<_0x2dc3e1[_0xdcfe52][_0x5dce('0x22')];_0x5f240a++){var _0x3d72d4=_[_0x5dce('0x70')](_0xd8becc[_0x5dce('0x6c')][_0x5f33d0][_0x2dc3e1[_0xdcfe52][_0x5f240a]][_0x5dce('0x71')](/"/g,'\x27'));var _0x3cbb80=phoneDescriptions[_0x5dce('0x6e')](_0x135e4f=>_0x135e4f[_0x5dce('0x79')]===_0x46c5['id']);if(!_[_0x5dce('0x1a')](_0x3cbb80)){var _0x480706=_[_0x5dce('0x70')](_0xd8becc[_0x5dce('0x6c')][_0x5f33d0][_0x2dc3e1[_0x3cbb80[_0x5dce('0x7a')]][0x0]][_0x5dce('0x71')](/"/g,'\x27'));if(!_[_0x5dce('0x1a')](_0x480706))_0x3d72d4=_0x3d72d4+'§'+_0x480706;}if(_0x4348e4=='')_0x4348e4=_0x3d72d4;else _0x4348e4+='|'+_0x3d72d4;}_0x47b3a2['push'](_0x46c5['id']+':'+_0x4348e4);_0x2ef32f[_0x46c5['id']]=0x1;}}}}if(hasAdditionalPhones){_0x132d05['push']('\x22'+_0x47b3a2[_0x5dce('0x16')](';')+'\x22');}if(_0x1c9b1a['length']){handleError(_0xd8becc[_0x5dce('0x6c')][_0x5f33d0],{'code':_0x5dce('0x7b'),'message':_0x1c9b1a['join']()});}else{fs[_0x5dce('0x7c')](_0x1888b4,_0x132d05[_0x5dce('0x16')]()+'\x0a');}_0x132d05=[];}if(!(stats['rows']%0xc8)){socket[_0x5dce('0x7d')]('contact:import:'+_0xb33f07,stats);stats[_0x5dce('0x5c')]=[];}}if(stopped){logger[_0x5dce('0x59')]('Abort\x20parser');_0x559dd3[_0x5dce('0x7e')]();}}catch(_0x3f188e){handleError(_0xd8becc[_0x5dce('0x6c')][_0x5f33d0],{'code':_0x5dce('0x7f'),'message':_0x3f188e[_0x5dce('0x5d')]});logger[_0x5dce('0x20')](_0x5dce('0x80'),_0x3f188e[_0x5dce('0x5d')]);}},'complete':function(){try{var _0x117b59=[];var _0x1b1f97=tempTableName;_0x117b59['push'](_0x5dce('0x81')+_0x1b1f97+'\x20LIKE\x20cm_contacts;');logger[_0x5dce('0x59')](_0x5dce('0x82'),contactItemTypes[_0x5dce('0x22')]);var _0x479886=util['format'](_0x5dce('0x83'),_0x1888b4,_0x1b1f97,_0x1d2ed7,_0xfb0ad4['ListId'],_0xfb0ad4[_0x5dce('0x54')]||null,NOW,NOW);if(_[_0x5dce('0x1a')](_0x2dc3e1[_0x5dce('0x84')])){_0x479886+=_0x5dce('0x85');}_0x117b59[_0x5dce('0x1c')](_0x479886);BPromise[_0x5dce('0x86')](_0x117b59,handleQuery)[_0x5dce('0x1e')](function(_0x35d3b3){BPromise[_0x5dce('0x1d')]([handleAdditionalPhones()])[_0x5dce('0x1e')](function(){_0x117b59=[];for(var _0x2ee65b=0x0;_0x2ee65b<promisesContact['length'];_0x2ee65b++){_0x117b59['push'](updateContact(promisesContact[_0x2ee65b][_0x5dce('0x87')]));}BPromise[_0x5dce('0x1d')](_0x117b59)[_0x5dce('0x1e')](function(){_0x117b59=[];for(var _0x19d909=0x0;_0x19d909<promisesAdditionalPhones[_0x5dce('0x22')];_0x19d909++){_0x117b59[_0x5dce('0x1c')](createAdditionalPhone(promisesAdditionalPhones[_0x19d909][_0x5dce('0x88')],promisesAdditionalPhones[_0x19d909][_0x5dce('0x89')],promisesAdditionalPhones[_0x19d909]['phone'],promisesAdditionalPhones[_0x19d909][_0x5dce('0x8a')]));}BPromise[_0x5dce('0x1d')](_0x117b59)[_0x5dce('0x1e')](function(){_0x117b59=[];_0x117b59['push'](insertCmHopperAdditionalPhones(_0xfb0ad4[_0x5dce('0x46')]));_0x117b59[_0x5dce('0x1c')](_0x5dce('0x8b')+_0x1b1f97+';');BPromise[_0x5dce('0x86')](_0x117b59,handleQuery)['then'](function(_0x574ef7){stats['finish']=!![];stats[_0x5dce('0x8c')]=updatedRows;socket['emit'](_0x5dce('0x8d')+_0xb33f07,stats);fs[_0x5dce('0x8e')](_0x28e421);fs[_0x5dce('0x8e')](_0x1888b4);process['exit'](0x0);})[_0x5dce('0x1f')](function(_0x3f9e86){logger[_0x5dce('0x20')](_0x3f9e86[_0x5dce('0x5d')]);process[_0x5dce('0x5b')](0x1);});});});});})[_0x5dce('0x1f')](function(_0x446d5d){logger['error'](_0x446d5d[_0x5dce('0x5d')]);process[_0x5dce('0x5b')](0x1);});}catch(_0x2264f6){logger[_0x5dce('0x20')](_0x5dce('0x8f'),_0x2264f6[_0x5dce('0x5d')]);process[_0x5dce('0x5b')](0x1);}},'error':function(_0x26e5ee,_0x369a3f,_0x1e84e7,_0x1e981f){throw new Error(_0x1e981f);}});});}function validate(){if(process['argv']&&process[_0x5dce('0x90')][_0x5dce('0x22')]<0x4){throw new Error(_0x5dce('0x91'));}var _0x3a3e1f=path[_0x5dce('0x16')](config[_0x5dce('0x62')],_0x5dce('0x92'),process['argv'][0x2]);if(!fs[_0x5dce('0x93')](_0x3a3e1f)){throw new Error(_0x5dce('0x94'));}var _0x489f11={};try{_0x489f11=JSON[_0x5dce('0x6a')](process[_0x5dce('0x90')][0x3]);if(!_0x489f11[_0x5dce('0x95')]){throw new Error('binding\x20doesn\x27t\x20exists');}var _0x1f35cb=0x0;if(_0x489f11['binding']['UserId']){_0x1f35cb=0x1;}if(!_0x489f11[_0x5dce('0x46')]){throw new Error('ListId\x20is\x20mandatory');}}catch(_0x4c0dea){throw new Error(_0x5dce('0x96'));}var _0x2cf107=[];try{_0x2cf107=_[_0x5dce('0x97')](JSON[_0x5dce('0x6a')](process[_0x5dce('0x90')][0x4]),'id');}catch(_0x37e38c){logger[_0x5dce('0x59')]('No\x20agent\x20available');}main(_0x3a3e1f,_0x489f11,_0x2cf107,_0x1f35cb);}validate();process['on'](_0x5dce('0x98'),handleStop);process['on']('uncaughtException',handleUncaughtException);