Built motion from commit 936e8062.|2.5.33
[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 _0x06d4=['firstName\x20not\x20specified!','phone','birthDate','YYYY-MM-DD','isValid','email','email\x20format\x20is\x20not\x20valid!','ListId','find','duplicate','Duplicate\x20Contact','create','keys','then','catch','Error\x20while\x20creating\x20contact:\x20','message','stringify','cmContact','inspect','insert','cm_hopper','fromQuery','createdAt','updatedAt','select','field','NOW()','scheduledAt','ContactId','toString','from','deletedAt\x20IS\x20NULL','where','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','\x20=\x20?','into','cm_contacts','id\x20IN\x20?','str','calleridnum','ListId\x20=\x20?','cm_hopper_black','VoiceQueue','outbound','dialCheckDuplicateType','CmList','Lists','get','always','push','sequelize','query','VoiceQueueId','onlyIfOpen','all','BlackLists','Campaign','findAll','CampaignId','Error\x20processing\x20rows\x20block:','finally','emit','resume','resolve','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','exit','SIGINT','info','CSV\x20import\x20process\x20stopped!','CmContact','createReadStream','parse','pause','CSV\x20parsed\x20correctly!','CSV\x20parse\x20error','Error\x20executing\x20contact\x20csv\x20import:','bluebird','util','lodash','squel','../../../mysqldb','../../../config/environment','../../../config/logger','defaults','redis','localhost','socket.io-emitter','../../../api/cmContact/cmContact.socket','argv','undefined','null','Missing\x20filepath\x20parameter!','Missing\x20binding\x20parameters!','zipObject','split','Missing\x20socket_timestamp\x20parameter!','index','isNil','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','map','hasOwnProperty','data','firstName','error'];(function(_0x54b5bd,_0x133fe1){var _0xcba844=function(_0x4023dc){while(--_0x4023dc){_0x54b5bd['push'](_0x54b5bd['shift']());}};_0xcba844(++_0x133fe1);}(_0x06d4,0xbc));var _0x406d=function(_0x3db54b,_0x4abae8){_0x3db54b=_0x3db54b-0x0;var _0x4447a7=_0x06d4[_0x3db54b];return _0x4447a7;};'use strict';var BPromise=require(_0x406d('0x0'));var util=require(_0x406d('0x1'));var _=require(_0x406d('0x2'));var fs=require('fs');var squel=require(_0x406d('0x3'));var Papa=require('papaparse');var Redis=require('ioredis');var db=require(_0x406d('0x4'))['db'];var config=require(_0x406d('0x5'));var logger=require(_0x406d('0x6'))('api');config['redis']=_[_0x406d('0x7')](config[_0x406d('0x8')],{'host':_0x406d('0x9'),'port':0x18eb});var socket=require(_0x406d('0xa'))(new Redis(config[_0x406d('0x8')]));require(_0x406d('0xb'))['register'](socket);try{if(!process[_0x406d('0xc')][0x2]||process[_0x406d('0xc')][0x2]===_0x406d('0xd')||process[_0x406d('0xc')][0x2]===_0x406d('0xe')){throw new Error(_0x406d('0xf'));}var FILEPATH=process[_0x406d('0xc')][0x2];if(!process[_0x406d('0xc')][0x3]||process[_0x406d('0xc')][0x3]===_0x406d('0xd')||process['argv'][0x3]==='null'||!process[_0x406d('0xc')][0x4]||process[_0x406d('0xc')][0x4]===_0x406d('0xd')||process[_0x406d('0xc')][0x4]==='null'){throw new Error(_0x406d('0x10'));}var FIELDS=_[_0x406d('0x11')](process[_0x406d('0xc')][0x3][_0x406d('0x12')](','),process['argv'][0x4]['split'](','));if(!process[_0x406d('0xc')][0x5]||process[_0x406d('0xc')][0x5]===_0x406d('0xd')||process[_0x406d('0xc')][0x5]===_0x406d('0xe')){throw new Error('Missing\x20ListId\x20parameter!');}var LISTID=process[_0x406d('0xc')][0x5];var COMPANYID=process[_0x406d('0xc')][0x6]&&process['argv'][0x6]!==_0x406d('0xd')&&process[_0x406d('0xc')][0x6]!=='null'?process['argv'][0x6]:null;var DUPLICATES=process[_0x406d('0xc')][0x7]&&process[_0x406d('0xc')][0x7]!==_0x406d('0xd')&&process[_0x406d('0xc')][0x7]!==_0x406d('0xe')?process[_0x406d('0xc')][0x7]:null;if(!process['argv'][0x8]||process[_0x406d('0xc')][0x8]===_0x406d('0xd')||process[_0x406d('0xc')][0x8]===_0x406d('0xe')){throw new Error(_0x406d('0x13'));}var SOCKET_TIMESTAMP=process[_0x406d('0xc')][0x8];}catch(_0x3ce54f){logger['error'](_0x3ce54f);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(_0x512d4d,_0x553f0b,_0x35ba2c,_0x9a937c){var _0x2634df={'message':_0x553f0b};_0x2634df[_0x512d4d]=!![];if(_0x35ba2c){_0x2634df['contact']=_0x35ba2c;}if(_0x9a937c){_0x2634df[_0x406d('0x14')]=_0x9a937c;}return _0x2634df;}function isEmail(_0x488ade){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'](_0x488ade);}function checkRow(_0x4b3e9b,_0x36e0d6,_0x105b84){return new BPromise(function(_0x129a69,_0x2ac9db){if(_[_0x406d('0x15')](_0x4b3e9b)){return _0x2ac9db(handleCheckRowError('error',_0x406d('0x16'),null,_0x105b84));}if(_0x4b3e9b['errors']&&_0x4b3e9b[_0x406d('0x17')][_0x406d('0x18')]){var _0x572a33=_[_0x406d('0x19')](_0x4b3e9b[_0x406d('0x17')],'message')['join'](';');return _0x2ac9db(handleCheckRowError('error',_0x572a33,null,_0x105b84));}var _0x5df7ac={};for(var _0x513c88 in FIELDS){if(FIELDS[_0x406d('0x1a')](_0x513c88)&&FIELDS[_0x513c88]){_0x5df7ac[_0x513c88]=_0x4b3e9b[_0x406d('0x1b')][0x0][FIELDS[_0x513c88]]||_0x4b3e9b['data'][0x0]['\ufeff'+FIELDS[_0x513c88]];}}if(!_0x5df7ac[_0x406d('0x1c')]){return _0x2ac9db(handleCheckRowError(_0x406d('0x1d'),_0x406d('0x1e'),null,_0x105b84));}if(!_0x5df7ac[_0x406d('0x1f')]){return _0x2ac9db(handleCheckRowError(_0x406d('0x1d'),'phone\x20not\x20specified!',null,_0x105b84));}if(_0x5df7ac[_0x406d('0x20')]){var _0x26ad06=moment(_0x5df7ac[_0x406d('0x20')],_0x406d('0x21'));if(!_0x26ad06[_0x406d('0x22')]()){return _0x2ac9db(handleCheckRowError(_0x406d('0x1d'),'birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!',null,_0x105b84));}}if(_0x5df7ac[_0x406d('0x23')]){if(!isEmail(_0x5df7ac[_0x406d('0x23')])){return _0x2ac9db(handleCheckRowError('error',_0x406d('0x24'),null,_0x105b84));}}_0x5df7ac[_0x406d('0x25')]=LISTID;_0x5df7ac['CompanyId']=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES['length']&&_0x36e0d6){var _0x391268={};for(var _0xcf8a4b=0x0,_0x2fd14f=DUPLICATES[_0x406d('0x18')];_0xcf8a4b<_0x2fd14f;_0xcf8a4b+=0x1){_0x391268[DUPLICATES[_0xcf8a4b]]=_0x5df7ac[DUPLICATES[_0xcf8a4b]];}var _0x13b795=_[_0x406d('0x26')](_0x36e0d6,_0x391268);if(_0x13b795){return _0x2ac9db(handleCheckRowError(_0x406d('0x27'),_0x406d('0x28'),_0x13b795,_0x105b84));}}return db['CmContact'][_0x406d('0x29')](_0x5df7ac,{'raw':!![],'hooks':![],'fields':_[_0x406d('0x2a')](_0x5df7ac)})[_0x406d('0x2b')](function(_0x60b34f){if(DUPLICATES&&DUPLICATES[_0x406d('0x18')]&&_0x36e0d6){_0x36e0d6['push'](_['pick'](_0x5df7ac,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x60b34f['id'];return _0x129a69();})[_0x406d('0x2c')](function(_0x5c17ce){return _0x2ac9db(handleCheckRowError(_0x406d('0x1d'),_0x406d('0x2d')+(_0x5c17ce[_0x406d('0x2e')]||JSON[_0x406d('0x2f')](_0x5c17ce)),null,_0x105b84));});});}function checkHopper(){function _0x372279(){return function(_0x671478){logger[_0x406d('0x1d')](_0x406d('0x30'),'checkHopper',util[_0x406d('0x31')](_0x671478,{'showHidden':![],'depth':null}));};}var _0x3a287e=function(_0x4d88bc,_0x2b50c1){var _0x1c3af9=squel[_0x406d('0x32')]()['into'](_0x406d('0x33'))[_0x406d('0x34')]([_0x406d('0x1f'),'scheduledAt','ContactId',_0x406d('0x25'),_0x2b50c1,_0x406d('0x35'),_0x406d('0x36')],squel[_0x406d('0x37')]()[_0x406d('0x38')](_0x406d('0x1f'),'phone')['field'](_0x406d('0x39'),_0x406d('0x3a'))[_0x406d('0x38')]('id',_0x406d('0x3b'))[_0x406d('0x38')](LISTID[_0x406d('0x3c')](),_0x406d('0x25'))[_0x406d('0x38')](_0x4d88bc['id'][_0x406d('0x3c')](),_0x2b50c1)[_0x406d('0x38')](_0x406d('0x39'),_0x406d('0x35'))[_0x406d('0x38')](_0x406d('0x39'),_0x406d('0x36'))[_0x406d('0x3d')]('cm_contacts')['where'](_0x406d('0x3e'))[_0x406d('0x3f')]('ListId\x20=\x20?',LISTID[_0x406d('0x3c')]())[_0x406d('0x3f')](_0x406d('0x40'))[_0x406d('0x3f')](_0x406d('0x41'),squel['select']()[_0x406d('0x38')]('phone')[_0x406d('0x3d')]('cm_hopper')[_0x406d('0x3f')](_0x2b50c1+_0x406d('0x42'),_0x4d88bc['id'][_0x406d('0x3c')]())))[_0x406d('0x3c')]();return _0x1c3af9;};var _0x29dbc3=function(_0x59e41f,_0x403e2d){var _0x14316a=squel[_0x406d('0x32')]()[_0x406d('0x43')]('cm_hopper')[_0x406d('0x34')](['phone',_0x406d('0x3a'),_0x406d('0x3b'),_0x406d('0x25'),_0x403e2d,'createdAt','updatedAt'],squel[_0x406d('0x37')]()['field'](_0x406d('0x1f'),_0x406d('0x1f'))[_0x406d('0x38')](_0x406d('0x39'),_0x406d('0x3a'))[_0x406d('0x38')]('id','ContactId')[_0x406d('0x38')](LISTID[_0x406d('0x3c')](),_0x406d('0x25'))[_0x406d('0x38')](_0x59e41f['id'][_0x406d('0x3c')](),_0x403e2d)[_0x406d('0x38')]('NOW()','createdAt')[_0x406d('0x38')](_0x406d('0x39'),_0x406d('0x36'))[_0x406d('0x3d')](_0x406d('0x44'))[_0x406d('0x3f')](_0x406d('0x3e'))['where']('ListId\x20=\x20?',LISTID[_0x406d('0x3c')]())[_0x406d('0x3f')](_0x406d('0x45'),squel[_0x406d('0x46')](hopperContacts))[_0x406d('0x3f')](_0x406d('0x40'))[_0x406d('0x3f')](_0x406d('0x41'),squel[_0x406d('0x37')]()['field'](_0x406d('0x47'))[_0x406d('0x3d')]('cm_hopper_final')[_0x406d('0x3f')](_0x403e2d+_0x406d('0x42'),_0x59e41f['id'][_0x406d('0x3c')]()))[_0x406d('0x3f')](_0x406d('0x41'),squel[_0x406d('0x37')]()['field'](_0x406d('0x1f'))['from'](_0x406d('0x33'))['where'](_0x403e2d+_0x406d('0x42'),_0x59e41f['id'][_0x406d('0x3c')]())))['toString']();return _0x14316a;};function _0x5448fa(_0x2c51a5,_0x55fdbf){var _0x2fa19b=squel[_0x406d('0x32')]()[_0x406d('0x43')](_0x406d('0x33'))['fromQuery']([_0x406d('0x1f'),_0x406d('0x3a'),_0x406d('0x3b'),_0x406d('0x25'),_0x55fdbf,_0x406d('0x35'),_0x406d('0x36')],squel[_0x406d('0x37')]()['field']('phone',_0x406d('0x1f'))[_0x406d('0x38')]('NOW()',_0x406d('0x3a'))[_0x406d('0x38')]('id','ContactId')[_0x406d('0x38')](LISTID[_0x406d('0x3c')](),_0x406d('0x25'))[_0x406d('0x38')](_0x2c51a5['id'][_0x406d('0x3c')](),_0x55fdbf)[_0x406d('0x38')](_0x406d('0x39'),_0x406d('0x35'))[_0x406d('0x38')](_0x406d('0x39'),_0x406d('0x36'))[_0x406d('0x3d')](_0x406d('0x44'))[_0x406d('0x3f')]('deletedAt\x20IS\x20NULL')[_0x406d('0x3f')](_0x406d('0x48'),LISTID[_0x406d('0x3c')]())[_0x406d('0x3f')](_0x406d('0x45'),squel[_0x406d('0x46')](hopperContacts))[_0x406d('0x3f')](_0x406d('0x40')))['toString']();return _0x2fa19b;}function _0x492c78(_0x56e37a,_0x3751ab){var _0x2d5b0c=squel[_0x406d('0x32')]()[_0x406d('0x43')](_0x406d('0x49'))[_0x406d('0x34')]([_0x406d('0x1f'),_0x406d('0x3b'),'ListId',_0x3751ab,_0x406d('0x35'),_0x406d('0x36')],squel['select']()[_0x406d('0x38')](_0x406d('0x1f'),_0x406d('0x1f'))[_0x406d('0x38')]('id',_0x406d('0x3b'))['field'](LISTID['toString'](),'ListId')[_0x406d('0x38')](_0x56e37a['id'][_0x406d('0x3c')](),_0x3751ab)[_0x406d('0x38')]('NOW()',_0x406d('0x35'))[_0x406d('0x38')](_0x406d('0x39'),'updatedAt')[_0x406d('0x3d')](_0x406d('0x44'))[_0x406d('0x3f')]('deletedAt\x20IS\x20NULL')[_0x406d('0x3f')](_0x406d('0x48'),LISTID['toString']())[_0x406d('0x3f')](_0x406d('0x45'),squel[_0x406d('0x46')](hopperContacts))['where'](_0x406d('0x40')))[_0x406d('0x3c')]();return _0x2d5b0c;}return db[_0x406d('0x4a')]['findAll']({'where':{'type':_0x406d('0x4b')},'attributes':['id',_0x406d('0x4c')],'include':[{'model':db[_0x406d('0x4d')],'as':_0x406d('0x4e'),'where':{'id':LISTID}}]})[_0x406d('0x2b')](function(_0x5a82c6){var _0x1be2a5=[];if(_0x5a82c6){var _0x4a88d5;for(var _0x5c5164=0x0,_0x1ca67b;_0x5c5164<_0x5a82c6[_0x406d('0x18')];_0x5c5164+=0x1){_0x1ca67b=_0x5a82c6[_0x5c5164][_0x406d('0x4f')]({'plain':!![]});switch(_0x1ca67b[_0x406d('0x4c')]){case _0x406d('0x50'):_0x1be2a5[_0x406d('0x51')](db[_0x406d('0x52')][_0x406d('0x53')](_0x29dbc3(_0x1ca67b,_0x406d('0x54')))['then'](function(){})[_0x406d('0x2c')](_0x372279()));break;case _0x406d('0x55'):_0x1be2a5['push'](db['sequelize'][_0x406d('0x53')](_0x3a287e(_0x1ca67b,_0x406d('0x54')))[_0x406d('0x2b')](function(){})[_0x406d('0x2c')](_0x372279()));break;default:_0x1be2a5[_0x406d('0x51')](db[_0x406d('0x52')][_0x406d('0x53')](_0x5448fa(_0x1ca67b,_0x406d('0x54')))[_0x406d('0x2b')](function(){})['catch'](_0x372279()));}}}return _0x1be2a5;})[_0x406d('0x56')]()[_0x406d('0x2b')](function(){return db['VoiceQueue']['findAll']({'where':{'type':'outbound'},'attributes':['id'],'include':[{'model':db[_0x406d('0x4d')],'as':_0x406d('0x57'),'where':{'id':LISTID}}]})[_0x406d('0x2b')](function(_0x259df7){var _0x2339cd=[];if(_0x259df7){var _0x2ccd30;for(var _0x2c4ab0=0x0,_0x5f22d1;_0x2c4ab0<_0x259df7['length'];_0x2c4ab0+=0x1){_0x5f22d1=_0x259df7[_0x2c4ab0][_0x406d('0x4f')]({'plain':!![]});_0x2339cd['push'](db[_0x406d('0x52')][_0x406d('0x53')](_0x492c78(_0x5f22d1,_0x406d('0x54')))[_0x406d('0x2b')](function(){})[_0x406d('0x2c')](_0x372279()));}}return _0x2339cd;})['all']();})[_0x406d('0x2b')](function(){return db[_0x406d('0x58')][_0x406d('0x59')]({'attributes':['id',_0x406d('0x4c')],'include':[{'model':db[_0x406d('0x4d')],'as':'Lists','where':{'id':LISTID}}]})[_0x406d('0x2b')](function(_0x3b7292){var _0x4975ba=[];if(_0x3b7292){for(var _0x39bff2=0x0,_0xf54ba2;_0x39bff2<_0x3b7292[_0x406d('0x18')];_0x39bff2+=0x1){_0xf54ba2=_0x3b7292[_0x39bff2]['get']({'plain':!![]});switch(_0xf54ba2[_0x406d('0x4c')]){case _0x406d('0x50'):_0x4975ba[_0x406d('0x51')](db['sequelize'][_0x406d('0x53')](_0x29dbc3(_0xf54ba2,'CampaignId'))[_0x406d('0x2b')](function(){})[_0x406d('0x2c')](_0x372279()));break;case _0x406d('0x55'):_0x4975ba[_0x406d('0x51')](db['sequelize'][_0x406d('0x53')](_0x3a287e(_0xf54ba2,_0x406d('0x5a')))[_0x406d('0x2b')](function(){})[_0x406d('0x2c')](_0x372279()));break;default:_0x4975ba[_0x406d('0x51')](db[_0x406d('0x52')][_0x406d('0x53')](_0x5448fa(_0xf54ba2,_0x406d('0x5a')))['then'](function(){})[_0x406d('0x2c')](_0x372279()));}}}return _0x4975ba;})[_0x406d('0x56')]();})['then'](function(){return db[_0x406d('0x58')][_0x406d('0x59')]({'attributes':['id'],'include':[{'model':db[_0x406d('0x4d')],'as':'BlackLists','where':{'id':LISTID}}]})[_0x406d('0x2b')](function(_0x573216){var _0x343eb2=[];if(_0x573216){for(var _0x29ab67=0x0,_0x3d9583;_0x29ab67<_0x573216[_0x406d('0x18')];_0x29ab67+=0x1){_0x3d9583=_0x573216[_0x29ab67][_0x406d('0x4f')]({'plain':!![]});_0x343eb2['push'](db[_0x406d('0x52')][_0x406d('0x53')](_0x492c78(_0x3d9583,'CampaignId'))[_0x406d('0x2b')](function(){})[_0x406d('0x2c')](_0x372279()));}}return _0x343eb2;})[_0x406d('0x56')]();})[_0x406d('0x2c')](function(_0x5c8e68){logger[_0x406d('0x1d')]('cmContact,\x20%s,\x20%s','generalCheckHopper',_0x5c8e68[_0x406d('0x2e')]);});}var processPromises=function(_0x55bc4d){return BPromise[_0x406d('0x56')](promises)[_0x406d('0x2b')](function(_0x5f10ff){})['catch'](function(_0x22cad6){logger[_0x406d('0x1d')](_0x406d('0x5b'),JSON[_0x406d('0x2f')](_0x22cad6));})[_0x406d('0x5c')](function(){socket[_0x406d('0x5d')]('contact:csv_'+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x55bc4d){return _0x55bc4d[_0x406d('0x5e')]();}});};var endCsv=function(){return BPromise[_0x406d('0x5f')]()[_0x406d('0x2b')](function(){if(hopperContacts){return checkHopper();}})[_0x406d('0x2b')](function(){socket['emit']('contact:csv_'+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0x406d('0x60')](FILEPATH);}catch(_0xc5aca6){logger[_0x406d('0x1d')](_0x406d('0x61'),JSON[_0x406d('0x2f')](_0xc5aca6));}finally{process[_0x406d('0x62')](0x0);}});};process['on'](_0x406d('0x63'),function(){logger[_0x406d('0x64')](_0x406d('0x65'));endCsv();});function main(){return BPromise[_0x406d('0x5f')]()['then'](function(){if(DUPLICATES){DUPLICATES=DUPLICATES['split'](',');return db[_0x406d('0x66')][_0x406d('0x59')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x406d('0x2b')](function(_0x4742af){var _0x118fe9=fs[_0x406d('0x67')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x406d('0x68')](_0x118fe9,{'header':!![],'skipEmptyLines':!![],'step':function(_0x3d298f,_0x341871){total+=0x1;var _0x9a0ba8=total;promises[_0x406d('0x51')](checkRow(_0x3d298f,_0x4742af,_0x9a0ba8)[_0x406d('0x2b')](function(){success+=0x1;})[_0x406d('0x2c')](function(_0x52a1e4){if(_0x52a1e4[_0x406d('0x1d')]){errors+=0x1;delete _0x52a1e4[_0x406d('0x1d')];}else if(_0x52a1e4['duplicate']){duplicates+=0x1;delete _0x52a1e4[_0x406d('0x27')];}rows[_0x406d('0x51')](_0x52a1e4);}));if(total%0xc8===0x0){_0x341871[_0x406d('0x69')]();return processPromises(_0x341871);}},'complete':function(){return processPromises()[_0x406d('0x2b')](function(){logger['info'](_0x406d('0x6a'));endCsv();});},'error':function(_0x5e9bcf,_0x300c1b){logger[_0x406d('0x64')](_0x406d('0x6b'),JSON[_0x406d('0x2f')](_0x5e9bcf));endCsv();}});})['catch'](function(_0x3edf0a){logger[_0x406d('0x1d')](_0x406d('0x6c'),JSON[_0x406d('0x2f')](_0x3edf0a));});}main();