Built motion from commit ffdca78c.|2.6.24
[motion2.git] / server / services / agi / scripts / index.js
index cb589e3..6a97939 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xbe5d=['awsLex','ispeechTTS','format','ispeechASR','model=%s','freeform=3','sestekNDA','nda','text','CustomAction','channelData','CustomActionData','AudioFromTts','Data','audiofile','dirName','apiai-promise','bluebird','http','md5','path','querystring','request-promise','randomstring','sox','parse','util','./aws','./sestek','./tilde','agi','https://api.ispeech.org/api/rest','https:','host','get','statusCode','error','request\x20to\x20','\x20failed,\x20status\x20code\x20=\x20','statusMessage','createWriteStream','finish','info','finish\x20download\x20file','close','unlink','download\x20error','pipe','end','WHAT_EVER','data','transcode','wav','finish\x20to\x20convert','start','resolve','tmp','generate','.wav','writeFileSync','777','split','base64','googleCloudTTS','https://texttospeech.googleapis.com/v1/','input','voice','audioConfig','MP3','text:synthesize','POST','then','from','audioContent','writeFile','chmodSync','googleTTS','utf8','application/x-www-form-urlencoded','jQ1olc','stringify','generic','slice','length','lang\x20\x22','\x22\x20might\x20not\x20exist','goggleTTS\x20path','googleASR','asr','uri','results','alternatives','transcript','join','map','confidence','googleASR\x20transcription','googleASR\x20confidence','catch','[%s]\x20%s:%s','name','textRequest','result','source','resolvedQuery','action','actionIncomplete','fulfillment','speech','score','status','code','metadata','endConversation','isFallbackIntent','replace','SessionsClient','sessionPath','detectIntent','Dialogflow\x20V2\x20response:','queryResult','diagnosticInfo','fields','boolValue','fulfillmentText','intent','languageCode','queryText','responseId','intentDetectionConfidence','tildeASR','Tilde\x20ASR\x20confidence','.mp3','polly'];(function(_0x386d72,_0x271106){var _0x59ea81=function(_0x4e23e4){while(--_0x4e23e4){_0x386d72['push'](_0x386d72['shift']());}};_0x59ea81(++_0x271106);}(_0xbe5d,0x96));var _0xdbe5=function(_0x477c1c,_0x286304){_0x477c1c=_0x477c1c-0x0;var _0x2da9d5=_0xbe5d[_0x477c1c];return _0x2da9d5;};'use strict';var apiai=require(_0xdbe5('0x0'));var BPromise=require(_0xdbe5('0x1'));var dialogflow=require('dialogflow');var fs=require('fs');var http=require(_0xdbe5('0x2'));var https=require('https');var md5=require(_0xdbe5('0x3'));var path=require(_0xdbe5('0x4'));var querystring=require(_0xdbe5('0x5'));var rp=require(_0xdbe5('0x6'));var rs=require(_0xdbe5('0x7'));var sox=require(_0xdbe5('0x8'));var tts=require('google-tts-api');var urlParse=require('url')[_0xdbe5('0x9')];var util=require(_0xdbe5('0xa'));var aws=require(_0xdbe5('0xb'));var google=require('./google');var sestek=require(_0xdbe5('0xc'));var tilde=require(_0xdbe5('0xd'));var logger=require('../../../config/logger')(_0xdbe5('0xe'));var ISPEECH_API=_0xdbe5('0xf');function downloadFile(_0x183d0e,_0x68acd1){return new BPromise(function(_0x5e658b,_0x3c7544){var _0x9cc0fa=urlParse(_0x183d0e);var _0x4d94dc=_0x9cc0fa['protocol']===_0xdbe5('0x10')?https:http;var _0x4c70c2={'host':_0x9cc0fa[_0xdbe5('0x11')],'path':_0x9cc0fa['path'],'headers':{'user-agent':'WHAT_EVER'}};_0x4d94dc[_0xdbe5('0x12')](_0x4c70c2,function(_0x3a195e){if(_0x3a195e[_0xdbe5('0x13')]!==0xc8){logger[_0xdbe5('0x14')](_0xdbe5('0x15')+_0x183d0e+_0xdbe5('0x16')+_0x3a195e[_0xdbe5('0x13')]+'\x20('+_0x3a195e['statusMessage']+')');_0x3c7544(new Error('request\x20to\x20'+_0x183d0e+_0xdbe5('0x16')+_0x3a195e[_0xdbe5('0x13')]+'\x20('+_0x3a195e[_0xdbe5('0x17')]+')'));return;}var _0x38048a=fs[_0xdbe5('0x18')](_0x68acd1);_0x38048a['on'](_0xdbe5('0x19'),function(){logger[_0xdbe5('0x1a')](_0xdbe5('0x1b'));_0x38048a[_0xdbe5('0x1c')](_0x5e658b);});_0x38048a['on']('error',function(_0xe4fde0){fs[_0xdbe5('0x1d')](_0x68acd1);logger['error'](_0xdbe5('0x1e'),_0xe4fde0);_0x3c7544(_0xe4fde0);});_0x3a195e[_0xdbe5('0x1f')](_0x38048a);})['on'](_0xdbe5('0x14'),function(_0x4ea12e){logger[_0xdbe5('0x14')](_0x4ea12e);_0x3c7544(_0x4ea12e);})[_0xdbe5('0x20')]();});}function uploadFile(_0x2b2c82){return new BPromise(function(_0xcfdb79,_0x3c63c3){var _0x2c22d1=urlParse(_0x2b2c82);var _0x38afd8=_0x2c22d1['protocol']==='https:'?https:http;var _0x25b641={'host':_0x2c22d1[_0xdbe5('0x11')],'path':_0x2c22d1[_0xdbe5('0x4')],'headers':{'user-agent':_0xdbe5('0x21')}};_0x38afd8[_0xdbe5('0x12')](_0x25b641,function(_0x50841c){if(_0x50841c[_0xdbe5('0x13')]!==0xc8){_0x3c63c3(new Error(_0xdbe5('0x15')+_0x2b2c82+'\x20failed,\x20status\x20code\x20=\x20'+_0x50841c[_0xdbe5('0x13')]+'\x20('+_0x50841c[_0xdbe5('0x17')]+')'));return;}var _0x4972f7='';_0x50841c['on'](_0xdbe5('0x22'),function(_0x452f69){_0x4972f7+=_0x452f69;});_0x50841c['on'](_0xdbe5('0x20'),function(){_0xcfdb79(_0x4972f7);});})['on'](_0xdbe5('0x14'),function(_0x1f415f){_0x3c63c3(_0x1f415f);})['end']();});}function convertFile(_0x5e3971,_0x43e42c){return new BPromise(function(_0x21d8e3,_0x410a61){var _0x596da0=sox[_0xdbe5('0x23')](_0x5e3971,_0x43e42c,{'sampleRate':0x1f40,'format':_0xdbe5('0x24'),'channelCount':0x1,'bitRate':0xc0*0x400,'compressionQuality':0x5});_0x596da0['on'](_0xdbe5('0x14'),function(_0x1f5ef0){logger[_0xdbe5('0x14')]('error\x20convert',_0x1f5ef0);_0x410a61(_0x1f5ef0);});_0x596da0['on']('end',function(){logger[_0xdbe5('0x1a')](_0xdbe5('0x25'));_0x21d8e3();});_0x596da0[_0xdbe5('0x26')]();});}function base64Decode(_0x178ec7,_0x4333b3){var _0xbc3968=path[_0xdbe5('0x27')](__dirname,_0xdbe5('0x28'),rs[_0xdbe5('0x29')](0x4)+_0xdbe5('0x2a'));fs[_0xdbe5('0x2b')](_0xbc3968,_0x178ec7,'base64');return convertFile(_0xbc3968,_0x4333b3)['then'](function(){try{fs[_0xdbe5('0x1d')](_0xbc3968);fs['chmodSync'](_0x4333b3,_0xdbe5('0x2c'));}catch(_0x58aac9){logger[_0xdbe5('0x14')](_0x58aac9);}return _0x4333b3[_0xdbe5('0x2d')]('.')[0x0];});}function base64Encode(_0x439376){var _0x4ef152=fs['readFileSync'](_0x439376);return new Buffer(_0x4ef152)['toString'](_0xdbe5('0x2e'));}exports[_0xdbe5('0x2f')]=function(_0x3b2dc4,_0x404061,_0x1198a3,_0x9a8c51,_0x1fe9d0,_0x251eb7){var _0x22f7f4,_0x2de180;var _0x4201e0=_0xdbe5('0x30');var _0x4ce5f6='?key='+_0x3b2dc4;var _0xe50777={};if(_0x404061==='ssml'){_0xe50777[_0xdbe5('0x31')]={'ssml':_0x1198a3};}else{_0xe50777[_0xdbe5('0x31')]={'text':_0x1198a3};};_0xe50777[_0xdbe5('0x32')]={'languageCode':_0x9a8c51,'ssmlGender':_0x1fe9d0};_0xe50777[_0xdbe5('0x33')]={'audioEncoding':_0xdbe5('0x34'),'sampleRateHertz':0x1f40};var _0x4743a6={'url':_0x4201e0+_0xdbe5('0x35')+_0x4ce5f6,'method':_0xdbe5('0x36'),'json':!![],'body':_0xe50777};return rp(_0x4743a6)[_0xdbe5('0x37')](function(_0x339f5a){return new BPromise(function(_0x30e9c8,_0x3ef4b5){_0x22f7f4=path[_0xdbe5('0x27')](__dirname,_0xdbe5('0x28'),rs[_0xdbe5('0x29')](0x4)+'.mp3');var _0x4a1d4f=Buffer[_0xdbe5('0x38')](_0x339f5a[_0xdbe5('0x39')],_0xdbe5('0x2e'));return fs[_0xdbe5('0x3a')](_0x22f7f4,_0x4a1d4f,function(_0x1329c0){_0x3ef4b5(_0x1329c0);},function(_0x512620){fs[_0xdbe5('0x3b')](_0x22f7f4,_0xdbe5('0x2c'));_0x30e9c8(_0x512620);});});})[_0xdbe5('0x37')](function(_0x5aa3ec){_0x2de180=path['resolve'](__dirname,_0xdbe5('0x28'),rs[_0xdbe5('0x29')](0x4)+_0xdbe5('0x2a'));return convertFile(_0x22f7f4,_0x2de180);})['then'](function(){try{fs['unlink'](_0x22f7f4);fs[_0xdbe5('0x3b')](_0x2de180,_0xdbe5('0x2c'));}catch(_0x67917){logger[_0xdbe5('0x14')](_0x67917);}logger[_0xdbe5('0x1a')]('googleCloudTTS\x20path',_0x2de180[_0xdbe5('0x2d')]('.')[0x0]);return _0x2de180[_0xdbe5('0x2d')]('.')[0x0];});};exports[_0xdbe5('0x3c')]=function(_0x20ae02,_0x321724){var _0x39a9a5='https://translate.google.com/_/TranslateWebserverUi/data/batchexecute';var _0xdd62c4,_0x1cfbf6;var _0x36d5f8;var _0x2928ca={'encoding':_0xdbe5('0x3d'),'method':_0xdbe5('0x36'),'timeout':0x2710,'url':_0x39a9a5,'headers':{'Content-Type':_0xdbe5('0x3e')},'body':'f.req='+encodeURIComponent(JSON['stringify']([[[_0xdbe5('0x3f'),JSON[_0xdbe5('0x40')]([_0x20ae02,_0x321724||'en',![],'null']),null,_0xdbe5('0x41')]]]))};return rp(_0x2928ca)[_0xdbe5('0x37')](function(_0x33d7fb){try{_0x36d5f8=eval(_0x33d7fb[_0xdbe5('0x42')](0x5))[0x0][0x2];}catch(_0x4abd99){throw new Error('parse\x20response\x20failed:\x0a'+_0x33d7fb['data']);}if(!_0x36d5f8){if(_0x20ae02[_0xdbe5('0x43')]>0xc8){throw new Error('text\x20length\x20limit\x20reached');}else{throw new Error(_0xdbe5('0x44')+_0x321724+_0xdbe5('0x45'));}}try{_0x36d5f8=eval(_0x36d5f8)[0x0];}catch(_0x39fa2c){throw new Error('parse\x20response\x20failed:\x0a'+res[_0xdbe5('0x22')]);}const _0x2b3412=_0x36d5f8;_0xdd62c4=path['resolve'](__dirname,'tmp',rs['generate'](0x4)+'.mp3');fs[_0xdbe5('0x2b')](_0xdd62c4,_0x36d5f8,{'encoding':'base64'});_0x1cfbf6=path[_0xdbe5('0x27')](__dirname,_0xdbe5('0x28'),rs[_0xdbe5('0x29')](0x4)+_0xdbe5('0x2a'));return convertFile(_0xdd62c4,_0x1cfbf6);})[_0xdbe5('0x37')](function(){try{fs['unlink'](_0xdd62c4);fs[_0xdbe5('0x3b')](_0x1cfbf6,_0xdbe5('0x2c'));}catch(_0x5ced2c){logger[_0xdbe5('0x14')](_0x5ced2c);}logger['info'](_0xdbe5('0x46'),_0x1cfbf6['split']('.')[0x0]);return _0x1cfbf6[_0xdbe5('0x2d')]('.')[0x0];});};exports[_0xdbe5('0x47')]=function(_0x153b6c,_0x34a013,_0xbd942c){return google[_0xdbe5('0x48')](_0x153b6c,_0x34a013,_0xbd942c)['then'](function(_0x2c96ad){logger['info'](_0x2c96ad[_0xdbe5('0x49')]);return rp(_0x2c96ad);})[_0xdbe5('0x37')](function(_0x9baa95){var _0x52c966='';var _0x2df5af=0x0;try{fs[_0xdbe5('0x1d')](_0x153b6c);}catch(_0x92f805){logger[_0xdbe5('0x14')](_0x92f805);}if(_0x9baa95&&_0x9baa95['results']){_0x52c966=_0x9baa95[_0xdbe5('0x4a')]['map'](function(_0x18a309){return _0x18a309&&_0x18a309[_0xdbe5('0x4b')][0x0]&&_0x18a309[_0xdbe5('0x4b')][0x0]['transcript']?_0x18a309[_0xdbe5('0x4b')][0x0][_0xdbe5('0x4c')]:'';})[_0xdbe5('0x4d')]('\x0a');_0x2df5af=_0x9baa95[_0xdbe5('0x4a')][_0xdbe5('0x4e')](function(_0x4d71bc){return _0x4d71bc&&_0x4d71bc[_0xdbe5('0x4b')][0x0]&&_0x4d71bc[_0xdbe5('0x4b')][0x0][_0xdbe5('0x4f')]?_0x4d71bc[_0xdbe5('0x4b')][0x0][_0xdbe5('0x4f')]:0x0;})[_0xdbe5('0x4d')]('\x0a');}logger[_0xdbe5('0x1a')](_0xdbe5('0x50'),_0x52c966);logger[_0xdbe5('0x1a')](_0xdbe5('0x51'),_0x2df5af);return{'transcript':_0x52c966,'confidence':_0x2df5af};})[_0xdbe5('0x52')](function(_0x3c4373){logger[_0xdbe5('0x14')](_0xdbe5('0x53'),_0x3c4373[_0xdbe5('0x13')],_0x3c4373[_0xdbe5('0x54')],_0x3c4373['message']);});};exports['googleDialogflow']=function(_0x410968,_0x2c758c,_0x30a12a,_0x271b4a){var _0x1218e0=apiai(_0x2c758c,{'language':_0x271b4a||'en'});return _0x1218e0[_0xdbe5('0x55')](_0x30a12a,{'sessionId':md5(_0x410968)})[_0xdbe5('0x37')](function(_0x3266fe){logger[_0xdbe5('0x1a')](JSON[_0xdbe5('0x40')](_0x3266fe));return{'source':_0x3266fe[_0xdbe5('0x56')][_0xdbe5('0x57')],'resolvedQuery':_0x3266fe[_0xdbe5('0x56')][_0xdbe5('0x58')],'action':_0x3266fe[_0xdbe5('0x56')][_0xdbe5('0x59')],'actionIncomplete':_0x3266fe[_0xdbe5('0x56')][_0xdbe5('0x5a')],'speech':_0x3266fe[_0xdbe5('0x56')][_0xdbe5('0x5b')][_0xdbe5('0x5c')],'score':_0x3266fe['result'][_0xdbe5('0x5d')],'statusCode':_0x3266fe[_0xdbe5('0x5e')][_0xdbe5('0x5f')],'endConversation':_0x3266fe[_0xdbe5('0x56')][_0xdbe5('0x60')][_0xdbe5('0x61')]||![],'isFallbackIntent':_0x3266fe[_0xdbe5('0x56')][_0xdbe5('0x60')][_0xdbe5('0x62')]};});};exports['googleDialogflowV2']=function(_0x3053d2,_0x4e9733,_0x34ce2f,_0x145137,_0x204da8,_0x4f1811){var _0x4dfda2=_0x145137[_0xdbe5('0x63')](/\\n/g,'\x0a');var _0x5cd1f6={'credentials':{'private_key':_0x4dfda2,'client_email':_0x34ce2f}};var _0x1acf27=new dialogflow[(_0xdbe5('0x64'))](_0x5cd1f6);var _0x2f2a50=_0x1acf27[_0xdbe5('0x65')](_0x4e9733,md5(_0x3053d2));var _0x477178={'session':_0x2f2a50,'queryInput':{'text':{'text':_0x204da8,'languageCode':_0x4f1811}}};return _0x1acf27[_0xdbe5('0x66')](_0x477178)[_0xdbe5('0x37')](function(_0x84871b){if(_0x84871b&&_0x84871b['length']){logger[_0xdbe5('0x1a')](_0xdbe5('0x67'),JSON[_0xdbe5('0x40')](_0x84871b));var _0x53d034=_0x84871b[0x0];if(_0x53d034){var _0x3941b5={'action':_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x59')],'allRequiredParamsPresent':_0x53d034[_0xdbe5('0x68')]['allRequiredParamsPresent'],'endConversation':_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x69')]&&_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x69')][_0xdbe5('0x6a')]?_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x69')]['fields']['end_conversation'][_0xdbe5('0x6b')]:![],'fulfillmentText':_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x6c')],'intentName':_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x6d')][_0xdbe5('0x54')],'intentDisplayName':_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x6d')]['displayName'],'isFallbackIntent':_0x53d034['queryResult'][_0xdbe5('0x6d')]['isFallback'],'languageCode':_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x6e')],'queryText':_0x53d034['queryResult'][_0xdbe5('0x6f')],'responseId':_0x53d034[_0xdbe5('0x70')],'score':_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x71')],'speech':_0x53d034[_0xdbe5('0x68')][_0xdbe5('0x6c')],'providerResponse':JSON[_0xdbe5('0x40')](_0x84871b)};return _0x3941b5;}}});};exports[_0xdbe5('0x72')]=function(_0x5b82aa,_0xd93758,_0x386dff,_0x1877a6){return tilde[_0xdbe5('0x48')](_0x5b82aa,_0xd93758,_0x386dff,_0x1877a6)['then'](function(_0x59fa3a){try{fs[_0xdbe5('0x1d')](_0x5b82aa);}catch(_0x267627){logger[_0xdbe5('0x14')](_0x267627);}logger[_0xdbe5('0x1a')]('Tilde\x20ASR\x20transcription',_0x59fa3a[_0xdbe5('0x4c')]);logger[_0xdbe5('0x1a')](_0xdbe5('0x73'),_0x59fa3a['confidence']);return _0x59fa3a;});};exports['awsPolly']=function(_0x5b7bc8,_0x4eca36,_0x423270,_0x39dd45,_0x3da722,_0x430f7c){var _0x4cd20a=path[_0xdbe5('0x27')](__dirname,_0xdbe5('0x28'),rs[_0xdbe5('0x29')](0x4)+_0xdbe5('0x74'));var _0x58de13;return aws[_0xdbe5('0x75')](_0x5b7bc8,_0x4eca36,_0x423270,_0x39dd45,_0x3da722,_0x430f7c,_0x4cd20a)['then'](function(){_0x58de13=path[_0xdbe5('0x27')](__dirname,'tmp',rs[_0xdbe5('0x29')](0x4)+'.wav');return convertFile(_0x4cd20a,_0x58de13);})[_0xdbe5('0x37')](function(){try{fs[_0xdbe5('0x1d')](_0x4cd20a);fs[_0xdbe5('0x3b')](_0x58de13,'777');}catch(_0x27e939){logger[_0xdbe5('0x14')](_0x27e939);}return _0x58de13[_0xdbe5('0x2d')]('.')[0x0];});};exports[_0xdbe5('0x76')]=function(_0x2cec86,_0x31ecc1,_0xa489a0,_0x1d1c68,_0x8e8719,_0x2b19fe){return aws['lex'](_0x2cec86,_0x31ecc1,_0xa489a0,_0x1d1c68,_0x8e8719,_0x2b19fe)[_0xdbe5('0x37')](function(_0x1fec23){logger[_0xdbe5('0x1a')](JSON[_0xdbe5('0x40')](_0x1fec23));return _0x1fec23;});};exports[_0xdbe5('0x77')]=function(_0x3c30c7,_0x3b355c,_0x4bc5db,_0x90cc5e){var _0x410787=util[_0xdbe5('0x78')]('%s?apikey=%s&action=convert&text=%s&voice=%s&speed=%s&format=mp3',ISPEECH_API,_0x3c30c7,encodeURIComponent(_0x3b355c),_0x4bc5db,_0x90cc5e);var _0x5b016e=path[_0xdbe5('0x27')](__dirname,_0xdbe5('0x28'),rs['generate'](0x4)+_0xdbe5('0x74'));var _0xb9a495;return downloadFile(_0x410787,_0x5b016e)[_0xdbe5('0x37')](function(){_0xb9a495=path[_0xdbe5('0x27')](__dirname,_0xdbe5('0x28'),rs[_0xdbe5('0x29')](0x4)+_0xdbe5('0x2a'));return convertFile(_0x5b016e,_0xb9a495);})[_0xdbe5('0x37')](function(){try{fs['unlink'](_0x5b016e);fs[_0xdbe5('0x3b')](_0xb9a495,'777');}catch(_0x29196b){logger[_0xdbe5('0x14')](_0x29196b);}return _0xb9a495[_0xdbe5('0x2d')]('.')[0x0];});};exports[_0xdbe5('0x79')]=function(_0x3f0c0e,_0x203777,_0x2d1e71,_0x5ec171){var _0x2ebf00=util[_0xdbe5('0x78')]('%s?apikey=%s&action=recognize&locale=%s&content-type=audio/x-wav&audio=%s&%s',ISPEECH_API,_0x203777,_0x2d1e71,base64Encode(_0x3f0c0e),_0x5ec171?util['format'](_0xdbe5('0x7a'),encodeURIComponent(_0x5ec171)):_0xdbe5('0x7b'));return uploadFile(_0x2ebf00)[_0xdbe5('0x37')](function(_0x56609e){return querystring['parse'](_0x56609e);});};exports[_0xdbe5('0x7c')]=function(_0x37a4d1,_0xb7afd1){return sestek[_0xdbe5('0x7d')](_0x37a4d1,_0xb7afd1)[_0xdbe5('0x37')](function(_0x57182f){logger[_0xdbe5('0x1a')](JSON[_0xdbe5('0x40')](_0x57182f));var _0x58ceb1={'speech':_0x57182f[_0xdbe5('0x7e')],'action':_0x57182f['channelData']?_0x57182f['channelData'][_0xdbe5('0x7f')]:undefined,'actiondata':_0x57182f[_0xdbe5('0x80')]?_0x57182f[_0xdbe5('0x80')][_0xdbe5('0x81')]:undefined};if(_0x57182f[_0xdbe5('0x80')]&&_0x57182f[_0xdbe5('0x80')]['AudioFromTts']){return base64Decode(_0x57182f[_0xdbe5('0x80')][_0xdbe5('0x82')][_0xdbe5('0x83')],path['resolve'](__dirname,_0xdbe5('0x28'),rs[_0xdbe5('0x29')](0x4)+_0xdbe5('0x2a')))[_0xdbe5('0x37')](function(_0x75c5fb){_0x58ceb1[_0xdbe5('0x84')]=_0x75c5fb;return _0x58ceb1;});}return _0x58ceb1;});};exports[_0xdbe5('0x85')]=function(){return __dirname;};
\ No newline at end of file
+var _0x8cbd=['generate','.wav','base64','then','unlink','chmodSync','777','split','https://texttospeech.googleapis.com/v1/','?key=','ssml','input','voice','audioConfig','MP3','text:synthesize','POST','.mp3','audioContent','writeFile','resolve','googleCloudTTS\x20path','googleTTS','https://translate.google.com/_/TranslateWebserverUi/data/batchexecute','utf8','f.req=','stringify','null','slice','parse\x20response\x20failed:\x0a','length','lang\x20\x22','writeFileSync','goggleTTS\x20path','uri','results','map','alternatives','transcript','join','confidence','googleASR\x20transcription','googleASR\x20confidence','catch','message','result','resolvedQuery','action','actionIncomplete','fulfillment','speech','score','metadata','isFallbackIntent','googleDialogflowV2','replace','SessionsClient','detectIntent','Dialogflow\x20V2\x20response:','queryResult','allRequiredParamsPresent','diagnosticInfo','fields','boolValue','fulfillmentText','intent','name','displayName','isFallback','languageCode','queryText','responseId','intentDetectionConfidence','asr','Tilde\x20ASR\x20transcription','awsLex','lex','%s?apikey=%s&action=convert&text=%s&voice=%s&speed=%s&format=mp3','ispeechASR','format','%s?apikey=%s&action=recognize&locale=%s&content-type=audio/x-wav&audio=%s&%s','model=%s','freeform=3','nda','text','channelData','CustomAction','CustomActionData','AudioFromTts','audiofile','apiai-promise','https','path','querystring','request-promise','randomstring','sox','google-tts-api','parse','util','./aws','./google','./sestek','./tilde','../../../config/logger','agi','https://api.ispeech.org/api/rest','protocol','host','get','statusCode','error','\x20failed,\x20status\x20code\x20=\x20','statusMessage','createWriteStream','info','finish\x20download\x20file','close','download\x20error','end','https:','request\x20to\x20','data','transcode','error\x20convert','start','tmp'];(function(_0x26b4e8,_0x1c1a98){var _0x448057=function(_0x30c3d4){while(--_0x30c3d4){_0x26b4e8['push'](_0x26b4e8['shift']());}};_0x448057(++_0x1c1a98);}(_0x8cbd,0x158));var _0xd8cb=function(_0x459c09,_0x596ed4){_0x459c09=_0x459c09-0x0;var _0x2aee20=_0x8cbd[_0x459c09];return _0x2aee20;};'use strict';var apiai=require(_0xd8cb('0x0'));var BPromise=require('bluebird');var dialogflow=require('dialogflow');var fs=require('fs');var http=require('http');var https=require(_0xd8cb('0x1'));var md5=require('md5');var path=require(_0xd8cb('0x2'));var querystring=require(_0xd8cb('0x3'));var rp=require(_0xd8cb('0x4'));var rs=require(_0xd8cb('0x5'));var sox=require(_0xd8cb('0x6'));var tts=require(_0xd8cb('0x7'));var urlParse=require('url')[_0xd8cb('0x8')];var util=require(_0xd8cb('0x9'));var aws=require(_0xd8cb('0xa'));var google=require(_0xd8cb('0xb'));var sestek=require(_0xd8cb('0xc'));var tilde=require(_0xd8cb('0xd'));var logger=require(_0xd8cb('0xe'))(_0xd8cb('0xf'));var ISPEECH_API=_0xd8cb('0x10');function downloadFile(_0x539cc1,_0x39f3b2){return new BPromise(function(_0x3fe643,_0x98803d){var _0xe8a40d=urlParse(_0x539cc1);var _0x42ba3e=_0xe8a40d[_0xd8cb('0x11')]==='https:'?https:http;var _0x32c019={'host':_0xe8a40d[_0xd8cb('0x12')],'path':_0xe8a40d[_0xd8cb('0x2')],'headers':{'user-agent':'WHAT_EVER'}};_0x42ba3e[_0xd8cb('0x13')](_0x32c019,function(_0x321ba2){if(_0x321ba2[_0xd8cb('0x14')]!==0xc8){logger[_0xd8cb('0x15')]('request\x20to\x20'+_0x539cc1+'\x20failed,\x20status\x20code\x20=\x20'+_0x321ba2['statusCode']+'\x20('+_0x321ba2['statusMessage']+')');_0x98803d(new Error('request\x20to\x20'+_0x539cc1+_0xd8cb('0x16')+_0x321ba2[_0xd8cb('0x14')]+'\x20('+_0x321ba2[_0xd8cb('0x17')]+')'));return;}var _0x41de93=fs[_0xd8cb('0x18')](_0x39f3b2);_0x41de93['on']('finish',function(){logger[_0xd8cb('0x19')](_0xd8cb('0x1a'));_0x41de93[_0xd8cb('0x1b')](_0x3fe643);});_0x41de93['on']('error',function(_0x1c9ee2){fs['unlink'](_0x39f3b2);logger['error'](_0xd8cb('0x1c'),_0x1c9ee2);_0x98803d(_0x1c9ee2);});_0x321ba2['pipe'](_0x41de93);})['on']('error',function(_0x51d8ec){logger['error'](_0x51d8ec);_0x98803d(_0x51d8ec);})[_0xd8cb('0x1d')]();});}function uploadFile(_0x45bb3e){return new BPromise(function(_0x18b256,_0x3b0992){var _0xbb90b6=urlParse(_0x45bb3e);var _0x4b4dc1=_0xbb90b6[_0xd8cb('0x11')]===_0xd8cb('0x1e')?https:http;var _0x456709={'host':_0xbb90b6[_0xd8cb('0x12')],'path':_0xbb90b6['path'],'headers':{'user-agent':'WHAT_EVER'}};_0x4b4dc1[_0xd8cb('0x13')](_0x456709,function(_0x515bbf){if(_0x515bbf[_0xd8cb('0x14')]!==0xc8){_0x3b0992(new Error(_0xd8cb('0x1f')+_0x45bb3e+_0xd8cb('0x16')+_0x515bbf[_0xd8cb('0x14')]+'\x20('+_0x515bbf[_0xd8cb('0x17')]+')'));return;}var _0x374dfa='';_0x515bbf['on'](_0xd8cb('0x20'),function(_0x24e439){_0x374dfa+=_0x24e439;});_0x515bbf['on'](_0xd8cb('0x1d'),function(){_0x18b256(_0x374dfa);});})['on'](_0xd8cb('0x15'),function(_0x30e083){_0x3b0992(_0x30e083);})['end']();});}function convertFile(_0x15389d,_0x5e013a){return new BPromise(function(_0x5296b5,_0x3ac216){var _0x470c03=sox[_0xd8cb('0x21')](_0x15389d,_0x5e013a,{'sampleRate':0x1f40,'format':'wav','channelCount':0x1,'bitRate':0xc0*0x400,'compressionQuality':0x5});_0x470c03['on'](_0xd8cb('0x15'),function(_0xe27ec3){logger['error'](_0xd8cb('0x22'),_0xe27ec3);_0x3ac216(_0xe27ec3);});_0x470c03['on'](_0xd8cb('0x1d'),function(){logger[_0xd8cb('0x19')]('finish\x20to\x20convert');_0x5296b5();});_0x470c03[_0xd8cb('0x23')]();});}function base64Decode(_0x40fef3,_0x4b76cb){var _0x194c31=path['resolve'](__dirname,_0xd8cb('0x24'),rs[_0xd8cb('0x25')](0x4)+_0xd8cb('0x26'));fs['writeFileSync'](_0x194c31,_0x40fef3,_0xd8cb('0x27'));return convertFile(_0x194c31,_0x4b76cb)[_0xd8cb('0x28')](function(){try{fs[_0xd8cb('0x29')](_0x194c31);fs[_0xd8cb('0x2a')](_0x4b76cb,_0xd8cb('0x2b'));}catch(_0xc6713a){logger[_0xd8cb('0x15')](_0xc6713a);}return _0x4b76cb[_0xd8cb('0x2c')]('.')[0x0];});}function base64Encode(_0x56cdd6){var _0x417e06=fs['readFileSync'](_0x56cdd6);return new Buffer(_0x417e06)['toString']('base64');}exports['googleCloudTTS']=function(_0x59b700,_0x2d85d6,_0x124f26,_0x3c287e,_0x437d7d,_0x2ea7b6){var _0x2bb21f,_0x1d6517;var _0x419ed4=_0xd8cb('0x2d');var _0x525bfb=_0xd8cb('0x2e')+_0x59b700;var _0x1da4cd={};if(_0x2d85d6===_0xd8cb('0x2f')){_0x1da4cd[_0xd8cb('0x30')]={'ssml':_0x124f26};}else{_0x1da4cd[_0xd8cb('0x30')]={'text':_0x124f26};};_0x1da4cd[_0xd8cb('0x31')]={'languageCode':_0x3c287e,'ssmlGender':_0x437d7d};_0x1da4cd[_0xd8cb('0x32')]={'audioEncoding':_0xd8cb('0x33'),'sampleRateHertz':0x1f40};var _0x73a98a={'url':_0x419ed4+_0xd8cb('0x34')+_0x525bfb,'method':_0xd8cb('0x35'),'json':!![],'body':_0x1da4cd};return rp(_0x73a98a)[_0xd8cb('0x28')](function(_0x5dc331){return new BPromise(function(_0x54ea9a,_0x9b186a){_0x2bb21f=path['resolve'](__dirname,_0xd8cb('0x24'),rs[_0xd8cb('0x25')](0x4)+_0xd8cb('0x36'));var _0x1ba6d5=Buffer['from'](_0x5dc331[_0xd8cb('0x37')],_0xd8cb('0x27'));return fs[_0xd8cb('0x38')](_0x2bb21f,_0x1ba6d5,function(_0x603b16){_0x9b186a(_0x603b16);},function(_0x20ef43){fs[_0xd8cb('0x2a')](_0x2bb21f,_0xd8cb('0x2b'));_0x54ea9a(_0x20ef43);});});})[_0xd8cb('0x28')](function(_0x1950f9){_0x1d6517=path[_0xd8cb('0x39')](__dirname,_0xd8cb('0x24'),rs['generate'](0x4)+_0xd8cb('0x26'));return convertFile(_0x2bb21f,_0x1d6517);})[_0xd8cb('0x28')](function(){try{fs[_0xd8cb('0x29')](_0x2bb21f);fs[_0xd8cb('0x2a')](_0x1d6517,_0xd8cb('0x2b'));}catch(_0x52b3f9){logger[_0xd8cb('0x15')](_0x52b3f9);}logger[_0xd8cb('0x19')](_0xd8cb('0x3a'),_0x1d6517[_0xd8cb('0x2c')]('.')[0x0]);return _0x1d6517[_0xd8cb('0x2c')]('.')[0x0];});};exports[_0xd8cb('0x3b')]=function(_0x3b5f0a,_0xe3a8d9){var _0xce1cfe=_0xd8cb('0x3c');var _0x33f763,_0x4849fe;var _0x44d9b4;var _0x37652b={'encoding':_0xd8cb('0x3d'),'method':_0xd8cb('0x35'),'timeout':0x2710,'url':_0xce1cfe,'headers':{'Content-Type':'application/x-www-form-urlencoded'},'body':_0xd8cb('0x3e')+encodeURIComponent(JSON[_0xd8cb('0x3f')]([[['jQ1olc',JSON['stringify']([_0x3b5f0a,_0xe3a8d9||'en',![],_0xd8cb('0x40')]),null,'generic']]]))};return rp(_0x37652b)['then'](function(_0x27ead2){try{_0x44d9b4=eval(_0x27ead2[_0xd8cb('0x41')](0x5))[0x0][0x2];}catch(_0xf4a79e){throw new Error(_0xd8cb('0x42')+_0x27ead2[_0xd8cb('0x20')]);}if(!_0x44d9b4){if(_0x3b5f0a[_0xd8cb('0x43')]>0xc8){throw new Error('text\x20length\x20limit\x20reached');}else{throw new Error(_0xd8cb('0x44')+_0xe3a8d9+'\x22\x20might\x20not\x20exist');}}try{_0x44d9b4=eval(_0x44d9b4)[0x0];}catch(_0x102660){throw new Error(_0xd8cb('0x42')+res[_0xd8cb('0x20')]);}const _0x275ab6=_0x44d9b4;_0x33f763=path[_0xd8cb('0x39')](__dirname,_0xd8cb('0x24'),rs['generate'](0x4)+'.mp3');fs[_0xd8cb('0x45')](_0x33f763,_0x44d9b4,{'encoding':_0xd8cb('0x27')});_0x4849fe=path[_0xd8cb('0x39')](__dirname,_0xd8cb('0x24'),rs[_0xd8cb('0x25')](0x4)+_0xd8cb('0x26'));return convertFile(_0x33f763,_0x4849fe);})[_0xd8cb('0x28')](function(){try{fs[_0xd8cb('0x29')](_0x33f763);fs[_0xd8cb('0x2a')](_0x4849fe,_0xd8cb('0x2b'));}catch(_0x1554eb){logger['error'](_0x1554eb);}logger[_0xd8cb('0x19')](_0xd8cb('0x46'),_0x4849fe[_0xd8cb('0x2c')]('.')[0x0]);return _0x4849fe[_0xd8cb('0x2c')]('.')[0x0];});};exports['googleASR']=function(_0x221a13,_0x498dd2,_0xd98d23){return google['asr'](_0x221a13,_0x498dd2,_0xd98d23)[_0xd8cb('0x28')](function(_0x467e89){logger[_0xd8cb('0x19')](_0x467e89[_0xd8cb('0x47')]);return rp(_0x467e89);})[_0xd8cb('0x28')](function(_0x2d62c0){var _0x4328f0='';var _0x1b8b5d=0x0;try{fs[_0xd8cb('0x29')](_0x221a13);}catch(_0x4cc5e8){logger[_0xd8cb('0x15')](_0x4cc5e8);}if(_0x2d62c0&&_0x2d62c0[_0xd8cb('0x48')]){_0x4328f0=_0x2d62c0[_0xd8cb('0x48')][_0xd8cb('0x49')](function(_0x102c45){return _0x102c45&&_0x102c45['alternatives'][0x0]&&_0x102c45[_0xd8cb('0x4a')][0x0][_0xd8cb('0x4b')]?_0x102c45[_0xd8cb('0x4a')][0x0][_0xd8cb('0x4b')]:'';})[_0xd8cb('0x4c')]('\x0a');_0x1b8b5d=_0x2d62c0[_0xd8cb('0x48')]['map'](function(_0xf3f247){return _0xf3f247&&_0xf3f247[_0xd8cb('0x4a')][0x0]&&_0xf3f247['alternatives'][0x0]['confidence']?_0xf3f247['alternatives'][0x0][_0xd8cb('0x4d')]:0x0;})[_0xd8cb('0x4c')]('\x0a');}logger['info'](_0xd8cb('0x4e'),_0x4328f0);logger[_0xd8cb('0x19')](_0xd8cb('0x4f'),_0x1b8b5d);return{'transcript':_0x4328f0,'confidence':_0x1b8b5d};})[_0xd8cb('0x50')](function(_0x225d2a){logger[_0xd8cb('0x15')]('[%s]\x20%s:%s',_0x225d2a[_0xd8cb('0x14')],_0x225d2a['name'],_0x225d2a[_0xd8cb('0x51')]);});};exports['googleDialogflow']=function(_0x2d6074,_0x3a312c,_0x3fd0a0,_0x5cf2fb){var _0x177c11=apiai(_0x3a312c,{'language':_0x5cf2fb||'en'});return _0x177c11['textRequest'](_0x3fd0a0,{'sessionId':md5(_0x2d6074)})[_0xd8cb('0x28')](function(_0x28f4ad){logger[_0xd8cb('0x19')](JSON[_0xd8cb('0x3f')](_0x28f4ad));return{'source':_0x28f4ad[_0xd8cb('0x52')]['source'],'resolvedQuery':_0x28f4ad[_0xd8cb('0x52')][_0xd8cb('0x53')],'action':_0x28f4ad[_0xd8cb('0x52')][_0xd8cb('0x54')],'actionIncomplete':_0x28f4ad[_0xd8cb('0x52')][_0xd8cb('0x55')],'speech':_0x28f4ad[_0xd8cb('0x52')][_0xd8cb('0x56')][_0xd8cb('0x57')],'score':_0x28f4ad[_0xd8cb('0x52')][_0xd8cb('0x58')],'statusCode':_0x28f4ad['status']['code'],'endConversation':_0x28f4ad['result'][_0xd8cb('0x59')]['endConversation']||![],'isFallbackIntent':_0x28f4ad[_0xd8cb('0x52')][_0xd8cb('0x59')][_0xd8cb('0x5a')]};});};exports[_0xd8cb('0x5b')]=function(_0x285dd4,_0x1dd722,_0x2070ee,_0x356372,_0x473ba0,_0x3a5838){var _0x349c80=_0x356372[_0xd8cb('0x5c')](/\\n/g,'\x0a');var _0x526752={'credentials':{'private_key':_0x349c80,'client_email':_0x2070ee}};var _0x5d6de0=new dialogflow[(_0xd8cb('0x5d'))](_0x526752);var _0x56b612=_0x5d6de0['sessionPath'](_0x1dd722,md5(_0x285dd4));var _0x493646={'session':_0x56b612,'queryInput':{'text':{'text':_0x473ba0,'languageCode':_0x3a5838}}};return _0x5d6de0[_0xd8cb('0x5e')](_0x493646)[_0xd8cb('0x28')](function(_0x584f34){if(_0x584f34&&_0x584f34[_0xd8cb('0x43')]){logger['info'](_0xd8cb('0x5f'),JSON[_0xd8cb('0x3f')](_0x584f34));var _0x3a6c5a=_0x584f34[0x0];if(_0x3a6c5a){var _0x3a187a={'action':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x54')],'allRequiredParamsPresent':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x61')],'endConversation':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x62')]&&_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x62')][_0xd8cb('0x63')]?_0x3a6c5a['queryResult']['diagnosticInfo'][_0xd8cb('0x63')]['end_conversation'][_0xd8cb('0x64')]:![],'fulfillmentText':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x65')],'intentName':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x66')][_0xd8cb('0x67')],'intentDisplayName':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x66')][_0xd8cb('0x68')],'isFallbackIntent':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x66')][_0xd8cb('0x69')],'languageCode':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x6a')],'queryText':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x6b')],'responseId':_0x3a6c5a[_0xd8cb('0x6c')],'score':_0x3a6c5a['queryResult'][_0xd8cb('0x6d')],'speech':_0x3a6c5a[_0xd8cb('0x60')][_0xd8cb('0x65')],'providerResponse':JSON[_0xd8cb('0x3f')](_0x584f34)};return _0x3a187a;}}});};exports['tildeASR']=function(_0x1730a7,_0x4da0c9,_0x5b521b,_0x52607b){return tilde[_0xd8cb('0x6e')](_0x1730a7,_0x4da0c9,_0x5b521b,_0x52607b)[_0xd8cb('0x28')](function(_0x29bd0e){try{fs['unlink'](_0x1730a7);}catch(_0x22e5f3){logger[_0xd8cb('0x15')](_0x22e5f3);}logger['info'](_0xd8cb('0x6f'),_0x29bd0e[_0xd8cb('0x4b')]);logger['info']('Tilde\x20ASR\x20confidence',_0x29bd0e[_0xd8cb('0x4d')]);return _0x29bd0e;});};exports['awsPolly']=function(_0x141fd1,_0x5ace1b,_0x33d461,_0x2bdb5e,_0x587012,_0x1f4e10){var _0x2236c0=path[_0xd8cb('0x39')](__dirname,'tmp',rs[_0xd8cb('0x25')](0x4)+_0xd8cb('0x36'));var _0x561e3d;return aws['polly'](_0x141fd1,_0x5ace1b,_0x33d461,_0x2bdb5e,_0x587012,_0x1f4e10,_0x2236c0)[_0xd8cb('0x28')](function(){_0x561e3d=path[_0xd8cb('0x39')](__dirname,_0xd8cb('0x24'),rs[_0xd8cb('0x25')](0x4)+_0xd8cb('0x26'));return convertFile(_0x2236c0,_0x561e3d);})[_0xd8cb('0x28')](function(){try{fs[_0xd8cb('0x29')](_0x2236c0);fs[_0xd8cb('0x2a')](_0x561e3d,_0xd8cb('0x2b'));}catch(_0x5c978f){logger[_0xd8cb('0x15')](_0x5c978f);}return _0x561e3d['split']('.')[0x0];});};exports[_0xd8cb('0x70')]=function(_0x439fd6,_0x85e4e0,_0x3aadb3,_0x5e0e01,_0x53fc82,_0x568aef){return aws[_0xd8cb('0x71')](_0x439fd6,_0x85e4e0,_0x3aadb3,_0x5e0e01,_0x53fc82,_0x568aef)[_0xd8cb('0x28')](function(_0x425095){logger[_0xd8cb('0x19')](JSON['stringify'](_0x425095));return _0x425095;});};exports['ispeechTTS']=function(_0x49da8f,_0x622920,_0x316130,_0x493082){var _0x16bfea=util['format'](_0xd8cb('0x72'),ISPEECH_API,_0x49da8f,encodeURIComponent(_0x622920),_0x316130,_0x493082);var _0x521f03=path[_0xd8cb('0x39')](__dirname,_0xd8cb('0x24'),rs[_0xd8cb('0x25')](0x4)+_0xd8cb('0x36'));var _0x129894;return downloadFile(_0x16bfea,_0x521f03)[_0xd8cb('0x28')](function(){_0x129894=path[_0xd8cb('0x39')](__dirname,'tmp',rs['generate'](0x4)+'.wav');return convertFile(_0x521f03,_0x129894);})[_0xd8cb('0x28')](function(){try{fs[_0xd8cb('0x29')](_0x521f03);fs[_0xd8cb('0x2a')](_0x129894,'777');}catch(_0x5d635c){logger[_0xd8cb('0x15')](_0x5d635c);}return _0x129894[_0xd8cb('0x2c')]('.')[0x0];});};exports[_0xd8cb('0x73')]=function(_0x5db9f8,_0x52600d,_0xb21804,_0xf60a3e){var _0x54a8a7=util[_0xd8cb('0x74')](_0xd8cb('0x75'),ISPEECH_API,_0x52600d,_0xb21804,base64Encode(_0x5db9f8),_0xf60a3e?util[_0xd8cb('0x74')](_0xd8cb('0x76'),encodeURIComponent(_0xf60a3e)):_0xd8cb('0x77'));return uploadFile(_0x54a8a7)[_0xd8cb('0x28')](function(_0x2fcad3){return querystring['parse'](_0x2fcad3);});};exports['sestekNDA']=function(_0x3e064c,_0x22cf2c){return sestek[_0xd8cb('0x78')](_0x3e064c,_0x22cf2c)['then'](function(_0x598d27){logger[_0xd8cb('0x19')](JSON[_0xd8cb('0x3f')](_0x598d27));var _0x2613dd={'speech':_0x598d27[_0xd8cb('0x79')],'action':_0x598d27['channelData']?_0x598d27[_0xd8cb('0x7a')][_0xd8cb('0x7b')]:undefined,'actiondata':_0x598d27[_0xd8cb('0x7a')]?_0x598d27[_0xd8cb('0x7a')][_0xd8cb('0x7c')]:undefined};if(_0x598d27[_0xd8cb('0x7a')]&&_0x598d27[_0xd8cb('0x7a')][_0xd8cb('0x7d')]){return base64Decode(_0x598d27[_0xd8cb('0x7a')][_0xd8cb('0x7d')]['Data'],path[_0xd8cb('0x39')](__dirname,_0xd8cb('0x24'),rs[_0xd8cb('0x25')](0x4)+_0xd8cb('0x26')))[_0xd8cb('0x28')](function(_0x401dad){_0x2613dd[_0xd8cb('0x7e')]=_0x401dad;return _0x2613dd;});}return _0x2613dd;});};exports['dirName']=function(){return __dirname;};
\ No newline at end of file