Built motion from commit e0fa946e.|2.6.5
[motion2.git] / server / components / import / cm / csv.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 _0x5a16=['deletedAt\x20IS\x20NULL','id\x20IN\x20?','phone\x20NOT\x20IN\x20(?)','calleridnum','cm_hopper_final','str','into','VoiceQueue','findAll','outbound','CmList','always','sequelize','query','onlyIfOpen','VoiceQueueId','all','BlackLists','get','Campaign','dialCheckDuplicateType','CampaignId','cmContact,\x20%s,\x20%s','generalCheckHopper','Error\x20processing\x20rows\x20block:','finally','emit','contact:csv_','resume','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','exit','info','CSV\x20import\x20process\x20stopped!','createReadStream','parse','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','lodash','papaparse','ioredis','../../../config/environment','../../../config/logger','api','redis','defaults','localhost','../../../api/cmContact/cmContact.socket','register','argv','null','Missing\x20filepath\x20parameter!','undefined','Missing\x20binding\x20parameters!','split','Missing\x20socket_timestamp\x20parameter!','contact','index','test','isNil','error','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','join','data','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','isValid','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','email\x20format\x20is\x20not\x20valid!','ListId','CompanyId','length','find','duplicate','CmContact','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','message','stringify','checkHopper','inspect','insert','cm_hopper','fromQuery','scheduledAt','createdAt','updatedAt','select','field','NOW()','ContactId','toString','cm_contacts','where','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','from','\x20=\x20?'];(function(_0x4025fd,_0x392379){var _0x58fb64=function(_0x39369f){while(--_0x39369f){_0x4025fd['push'](_0x4025fd['shift']());}};_0x58fb64(++_0x392379);}(_0x5a16,0x16e));var _0x65a1=function(_0xc7348b,_0x145880){_0xc7348b=_0xc7348b-0x0;var _0x307cec=_0x5a16[_0xc7348b];return _0x307cec;};'use strict';var BPromise=require(_0x65a1('0x0'));var util=require('util');var _=require(_0x65a1('0x1'));var fs=require('fs');var squel=require('squel');var Papa=require(_0x65a1('0x2'));var Redis=require(_0x65a1('0x3'));var db=require('../../../mysqldb')['db'];var config=require(_0x65a1('0x4'));var logger=require(_0x65a1('0x5'))(_0x65a1('0x6'));config[_0x65a1('0x7')]=_[_0x65a1('0x8')](config[_0x65a1('0x7')],{'host':_0x65a1('0x9'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x65a1('0xa'))[_0x65a1('0xb')](socket);try{if(!process['argv'][0x2]||process['argv'][0x2]==='undefined'||process[_0x65a1('0xc')][0x2]===_0x65a1('0xd')){throw new Error(_0x65a1('0xe'));}var FILEPATH=process['argv'][0x2];if(!process['argv'][0x3]||process[_0x65a1('0xc')][0x3]==='undefined'||process[_0x65a1('0xc')][0x3]==='null'||!process['argv'][0x4]||process['argv'][0x4]===_0x65a1('0xf')||process[_0x65a1('0xc')][0x4]===_0x65a1('0xd')){throw new Error(_0x65a1('0x10'));}var FIELDS=_['zipObject'](process['argv'][0x3][_0x65a1('0x11')](','),process[_0x65a1('0xc')][0x4][_0x65a1('0x11')](','));if(!process['argv'][0x5]||process[_0x65a1('0xc')][0x5]===_0x65a1('0xf')||process[_0x65a1('0xc')][0x5]===_0x65a1('0xd')){throw new Error('Missing\x20ListId\x20parameter!');}var LISTID=process['argv'][0x5];var COMPANYID=process[_0x65a1('0xc')][0x6]&&process[_0x65a1('0xc')][0x6]!==_0x65a1('0xf')&&process[_0x65a1('0xc')][0x6]!==_0x65a1('0xd')?process['argv'][0x6]:null;var DUPLICATES=process[_0x65a1('0xc')][0x7]&&process[_0x65a1('0xc')][0x7]!==_0x65a1('0xf')&&process['argv'][0x7]!=='null'?process[_0x65a1('0xc')][0x7]:null;if(!process[_0x65a1('0xc')][0x8]||process[_0x65a1('0xc')][0x8]==='undefined'||process[_0x65a1('0xc')][0x8]===_0x65a1('0xd')){throw new Error(_0x65a1('0x12'));}var SOCKET_TIMESTAMP=process[_0x65a1('0xc')][0x8];}catch(_0x39ff7e){logger['error'](_0x39ff7e);endCsv();}var total=0x0;var pTotal=0x0;var success=0x0;var errors=0x0;var duplicates=0x0;var rows=[];var hopperContacts='';var promises=[];var index=0x0;var alreadyInvalid=![];function handleCheckRowError(_0x568c81,_0xf8b1e4,_0x2cc26e,_0x43fff5){var _0x4f8155={'message':_0xf8b1e4};_0x4f8155[_0x568c81]=!![];if(_0x2cc26e){_0x4f8155[_0x65a1('0x13')]=_0x2cc26e;}if(_0x43fff5){_0x4f8155[_0x65a1('0x14')]=_0x43fff5;}return _0x4f8155;}function isEmail(_0x16bddd){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))*$/[_0x65a1('0x15')](_0x16bddd);}function checkRow(_0x48f3d5,_0x3689a3,_0x195c6a){return new BPromise(function(_0x4942e4,_0x34fe0f){if(_[_0x65a1('0x16')](_0x48f3d5)){return _0x34fe0f(handleCheckRowError(_0x65a1('0x17'),_0x65a1('0x18'),null,_0x195c6a));}if(_0x48f3d5[_0x65a1('0x19')]&&_0x48f3d5[_0x65a1('0x19')]['length']){var _0x226ffd=_['map'](_0x48f3d5[_0x65a1('0x19')],'message')[_0x65a1('0x1a')](';');return _0x34fe0f(handleCheckRowError('error',_0x226ffd,null,_0x195c6a));}var _0x410b96={};for(var _0x3136a1 in FIELDS){if(FIELDS['hasOwnProperty'](_0x3136a1)&&FIELDS[_0x3136a1]){_0x410b96[_0x3136a1]=_0x48f3d5[_0x65a1('0x1b')][0x0][FIELDS[_0x3136a1]]||_0x48f3d5[_0x65a1('0x1b')][0x0]['\ufeff'+FIELDS[_0x3136a1]];}}if(!_0x410b96['firstName']){return _0x34fe0f(handleCheckRowError(_0x65a1('0x17'),_0x65a1('0x1c'),null,_0x195c6a));}if(!_0x410b96[_0x65a1('0x1d')]){return _0x34fe0f(handleCheckRowError(_0x65a1('0x17'),_0x65a1('0x1e'),null,_0x195c6a));}if(_0x410b96[_0x65a1('0x1f')]){var _0x13f359=moment(_0x410b96[_0x65a1('0x1f')],_0x65a1('0x20'));if(!_0x13f359[_0x65a1('0x21')]()){return _0x34fe0f(handleCheckRowError(_0x65a1('0x17'),_0x65a1('0x22'),null,_0x195c6a));}}if(_0x410b96[_0x65a1('0x23')]){if(!isEmail(_0x410b96[_0x65a1('0x23')])){return _0x34fe0f(handleCheckRowError(_0x65a1('0x17'),_0x65a1('0x24'),null,_0x195c6a));}}_0x410b96[_0x65a1('0x25')]=LISTID;_0x410b96[_0x65a1('0x26')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES[_0x65a1('0x27')]&&_0x3689a3){var _0x583424={};for(var _0x5cf3e4=0x0,_0x3c74fa=DUPLICATES[_0x65a1('0x27')];_0x5cf3e4<_0x3c74fa;_0x5cf3e4+=0x1){_0x583424[DUPLICATES[_0x5cf3e4]]=_0x410b96[DUPLICATES[_0x5cf3e4]];}var _0x134c41=_[_0x65a1('0x28')](_0x3689a3,_0x583424);if(_0x134c41){return _0x34fe0f(handleCheckRowError(_0x65a1('0x29'),'Duplicate\x20Contact',_0x134c41,_0x195c6a));}}return db[_0x65a1('0x2a')]['create'](_0x410b96,{'raw':!![],'hooks':![],'fields':_[_0x65a1('0x2b')](_0x410b96)})[_0x65a1('0x2c')](function(_0x6c1fed){if(DUPLICATES&&DUPLICATES[_0x65a1('0x27')]&&_0x3689a3){_0x3689a3[_0x65a1('0x2d')](_[_0x65a1('0x2e')](_0x410b96,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x6c1fed['id'];return _0x4942e4();})[_0x65a1('0x2f')](function(_0x9e91f8){return _0x34fe0f(handleCheckRowError('error',_0x65a1('0x30')+(_0x9e91f8[_0x65a1('0x31')]||JSON[_0x65a1('0x32')](_0x9e91f8)),null,_0x195c6a));});});}function checkHopper(){function _0x5598ce(){return function(_0x1af5d3){logger[_0x65a1('0x17')]('cmContact',_0x65a1('0x33'),util[_0x65a1('0x34')](_0x1af5d3,{'showHidden':![],'depth':null}));};}var _0x574398=function(_0x21f0fe,_0xabdf90){var _0x4cf758=squel[_0x65a1('0x35')]()['into'](_0x65a1('0x36'))[_0x65a1('0x37')]([_0x65a1('0x1d'),_0x65a1('0x38'),'ContactId',_0x65a1('0x25'),_0xabdf90,_0x65a1('0x39'),_0x65a1('0x3a')],squel[_0x65a1('0x3b')]()[_0x65a1('0x3c')]('phone','phone')[_0x65a1('0x3c')](_0x65a1('0x3d'),_0x65a1('0x38'))['field']('id',_0x65a1('0x3e'))[_0x65a1('0x3c')](LISTID[_0x65a1('0x3f')](),_0x65a1('0x25'))['field'](_0x21f0fe['id']['toString'](),_0xabdf90)[_0x65a1('0x3c')](_0x65a1('0x3d'),_0x65a1('0x39'))['field'](_0x65a1('0x3d'),_0x65a1('0x3a'))['from'](_0x65a1('0x40'))[_0x65a1('0x41')]('deletedAt\x20IS\x20NULL')['where'](_0x65a1('0x42'),LISTID[_0x65a1('0x3f')]())[_0x65a1('0x41')](_0x65a1('0x43'))[_0x65a1('0x41')]('phone\x20NOT\x20IN\x20(?)',squel[_0x65a1('0x3b')]()['field']('phone')[_0x65a1('0x44')](_0x65a1('0x36'))[_0x65a1('0x41')](_0xabdf90+_0x65a1('0x45'),_0x21f0fe['id'][_0x65a1('0x3f')]())))[_0x65a1('0x3f')]();return _0x4cf758;};var _0x1f12bd=function(_0x9df390,_0x2ab9a1){var _0x3985b0=squel[_0x65a1('0x35')]()['into']('cm_hopper')[_0x65a1('0x37')]([_0x65a1('0x1d'),_0x65a1('0x38'),_0x65a1('0x3e'),_0x65a1('0x25'),_0x2ab9a1,_0x65a1('0x39'),'updatedAt'],squel['select']()[_0x65a1('0x3c')]('phone',_0x65a1('0x1d'))[_0x65a1('0x3c')](_0x65a1('0x3d'),_0x65a1('0x38'))[_0x65a1('0x3c')]('id',_0x65a1('0x3e'))[_0x65a1('0x3c')](LISTID[_0x65a1('0x3f')](),_0x65a1('0x25'))['field'](_0x9df390['id'][_0x65a1('0x3f')](),_0x2ab9a1)['field']('NOW()',_0x65a1('0x39'))['field'](_0x65a1('0x3d'),_0x65a1('0x3a'))['from'](_0x65a1('0x40'))[_0x65a1('0x41')](_0x65a1('0x46'))['where'](_0x65a1('0x42'),LISTID[_0x65a1('0x3f')]())[_0x65a1('0x41')](_0x65a1('0x47'),squel['str'](hopperContacts))[_0x65a1('0x41')](_0x65a1('0x43'))[_0x65a1('0x41')](_0x65a1('0x48'),squel[_0x65a1('0x3b')]()[_0x65a1('0x3c')](_0x65a1('0x49'))['from'](_0x65a1('0x4a'))['where'](_0x2ab9a1+_0x65a1('0x45'),_0x9df390['id'][_0x65a1('0x3f')]()))[_0x65a1('0x41')](_0x65a1('0x48'),squel[_0x65a1('0x3b')]()[_0x65a1('0x3c')](_0x65a1('0x1d'))['from'](_0x65a1('0x36'))[_0x65a1('0x41')](_0x2ab9a1+_0x65a1('0x45'),_0x9df390['id'][_0x65a1('0x3f')]())))[_0x65a1('0x3f')]();return _0x3985b0;};function _0x29bbcf(_0x52a23e,_0x191c45){var _0xe32d38=squel[_0x65a1('0x35')]()['into'](_0x65a1('0x36'))[_0x65a1('0x37')](['phone',_0x65a1('0x38'),_0x65a1('0x3e'),_0x65a1('0x25'),_0x191c45,'createdAt',_0x65a1('0x3a')],squel[_0x65a1('0x3b')]()[_0x65a1('0x3c')](_0x65a1('0x1d'),'phone')['field'](_0x65a1('0x3d'),_0x65a1('0x38'))[_0x65a1('0x3c')]('id','ContactId')['field'](LISTID[_0x65a1('0x3f')](),'ListId')[_0x65a1('0x3c')](_0x52a23e['id'][_0x65a1('0x3f')](),_0x191c45)[_0x65a1('0x3c')](_0x65a1('0x3d'),_0x65a1('0x39'))[_0x65a1('0x3c')](_0x65a1('0x3d'),'updatedAt')[_0x65a1('0x44')](_0x65a1('0x40'))[_0x65a1('0x41')](_0x65a1('0x46'))[_0x65a1('0x41')](_0x65a1('0x42'),LISTID[_0x65a1('0x3f')]())[_0x65a1('0x41')](_0x65a1('0x47'),squel[_0x65a1('0x4b')](hopperContacts))['where'](_0x65a1('0x43')))[_0x65a1('0x3f')]();return _0xe32d38;}function _0x5c3f97(_0x4085cb,_0x306bf8){var _0x586ae2=squel[_0x65a1('0x35')]()[_0x65a1('0x4c')]('cm_hopper_black')[_0x65a1('0x37')]([_0x65a1('0x1d'),_0x65a1('0x3e'),_0x65a1('0x25'),_0x306bf8,_0x65a1('0x39'),'updatedAt'],squel['select']()[_0x65a1('0x3c')]('phone',_0x65a1('0x1d'))[_0x65a1('0x3c')]('id',_0x65a1('0x3e'))['field'](LISTID[_0x65a1('0x3f')](),'ListId')[_0x65a1('0x3c')](_0x4085cb['id'][_0x65a1('0x3f')](),_0x306bf8)[_0x65a1('0x3c')](_0x65a1('0x3d'),_0x65a1('0x39'))['field'](_0x65a1('0x3d'),'updatedAt')[_0x65a1('0x44')](_0x65a1('0x40'))['where']('deletedAt\x20IS\x20NULL')[_0x65a1('0x41')](_0x65a1('0x42'),LISTID[_0x65a1('0x3f')]())[_0x65a1('0x41')](_0x65a1('0x47'),squel['str'](hopperContacts))['where'](_0x65a1('0x43')))[_0x65a1('0x3f')]();return _0x586ae2;}return db[_0x65a1('0x4d')][_0x65a1('0x4e')]({'where':{'type':_0x65a1('0x4f')},'attributes':['id','dialCheckDuplicateType'],'include':[{'model':db[_0x65a1('0x50')],'as':'Lists','where':{'id':LISTID}}]})['then'](function(_0x38b3e8){var _0x14f7c7=[];if(_0x38b3e8){var _0x2396e3;for(var _0xf4df49=0x0,_0x505472;_0xf4df49<_0x38b3e8[_0x65a1('0x27')];_0xf4df49+=0x1){_0x505472=_0x38b3e8[_0xf4df49]['get']({'plain':!![]});switch(_0x505472['dialCheckDuplicateType']){case _0x65a1('0x51'):_0x14f7c7['push'](db[_0x65a1('0x52')][_0x65a1('0x53')](_0x1f12bd(_0x505472,'VoiceQueueId'))[_0x65a1('0x2c')](function(){})['catch'](_0x5598ce()));break;case _0x65a1('0x54'):_0x14f7c7[_0x65a1('0x2d')](db[_0x65a1('0x52')][_0x65a1('0x53')](_0x574398(_0x505472,_0x65a1('0x55')))[_0x65a1('0x2c')](function(){})[_0x65a1('0x2f')](_0x5598ce()));break;default:_0x14f7c7[_0x65a1('0x2d')](db['sequelize'][_0x65a1('0x53')](_0x29bbcf(_0x505472,_0x65a1('0x55')))['then'](function(){})['catch'](_0x5598ce()));}}}return _0x14f7c7;})[_0x65a1('0x56')]()[_0x65a1('0x2c')](function(){return db[_0x65a1('0x4d')]['findAll']({'where':{'type':'outbound'},'attributes':['id'],'include':[{'model':db[_0x65a1('0x50')],'as':_0x65a1('0x57'),'where':{'id':LISTID}}]})[_0x65a1('0x2c')](function(_0x5121a0){var _0xbb159b=[];if(_0x5121a0){var _0x38f6f5;for(var _0x435e1e=0x0,_0x3f330f;_0x435e1e<_0x5121a0[_0x65a1('0x27')];_0x435e1e+=0x1){_0x3f330f=_0x5121a0[_0x435e1e][_0x65a1('0x58')]({'plain':!![]});_0xbb159b[_0x65a1('0x2d')](db[_0x65a1('0x52')][_0x65a1('0x53')](_0x5c3f97(_0x3f330f,_0x65a1('0x55')))['then'](function(){})[_0x65a1('0x2f')](_0x5598ce()));}}return _0xbb159b;})[_0x65a1('0x56')]();})['then'](function(){return db[_0x65a1('0x59')][_0x65a1('0x4e')]({'attributes':['id',_0x65a1('0x5a')],'include':[{'model':db['CmList'],'as':'Lists','where':{'id':LISTID}}]})['then'](function(_0x350258){var _0x2509f1=[];if(_0x350258){for(var _0x58a759=0x0,_0x4b32b4;_0x58a759<_0x350258[_0x65a1('0x27')];_0x58a759+=0x1){_0x4b32b4=_0x350258[_0x58a759][_0x65a1('0x58')]({'plain':!![]});switch(_0x4b32b4[_0x65a1('0x5a')]){case _0x65a1('0x51'):_0x2509f1[_0x65a1('0x2d')](db[_0x65a1('0x52')][_0x65a1('0x53')](_0x1f12bd(_0x4b32b4,_0x65a1('0x5b')))[_0x65a1('0x2c')](function(){})['catch'](_0x5598ce()));break;case _0x65a1('0x54'):_0x2509f1[_0x65a1('0x2d')](db[_0x65a1('0x52')]['query'](_0x574398(_0x4b32b4,'CampaignId'))[_0x65a1('0x2c')](function(){})[_0x65a1('0x2f')](_0x5598ce()));break;default:_0x2509f1['push'](db['sequelize'][_0x65a1('0x53')](_0x29bbcf(_0x4b32b4,_0x65a1('0x5b')))[_0x65a1('0x2c')](function(){})[_0x65a1('0x2f')](_0x5598ce()));}}}return _0x2509f1;})[_0x65a1('0x56')]();})['then'](function(){return db[_0x65a1('0x59')]['findAll']({'attributes':['id'],'include':[{'model':db[_0x65a1('0x50')],'as':_0x65a1('0x57'),'where':{'id':LISTID}}]})['then'](function(_0x80db59){var _0x5d54a4=[];if(_0x80db59){for(var _0x58a5bc=0x0,_0x55f611;_0x58a5bc<_0x80db59['length'];_0x58a5bc+=0x1){_0x55f611=_0x80db59[_0x58a5bc][_0x65a1('0x58')]({'plain':!![]});_0x5d54a4[_0x65a1('0x2d')](db[_0x65a1('0x52')]['query'](_0x5c3f97(_0x55f611,_0x65a1('0x5b')))[_0x65a1('0x2c')](function(){})['catch'](_0x5598ce()));}}return _0x5d54a4;})[_0x65a1('0x56')]();})['catch'](function(_0xcee731){logger['error'](_0x65a1('0x5c'),_0x65a1('0x5d'),_0xcee731[_0x65a1('0x31')]);});}var processPromises=function(_0x215531){return BPromise[_0x65a1('0x56')](promises)[_0x65a1('0x2c')](function(_0x3fd621){})[_0x65a1('0x2f')](function(_0x3a4a14){logger[_0x65a1('0x17')](_0x65a1('0x5e'),JSON[_0x65a1('0x32')](_0x3a4a14));})[_0x65a1('0x5f')](function(){socket[_0x65a1('0x60')](_0x65a1('0x61')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x215531){return _0x215531[_0x65a1('0x62')]();}});};var endCsv=function(){return BPromise['resolve']()[_0x65a1('0x2c')](function(){if(hopperContacts){return checkHopper();}})['then'](function(){socket[_0x65a1('0x60')](_0x65a1('0x61')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0x65a1('0x63')](FILEPATH);}catch(_0x44e113){logger[_0x65a1('0x17')](_0x65a1('0x64'),JSON[_0x65a1('0x32')](_0x44e113));}finally{process[_0x65a1('0x65')](0x0);}});};process['on']('SIGINT',function(){logger[_0x65a1('0x66')](_0x65a1('0x67'));endCsv();});function main(){return BPromise['resolve']()['then'](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0x65a1('0x11')](',');return db['CmContact']['findAll']({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x65a1('0x2c')](function(_0x48a940){var _0x547a6e=fs[_0x65a1('0x68')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x65a1('0x69')](_0x547a6e,{'header':!![],'skipEmptyLines':!![],'step':function(_0x3a2e89,_0x410ea5){total+=0x1;var _0x218233=total;promises[_0x65a1('0x2d')](checkRow(_0x3a2e89,_0x48a940,_0x218233)['then'](function(){success+=0x1;})[_0x65a1('0x2f')](function(_0x459325){if(_0x459325[_0x65a1('0x17')]){errors+=0x1;delete _0x459325['error'];}else if(_0x459325['duplicate']){duplicates+=0x1;delete _0x459325[_0x65a1('0x29')];}rows['push'](_0x459325);}));if(total%0xc8===0x0){_0x410ea5['pause']();return processPromises(_0x410ea5);}},'complete':function(){return processPromises()[_0x65a1('0x2c')](function(){logger['info'](_0x65a1('0x6a'));endCsv();});},'error':function(_0x450aa8,_0x50ab95){logger[_0x65a1('0x66')](_0x65a1('0x6b'),JSON[_0x65a1('0x32')](_0x450aa8));endCsv();}});})[_0x65a1('0x2f')](function(_0x15b678){logger['error'](_0x65a1('0x6c'),JSON[_0x65a1('0x32')](_0x15b678));});}main();