0e86f8693f7bebfb67d38b76660743b21622dcc0
[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 _0x71c1=['hasOwnProperty','data','firstName','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','find','duplicate','Duplicate\x20Contact','CmContact','create','keys','then','push','pick','catch','Error\x20while\x20creating\x20contact:\x20','message','stringify','inspect','into','cm_hopper','scheduledAt','ContactId','createdAt','select','field','NOW()','toString','updatedAt','from','where','deletedAt\x20IS\x20NULL','phone\x20IS\x20NOT\x20NULL','phone\x20NOT\x20IN\x20(?)','\x20=\x20?','fromQuery','cm_contacts','ListId\x20=\x20?','id\x20IN\x20?','calleridnum','cm_hopper_final','insert','cm_hopper_black','VoiceQueue','outbound','dialCheckDuplicateType','CmList','get','always','sequelize','VoiceQueueId','query','all','Campaign','findAll','Lists','CampaignId','onlyIfOpen','BlackLists','cmContact,\x20%s,\x20%s','finally','contact:csv_','resume','emit','Unable\x20to\x20delete\x20temp\x20file:','exit','SIGINT','info','resolve','createReadStream','parse','pause','bluebird','util','lodash','squel','papaparse','ioredis','../../../mysqldb','../../../config/environment','../../../config/logger','api','redis','defaults','localhost','socket.io-emitter','register','argv','undefined','null','Missing\x20binding\x20parameters!','zipObject','split','Missing\x20socket_timestamp\x20parameter!','error','contact','index','test','isNil','The\x20row\x20is\x20empty\x20or\x20the\x20number\x20of\x20parameters\x20does\x20not\x20match\x20the\x20columns!','errors','length','map','join'];(function(_0x166216,_0x4c3d22){var _0x19fbf9=function(_0x4fa582){while(--_0x4fa582){_0x166216['push'](_0x166216['shift']());}};_0x19fbf9(++_0x4c3d22);}(_0x71c1,0x133));var _0x171c=function(_0x507cad,_0xe4b334){_0x507cad=_0x507cad-0x0;var _0x1beaa1=_0x71c1[_0x507cad];return _0x1beaa1;};'use strict';var BPromise=require(_0x171c('0x0'));var util=require(_0x171c('0x1'));var _=require(_0x171c('0x2'));var fs=require('fs');var squel=require(_0x171c('0x3'));var Papa=require(_0x171c('0x4'));var Redis=require(_0x171c('0x5'));var db=require(_0x171c('0x6'))['db'];var config=require(_0x171c('0x7'));var logger=require(_0x171c('0x8'))(_0x171c('0x9'));config[_0x171c('0xa')]=_[_0x171c('0xb')](config[_0x171c('0xa')],{'host':_0x171c('0xc'),'port':0x18eb});var socket=require(_0x171c('0xd'))(new Redis(config[_0x171c('0xa')]));require('../../../api/cmContact/cmContact.socket')[_0x171c('0xe')](socket);try{if(!process[_0x171c('0xf')][0x2]||process[_0x171c('0xf')][0x2]===_0x171c('0x10')||process[_0x171c('0xf')][0x2]===_0x171c('0x11')){throw new Error('Missing\x20filepath\x20parameter!');}var FILEPATH=process[_0x171c('0xf')][0x2];if(!process[_0x171c('0xf')][0x3]||process[_0x171c('0xf')][0x3]===_0x171c('0x10')||process[_0x171c('0xf')][0x3]===_0x171c('0x11')||!process[_0x171c('0xf')][0x4]||process[_0x171c('0xf')][0x4]==='undefined'||process[_0x171c('0xf')][0x4]===_0x171c('0x11')){throw new Error(_0x171c('0x12'));}var FIELDS=_[_0x171c('0x13')](process[_0x171c('0xf')][0x3]['split'](','),process[_0x171c('0xf')][0x4][_0x171c('0x14')](','));if(!process[_0x171c('0xf')][0x5]||process[_0x171c('0xf')][0x5]===_0x171c('0x10')||process[_0x171c('0xf')][0x5]==='null'){throw new Error('Missing\x20ListId\x20parameter!');}var LISTID=process[_0x171c('0xf')][0x5];var COMPANYID=process['argv'][0x6]&&process['argv'][0x6]!==_0x171c('0x10')&&process[_0x171c('0xf')][0x6]!=='null'?process[_0x171c('0xf')][0x6]:null;var DUPLICATES=process['argv'][0x7]&&process[_0x171c('0xf')][0x7]!==_0x171c('0x10')&&process[_0x171c('0xf')][0x7]!==_0x171c('0x11')?process[_0x171c('0xf')][0x7]:null;if(!process[_0x171c('0xf')][0x8]||process[_0x171c('0xf')][0x8]===_0x171c('0x10')||process[_0x171c('0xf')][0x8]===_0x171c('0x11')){throw new Error(_0x171c('0x15'));}var SOCKET_TIMESTAMP=process[_0x171c('0xf')][0x8];}catch(_0x391f0d){logger[_0x171c('0x16')](_0x391f0d);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(_0x586b1d,_0x4ed3f7,_0x5b8b7d,_0x16f42e){var _0x5f10bd={'message':_0x4ed3f7};_0x5f10bd[_0x586b1d]=!![];if(_0x5b8b7d){_0x5f10bd[_0x171c('0x17')]=_0x5b8b7d;}if(_0x16f42e){_0x5f10bd[_0x171c('0x18')]=_0x16f42e;}return _0x5f10bd;}function isEmail(_0x4c1a21){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))*$/[_0x171c('0x19')](_0x4c1a21);}function checkRow(_0x325ab2,_0x4c0970,_0x2b3f9a){return new BPromise(function(_0x398e67,_0x23af69){if(_[_0x171c('0x1a')](_0x325ab2)){return _0x23af69(handleCheckRowError('error',_0x171c('0x1b'),null,_0x2b3f9a));}if(_0x325ab2['errors']&&_0x325ab2[_0x171c('0x1c')][_0x171c('0x1d')]){var _0x3867af=_[_0x171c('0x1e')](_0x325ab2[_0x171c('0x1c')],'message')[_0x171c('0x1f')](';');return _0x23af69(handleCheckRowError(_0x171c('0x16'),_0x3867af,null,_0x2b3f9a));}var _0x2f76a8={};for(var _0x7c9f9d in FIELDS){if(FIELDS[_0x171c('0x20')](_0x7c9f9d)&&FIELDS[_0x7c9f9d]){_0x2f76a8[_0x7c9f9d]=_0x325ab2['data'][0x0][FIELDS[_0x7c9f9d]]||_0x325ab2[_0x171c('0x21')][0x0]['\ufeff'+FIELDS[_0x7c9f9d]];}}if(!_0x2f76a8[_0x171c('0x22')]){return _0x23af69(handleCheckRowError(_0x171c('0x16'),_0x171c('0x23'),null,_0x2b3f9a));}if(!_0x2f76a8[_0x171c('0x24')]){return _0x23af69(handleCheckRowError(_0x171c('0x16'),_0x171c('0x25'),null,_0x2b3f9a));}if(_0x2f76a8[_0x171c('0x26')]){var _0x4d7312=moment(_0x2f76a8['birthDate'],_0x171c('0x27'));if(!_0x4d7312[_0x171c('0x28')]()){return _0x23af69(handleCheckRowError(_0x171c('0x16'),_0x171c('0x29'),null,_0x2b3f9a));}}if(_0x2f76a8[_0x171c('0x2a')]){if(!isEmail(_0x2f76a8[_0x171c('0x2a')])){return _0x23af69(handleCheckRowError(_0x171c('0x16'),_0x171c('0x2b'),null,_0x2b3f9a));}}_0x2f76a8[_0x171c('0x2c')]=LISTID;_0x2f76a8[_0x171c('0x2d')]=COMPANYID||undefined;if(DUPLICATES&&DUPLICATES['length']&&_0x4c0970){var _0x35e951={};for(var _0x4e2fa8=0x0,_0x56cc22=DUPLICATES[_0x171c('0x1d')];_0x4e2fa8<_0x56cc22;_0x4e2fa8+=0x1){_0x35e951[DUPLICATES[_0x4e2fa8]]=_0x2f76a8[DUPLICATES[_0x4e2fa8]];}var _0x2e014d=_[_0x171c('0x2e')](_0x4c0970,_0x35e951);if(_0x2e014d){return _0x23af69(handleCheckRowError(_0x171c('0x2f'),_0x171c('0x30'),_0x2e014d,_0x2b3f9a));}}return db[_0x171c('0x31')][_0x171c('0x32')](_0x2f76a8,{'raw':!![],'hooks':![],'fields':_[_0x171c('0x33')](_0x2f76a8)})[_0x171c('0x34')](function(_0x4d59c9){if(DUPLICATES&&DUPLICATES[_0x171c('0x1d')]&&_0x4c0970){_0x4c0970[_0x171c('0x35')](_[_0x171c('0x36')](_0x2f76a8,DUPLICATES));}hopperContacts+=(hopperContacts?',':'')+_0x4d59c9['id'];return _0x398e67();})[_0x171c('0x37')](function(_0x4de98a){return _0x23af69(handleCheckRowError(_0x171c('0x16'),_0x171c('0x38')+(_0x4de98a[_0x171c('0x39')]||JSON[_0x171c('0x3a')](_0x4de98a)),null,_0x2b3f9a));});});}function checkHopper(){function _0x3ea6ba(){return function(_0x3108c9){logger[_0x171c('0x16')]('cmContact','checkHopper',util[_0x171c('0x3b')](_0x3108c9,{'showHidden':![],'depth':null}));};}var _0x274143=function(_0x2265ca,_0x1c7bd8){var _0x1466ef=squel['insert']()[_0x171c('0x3c')](_0x171c('0x3d'))['fromQuery']([_0x171c('0x24'),_0x171c('0x3e'),_0x171c('0x3f'),_0x171c('0x2c'),_0x1c7bd8,_0x171c('0x40'),'updatedAt'],squel[_0x171c('0x41')]()[_0x171c('0x42')]('phone','phone')[_0x171c('0x42')](_0x171c('0x43'),'scheduledAt')[_0x171c('0x42')]('id',_0x171c('0x3f'))[_0x171c('0x42')](LISTID[_0x171c('0x44')](),_0x171c('0x2c'))['field'](_0x2265ca['id'][_0x171c('0x44')](),_0x1c7bd8)[_0x171c('0x42')](_0x171c('0x43'),_0x171c('0x40'))[_0x171c('0x42')](_0x171c('0x43'),_0x171c('0x45'))[_0x171c('0x46')]('cm_contacts')[_0x171c('0x47')](_0x171c('0x48'))['where']('ListId\x20=\x20?',LISTID[_0x171c('0x44')]())[_0x171c('0x47')](_0x171c('0x49'))[_0x171c('0x47')](_0x171c('0x4a'),squel[_0x171c('0x41')]()[_0x171c('0x42')]('phone')['from']('cm_hopper')[_0x171c('0x47')](_0x1c7bd8+_0x171c('0x4b'),_0x2265ca['id'][_0x171c('0x44')]())))[_0x171c('0x44')]();return _0x1466ef;};var _0x29c7fc=function(_0x5ef334,_0x11704f){var _0x303978=squel['insert']()[_0x171c('0x3c')](_0x171c('0x3d'))[_0x171c('0x4c')]([_0x171c('0x24'),'scheduledAt',_0x171c('0x3f'),_0x171c('0x2c'),_0x11704f,_0x171c('0x40'),_0x171c('0x45')],squel['select']()[_0x171c('0x42')](_0x171c('0x24'),_0x171c('0x24'))['field'](_0x171c('0x43'),_0x171c('0x3e'))[_0x171c('0x42')]('id',_0x171c('0x3f'))[_0x171c('0x42')](LISTID['toString'](),_0x171c('0x2c'))[_0x171c('0x42')](_0x5ef334['id']['toString'](),_0x11704f)[_0x171c('0x42')](_0x171c('0x43'),_0x171c('0x40'))['field']('NOW()',_0x171c('0x45'))[_0x171c('0x46')](_0x171c('0x4d'))[_0x171c('0x47')]('deletedAt\x20IS\x20NULL')[_0x171c('0x47')](_0x171c('0x4e'),LISTID[_0x171c('0x44')]())[_0x171c('0x47')](_0x171c('0x4f'),squel['str'](hopperContacts))['where'](_0x171c('0x49'))[_0x171c('0x47')]('phone\x20NOT\x20IN\x20(?)',squel[_0x171c('0x41')]()[_0x171c('0x42')](_0x171c('0x50'))[_0x171c('0x46')](_0x171c('0x51'))['where'](_0x11704f+_0x171c('0x4b'),_0x5ef334['id'][_0x171c('0x44')]()))[_0x171c('0x47')](_0x171c('0x4a'),squel['select']()[_0x171c('0x42')](_0x171c('0x24'))[_0x171c('0x46')]('cm_hopper')[_0x171c('0x47')](_0x11704f+_0x171c('0x4b'),_0x5ef334['id'][_0x171c('0x44')]())))[_0x171c('0x44')]();return _0x303978;};function _0x5c3786(_0x5c9343,_0x12c71d){var _0x3d3a51=squel[_0x171c('0x52')]()[_0x171c('0x3c')]('cm_hopper')[_0x171c('0x4c')]([_0x171c('0x24'),_0x171c('0x3e'),_0x171c('0x3f'),_0x171c('0x2c'),_0x12c71d,_0x171c('0x40'),'updatedAt'],squel['select']()[_0x171c('0x42')](_0x171c('0x24'),_0x171c('0x24'))[_0x171c('0x42')](_0x171c('0x43'),_0x171c('0x3e'))[_0x171c('0x42')]('id','ContactId')[_0x171c('0x42')](LISTID['toString'](),_0x171c('0x2c'))[_0x171c('0x42')](_0x5c9343['id'][_0x171c('0x44')](),_0x12c71d)['field']('NOW()',_0x171c('0x40'))['field'](_0x171c('0x43'),'updatedAt')['from'](_0x171c('0x4d'))['where'](_0x171c('0x48'))[_0x171c('0x47')](_0x171c('0x4e'),LISTID[_0x171c('0x44')]())[_0x171c('0x47')](_0x171c('0x4f'),squel['str'](hopperContacts))[_0x171c('0x47')](_0x171c('0x49')))[_0x171c('0x44')]();return _0x3d3a51;}function _0x273dfd(_0x21e205,_0xf4b089){var _0x4a2f13=squel[_0x171c('0x52')]()[_0x171c('0x3c')](_0x171c('0x53'))[_0x171c('0x4c')]([_0x171c('0x24'),_0x171c('0x3f'),_0x171c('0x2c'),_0xf4b089,_0x171c('0x40'),_0x171c('0x45')],squel[_0x171c('0x41')]()['field'](_0x171c('0x24'),_0x171c('0x24'))[_0x171c('0x42')]('id',_0x171c('0x3f'))[_0x171c('0x42')](LISTID['toString'](),'ListId')[_0x171c('0x42')](_0x21e205['id'][_0x171c('0x44')](),_0xf4b089)[_0x171c('0x42')]('NOW()','createdAt')['field'](_0x171c('0x43'),'updatedAt')[_0x171c('0x46')](_0x171c('0x4d'))['where'](_0x171c('0x48'))[_0x171c('0x47')]('ListId\x20=\x20?',LISTID[_0x171c('0x44')]())[_0x171c('0x47')]('id\x20IN\x20?',squel['str'](hopperContacts))[_0x171c('0x47')](_0x171c('0x49')))[_0x171c('0x44')]();return _0x4a2f13;}return db[_0x171c('0x54')]['findAll']({'where':{'type':_0x171c('0x55')},'attributes':['id',_0x171c('0x56')],'include':[{'model':db[_0x171c('0x57')],'as':'Lists','where':{'id':LISTID}}]})['then'](function(_0x3731de){var _0x397cb2=[];if(_0x3731de){var _0x43e846;for(var _0x842224=0x0,_0x4c3d62;_0x842224<_0x3731de[_0x171c('0x1d')];_0x842224+=0x1){_0x4c3d62=_0x3731de[_0x842224][_0x171c('0x58')]({'plain':!![]});switch(_0x4c3d62[_0x171c('0x56')]){case _0x171c('0x59'):_0x397cb2[_0x171c('0x35')](db[_0x171c('0x5a')]['query'](_0x29c7fc(_0x4c3d62,_0x171c('0x5b')))[_0x171c('0x34')](function(){})[_0x171c('0x37')](_0x3ea6ba()));break;case'onlyIfOpen':_0x397cb2[_0x171c('0x35')](db[_0x171c('0x5a')][_0x171c('0x5c')](_0x274143(_0x4c3d62,_0x171c('0x5b')))[_0x171c('0x34')](function(){})[_0x171c('0x37')](_0x3ea6ba()));break;default:_0x397cb2[_0x171c('0x35')](db[_0x171c('0x5a')][_0x171c('0x5c')](_0x5c3786(_0x4c3d62,_0x171c('0x5b')))['then'](function(){})[_0x171c('0x37')](_0x3ea6ba()));}}}return _0x397cb2;})['all']()['then'](function(){return db[_0x171c('0x54')]['findAll']({'where':{'type':_0x171c('0x55')},'attributes':['id'],'include':[{'model':db['CmList'],'as':'BlackLists','where':{'id':LISTID}}]})[_0x171c('0x34')](function(_0x7774ea){var _0x46055e=[];if(_0x7774ea){var _0x593849;for(var _0x13596c=0x0,_0xb5c88f;_0x13596c<_0x7774ea[_0x171c('0x1d')];_0x13596c+=0x1){_0xb5c88f=_0x7774ea[_0x13596c][_0x171c('0x58')]({'plain':!![]});_0x46055e['push'](db[_0x171c('0x5a')][_0x171c('0x5c')](_0x273dfd(_0xb5c88f,_0x171c('0x5b')))['then'](function(){})['catch'](_0x3ea6ba()));}}return _0x46055e;})[_0x171c('0x5d')]();})['then'](function(){return db[_0x171c('0x5e')][_0x171c('0x5f')]({'attributes':['id',_0x171c('0x56')],'include':[{'model':db['CmList'],'as':_0x171c('0x60'),'where':{'id':LISTID}}]})[_0x171c('0x34')](function(_0x36a1bf){var _0x4c48ef=[];if(_0x36a1bf){for(var _0x503c5f=0x0,_0xc2f9ac;_0x503c5f<_0x36a1bf[_0x171c('0x1d')];_0x503c5f+=0x1){_0xc2f9ac=_0x36a1bf[_0x503c5f][_0x171c('0x58')]({'plain':!![]});switch(_0xc2f9ac['dialCheckDuplicateType']){case _0x171c('0x59'):_0x4c48ef[_0x171c('0x35')](db[_0x171c('0x5a')][_0x171c('0x5c')](_0x29c7fc(_0xc2f9ac,_0x171c('0x61')))[_0x171c('0x34')](function(){})[_0x171c('0x37')](_0x3ea6ba()));break;case _0x171c('0x62'):_0x4c48ef[_0x171c('0x35')](db[_0x171c('0x5a')][_0x171c('0x5c')](_0x274143(_0xc2f9ac,_0x171c('0x61')))[_0x171c('0x34')](function(){})[_0x171c('0x37')](_0x3ea6ba()));break;default:_0x4c48ef[_0x171c('0x35')](db['sequelize'][_0x171c('0x5c')](_0x5c3786(_0xc2f9ac,_0x171c('0x61')))[_0x171c('0x34')](function(){})[_0x171c('0x37')](_0x3ea6ba()));}}}return _0x4c48ef;})['all']();})['then'](function(){return db[_0x171c('0x5e')][_0x171c('0x5f')]({'attributes':['id'],'include':[{'model':db[_0x171c('0x57')],'as':_0x171c('0x63'),'where':{'id':LISTID}}]})[_0x171c('0x34')](function(_0x44cd00){var _0xb7c9dc=[];if(_0x44cd00){for(var _0x140eb3=0x0,_0x498461;_0x140eb3<_0x44cd00[_0x171c('0x1d')];_0x140eb3+=0x1){_0x498461=_0x44cd00[_0x140eb3][_0x171c('0x58')]({'plain':!![]});_0xb7c9dc['push'](db[_0x171c('0x5a')][_0x171c('0x5c')](_0x273dfd(_0x498461,_0x171c('0x61')))[_0x171c('0x34')](function(){})['catch'](_0x3ea6ba()));}}return _0xb7c9dc;})[_0x171c('0x5d')]();})[_0x171c('0x37')](function(_0x37c369){logger['error'](_0x171c('0x64'),'generalCheckHopper',_0x37c369[_0x171c('0x39')]);});}var processPromises=function(_0x4f54d4){return BPromise[_0x171c('0x5d')](promises)[_0x171c('0x34')](function(_0x4a0949){})[_0x171c('0x37')](function(_0x2a1197){logger[_0x171c('0x16')]('Error\x20processing\x20rows\x20block:',JSON[_0x171c('0x3a')](_0x2a1197));})[_0x171c('0x65')](function(){socket['emit'](_0x171c('0x66')+SOCKET_TIMESTAMP,{'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});promises=[];success=0x0;errors=0x0;duplicates=0x0;rows=[];if(_0x4f54d4){return _0x4f54d4[_0x171c('0x67')]();}});};var endCsv=function(){return BPromise['resolve']()[_0x171c('0x34')](function(){if(hopperContacts){return checkHopper();}})['then'](function(){socket[_0x171c('0x68')](_0x171c('0x66')+SOCKET_TIMESTAMP,{'finished':!![],'success':success,'errors':errors,'duplicates':duplicates,'rows':rows});try{fs['unlinkSync'](FILEPATH);}catch(_0x1a3e52){logger[_0x171c('0x16')](_0x171c('0x69'),JSON[_0x171c('0x3a')](_0x1a3e52));}finally{process[_0x171c('0x6a')](0x0);}});};process['on'](_0x171c('0x6b'),function(){logger[_0x171c('0x6c')]('CSV\x20import\x20process\x20stopped!');endCsv();});function main(){return BPromise[_0x171c('0x6d')]()[_0x171c('0x34')](function(){if(DUPLICATES){DUPLICATES=DUPLICATES['split'](',');return db[_0x171c('0x31')][_0x171c('0x5f')]({'where':{'ListId':LISTID},'attributes':DUPLICATES,'raw':!![]});}})[_0x171c('0x34')](function(_0x1e3c20){var _0x2c3cd6=fs[_0x171c('0x6e')](FILEPATH,{'highWaterMark':0xf*0x400*0x400});Papa[_0x171c('0x6f')](_0x2c3cd6,{'header':!![],'skipEmptyLines':!![],'step':function(_0x2d2a93,_0x1baa2a){total+=0x1;var _0x58aff7=total;promises[_0x171c('0x35')](checkRow(_0x2d2a93,_0x1e3c20,_0x58aff7)[_0x171c('0x34')](function(){success+=0x1;})[_0x171c('0x37')](function(_0x56491f){if(_0x56491f[_0x171c('0x16')]){errors+=0x1;delete _0x56491f[_0x171c('0x16')];}else if(_0x56491f[_0x171c('0x2f')]){duplicates+=0x1;delete _0x56491f[_0x171c('0x2f')];}rows['push'](_0x56491f);}));if(total%0xc8===0x0){_0x1baa2a[_0x171c('0x70')]();return processPromises(_0x1baa2a);}},'complete':function(){return processPromises()[_0x171c('0x34')](function(){logger[_0x171c('0x6c')]('CSV\x20parsed\x20correctly!');endCsv();});},'error':function(_0x362588,_0x3fad2b){logger[_0x171c('0x6c')]('CSV\x20parse\x20error',JSON[_0x171c('0x3a')](_0x362588));endCsv();}});})[_0x171c('0x37')](function(_0x39ff5b){logger['error']('Error\x20executing\x20contact\x20csv\x20import:',JSON[_0x171c('0x3a')](_0x39ff5b));});}main();