Built motion from commit (unavailable).|2.5.30
[motion2.git] / server / services / agi / scripts / index.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 _0x3cbd=['map','alternatives','transcript','join','confidence','googleASR\x20transcription','googleASR\x20confidence','catch','[%s]\x20%s:%s','name','message','googleDialogflow','textRequest','source','result','action','actionIncomplete','fulfillment','speech','status','code','metadata','googleDialogflowV2','replace','SessionsClient','detectIntent','queryResult','allRequiredParamsPresent','diagnosticInfo','fields','end_conversation','boolValue','fulfillmentText','intent','displayName','intentDetectionConfidence','tildeASR','Tilde\x20ASR\x20transcription','awsPolly','polly','lex','ispeechTTS','format','%s?apikey=%s&action=convert&text=%s&voice=%s&speed=%s&format=mp3','ispeechASR','freeform=3','nda','text','channelData','CustomAction','CustomActionData','AudioFromTts','dirName','apiai-promise','http','https','path','querystring','request-promise','randomstring','sox','url','parse','util','./aws','./google','./sestek','./tilde','../../../config/logger','https:','host','WHAT_EVER','get','statusCode','request\x20to\x20','\x20failed,\x20status\x20code\x20=\x20','statusMessage','createWriteStream','info','finish\x20download\x20file','error','end','transcode','wav','error\x20convert','finish\x20to\x20convert','start','tmp','generate','.wav','writeFileSync','base64','unlink','chmodSync','777','split','readFileSync','toString','googleCloudTTS','?key=','ssml','input','MP3','then','audioContent','googleCloudTTS\x20path','googleTTS','https://translate.google.com/_/TranslateWebserverUi/data/batchexecute','POST','application/x-www-form-urlencoded','f.req=','stringify','jQ1olc','parse\x20response\x20failed:\x0a','data','length','text\x20length\x20limit\x20reached','lang\x20\x22','resolve','.mp3','googleASR','asr','results'];(function(_0x2c1aa8,_0x3e0609){var _0x4019f5=function(_0x916eac){while(--_0x916eac){_0x2c1aa8['push'](_0x2c1aa8['shift']());}};_0x4019f5(++_0x3e0609);}(_0x3cbd,0xb0));var _0xd3cb=function(_0x3e8c07,_0x2e27b6){_0x3e8c07=_0x3e8c07-0x0;var _0x14d3e5=_0x3cbd[_0x3e8c07];return _0x14d3e5;};'use strict';var apiai=require(_0xd3cb('0x0'));var BPromise=require('bluebird');var dialogflow=require('dialogflow');var fs=require('fs');var http=require(_0xd3cb('0x1'));var https=require(_0xd3cb('0x2'));var md5=require('md5');var path=require(_0xd3cb('0x3'));var querystring=require(_0xd3cb('0x4'));var rp=require(_0xd3cb('0x5'));var rs=require(_0xd3cb('0x6'));var sox=require(_0xd3cb('0x7'));var tts=require('google-tts-api');var urlParse=require(_0xd3cb('0x8'))[_0xd3cb('0x9')];var util=require(_0xd3cb('0xa'));var aws=require(_0xd3cb('0xb'));var google=require(_0xd3cb('0xc'));var sestek=require(_0xd3cb('0xd'));var tilde=require(_0xd3cb('0xe'));var logger=require(_0xd3cb('0xf'))('agi');var ISPEECH_API='https://api.ispeech.org/api/rest';function downloadFile(_0x5174fd,_0x6b634d){return new BPromise(function(_0x454009,_0x59c1ff){var _0xb76f7d=urlParse(_0x5174fd);var _0x50154c=_0xb76f7d['protocol']===_0xd3cb('0x10')?https:http;var _0x28656c={'host':_0xb76f7d[_0xd3cb('0x11')],'path':_0xb76f7d['path'],'headers':{'user-agent':_0xd3cb('0x12')}};_0x50154c[_0xd3cb('0x13')](_0x28656c,function(_0x22443b){if(_0x22443b[_0xd3cb('0x14')]!==0xc8){logger['error'](_0xd3cb('0x15')+_0x5174fd+_0xd3cb('0x16')+_0x22443b['statusCode']+'\x20('+_0x22443b[_0xd3cb('0x17')]+')');_0x59c1ff(new Error(_0xd3cb('0x15')+_0x5174fd+_0xd3cb('0x16')+_0x22443b[_0xd3cb('0x14')]+'\x20('+_0x22443b[_0xd3cb('0x17')]+')'));return;}var _0x2b1ed2=fs[_0xd3cb('0x18')](_0x6b634d);_0x2b1ed2['on']('finish',function(){logger[_0xd3cb('0x19')](_0xd3cb('0x1a'));_0x2b1ed2['close'](_0x454009);});_0x2b1ed2['on'](_0xd3cb('0x1b'),function(_0x2e18ac){fs['unlink'](_0x6b634d);logger[_0xd3cb('0x1b')]('download\x20error',_0x2e18ac);_0x59c1ff(_0x2e18ac);});_0x22443b['pipe'](_0x2b1ed2);})['on'](_0xd3cb('0x1b'),function(_0x521e51){logger[_0xd3cb('0x1b')](_0x521e51);_0x59c1ff(_0x521e51);})['end']();});}function uploadFile(_0x375a04){return new BPromise(function(_0x557b3f,_0x2445b1){var _0x19acb9=urlParse(_0x375a04);var _0x2b0b92=_0x19acb9['protocol']===_0xd3cb('0x10')?https:http;var _0x541fad={'host':_0x19acb9['host'],'path':_0x19acb9['path'],'headers':{'user-agent':_0xd3cb('0x12')}};_0x2b0b92['get'](_0x541fad,function(_0x490e1e){if(_0x490e1e[_0xd3cb('0x14')]!==0xc8){_0x2445b1(new Error(_0xd3cb('0x15')+_0x375a04+_0xd3cb('0x16')+_0x490e1e[_0xd3cb('0x14')]+'\x20('+_0x490e1e[_0xd3cb('0x17')]+')'));return;}var _0x80c571='';_0x490e1e['on']('data',function(_0x5eb66f){_0x80c571+=_0x5eb66f;});_0x490e1e['on'](_0xd3cb('0x1c'),function(){_0x557b3f(_0x80c571);});})['on'](_0xd3cb('0x1b'),function(_0x2d63bf){_0x2445b1(_0x2d63bf);})[_0xd3cb('0x1c')]();});}function convertFile(_0x408f6d,_0x17379e){return new BPromise(function(_0x26114d,_0x34315b){var _0x3291b6=sox[_0xd3cb('0x1d')](_0x408f6d,_0x17379e,{'sampleRate':0x1f40,'format':_0xd3cb('0x1e'),'channelCount':0x1,'bitRate':0xc0*0x400,'compressionQuality':0x5});_0x3291b6['on']('error',function(_0x5c0788){logger[_0xd3cb('0x1b')](_0xd3cb('0x1f'),_0x5c0788);_0x34315b(_0x5c0788);});_0x3291b6['on'](_0xd3cb('0x1c'),function(){logger[_0xd3cb('0x19')](_0xd3cb('0x20'));_0x26114d();});_0x3291b6[_0xd3cb('0x21')]();});}function base64Decode(_0x4f53dd,_0x3c5965){var _0x1c3711=path['resolve'](__dirname,_0xd3cb('0x22'),rs[_0xd3cb('0x23')](0x4)+_0xd3cb('0x24'));fs[_0xd3cb('0x25')](_0x1c3711,_0x4f53dd,_0xd3cb('0x26'));return convertFile(_0x1c3711,_0x3c5965)['then'](function(){try{fs[_0xd3cb('0x27')](_0x1c3711);fs[_0xd3cb('0x28')](_0x3c5965,_0xd3cb('0x29'));}catch(_0x3d14c2){logger[_0xd3cb('0x1b')](_0x3d14c2);}return _0x3c5965[_0xd3cb('0x2a')]('.')[0x0];});}function base64Encode(_0x124cf0){var _0x191793=fs[_0xd3cb('0x2b')](_0x124cf0);return new Buffer(_0x191793)[_0xd3cb('0x2c')](_0xd3cb('0x26'));}exports[_0xd3cb('0x2d')]=function(_0x48a847,_0x3dd2c1,_0x16e37b,_0x13f66d,_0x44178c,_0x411006){var _0x5f166b,_0x6a95cd;var _0x481192='https://texttospeech.googleapis.com/v1/';var _0x25a5a6=_0xd3cb('0x2e')+_0x48a847;var _0x7be3ab={};if(_0x3dd2c1===_0xd3cb('0x2f')){_0x7be3ab['input']={'ssml':_0x16e37b};}else{_0x7be3ab[_0xd3cb('0x30')]={'text':_0x16e37b};};_0x7be3ab['voice']={'languageCode':_0x13f66d,'ssmlGender':_0x44178c};_0x7be3ab['audioConfig']={'audioEncoding':_0xd3cb('0x31'),'sampleRateHertz':0x1f40};var _0x31666b={'url':_0x481192+'text:synthesize'+_0x25a5a6,'method':'POST','json':!![],'body':_0x7be3ab};return rp(_0x31666b)[_0xd3cb('0x32')](function(_0x508c82){return new BPromise(function(_0x2410f6,_0xbb5549){_0x5f166b=path['resolve'](__dirname,'tmp',rs['generate'](0x4)+'.mp3');var _0x27516c=Buffer['from'](_0x508c82[_0xd3cb('0x33')],_0xd3cb('0x26'));return fs['writeFile'](_0x5f166b,_0x27516c,function(_0x4ad9ec){_0xbb5549(_0x4ad9ec);},function(_0x2d04c1){fs[_0xd3cb('0x28')](_0x5f166b,_0xd3cb('0x29'));_0x2410f6(_0x2d04c1);});});})[_0xd3cb('0x32')](function(_0x372485){_0x6a95cd=path['resolve'](__dirname,_0xd3cb('0x22'),rs[_0xd3cb('0x23')](0x4)+_0xd3cb('0x24'));return convertFile(_0x5f166b,_0x6a95cd);})[_0xd3cb('0x32')](function(){try{fs[_0xd3cb('0x27')](_0x5f166b);fs['chmodSync'](_0x6a95cd,_0xd3cb('0x29'));}catch(_0x261d96){logger[_0xd3cb('0x1b')](_0x261d96);}logger[_0xd3cb('0x19')](_0xd3cb('0x34'),_0x6a95cd['split']('.')[0x0]);return _0x6a95cd[_0xd3cb('0x2a')]('.')[0x0];});};exports[_0xd3cb('0x35')]=function(_0x36012d,_0x4dea35){var _0x2ba6ef=_0xd3cb('0x36');var _0x5b3477,_0x38dc09;var _0x1b3e6e;var _0x5db551={'encoding':'utf8','method':_0xd3cb('0x37'),'timeout':0x2710,'url':_0x2ba6ef,'headers':{'Content-Type':_0xd3cb('0x38')},'body':_0xd3cb('0x39')+encodeURIComponent(JSON[_0xd3cb('0x3a')]([[[_0xd3cb('0x3b'),JSON[_0xd3cb('0x3a')]([_0x36012d,_0x4dea35||'en',![],'null']),null,'generic']]]))};return rp(_0x5db551)[_0xd3cb('0x32')](function(_0xddcfd2){try{_0x1b3e6e=eval(_0xddcfd2['slice'](0x5))[0x0][0x2];}catch(_0x420cb7){throw new Error(_0xd3cb('0x3c')+_0xddcfd2[_0xd3cb('0x3d')]);}if(!_0x1b3e6e){if(_0x36012d[_0xd3cb('0x3e')]>0xc8){throw new Error(_0xd3cb('0x3f'));}else{throw new Error(_0xd3cb('0x40')+_0x4dea35+'\x22\x20might\x20not\x20exist');}}try{_0x1b3e6e=eval(_0x1b3e6e)[0x0];}catch(_0x5b69e1){throw new Error(_0xd3cb('0x3c')+res['data']);}const _0xd498b7=_0x1b3e6e;_0x5b3477=path[_0xd3cb('0x41')](__dirname,_0xd3cb('0x22'),rs[_0xd3cb('0x23')](0x4)+_0xd3cb('0x42'));fs['writeFileSync'](_0x5b3477,_0x1b3e6e,{'encoding':_0xd3cb('0x26')});_0x38dc09=path[_0xd3cb('0x41')](__dirname,_0xd3cb('0x22'),rs[_0xd3cb('0x23')](0x4)+_0xd3cb('0x24'));return convertFile(_0x5b3477,_0x38dc09);})[_0xd3cb('0x32')](function(){try{fs[_0xd3cb('0x27')](_0x5b3477);fs['chmodSync'](_0x38dc09,_0xd3cb('0x29'));}catch(_0x366481){logger[_0xd3cb('0x1b')](_0x366481);}logger['info']('goggleTTS\x20path',_0x38dc09['split']('.')[0x0]);return _0x38dc09[_0xd3cb('0x2a')]('.')[0x0];});};exports[_0xd3cb('0x43')]=function(_0x2e1ef2,_0xc80889,_0x574dc7){return google[_0xd3cb('0x44')](_0x2e1ef2,_0xc80889,_0x574dc7)[_0xd3cb('0x32')](function(_0x39f5cc){logger['info'](_0x39f5cc['uri']);return rp(_0x39f5cc);})['then'](function(_0x397833){var _0x588ed4='';var _0x12b7b2=0x0;try{fs[_0xd3cb('0x27')](_0x2e1ef2);}catch(_0x120fc7){logger[_0xd3cb('0x1b')](_0x120fc7);}if(_0x397833&&_0x397833[_0xd3cb('0x45')]){_0x588ed4=_0x397833['results'][_0xd3cb('0x46')](function(_0x2834d8){return _0x2834d8&&_0x2834d8[_0xd3cb('0x47')][0x0]&&_0x2834d8[_0xd3cb('0x47')][0x0][_0xd3cb('0x48')]?_0x2834d8[_0xd3cb('0x47')][0x0]['transcript']:'';})[_0xd3cb('0x49')]('\x0a');_0x12b7b2=_0x397833['results'][_0xd3cb('0x46')](function(_0x1bf80f){return _0x1bf80f&&_0x1bf80f[_0xd3cb('0x47')][0x0]&&_0x1bf80f[_0xd3cb('0x47')][0x0][_0xd3cb('0x4a')]?_0x1bf80f[_0xd3cb('0x47')][0x0][_0xd3cb('0x4a')]:0x0;})[_0xd3cb('0x49')]('\x0a');}logger[_0xd3cb('0x19')](_0xd3cb('0x4b'),_0x588ed4);logger[_0xd3cb('0x19')](_0xd3cb('0x4c'),_0x12b7b2);return{'transcript':_0x588ed4,'confidence':_0x12b7b2};})[_0xd3cb('0x4d')](function(_0x1a1475){logger['error'](_0xd3cb('0x4e'),_0x1a1475[_0xd3cb('0x14')],_0x1a1475[_0xd3cb('0x4f')],_0x1a1475[_0xd3cb('0x50')]);});};exports[_0xd3cb('0x51')]=function(_0x2c0f7f,_0x1cfbe1,_0x35ccd4,_0x17516f){var _0x3b40b5=apiai(_0x1cfbe1,{'language':_0x17516f||'en'});return _0x3b40b5[_0xd3cb('0x52')](_0x35ccd4,{'sessionId':md5(_0x2c0f7f)})['then'](function(_0x4af0f6){logger[_0xd3cb('0x19')](JSON[_0xd3cb('0x3a')](_0x4af0f6));return{'source':_0x4af0f6['result'][_0xd3cb('0x53')],'resolvedQuery':_0x4af0f6['result']['resolvedQuery'],'action':_0x4af0f6[_0xd3cb('0x54')][_0xd3cb('0x55')],'actionIncomplete':_0x4af0f6['result'][_0xd3cb('0x56')],'speech':_0x4af0f6[_0xd3cb('0x54')][_0xd3cb('0x57')][_0xd3cb('0x58')],'score':_0x4af0f6[_0xd3cb('0x54')]['score'],'statusCode':_0x4af0f6[_0xd3cb('0x59')][_0xd3cb('0x5a')],'endConversation':_0x4af0f6[_0xd3cb('0x54')][_0xd3cb('0x5b')]['endConversation']||![],'isFallbackIntent':_0x4af0f6[_0xd3cb('0x54')][_0xd3cb('0x5b')]['isFallbackIntent']};});};exports[_0xd3cb('0x5c')]=function(_0x15d54a,_0x2c3b3a,_0x302662,_0x32c1b2,_0x3b8c75,_0x49610d){var _0x2e9a85=_0x32c1b2[_0xd3cb('0x5d')](/\\n/g,'\x0a');var _0x88bcb2={'credentials':{'private_key':_0x2e9a85,'client_email':_0x302662}};var _0x5b0d8d=new dialogflow[(_0xd3cb('0x5e'))](_0x88bcb2);var _0x3a20b0=_0x5b0d8d['sessionPath'](_0x2c3b3a,md5(_0x15d54a));var _0x4cb652={'session':_0x3a20b0,'queryInput':{'text':{'text':_0x3b8c75,'languageCode':_0x49610d}}};return _0x5b0d8d[_0xd3cb('0x5f')](_0x4cb652)[_0xd3cb('0x32')](function(_0x24a4f2){if(_0x24a4f2&&_0x24a4f2['length']){logger[_0xd3cb('0x19')]('Dialogflow\x20V2\x20response:',JSON[_0xd3cb('0x3a')](_0x24a4f2));var _0x4eefe3=_0x24a4f2[0x0];if(_0x4eefe3){var _0x5b3bd8={'action':_0x4eefe3[_0xd3cb('0x60')][_0xd3cb('0x55')],'allRequiredParamsPresent':_0x4eefe3[_0xd3cb('0x60')][_0xd3cb('0x61')],'endConversation':_0x4eefe3[_0xd3cb('0x60')]['diagnosticInfo']&&_0x4eefe3['queryResult'][_0xd3cb('0x62')][_0xd3cb('0x63')]?_0x4eefe3[_0xd3cb('0x60')][_0xd3cb('0x62')]['fields'][_0xd3cb('0x64')][_0xd3cb('0x65')]:![],'fulfillmentText':_0x4eefe3[_0xd3cb('0x60')][_0xd3cb('0x66')],'intentName':_0x4eefe3[_0xd3cb('0x60')]['intent']['name'],'intentDisplayName':_0x4eefe3[_0xd3cb('0x60')][_0xd3cb('0x67')][_0xd3cb('0x68')],'isFallbackIntent':_0x4eefe3[_0xd3cb('0x60')]['intent']['isFallback'],'languageCode':_0x4eefe3[_0xd3cb('0x60')]['languageCode'],'queryText':_0x4eefe3[_0xd3cb('0x60')]['queryText'],'responseId':_0x4eefe3['responseId'],'score':_0x4eefe3[_0xd3cb('0x60')][_0xd3cb('0x69')],'speech':_0x4eefe3['queryResult'][_0xd3cb('0x66')],'providerResponse':JSON['stringify'](_0x24a4f2)};return _0x5b3bd8;}}});};exports[_0xd3cb('0x6a')]=function(_0x990b35,_0x5dab63,_0x471cdf,_0x427fa3){return tilde['asr'](_0x990b35,_0x5dab63,_0x471cdf,_0x427fa3)['then'](function(_0x2178e9){try{fs['unlink'](_0x990b35);}catch(_0x2727c5){logger[_0xd3cb('0x1b')](_0x2727c5);}logger[_0xd3cb('0x19')](_0xd3cb('0x6b'),_0x2178e9['transcript']);logger[_0xd3cb('0x19')]('Tilde\x20ASR\x20confidence',_0x2178e9[_0xd3cb('0x4a')]);return _0x2178e9;});};exports[_0xd3cb('0x6c')]=function(_0x54fe8e,_0x27e12d,_0x8a6725,_0x226884,_0x2d28c6,_0x3d5072){var _0x350345=path[_0xd3cb('0x41')](__dirname,_0xd3cb('0x22'),rs[_0xd3cb('0x23')](0x4)+'.mp3');var _0x277301;return aws[_0xd3cb('0x6d')](_0x54fe8e,_0x27e12d,_0x8a6725,_0x226884,_0x2d28c6,_0x3d5072,_0x350345)[_0xd3cb('0x32')](function(){_0x277301=path[_0xd3cb('0x41')](__dirname,_0xd3cb('0x22'),rs['generate'](0x4)+_0xd3cb('0x24'));return convertFile(_0x350345,_0x277301);})[_0xd3cb('0x32')](function(){try{fs['unlink'](_0x350345);fs[_0xd3cb('0x28')](_0x277301,_0xd3cb('0x29'));}catch(_0x441db9){logger['error'](_0x441db9);}return _0x277301[_0xd3cb('0x2a')]('.')[0x0];});};exports['awsLex']=function(_0x3e9d45,_0x219470,_0x19a6ed,_0x929407,_0x485710,_0x2be396){return aws[_0xd3cb('0x6e')](_0x3e9d45,_0x219470,_0x19a6ed,_0x929407,_0x485710,_0x2be396)[_0xd3cb('0x32')](function(_0x520079){logger[_0xd3cb('0x19')](JSON['stringify'](_0x520079));return _0x520079;});};exports[_0xd3cb('0x6f')]=function(_0x30e39a,_0x34cb2e,_0x24c9ea,_0x1c5bbc){var _0x152b01=util[_0xd3cb('0x70')](_0xd3cb('0x71'),ISPEECH_API,_0x30e39a,encodeURIComponent(_0x34cb2e),_0x24c9ea,_0x1c5bbc);var _0x25c862=path[_0xd3cb('0x41')](__dirname,_0xd3cb('0x22'),rs['generate'](0x4)+_0xd3cb('0x42'));var _0x472516;return downloadFile(_0x152b01,_0x25c862)[_0xd3cb('0x32')](function(){_0x472516=path['resolve'](__dirname,_0xd3cb('0x22'),rs[_0xd3cb('0x23')](0x4)+'.wav');return convertFile(_0x25c862,_0x472516);})['then'](function(){try{fs[_0xd3cb('0x27')](_0x25c862);fs[_0xd3cb('0x28')](_0x472516,_0xd3cb('0x29'));}catch(_0x223eaa){logger[_0xd3cb('0x1b')](_0x223eaa);}return _0x472516['split']('.')[0x0];});};exports[_0xd3cb('0x72')]=function(_0x3ec698,_0x164296,_0x21d1fe,_0x100ee1){var _0x3083bd=util['format']('%s?apikey=%s&action=recognize&locale=%s&content-type=audio/x-wav&audio=%s&%s',ISPEECH_API,_0x164296,_0x21d1fe,base64Encode(_0x3ec698),_0x100ee1?util[_0xd3cb('0x70')]('model=%s',encodeURIComponent(_0x100ee1)):_0xd3cb('0x73'));return uploadFile(_0x3083bd)[_0xd3cb('0x32')](function(_0x3c4bcc){return querystring['parse'](_0x3c4bcc);});};exports['sestekNDA']=function(_0x64dd6,_0x2e894f){return sestek[_0xd3cb('0x74')](_0x64dd6,_0x2e894f)[_0xd3cb('0x32')](function(_0x24a8d9){logger['info'](JSON[_0xd3cb('0x3a')](_0x24a8d9));var _0x10d8db={'speech':_0x24a8d9[_0xd3cb('0x75')],'action':_0x24a8d9[_0xd3cb('0x76')]?_0x24a8d9[_0xd3cb('0x76')][_0xd3cb('0x77')]:undefined,'actiondata':_0x24a8d9[_0xd3cb('0x76')]?_0x24a8d9[_0xd3cb('0x76')][_0xd3cb('0x78')]:undefined};if(_0x24a8d9['channelData']&&_0x24a8d9[_0xd3cb('0x76')][_0xd3cb('0x79')]){return base64Decode(_0x24a8d9[_0xd3cb('0x76')]['AudioFromTts']['Data'],path[_0xd3cb('0x41')](__dirname,_0xd3cb('0x22'),rs['generate'](0x4)+_0xd3cb('0x24')))['then'](function(_0x17cdcd){_0x10d8db['audiofile']=_0x17cdcd;return _0x10d8db;});}return _0x10d8db;});};exports[_0xd3cb('0x7a')]=function(){return __dirname;};