Built motion from commit da617fac.|2.6.6
[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 _0x23c5=['CmContact','create','keys','pick','catch','Error\x20while\x20creating\x20contact:\x20','stringify','cmContact','checkHopper','inspect','into','cm_hopper','ContactId','createdAt','select','field','NOW()','scheduledAt','toString','updatedAt','cm_contacts','where','deletedAt\x20IS\x20NULL','ListId\x20=\x20?','phone\x20IS\x20NOT\x20NULL','from','\x20=\x20?','insert','fromQuery','id\x20IN\x20?','str','phone\x20NOT\x20IN\x20(?)','cm_hopper_final','VoiceQueue','dialCheckDuplicateType','CmList','Lists','get','always','push','then','onlyIfOpen','sequelize','query','VoiceQueueId','all','findAll','BlackLists','Campaign','CampaignId','cmContact,\x20%s,\x20%s','Error\x20processing\x20rows\x20block:','emit','resume','resolve','contact:csv_','unlinkSync','Unable\x20to\x20delete\x20temp\x20file:','exit','SIGINT','info','CSV\x20import\x20process\x20stopped!','createReadStream','parse','pause','Error\x20executing\x20contact\x20csv\x20import:','bluebird','util','squel','papaparse','../../../mysqldb','../../../config/environment','../../../config/logger','redis','defaults','socket.io-emitter','../../../api/cmContact/cmContact.socket','argv','undefined','Missing\x20filepath\x20parameter!','null','Missing\x20binding\x20parameters!','split','Missing\x20ListId\x20parameter!','Missing\x20socket_timestamp\x20parameter!','error','contact','index','isNil','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','map','message','join','hasOwnProperty','data','firstName','phone','phone\x20not\x20specified!','birthDate','YYYY-MM-DD','isValid','birthDate\x20format\x20is\x20invalid,\x20YYYY-MM-DD\x20format\x20is\x20supported!','email','ListId','CompanyId','find','duplicate','Duplicate\x20Contact'];(function(_0x5e271e,_0x167577){var _0x30afa5=function(_0x423f6b){while(--_0x423f6b){_0x5e271e['push'](_0x5e271e['shift']());}};_0x30afa5(++_0x167577);}(_0x23c5,0x11e));var _0x523c=function(_0x3c2140,_0x5d4bda){_0x3c2140=_0x3c2140-0x0;var _0x1e7568=_0x23c5[_0x3c2140];return _0x1e7568;};'use strict';var BPromise=require(_0x523c('0x0'));var util=require(_0x523c('0x1'));var _=require('lodash');var fs=require('fs');var squel=require(_0x523c('0x2'));var Papa=require(_0x523c('0x3'));var Redis=require('ioredis');var db=require(_0x523c('0x4'))['db'];var config=require(_0x523c('0x5'));var logger=require(_0x523c('0x6'))('api');config[_0x523c('0x7')]=_[_0x523c('0x8')](config[_0x523c('0x7')],{'host':'localhost','port':0x18eb});var socket=require(_0x523c('0x9'))(new Redis(config[_0x523c('0x7')]));require(_0x523c('0xa'))['register'](socket);try{if(!process[_0x523c('0xb')][0x2]||process[_0x523c('0xb')][0x2]===_0x523c('0xc')||process[_0x523c('0xb')][0x2]==='null'){throw new Error(_0x523c('0xd'));}var FILEPATH=process[_0x523c('0xb')][0x2];if(!process[_0x523c('0xb')][0x3]||process[_0x523c('0xb')][0x3]===_0x523c('0xc')||process['argv'][0x3]==='null'||!process[_0x523c('0xb')][0x4]||process['argv'][0x4]===_0x523c('0xc')||process[_0x523c('0xb')][0x4]===_0x523c('0xe')){throw new Error(_0x523c('0xf'));}var FIELDS=_['zipObject'](process['argv'][0x3][_0x523c('0x10')](','),process['argv'][0x4]['split'](','));if(!process[_0x523c('0xb')][0x5]||process['argv'][0x5]===_0x523c('0xc')||process[_0x523c('0xb')][0x5]==='null'){throw new Error(_0x523c('0x11'));}var LISTID=process['argv'][0x5];var COMPANYID=process[_0x523c('0xb')][0x6]&&process[_0x523c('0xb')][0x6]!==_0x523c('0xc')&&process[_0x523c('0xb')][0x6]!==_0x523c('0xe')?process[_0x523c('0xb')][0x6]:null;var DUPLICATES=process[_0x523c('0xb')][0x7]&&process[_0x523c('0xb')][0x7]!==_0x523c('0xc')&&process[_0x523c('0xb')][0x7]!==_0x523c('0xe')?process[_0x523c('0xb')][0x7]:null;if(!process[_0x523c('0xb')][0x8]||process[_0x523c('0xb')][0x8]===_0x523c('0xc')||process[_0x523c('0xb')][0x8]===_0x523c('0xe')){throw new Error(_0x523c('0x12'));}var SOCKET_TIMESTAMP=process[_0x523c('0xb')][0x8];}catch(_0x3ce659){logger[_0x523c('0x13')](_0x3ce659);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(_0xa86a9c,_0x2c97eb,_0xa518ba,_0x7ff6b){var _0x3e4750={'message':_0x2c97eb};_0x3e4750[_0xa86a9c]=!![];if(_0xa518ba){_0x3e4750[_0x523c('0x14')]=_0xa518ba;}if(_0x7ff6b){_0x3e4750[_0x523c('0x15')]=_0x7ff6b;}return _0x3e4750;}function isEmail(_0x11465c){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'](_0x11465c);}function checkRow(_0x1ffa76,_0x48e36a,_0x5e216e){return new BPromise(function(_0x5328a3,_0x2c12b2){if(_[_0x523c('0x16')](_0x1ffa76)){return _0x2c12b2(handleCheckRowError('error',_0x523c('0x17'),null,_0x5e216e));}if(_0x1ffa76[_0x523c('0x18')]&&_0x1ffa76[_0x523c('0x18')][_0x523c('0x19')]){var _0x1ef042=_[_0x523c('0x1a')](_0x1ffa76[_0x523c('0x18')],_0x523c('0x1b'))[_0x523c('0x1c')](';');return _0x2c12b2(handleCheckRowError(_0x523c('0x13'),_0x1ef042,null,_0x5e216e));}var _0x10da43={};for(var _0x3b0c10 in FIELDS){if(FIELDS[_0x523c('0x1d')](_0x3b0c10)&&FIELDS[_0x3b0c10]){_0x10da43[_0x3b0c10]=_0x1ffa76['data'][0x0][FIELDS[_0x3b0c10]]||_0x1ffa76[_0x523c('0x1e')][0x0]['\ufeff'+FIELDS[_0x3b0c10]];}}if(!_0x10da43[_0x523c('0x1f')]){return _0x2c12b2(handleCheckRowError(_0x523c('0x13'),'firstName\x20not\x20specified!',null,_0x5e216e));}if(!_0x10da43[_0x523c('0x20')]){return _0x2c12b2(handleCheckRowError('error',_0x523c('0x21'),null,_0x5e216e));}if(_0x10da43[_0x523c('0x22')]){var _0xaaf22e=moment(_0x10da43['birthDate'],_0x523c('0x23'));if(!_0xaaf22e[_0x523c('0x24')]()){return _0x2c12b2(handleCheckRowError('error',_0x523c('0x25'),null,_0x5e216e));}}if(_0x10da43[_0x523c('0x26')]){if(!isEmail(_0x10da43[_0x523c('0x26')])){return _0x2c12b2(handleCheckRowError(_0x523c('0x13'),'email\x20format\x20is\x20not\x20valid!',null,_0x5e216e));}}_0x10da43[_0x523c('0x27')]=LISTID;_0x10da43[_0x523c('0x28')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES['length']&&_0x48e36a){var _0x359831={};for(var _0x34d1fb=0x0,_0x5a733d=DUPLICATES['length'];_0x34d1fb<_0x5a733d;_0x34d1fb+=0x1){_0x359831[DUPLICATES[_0x34d1fb]]=_0x10da43[DUPLICATES[_0x34d1fb]];}var _0x5232f4=_[_0x523c('0x29')](_0x48e36a,_0x359831);if(_0x5232f4){return _0x2c12b2(handleCheckRowError(_0x523c('0x2a'),_0x523c('0x2b'),_0x5232f4,_0x5e216e));}}return db[_0x523c('0x2c')][_0x523c('0x2d')](_0x10da43,{'raw':!![],'hooks':![],'fields':_[_0x523c('0x2e')](_0x10da43)})['then'](function(_0x10f330){if(DUPLICATES&&DUPLICATES[_0x523c('0x19')]&&_0x48e36a){_0x48e36a['push'](_[_0x523c('0x2f')](_0x10da43,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x10f330['id'];return _0x5328a3();})[_0x523c('0x30')](function(_0x5c357f){return _0x2c12b2(handleCheckRowError(_0x523c('0x13'),_0x523c('0x31')+(_0x5c357f[_0x523c('0x1b')]||JSON[_0x523c('0x32')](_0x5c357f)),null,_0x5e216e));});});}function checkHopper(){function _0x3309f1(){return function(_0x15894d){logger[_0x523c('0x13')](_0x523c('0x33'),_0x523c('0x34'),util[_0x523c('0x35')](_0x15894d,{'showHidden':![],'depth':null}));};}var _0x4bebe3=function(_0x4ccc20,_0x4f3085){var _0x3d93be=squel['insert']()[_0x523c('0x36')](_0x523c('0x37'))['fromQuery']([_0x523c('0x20'),'scheduledAt',_0x523c('0x38'),'ListId',_0x4f3085,_0x523c('0x39'),'updatedAt'],squel[_0x523c('0x3a')]()[_0x523c('0x3b')]('phone',_0x523c('0x20'))['field'](_0x523c('0x3c'),_0x523c('0x3d'))['field']('id',_0x523c('0x38'))[_0x523c('0x3b')](LISTID[_0x523c('0x3e')](),_0x523c('0x27'))[_0x523c('0x3b')](_0x4ccc20['id']['toString'](),_0x4f3085)[_0x523c('0x3b')](_0x523c('0x3c'),_0x523c('0x39'))[_0x523c('0x3b')]('NOW()',_0x523c('0x3f'))['from'](_0x523c('0x40'))[_0x523c('0x41')](_0x523c('0x42'))[_0x523c('0x41')](_0x523c('0x43'),LISTID['toString']())[_0x523c('0x41')](_0x523c('0x44'))['where']('phone\x20NOT\x20IN\x20(?)',squel[_0x523c('0x3a')]()['field'](_0x523c('0x20'))[_0x523c('0x45')](_0x523c('0x37'))[_0x523c('0x41')](_0x4f3085+_0x523c('0x46'),_0x4ccc20['id'][_0x523c('0x3e')]())))['toString']();return _0x3d93be;};var _0x502dcf=function(_0x51220d,_0x9af306){var _0x3e26a4=squel[_0x523c('0x47')]()[_0x523c('0x36')](_0x523c('0x37'))[_0x523c('0x48')](['phone',_0x523c('0x3d'),_0x523c('0x38'),_0x523c('0x27'),_0x9af306,'createdAt','updatedAt'],squel[_0x523c('0x3a')]()['field'](_0x523c('0x20'),_0x523c('0x20'))[_0x523c('0x3b')](_0x523c('0x3c'),_0x523c('0x3d'))[_0x523c('0x3b')]('id',_0x523c('0x38'))[_0x523c('0x3b')](LISTID[_0x523c('0x3e')](),_0x523c('0x27'))[_0x523c('0x3b')](_0x51220d['id'][_0x523c('0x3e')](),_0x9af306)[_0x523c('0x3b')](_0x523c('0x3c'),'createdAt')[_0x523c('0x3b')](_0x523c('0x3c'),'updatedAt')[_0x523c('0x45')](_0x523c('0x40'))['where']('deletedAt\x20IS\x20NULL')['where'](_0x523c('0x43'),LISTID[_0x523c('0x3e')]())[_0x523c('0x41')](_0x523c('0x49'),squel[_0x523c('0x4a')](hopperContacts))[_0x523c('0x41')](_0x523c('0x44'))[_0x523c('0x41')](_0x523c('0x4b'),squel['select']()[_0x523c('0x3b')]('calleridnum')[_0x523c('0x45')](_0x523c('0x4c'))[_0x523c('0x41')](_0x9af306+_0x523c('0x46'),_0x51220d['id'][_0x523c('0x3e')]()))[_0x523c('0x41')](_0x523c('0x4b'),squel[_0x523c('0x3a')]()[_0x523c('0x3b')](_0x523c('0x20'))[_0x523c('0x45')](_0x523c('0x37'))[_0x523c('0x41')](_0x9af306+_0x523c('0x46'),_0x51220d['id'][_0x523c('0x3e')]())))['toString']();return _0x3e26a4;};function _0xe3e24c(_0x489a91,_0x2d1afc){var _0x5dcaa2=squel[_0x523c('0x47')]()[_0x523c('0x36')](_0x523c('0x37'))['fromQuery']([_0x523c('0x20'),'scheduledAt',_0x523c('0x38'),_0x523c('0x27'),_0x2d1afc,'createdAt',_0x523c('0x3f')],squel[_0x523c('0x3a')]()['field'](_0x523c('0x20'),_0x523c('0x20'))[_0x523c('0x3b')](_0x523c('0x3c'),'scheduledAt')[_0x523c('0x3b')]('id',_0x523c('0x38'))[_0x523c('0x3b')](LISTID[_0x523c('0x3e')](),_0x523c('0x27'))[_0x523c('0x3b')](_0x489a91['id'][_0x523c('0x3e')](),_0x2d1afc)['field']('NOW()','createdAt')['field']('NOW()',_0x523c('0x3f'))[_0x523c('0x45')](_0x523c('0x40'))[_0x523c('0x41')](_0x523c('0x42'))['where']('ListId\x20=\x20?',LISTID['toString']())[_0x523c('0x41')]('id\x20IN\x20?',squel['str'](hopperContacts))[_0x523c('0x41')](_0x523c('0x44')))[_0x523c('0x3e')]();return _0x5dcaa2;}function _0x12c3d2(_0x1c27a8,_0x389d23){var _0x5cd3e9=squel[_0x523c('0x47')]()[_0x523c('0x36')]('cm_hopper_black')[_0x523c('0x48')](['phone',_0x523c('0x38'),'ListId',_0x389d23,_0x523c('0x39'),'updatedAt'],squel[_0x523c('0x3a')]()[_0x523c('0x3b')](_0x523c('0x20'),_0x523c('0x20'))[_0x523c('0x3b')]('id',_0x523c('0x38'))[_0x523c('0x3b')](LISTID[_0x523c('0x3e')](),_0x523c('0x27'))[_0x523c('0x3b')](_0x1c27a8['id'][_0x523c('0x3e')](),_0x389d23)[_0x523c('0x3b')](_0x523c('0x3c'),_0x523c('0x39'))['field']('NOW()',_0x523c('0x3f'))[_0x523c('0x45')](_0x523c('0x40'))[_0x523c('0x41')](_0x523c('0x42'))[_0x523c('0x41')](_0x523c('0x43'),LISTID[_0x523c('0x3e')]())[_0x523c('0x41')]('id\x20IN\x20?',squel[_0x523c('0x4a')](hopperContacts))[_0x523c('0x41')]('phone\x20IS\x20NOT\x20NULL'))['toString']();return _0x5cd3e9;}return db[_0x523c('0x4d')]['findAll']({'where':{'type':'outbound'},'attributes':['id',_0x523c('0x4e')],'include':[{'model':db[_0x523c('0x4f')],'as':_0x523c('0x50'),'where':{'id':LISTID}}]})['then'](function(_0x71edd9){var _0x298929=[];if(_0x71edd9){var _0x305d21;for(var _0x30af87=0x0,_0x4e977a;_0x30af87<_0x71edd9[_0x523c('0x19')];_0x30af87+=0x1){_0x4e977a=_0x71edd9[_0x30af87][_0x523c('0x51')]({'plain':!![]});switch(_0x4e977a[_0x523c('0x4e')]){case _0x523c('0x52'):_0x298929[_0x523c('0x53')](db['sequelize']['query'](_0x502dcf(_0x4e977a,'VoiceQueueId'))[_0x523c('0x54')](function(){})[_0x523c('0x30')](_0x3309f1()));break;case _0x523c('0x55'):_0x298929['push'](db[_0x523c('0x56')][_0x523c('0x57')](_0x4bebe3(_0x4e977a,_0x523c('0x58')))['then'](function(){})[_0x523c('0x30')](_0x3309f1()));break;default:_0x298929[_0x523c('0x53')](db[_0x523c('0x56')][_0x523c('0x57')](_0xe3e24c(_0x4e977a,_0x523c('0x58')))[_0x523c('0x54')](function(){})[_0x523c('0x30')](_0x3309f1()));}}}return _0x298929;})[_0x523c('0x59')]()[_0x523c('0x54')](function(){return db[_0x523c('0x4d')][_0x523c('0x5a')]({'where':{'type':'outbound'},'attributes':['id'],'include':[{'model':db[_0x523c('0x4f')],'as':_0x523c('0x5b'),'where':{'id':LISTID}}]})[_0x523c('0x54')](function(_0x335c54){var _0x42dc36=[];if(_0x335c54){var _0x424a44;for(var _0x50a670=0x0,_0x3997a2;_0x50a670<_0x335c54['length'];_0x50a670+=0x1){_0x3997a2=_0x335c54[_0x50a670]['get']({'plain':!![]});_0x42dc36[_0x523c('0x53')](db[_0x523c('0x56')][_0x523c('0x57')](_0x12c3d2(_0x3997a2,_0x523c('0x58')))[_0x523c('0x54')](function(){})[_0x523c('0x30')](_0x3309f1()));}}return _0x42dc36;})[_0x523c('0x59')]();})[_0x523c('0x54')](function(){return db[_0x523c('0x5c')][_0x523c('0x5a')]({'attributes':['id',_0x523c('0x4e')],'include':[{'model':db[_0x523c('0x4f')],'as':_0x523c('0x50'),'where':{'id':LISTID}}]})['then'](function(_0x1512df){var _0x4e7c02=[];if(_0x1512df){for(var _0x4af366=0x0,_0x417a8d;_0x4af366<_0x1512df[_0x523c('0x19')];_0x4af366+=0x1){_0x417a8d=_0x1512df[_0x4af366][_0x523c('0x51')]({'plain':!![]});switch(_0x417a8d[_0x523c('0x4e')]){case'always':_0x4e7c02['push'](db[_0x523c('0x56')][_0x523c('0x57')](_0x502dcf(_0x417a8d,_0x523c('0x5d')))[_0x523c('0x54')](function(){})['catch'](_0x3309f1()));break;case _0x523c('0x55'):_0x4e7c02[_0x523c('0x53')](db['sequelize']['query'](_0x4bebe3(_0x417a8d,_0x523c('0x5d')))[_0x523c('0x54')](function(){})[_0x523c('0x30')](_0x3309f1()));break;default:_0x4e7c02[_0x523c('0x53')](db['sequelize'][_0x523c('0x57')](_0xe3e24c(_0x417a8d,'CampaignId'))[_0x523c('0x54')](function(){})[_0x523c('0x30')](_0x3309f1()));}}}return _0x4e7c02;})[_0x523c('0x59')]();})[_0x523c('0x54')](function(){return db['Campaign'][_0x523c('0x5a')]({'attributes':['id'],'include':[{'model':db[_0x523c('0x4f')],'as':_0x523c('0x5b'),'where':{'id':LISTID}}]})[_0x523c('0x54')](function(_0x2604cb){var _0x449f54=[];if(_0x2604cb){for(var _0xe8d702=0x0,_0xece91d;_0xe8d702<_0x2604cb[_0x523c('0x19')];_0xe8d702+=0x1){_0xece91d=_0x2604cb[_0xe8d702]['get']({'plain':!![]});_0x449f54[_0x523c('0x53')](db[_0x523c('0x56')]['query'](_0x12c3d2(_0xece91d,_0x523c('0x5d')))[_0x523c('0x54')](function(){})['catch'](_0x3309f1()));}}return _0x449f54;})['all']();})[_0x523c('0x30')](function(_0x3b4083){logger['error'](_0x523c('0x5e'),'generalCheckHopper',_0x3b4083[_0x523c('0x1b')]);});}var processPromises=function(_0x1f8af2){return BPromise[_0x523c('0x59')](promises)[_0x523c('0x54')](function(_0x532a09){})['catch'](function(_0x792c62){logger['error'](_0x523c('0x5f'),JSON['stringify'](_0x792c62));})['finally'](function(){socket[_0x523c('0x60')]('contact:csv_'+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x1f8af2){return _0x1f8af2[_0x523c('0x61')]();}});};var endCsv=function(){return BPromise[_0x523c('0x62')]()[_0x523c('0x54')](function(){if(hopperContacts){return checkHopper();}})[_0x523c('0x54')](function(){socket[_0x523c('0x60')](_0x523c('0x63')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs[_0x523c('0x64')](FILEPATH);}catch(_0x4a895f){logger[_0x523c('0x13')](_0x523c('0x65'),JSON[_0x523c('0x32')](_0x4a895f));}finally{process[_0x523c('0x66')](0x0);}});};process['on'](_0x523c('0x67'),function(){logger[_0x523c('0x68')](_0x523c('0x69'));endCsv();});function main(){return BPromise[_0x523c('0x62')]()[_0x523c('0x54')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES['split'](',');return db[_0x523c('0x2c')][_0x523c('0x5a')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x523c('0x54')](function(_0x51be0c){var _0x128bfd=fs[_0x523c('0x6a')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x523c('0x6b')](_0x128bfd,{'header':!![],'skipEmptyLines':!![],'step':function(_0x1d4340,_0x10a6c6){total+=0x1;var _0x433047=total;promises[_0x523c('0x53')](checkRow(_0x1d4340,_0x51be0c,_0x433047)[_0x523c('0x54')](function(){success+=0x1;})['catch'](function(_0x4af966){if(_0x4af966['error']){errors+=0x1;delete _0x4af966['error'];}else if(_0x4af966[_0x523c('0x2a')]){duplicates+=0x1;delete _0x4af966[_0x523c('0x2a')];}rows[_0x523c('0x53')](_0x4af966);}));if(total%0xc8===0x0){_0x10a6c6[_0x523c('0x6c')]();return processPromises(_0x10a6c6);}},'complete':function(){return processPromises()[_0x523c('0x54')](function(){logger['info']('CSV\x20parsed\x20correctly!');endCsv();});},'error':function(_0x3dca7e,_0x46cda9){logger[_0x523c('0x68')]('CSV\x20parse\x20error',JSON['stringify'](_0x3dca7e));endCsv();}});})['catch'](function(_0x59441d){logger[_0x523c('0x13')](_0x523c('0x6d'),JSON[_0x523c('0x32')](_0x59441d));});}main();