2f174f8507eea55e13c235ffc42cd2f2fea5885b
[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 _0x5ac2=['isValid','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','email\x20format\x20is\x20not\x20valid!','ListId','CompanyId','length','find','duplicate','Duplicate\x20Contact','CmContact','create','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','inspect','into','scheduledAt','ContactId','createdAt','select','field','toString','NOW()','updatedAt','from','cm_contacts','where','deletedAt\x20IS\x20NULL','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','cm_hopper','insert','str','calleridnum','\x20=\x20?','fromQuery','id\x20IN\x20?','cm_hopper_black','VoiceQueue','findAll','outbound','dialCheckDuplicateType','CmList','Lists','get','always','sequelize','query','VoiceQueueId','onlyIfOpen','all','BlackLists','Campaign','CampaignId','generalCheckHopper','Error\x20processing\x20rows\x20block:','stringify','contact:csv_','resume','emit','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','exit','SIGINT','CSV\x20import\x20process\x20stopped!','resolve','createReadStream','parse','pause','info','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','util','lodash','squel','papaparse','../../../mysqldb','../../../config/environment','api','redis','defaults','socket.io-emitter','../../../api/cmContact/cmContact.socket','register','undefined','argv','Missing\x20filepath\x20parameter!','null','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','contact','index','test','isNil','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','map','message','join','error','data','firstName','firstName\x20not\x20specified!','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD'];(function(_0x16e4cc,_0x3049a6){var _0x9bf887=function(_0x128aa4){while(--_0x128aa4){_0x16e4cc['push'](_0x16e4cc['shift']());}};_0x9bf887(++_0x3049a6);}(_0x5ac2,0xc1));var _0x25ac=function(_0x50ea06,_0x263e97){_0x50ea06=_0x50ea06-0x0;var _0x7aefe6=_0x5ac2[_0x50ea06];return _0x7aefe6;};'use strict';var BPromise=require(_0x25ac('0x0'));var util=require(_0x25ac('0x1'));var _=require(_0x25ac('0x2'));var fs=require('fs');var squel=require(_0x25ac('0x3'));var Papa=require(_0x25ac('0x4'));var Redis=require('ioredis');var db=require(_0x25ac('0x5'))['db'];var config=require(_0x25ac('0x6'));var logger=require('../../../config/logger')(_0x25ac('0x7'));config[_0x25ac('0x8')]=_[_0x25ac('0x9')](config[_0x25ac('0x8')],{'host':'localhost','port':0x18eb});var socket=require(_0x25ac('0xa'))(new Redis(config['redis']));require(_0x25ac('0xb'))[_0x25ac('0xc')](socket);try{if(!process['argv'][0x2]||process['argv'][0x2]===_0x25ac('0xd')||process[_0x25ac('0xe')][0x2]==='null'){throw new Error(_0x25ac('0xf'));}var FILEPATH=process[_0x25ac('0xe')][0x2];if(!process[_0x25ac('0xe')][0x3]||process[_0x25ac('0xe')][0x3]==='undefined'||process[_0x25ac('0xe')][0x3]===_0x25ac('0x10')||!process[_0x25ac('0xe')][0x4]||process[_0x25ac('0xe')][0x4]==='undefined'||process[_0x25ac('0xe')][0x4]===_0x25ac('0x10')){throw new Error('Missing\x20binding\x20parameters!');}var FIELDS=_['zipObject'](process[_0x25ac('0xe')][0x3][_0x25ac('0x11')](','),process[_0x25ac('0xe')][0x4][_0x25ac('0x11')](','));if(!process[_0x25ac('0xe')][0x5]||process[_0x25ac('0xe')][0x5]===_0x25ac('0xd')||process[_0x25ac('0xe')][0x5]===_0x25ac('0x10')){throw new Error(_0x25ac('0x12'));}var LISTID=process[_0x25ac('0xe')][0x5];var COMPANYID=process[_0x25ac('0xe')][0x6]&&process[_0x25ac('0xe')][0x6]!=='undefined'&&process[_0x25ac('0xe')][0x6]!==_0x25ac('0x10')?process['argv'][0x6]:null;var DUPLICATES=process['argv'][0x7]&&process[_0x25ac('0xe')][0x7]!==_0x25ac('0xd')&&process['argv'][0x7]!==_0x25ac('0x10')?process[_0x25ac('0xe')][0x7]:null;if(!process[_0x25ac('0xe')][0x8]||process['argv'][0x8]===_0x25ac('0xd')||process['argv'][0x8]===_0x25ac('0x10')){throw new Error(_0x25ac('0x13'));}var SOCKET_TIMESTAMP=process['argv'][0x8];}catch(_0x54ed69){logger['error'](_0x54ed69);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(_0x3a1d06,_0x5a9462,_0x484aea,_0x1104ed){var _0x306905={'message':_0x5a9462};_0x306905[_0x3a1d06]=!![];if(_0x484aea){_0x306905[_0x25ac('0x14')]=_0x484aea;}if(_0x1104ed){_0x306905[_0x25ac('0x15')]=_0x1104ed;}return _0x306905;}function isEmail(_0x43fb63){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))*$/[_0x25ac('0x16')](_0x43fb63);}function checkRow(_0x4c9433,_0x2c9ba5,_0x12d090){return new BPromise(function(_0x188387,_0x317813){if(_[_0x25ac('0x17')](_0x4c9433)){return _0x317813(handleCheckRowError('error',_0x25ac('0x18'),null,_0x12d090));}if(_0x4c9433[_0x25ac('0x19')]&&_0x4c9433['errors']['length']){var _0xeeb453=_[_0x25ac('0x1a')](_0x4c9433[_0x25ac('0x19')],_0x25ac('0x1b'))[_0x25ac('0x1c')](';');return _0x317813(handleCheckRowError(_0x25ac('0x1d'),_0xeeb453,null,_0x12d090));}var _0x3be497={};for(var _0x3688b6 in FIELDS){if(FIELDS['hasOwnProperty'](_0x3688b6)&&FIELDS[_0x3688b6]){_0x3be497[_0x3688b6]=_0x4c9433['data'][0x0][FIELDS[_0x3688b6]]||_0x4c9433[_0x25ac('0x1e')][0x0]['\ufeff'+FIELDS[_0x3688b6]];}}if(!_0x3be497[_0x25ac('0x1f')]){return _0x317813(handleCheckRowError(_0x25ac('0x1d'),_0x25ac('0x20'),null,_0x12d090));}if(!_0x3be497[_0x25ac('0x21')]){return _0x317813(handleCheckRowError(_0x25ac('0x1d'),_0x25ac('0x22'),null,_0x12d090));}if(_0x3be497[_0x25ac('0x23')]){var _0x4ec83f=moment(_0x3be497[_0x25ac('0x23')],_0x25ac('0x24'));if(!_0x4ec83f[_0x25ac('0x25')]()){return _0x317813(handleCheckRowError(_0x25ac('0x1d'),_0x25ac('0x26'),null,_0x12d090));}}if(_0x3be497['email']){if(!isEmail(_0x3be497[_0x25ac('0x27')])){return _0x317813(handleCheckRowError('error',_0x25ac('0x28'),null,_0x12d090));}}_0x3be497[_0x25ac('0x29')]=LISTID;_0x3be497[_0x25ac('0x2a')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES['length']&&_0x2c9ba5){var _0xde43fa={};for(var _0x5712ac=0x0,_0x9510d1=DUPLICATES[_0x25ac('0x2b')];_0x5712ac<_0x9510d1;_0x5712ac+=0x1){_0xde43fa[DUPLICATES[_0x5712ac]]=_0x3be497[DUPLICATES[_0x5712ac]];}var _0x2badec=_[_0x25ac('0x2c')](_0x2c9ba5,_0xde43fa);if(_0x2badec){return _0x317813(handleCheckRowError(_0x25ac('0x2d'),_0x25ac('0x2e'),_0x2badec,_0x12d090));}}return db[_0x25ac('0x2f')][_0x25ac('0x30')](_0x3be497,{'raw':!![],'hooks':![],'fields':_[_0x25ac('0x31')](_0x3be497)})[_0x25ac('0x32')](function(_0x59e3a0){if(DUPLICATES&&DUPLICATES[_0x25ac('0x2b')]&&_0x2c9ba5){_0x2c9ba5[_0x25ac('0x33')](_[_0x25ac('0x34')](_0x3be497,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x59e3a0['id'];return _0x188387();})[_0x25ac('0x35')](function(_0x1df858){return _0x317813(handleCheckRowError(_0x25ac('0x1d'),_0x25ac('0x36')+(_0x1df858['message']||JSON['stringify'](_0x1df858)),null,_0x12d090));});});}function checkHopper(){function _0x123c88(){return function(_0x27f977){logger[_0x25ac('0x1d')]('cmContact','checkHopper',util[_0x25ac('0x37')](_0x27f977,{'showHidden':![],'depth':null}));};}var _0x34ce1f=function(_0x43f4df,_0x81dfaf){var _0x4ee176=squel['insert']()[_0x25ac('0x38')]('cm_hopper')['fromQuery']([_0x25ac('0x21'),_0x25ac('0x39'),_0x25ac('0x3a'),_0x25ac('0x29'),_0x81dfaf,_0x25ac('0x3b'),'updatedAt'],squel[_0x25ac('0x3c')]()['field']('phone','phone')[_0x25ac('0x3d')]('NOW()','scheduledAt')['field']('id','ContactId')[_0x25ac('0x3d')](LISTID[_0x25ac('0x3e')](),'ListId')[_0x25ac('0x3d')](_0x43f4df['id'][_0x25ac('0x3e')](),_0x81dfaf)[_0x25ac('0x3d')](_0x25ac('0x3f'),_0x25ac('0x3b'))['field'](_0x25ac('0x3f'),_0x25ac('0x40'))[_0x25ac('0x41')](_0x25ac('0x42'))[_0x25ac('0x43')](_0x25ac('0x44'))[_0x25ac('0x43')](_0x25ac('0x45'),LISTID[_0x25ac('0x3e')]())['where'](_0x25ac('0x46'))[_0x25ac('0x43')](_0x25ac('0x47'),squel[_0x25ac('0x3c')]()['field'](_0x25ac('0x21'))[_0x25ac('0x41')](_0x25ac('0x48'))[_0x25ac('0x43')](_0x81dfaf+'\x20=\x20?',_0x43f4df['id'][_0x25ac('0x3e')]())))['toString']();return _0x4ee176;};var _0x4c2cc7=function(_0x45af82,_0x17aa13){var _0x445ede=squel[_0x25ac('0x49')]()[_0x25ac('0x38')]('cm_hopper')['fromQuery']([_0x25ac('0x21'),_0x25ac('0x39'),_0x25ac('0x3a'),_0x25ac('0x29'),_0x17aa13,_0x25ac('0x3b'),_0x25ac('0x40')],squel['select']()[_0x25ac('0x3d')](_0x25ac('0x21'),_0x25ac('0x21'))['field'](_0x25ac('0x3f'),_0x25ac('0x39'))[_0x25ac('0x3d')]('id',_0x25ac('0x3a'))[_0x25ac('0x3d')](LISTID['toString'](),_0x25ac('0x29'))['field'](_0x45af82['id']['toString'](),_0x17aa13)['field'](_0x25ac('0x3f'),'createdAt')[_0x25ac('0x3d')](_0x25ac('0x3f'),_0x25ac('0x40'))[_0x25ac('0x41')](_0x25ac('0x42'))[_0x25ac('0x43')]('deletedAt\x20IS\x20NULL')[_0x25ac('0x43')]('ListId\x20=\x20?',LISTID['toString']())[_0x25ac('0x43')]('id\x20IN\x20?',squel[_0x25ac('0x4a')](hopperContacts))['where'](_0x25ac('0x46'))['where'](_0x25ac('0x47'),squel[_0x25ac('0x3c')]()[_0x25ac('0x3d')](_0x25ac('0x4b'))['from']('cm_hopper_final')['where'](_0x17aa13+_0x25ac('0x4c'),_0x45af82['id'][_0x25ac('0x3e')]()))[_0x25ac('0x43')](_0x25ac('0x47'),squel[_0x25ac('0x3c')]()['field'](_0x25ac('0x21'))[_0x25ac('0x41')]('cm_hopper')['where'](_0x17aa13+_0x25ac('0x4c'),_0x45af82['id'][_0x25ac('0x3e')]())))[_0x25ac('0x3e')]();return _0x445ede;};function _0x234fcc(_0x4e08b0,_0x526dcd){var _0x5dc63d=squel[_0x25ac('0x49')]()[_0x25ac('0x38')](_0x25ac('0x48'))[_0x25ac('0x4d')]([_0x25ac('0x21'),_0x25ac('0x39'),_0x25ac('0x3a'),_0x25ac('0x29'),_0x526dcd,'createdAt',_0x25ac('0x40')],squel[_0x25ac('0x3c')]()['field'](_0x25ac('0x21'),'phone')['field']('NOW()',_0x25ac('0x39'))[_0x25ac('0x3d')]('id',_0x25ac('0x3a'))[_0x25ac('0x3d')](LISTID[_0x25ac('0x3e')](),_0x25ac('0x29'))[_0x25ac('0x3d')](_0x4e08b0['id'][_0x25ac('0x3e')](),_0x526dcd)[_0x25ac('0x3d')](_0x25ac('0x3f'),_0x25ac('0x3b'))[_0x25ac('0x3d')]('NOW()',_0x25ac('0x40'))[_0x25ac('0x41')]('cm_contacts')['where'](_0x25ac('0x44'))['where'](_0x25ac('0x45'),LISTID['toString']())[_0x25ac('0x43')](_0x25ac('0x4e'),squel[_0x25ac('0x4a')](hopperContacts))[_0x25ac('0x43')](_0x25ac('0x46')))['toString']();return _0x5dc63d;}function _0x2736ed(_0x21cf57,_0x272a52){var _0x49faba=squel[_0x25ac('0x49')]()[_0x25ac('0x38')](_0x25ac('0x4f'))[_0x25ac('0x4d')]([_0x25ac('0x21'),_0x25ac('0x3a'),_0x25ac('0x29'),_0x272a52,_0x25ac('0x3b'),'updatedAt'],squel['select']()[_0x25ac('0x3d')](_0x25ac('0x21'),_0x25ac('0x21'))[_0x25ac('0x3d')]('id',_0x25ac('0x3a'))[_0x25ac('0x3d')](LISTID[_0x25ac('0x3e')](),_0x25ac('0x29'))[_0x25ac('0x3d')](_0x21cf57['id'][_0x25ac('0x3e')](),_0x272a52)[_0x25ac('0x3d')](_0x25ac('0x3f'),'createdAt')[_0x25ac('0x3d')](_0x25ac('0x3f'),_0x25ac('0x40'))['from'](_0x25ac('0x42'))[_0x25ac('0x43')]('deletedAt\x20IS\x20NULL')[_0x25ac('0x43')](_0x25ac('0x45'),LISTID['toString']())[_0x25ac('0x43')](_0x25ac('0x4e'),squel['str'](hopperContacts))[_0x25ac('0x43')]('phone\x20IS\x20NOT\x20NULL'))['toString']();return _0x49faba;}return db[_0x25ac('0x50')][_0x25ac('0x51')]({'where':{'type':_0x25ac('0x52')},'attributes':['id',_0x25ac('0x53')],'include':[{'model':db[_0x25ac('0x54')],'as':_0x25ac('0x55'),'where':{'id':LISTID}}]})[_0x25ac('0x32')](function(_0x1d07ca){var _0x448970=[];if(_0x1d07ca){var _0x3313e6;for(var _0x38166a=0x0,_0x446013;_0x38166a<_0x1d07ca[_0x25ac('0x2b')];_0x38166a+=0x1){_0x446013=_0x1d07ca[_0x38166a][_0x25ac('0x56')]({'plain':!![]});switch(_0x446013[_0x25ac('0x53')]){case _0x25ac('0x57'):_0x448970[_0x25ac('0x33')](db[_0x25ac('0x58')][_0x25ac('0x59')](_0x4c2cc7(_0x446013,_0x25ac('0x5a')))['then'](function(){})[_0x25ac('0x35')](_0x123c88()));break;case _0x25ac('0x5b'):_0x448970[_0x25ac('0x33')](db['sequelize'][_0x25ac('0x59')](_0x34ce1f(_0x446013,_0x25ac('0x5a')))['then'](function(){})['catch'](_0x123c88()));break;default:_0x448970[_0x25ac('0x33')](db[_0x25ac('0x58')][_0x25ac('0x59')](_0x234fcc(_0x446013,_0x25ac('0x5a')))[_0x25ac('0x32')](function(){})[_0x25ac('0x35')](_0x123c88()));}}}return _0x448970;})[_0x25ac('0x5c')]()[_0x25ac('0x32')](function(){return db[_0x25ac('0x50')][_0x25ac('0x51')]({'where':{'type':_0x25ac('0x52')},'attributes':['id'],'include':[{'model':db[_0x25ac('0x54')],'as':_0x25ac('0x5d'),'where':{'id':LISTID}}]})[_0x25ac('0x32')](function(_0x9c24e3){var _0x4ac1b9=[];if(_0x9c24e3){var _0x5f3119;for(var _0xd6b2cf=0x0,_0x995bd3;_0xd6b2cf<_0x9c24e3[_0x25ac('0x2b')];_0xd6b2cf+=0x1){_0x995bd3=_0x9c24e3[_0xd6b2cf][_0x25ac('0x56')]({'plain':!![]});_0x4ac1b9[_0x25ac('0x33')](db[_0x25ac('0x58')]['query'](_0x2736ed(_0x995bd3,_0x25ac('0x5a')))[_0x25ac('0x32')](function(){})[_0x25ac('0x35')](_0x123c88()));}}return _0x4ac1b9;})[_0x25ac('0x5c')]();})[_0x25ac('0x32')](function(){return db[_0x25ac('0x5e')]['findAll']({'attributes':['id',_0x25ac('0x53')],'include':[{'model':db[_0x25ac('0x54')],'as':'Lists','where':{'id':LISTID}}]})[_0x25ac('0x32')](function(_0x2ce004){var _0x2b0a81=[];if(_0x2ce004){for(var _0x2f7e5b=0x0,_0x33863f;_0x2f7e5b<_0x2ce004[_0x25ac('0x2b')];_0x2f7e5b+=0x1){_0x33863f=_0x2ce004[_0x2f7e5b][_0x25ac('0x56')]({'plain':!![]});switch(_0x33863f[_0x25ac('0x53')]){case'always':_0x2b0a81[_0x25ac('0x33')](db['sequelize']['query'](_0x4c2cc7(_0x33863f,_0x25ac('0x5f')))[_0x25ac('0x32')](function(){})['catch'](_0x123c88()));break;case _0x25ac('0x5b'):_0x2b0a81[_0x25ac('0x33')](db[_0x25ac('0x58')][_0x25ac('0x59')](_0x34ce1f(_0x33863f,_0x25ac('0x5f')))['then'](function(){})[_0x25ac('0x35')](_0x123c88()));break;default:_0x2b0a81[_0x25ac('0x33')](db[_0x25ac('0x58')]['query'](_0x234fcc(_0x33863f,_0x25ac('0x5f')))[_0x25ac('0x32')](function(){})[_0x25ac('0x35')](_0x123c88()));}}}return _0x2b0a81;})[_0x25ac('0x5c')]();})['then'](function(){return db['Campaign']['findAll']({'attributes':['id'],'include':[{'model':db[_0x25ac('0x54')],'as':'BlackLists','where':{'id':LISTID}}]})[_0x25ac('0x32')](function(_0x332ae8){var _0xf48072=[];if(_0x332ae8){for(var _0x6b201e=0x0,_0x15515c;_0x6b201e<_0x332ae8[_0x25ac('0x2b')];_0x6b201e+=0x1){_0x15515c=_0x332ae8[_0x6b201e]['get']({'plain':!![]});_0xf48072[_0x25ac('0x33')](db[_0x25ac('0x58')][_0x25ac('0x59')](_0x2736ed(_0x15515c,_0x25ac('0x5f')))[_0x25ac('0x32')](function(){})['catch'](_0x123c88()));}}return _0xf48072;})[_0x25ac('0x5c')]();})['catch'](function(_0x5e5564){logger[_0x25ac('0x1d')]('cmContact,\x20%s,\x20%s',_0x25ac('0x60'),_0x5e5564[_0x25ac('0x1b')]);});}var processPromises=function(_0x49cd3d){return BPromise[_0x25ac('0x5c')](promises)['then'](function(_0x5c3a77){})[_0x25ac('0x35')](function(_0x3fc502){logger['error'](_0x25ac('0x61'),JSON[_0x25ac('0x62')](_0x3fc502));})['finally'](function(){socket['emit'](_0x25ac('0x63')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x49cd3d){return _0x49cd3d[_0x25ac('0x64')]();}});};var endCsv=function(){return BPromise['resolve']()['then'](function(){if(hopperContacts){return checkHopper();}})[_0x25ac('0x32')](function(){socket[_0x25ac('0x65')](_0x25ac('0x63')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0x25ac('0x66')](FILEPATH);}catch(_0x1c11e0){logger['error'](_0x25ac('0x67'),JSON['stringify'](_0x1c11e0));}finally{process[_0x25ac('0x68')](0x0);}});};process['on'](_0x25ac('0x69'),function(){logger['info'](_0x25ac('0x6a'));endCsv();});function main(){return BPromise[_0x25ac('0x6b')]()[_0x25ac('0x32')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES[_0x25ac('0x11')](',');return db['CmContact']['findAll']({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})['then'](function(_0x133643){var _0x4e4176=fs[_0x25ac('0x6c')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x25ac('0x6d')](_0x4e4176,{'header':!![],'skipEmptyLines':!![],'step':function(_0x32ee95,_0x242368){total+=0x1;var _0x3baa05=total;promises['push'](checkRow(_0x32ee95,_0x133643,_0x3baa05)[_0x25ac('0x32')](function(){success+=0x1;})[_0x25ac('0x35')](function(_0x28b6fe){if(_0x28b6fe[_0x25ac('0x1d')]){errors+=0x1;delete _0x28b6fe[_0x25ac('0x1d')];}else if(_0x28b6fe[_0x25ac('0x2d')]){duplicates+=0x1;delete _0x28b6fe[_0x25ac('0x2d')];}rows[_0x25ac('0x33')](_0x28b6fe);}));if(total%0xc8===0x0){_0x242368[_0x25ac('0x6e')]();return processPromises(_0x242368);}},'complete':function(){return processPromises()[_0x25ac('0x32')](function(){logger[_0x25ac('0x6f')](_0x25ac('0x70'));endCsv();});},'error':function(_0xa2376c,_0x26815a){logger[_0x25ac('0x6f')](_0x25ac('0x71'),JSON[_0x25ac('0x62')](_0xa2376c));endCsv();}});})['catch'](function(_0x59258d){logger[_0x25ac('0x1d')](_0x25ac('0x72'),JSON['stringify'](_0x59258d));});}main();