Built motion from commit 19a84241.|2.5.34
[motion2.git] / server / api / voiceRecording / voiceRecording.controller.js
index e2fdc27..e0c2167 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x23d7=['path','sox','to-csv','ejs','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../mysqldb','end','json','count','offset','limit','status','Content-Range','save','update','then','destroy','sendStatus','error','stack','name','send','index','rawAttributes','fieldName','type','key','differenceBy','format','query','keys','model','fields','attributes','length','nolimit','sort','where','filters','pick','filter','map','VIRTUAL','merge','options','VoiceRecording','includeAll','findAll','catch','show','params','intersection','include','find','body','describe','download','../../components/encryptor','uniqueid','value','%s.cypher','existsSync','decryptFile','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','Not\x20found','downloads','sequelize','MD5','col','token','$and','push','secrets','info','cancellazione\x20fisica\x20documento\x20%s','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','.cypher','unlinkSync','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache'];(function(_0x4991d6,_0x348deb){var _0x50faf7=function(_0x14c7f8){while(--_0x14c7f8){_0x4991d6['push'](_0x4991d6['shift']());}};_0x50faf7(++_0x348deb);}(_0x23d7,0x128));var _0x723d=function(_0x4bb3de,_0x230ba2){_0x4bb3de=_0x4bb3de-0x0;var _0xe27505=_0x23d7[_0x4bb3de];return _0xe27505;};'use strict';var pdf=require(_0x723d('0x0'));var emlformat=require(_0x723d('0x1'));var rimraf=require(_0x723d('0x2'));var zipdir=require(_0x723d('0x3'));var jsonpatch=require(_0x723d('0x4'));var rp=require('request-promise');var moment=require(_0x723d('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x723d('0x6'));var util=require('util');var path=require(_0x723d('0x7'));var sox=require(_0x723d('0x8'));var csv=require(_0x723d('0x9'));var ejs=require(_0x723d('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0x723d('0xb'));var crypto=require(_0x723d('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x723d('0xd'));var toCsv=require(_0x723d('0x9'));var querystring=require(_0x723d('0xe'));var Papa=require('papaparse');var Redis=require(_0x723d('0xf'));var authService=require(_0x723d('0x10'));var qs=require(_0x723d('0x11'));var as=require(_0x723d('0x12'));var hardwareService=require(_0x723d('0x13'));var logger=require('../../config/logger')(_0x723d('0x14'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x723d('0x15'))['db'];function respondWithStatusCode(_0x438672,_0x45dc8e){_0x45dc8e=_0x45dc8e||0xcc;return function(_0x593e07){if(_0x593e07){return _0x438672['sendStatus'](_0x45dc8e);}return _0x438672['status'](_0x45dc8e)[_0x723d('0x16')]();};}function respondWithResult(_0x5b1d24,_0xe7286c){_0xe7286c=_0xe7286c||0xc8;return function(_0x4d0ab8){if(_0x4d0ab8){return _0x5b1d24['status'](_0xe7286c)[_0x723d('0x17')](_0x4d0ab8);}};}function respondWithFilteredResult(_0x4cac3c,_0x173125){return function(_0xadd824){if(_0xadd824){var _0x439d38=_0xadd824[_0x723d('0x18')],_0xb678f6=_0x173125[_0x723d('0x19')],_0x13ac60=_0x173125[_0x723d('0x19')]+_0x173125[_0x723d('0x1a')],_0x2c1ff1;if(_0x13ac60>=_0x439d38){_0x13ac60=_0x439d38;_0x2c1ff1=0xc8;}else{_0x2c1ff1=0xce;}_0x4cac3c[_0x723d('0x1b')](_0x2c1ff1);return _0x4cac3c['set'](_0x723d('0x1c'),_0xb678f6+'-'+_0x13ac60+'/'+_0x439d38)[_0x723d('0x17')](_0xadd824);}return null;};}function patchUpdates(_0x1c159d){return function(_0x1dd4fa){try{jsonpatch['apply'](_0x1dd4fa,_0x1c159d,!![]);}catch(_0x2143f3){return BPromise['reject'](_0x2143f3);}return _0x1dd4fa[_0x723d('0x1d')]();};}function saveUpdates(_0x42cc4c,_0x333bda){return function(_0x5a413c){if(_0x5a413c){return _0x5a413c[_0x723d('0x1e')](_0x42cc4c)[_0x723d('0x1f')](function(_0x2e2242){return _0x2e2242;});}return null;};}function removeEntity(_0x480da4,_0x135fcd){return function(_0x4fde38){if(_0x4fde38){return _0x4fde38[_0x723d('0x20')]()[_0x723d('0x1f')](function(){_0x480da4['status'](0xcc)[_0x723d('0x16')]();});}};}function handleEntityNotFound(_0xf77fdd,_0x3b49c0){return function(_0x393677){if(!_0x393677){_0xf77fdd[_0x723d('0x21')](0x194);}return _0x393677;};}function handleError(_0x1b2e3b,_0x1e6706){_0x1e6706=_0x1e6706||0x1f4;return function(_0x5bedf9){logger[_0x723d('0x22')](_0x5bedf9[_0x723d('0x23')]);if(_0x5bedf9[_0x723d('0x24')]){delete _0x5bedf9[_0x723d('0x24')];}_0x1b2e3b[_0x723d('0x1b')](_0x1e6706)[_0x723d('0x25')](_0x5bedf9);};}exports[_0x723d('0x26')]=function(_0x1f8a4f,_0x2ee1ef){var _0x38ebdc={},_0x109f1f={},_0x3846ad={'count':0x0,'rows':[]};var _0x49ac33=_['map'](db['VoiceRecording'][_0x723d('0x27')],function(_0x63aa16){return{'name':_0x63aa16[_0x723d('0x28')],'type':_0x63aa16[_0x723d('0x29')][_0x723d('0x2a')]};});_0x109f1f['model']=_[_0x723d('0x2b')](_['map'](_0x49ac33,_0x723d('0x24')),[_0x723d('0x2c')]);_0x109f1f[_0x723d('0x2d')]=_[_0x723d('0x2e')](_0x1f8a4f[_0x723d('0x2d')]);_0x109f1f['filters']=_['intersection'](_0x109f1f[_0x723d('0x2f')],_0x109f1f[_0x723d('0x2d')]);_0x38ebdc['attributes']=_['intersection'](_0x109f1f[_0x723d('0x2f')],qs['fields'](_0x1f8a4f[_0x723d('0x2d')][_0x723d('0x30')]));_0x38ebdc[_0x723d('0x31')]=_0x38ebdc[_0x723d('0x31')][_0x723d('0x32')]?_0x38ebdc[_0x723d('0x31')]:_0x109f1f[_0x723d('0x2f')];if(!_0x1f8a4f['query']['hasOwnProperty'](_0x723d('0x33'))){_0x38ebdc[_0x723d('0x1a')]=qs[_0x723d('0x1a')](_0x1f8a4f['query'][_0x723d('0x1a')]);_0x38ebdc['offset']=qs[_0x723d('0x19')](_0x1f8a4f[_0x723d('0x2d')][_0x723d('0x19')]);}_0x38ebdc['order']=qs[_0x723d('0x34')](_0x1f8a4f['query']['sort']);_0x38ebdc[_0x723d('0x35')]=qs[_0x723d('0x36')](_[_0x723d('0x37')](_0x1f8a4f[_0x723d('0x2d')],_0x109f1f['filters']));if(_0x1f8a4f['query'][_0x723d('0x38')]){_0x38ebdc[_0x723d('0x35')]=_['merge'](_0x38ebdc[_0x723d('0x35')],{'$or':_[_0x723d('0x39')](_0x49ac33,function(_0x1dad2a){if(_0x1dad2a[_0x723d('0x29')]!==_0x723d('0x3a')){var _0x4e17e2={};_0x4e17e2[_0x1dad2a['name']]={'$like':'%'+_0x1f8a4f[_0x723d('0x2d')]['filter']+'%'};return _0x4e17e2;}})});}_0x38ebdc=_[_0x723d('0x3b')]({},_0x38ebdc,_0x1f8a4f[_0x723d('0x3c')]);var _0x1a7eb7={'where':_0x38ebdc['where']};return db[_0x723d('0x3d')]['count'](_0x1a7eb7)[_0x723d('0x1f')](function(_0x52de59){_0x3846ad[_0x723d('0x18')]=_0x52de59;if(_0x1f8a4f[_0x723d('0x2d')][_0x723d('0x3e')]){_0x38ebdc['include']=[{'all':!![]}];}return db[_0x723d('0x3d')][_0x723d('0x3f')](_0x38ebdc);})[_0x723d('0x1f')](function(_0x561af2){_0x3846ad['rows']=_0x561af2;return _0x3846ad;})[_0x723d('0x1f')](respondWithFilteredResult(_0x2ee1ef,_0x38ebdc))[_0x723d('0x40')](handleError(_0x2ee1ef,null));};exports[_0x723d('0x41')]=function(_0x488c0b,_0x15cd1b){var _0x1ca0cb={'raw':![],'where':{'id':_0x488c0b[_0x723d('0x42')]['id']}},_0x379ff5={};_0x379ff5[_0x723d('0x2f')]=_[_0x723d('0x2e')](db[_0x723d('0x3d')][_0x723d('0x27')]);_0x379ff5['query']=_[_0x723d('0x2e')](_0x488c0b['query']);_0x379ff5['filters']=_['intersection'](_0x379ff5[_0x723d('0x2f')],_0x379ff5['query']);_0x1ca0cb[_0x723d('0x31')]=_[_0x723d('0x43')](_0x379ff5[_0x723d('0x2f')],qs['fields'](_0x488c0b['query'][_0x723d('0x30')]));_0x1ca0cb[_0x723d('0x31')]=_0x1ca0cb[_0x723d('0x31')][_0x723d('0x32')]?_0x1ca0cb[_0x723d('0x31')]:_0x379ff5['model'];if(_0x488c0b[_0x723d('0x2d')][_0x723d('0x3e')]){_0x1ca0cb[_0x723d('0x44')]=[{'all':!![]}];}_0x1ca0cb=_['merge']({},_0x1ca0cb,_0x488c0b['options']);return db[_0x723d('0x3d')][_0x723d('0x45')](_0x1ca0cb)[_0x723d('0x1f')](handleEntityNotFound(_0x15cd1b,null))[_0x723d('0x1f')](respondWithResult(_0x15cd1b,null))[_0x723d('0x40')](handleError(_0x15cd1b,null));};exports['create']=function(_0x824809,_0x18ce0b){return db[_0x723d('0x3d')]['create'](_0x824809[_0x723d('0x46')],{})[_0x723d('0x1f')](respondWithResult(_0x18ce0b,0xc9))[_0x723d('0x40')](handleError(_0x18ce0b,null));};exports[_0x723d('0x1e')]=function(_0x1dda25,_0x30ad97){if(_0x1dda25[_0x723d('0x46')]['id']){delete _0x1dda25[_0x723d('0x46')]['id'];}return db[_0x723d('0x3d')][_0x723d('0x45')]({'where':{'id':_0x1dda25[_0x723d('0x42')]['id']}})['then'](handleEntityNotFound(_0x30ad97,null))['then'](saveUpdates(_0x1dda25[_0x723d('0x46')],null))['then'](respondWithResult(_0x30ad97,null))[_0x723d('0x40')](handleError(_0x30ad97,null));};exports['describe']=function(_0xa8ccb2,_0x1ce195){return db[_0x723d('0x3d')][_0x723d('0x47')]()[_0x723d('0x1f')](respondWithResult(_0x1ce195,null))[_0x723d('0x40')](handleError(_0x1ce195,null));};exports[_0x723d('0x48')]=function(_0x28f1c8,_0x117734,_0x2005f3){var _0x1f655a=require(_0x723d('0x49'));var _0x18d709=![];var _0x30fc08={};if(_0x28f1c8['query']['type']&&_0x28f1c8[_0x723d('0x2d')][_0x723d('0x29')]==='uniqueid'){_0x30fc08[_0x723d('0x4a')]=_0x28f1c8['params']['id'];}else{_0x30fc08['id']=_0x28f1c8[_0x723d('0x42')]['id'];}return db[_0x723d('0x3d')]['find']({'where':_0x30fc08,'attributes':['id',_0x723d('0x4b')],'raw':!![]})[_0x723d('0x1f')](handleEntityNotFound(_0x117734,null))[_0x723d('0x1f')](function(_0xb39a6a){if(_0xb39a6a){var _0x32b49d=_0xb39a6a[_0x723d('0x4b')];var _0x231785=util[_0x723d('0x2c')](_0x723d('0x4c'),_0x32b49d);if(fs[_0x723d('0x4d')](_0x231785)){_0x18d709=!![];return _0x1f655a[_0x723d('0x4e')](_0x231785,_0x32b49d,config['secrets'][_0x723d('0x4f')])[_0x723d('0x1f')](function(){return _0xb39a6a;});}return _0xb39a6a;}})[_0x723d('0x1f')](function(_0x198db6){if(_0x198db6){var _0x14f514=_0x198db6['value'];if(!fs['existsSync'](_0x14f514)){throw new db[(_0x723d('0x50'))][(_0x723d('0x51'))](_0x723d('0x52'));}if(_0x198db6[_0x723d('0x53')]){return _0x117734[_0x723d('0x48')](_0x14f514,_0x198db6[_0x723d('0x53')]+path[_0x723d('0x54')](_0x14f514),function(){if(_0x18d709){fs[_0x723d('0x55')](_0x14f514);}});}else{return _0x117734[_0x723d('0x48')](_0x14f514,function(_0xe6628a){if(_0x18d709){fs[_0x723d('0x55')](_0x14f514);}});}}})[_0x723d('0x40')](function(_0x479943){if(_0x479943['message']===_0x723d('0x52')){_0x117734[_0x723d('0x1b')](0x194)[_0x723d('0x25')](_0x723d('0x56'));}else{return handleError(_0x117734,null);}});};exports[_0x723d('0x57')]=function(_0x17484b,_0xe214e8,_0x4acb65){var _0x23b6b5=require(_0x723d('0x49'));var _0x40e203=![];var _0x2c03cf={'$and':[db['sequelize'][_0x723d('0x35')](db[_0x723d('0x58')]['fn'](_0x723d('0x59'),db[_0x723d('0x58')][_0x723d('0x5a')](_0x723d('0x4a'))),_0x17484b[_0x723d('0x2d')][_0x723d('0x5b')])]};if(_0x17484b['query'][_0x723d('0x29')]&&_0x17484b[_0x723d('0x2d')][_0x723d('0x29')]===_0x723d('0x4a')){_0x2c03cf[_0x723d('0x5c')][_0x723d('0x5d')]({'uniqueid':_0x17484b['params']['id']});}else{_0x2c03cf[_0x723d('0x5c')][_0x723d('0x5d')]({'id':_0x17484b[_0x723d('0x42')]['id']});}return db[_0x723d('0x3d')][_0x723d('0x45')]({'where':_0x2c03cf,'attributes':['id',_0x723d('0x4b')],'raw':!![]})[_0x723d('0x1f')](handleEntityNotFound(_0xe214e8,null))[_0x723d('0x1f')](function(_0x5e688f){if(_0x5e688f){var _0xb1554b=util['format'](_0x723d('0x4c'),_0x5e688f[_0x723d('0x4b')]);if(fs[_0x723d('0x4d')](_0xb1554b)){_0x40e203=!![];return _0x23b6b5[_0x723d('0x4e')](_0xb1554b,_0x5e688f[_0x723d('0x4b')],config[_0x723d('0x5e')][_0x723d('0x4f')])[_0x723d('0x1f')](function(){return _0x5e688f;});}return _0x5e688f;}})['then'](function(_0x46700e){if(_0x46700e){if(!fs[_0x723d('0x4d')](_0x46700e[_0x723d('0x4b')])){throw new db[(_0x723d('0x50'))][(_0x723d('0x51'))](_0x723d('0x52'));}if(_0x46700e[_0x723d('0x53')]){return _0xe214e8['download'](_0x46700e[_0x723d('0x4b')],_0x46700e['filename']+path['extname'](_0x46700e[_0x723d('0x4b')]),function(){if(_0x40e203){fs[_0x723d('0x55')](_0x46700e[_0x723d('0x4b')]);}});}else{return _0xe214e8['download'](_0x46700e['value'],function(_0x224453){if(_0x40e203){fs['unlink'](_0x46700e[_0x723d('0x4b')]);}});}}})[_0x723d('0x40')](handleError(_0xe214e8,null));};exports[_0x723d('0x20')]=function(_0x265181,_0x74ed0c){return db[_0x723d('0x3d')]['find']({'where':{'id':_0x265181[_0x723d('0x42')]['id']}})[_0x723d('0x1f')](function(_0x4798af){if(!_0x4798af)throw new ReferenceError('Entity\x20not\x20found');return _0x4798af;})[_0x723d('0x1f')](function(_0x36406c){var _0x5b4f99=_0x36406c[_0x723d('0x4b')];logger[_0x723d('0x5f')](_0x723d('0x60'),_0x5b4f99);if(!_['isNil'](_0x36406c[_0x723d('0x4b')])&&fs[_0x723d('0x4d')](_0x5b4f99)){logger['info'](_0x723d('0x61')+_0x5b4f99+_0x723d('0x62'));fs['unlinkSync'](_0x5b4f99);}_0x5b4f99=_0x5b4f99+_0x723d('0x63');if(!_['isNil'](_0x36406c[_0x723d('0x4b')])&&fs[_0x723d('0x4d')](_0x5b4f99)){logger['info'](_0x723d('0x61')+_0x5b4f99+_0x723d('0x62'));fs[_0x723d('0x64')](_0x5b4f99);}return _0x36406c;})[_0x723d('0x1f')](function(_0xffd9d6){if(!_0xffd9d6)throw new InternalError();return _0xffd9d6[_0x723d('0x20')]();})[_0x723d('0x1f')](function(){_0x74ed0c[_0x723d('0x1b')](0xcc)[_0x723d('0x16')]();})['catch'](handleError(_0x74ed0c,null));};
\ No newline at end of file
+var _0x916b=['sentimentRegion','Sentiment\x20Analysis\x20not\x20configured','CloudProvider','data1','data2','Cloud\x20Provider\x20not\x20configured','transcribeRegion','Buckets','Name','[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20available','[RUNTRANSCRIPT][%d]\x20Transcript\x20action\x20already\x20requested','IN_PROGRESS','tempSentiment','runSentiment','writeFile','downloadTranscribe','fileText','root','/server/files/transcribes/transcribe_','.txt','Transcript\x20not\x20available','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','uuid/v4','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','Content-Range','apply','update','then','error','stack','name','send','index','map','VoiceRecording','rawAttributes','fieldName','type','key','differenceBy','format','keys','filters','intersection','query','model','fields','attributes','hasOwnProperty','nolimit','sort','filter','merge','where','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','length','options','find','create','body','download','../../components/encryptor','uniqueid','value','existsSync','decryptFile','secrets','recording','Sequelize','ValidationError','VoiceRecording\x20not\x20found','filename','extname','unlink','message','downloads','sequelize','MD5','col','token','$and','push','destroy','Entity\x20not\x20found','info','isNil','File:\x20\x22','\x22\x20trovato\x20eseguo\x20la\x20cancellazione','unlinkSync','.cypher','listBuckets','TranscribeService','startTranscriptionJob','[RUNTRANSCRIPT][%d]\x20Starting\x20voice\x20recording\x20upload\x20in\x20bucket\x20%s','basename','[RUNTRANSCRIPT][%d]\x20Voice\x20recording\x20uploaded\x20in\x20bucket\x20%s\x20(%s)','Location','Bucket','location','[RUNTRANSCRIPT][%d]\x20Transcription\x20job\x20%s\x20created','TranscriptionJob','TranscriptionJobName','transcribeStatus','TranscriptionJobStatus','runTranscribe','findOne','%s.cypher','transcribe','transcribeAccountId','language','bucket','Transcribe\x20not\x20configured','sentiment','sentimentAccountId'];(function(_0x456df0,_0x49f017){var _0x479008=function(_0x151c0a){while(--_0x151c0a){_0x456df0['push'](_0x456df0['shift']());}};_0x479008(++_0x49f017);}(_0x916b,0x149));var _0xb916=function(_0x3ee9e4,_0x3ace90){_0x3ee9e4=_0x3ee9e4-0x0;var _0x573675=_0x916b[_0x3ee9e4];return _0x573675;};'use strict';var emlformat=require(_0xb916('0x0'));var rimraf=require(_0xb916('0x1'));var zipdir=require(_0xb916('0x2'));var jsonpatch=require(_0xb916('0x3'));var rp=require(_0xb916('0x4'));var moment=require(_0xb916('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb916('0x6'));var util=require(_0xb916('0x7'));var path=require(_0xb916('0x8'));var sox=require('sox');var csv=require(_0xb916('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb916('0xa'));var _=require(_0xb916('0xb'));var squel=require(_0xb916('0xc'));var crypto=require(_0xb916('0xd'));var jsforce=require(_0xb916('0xe'));var deskjs=require(_0xb916('0xf'));var toCsv=require(_0xb916('0x9'));var querystring=require(_0xb916('0x10'));var Papa=require(_0xb916('0x11'));var AWS=require('aws-sdk');var uuidv4=require(_0xb916('0x12'));var Redis=require(_0xb916('0x13'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xb916('0x14'));var hardwareService=require(_0xb916('0x15'));var logger=require(_0xb916('0x16'))(_0xb916('0x17'));var utils=require(_0xb916('0x18'));var config=require(_0xb916('0x19'));var licenseUtil=require(_0xb916('0x1a'));var db=require(_0xb916('0x1b'))['db'];function respondWithStatusCode(_0x2e204d,_0x1216c1){_0x1216c1=_0x1216c1||0xcc;return function(_0x178c5b){if(_0x178c5b){return _0x2e204d[_0xb916('0x1c')](_0x1216c1);}return _0x2e204d['status'](_0x1216c1)[_0xb916('0x1d')]();};}function respondWithResult(_0x30fe50,_0xef83d1){_0xef83d1=_0xef83d1||0xc8;return function(_0x113442){if(_0x113442){return _0x30fe50[_0xb916('0x1e')](_0xef83d1)[_0xb916('0x1f')](_0x113442);}};}function respondWithFilteredResult(_0x166f78,_0x2decb0){return function(_0x2c6a78){if(_0x2c6a78){var _0x3492f0=typeof _0x2decb0[_0xb916('0x20')]==='undefined'&&typeof _0x2decb0[_0xb916('0x21')]===_0xb916('0x22');var _0x55975a=_0x2c6a78['count'];var _0x30a494=_0x3492f0?0x0:_0x2decb0[_0xb916('0x20')];var _0x33fb02=_0x3492f0?_0x2c6a78[_0xb916('0x23')]:_0x2decb0['offset']+_0x2decb0[_0xb916('0x21')];var _0x43961d;if(_0x33fb02>=_0x55975a){_0x33fb02=_0x55975a;_0x43961d=0xc8;}else{_0x43961d=0xce;}_0x166f78['status'](_0x43961d);return _0x166f78['set'](_0xb916('0x24'),_0x30a494+'-'+_0x33fb02+'/'+_0x55975a)[_0xb916('0x1f')](_0x2c6a78);}return null;};}function patchUpdates(_0x53db6d){return function(_0x5a314c){try{jsonpatch[_0xb916('0x25')](_0x5a314c,_0x53db6d,!![]);}catch(_0x1d45b3){return BPromise['reject'](_0x1d45b3);}return _0x5a314c['save']();};}function saveUpdates(_0x46cfc4,_0x33bc3c){return function(_0x333813){if(_0x333813){return _0x333813[_0xb916('0x26')](_0x46cfc4)[_0xb916('0x27')](function(_0x4269fe){return _0x4269fe;});}return null;};}function removeEntity(_0x3e6103,_0x346c76){return function(_0x59281b){if(_0x59281b){return _0x59281b['destroy']()[_0xb916('0x27')](function(){_0x3e6103[_0xb916('0x1e')](0xcc)[_0xb916('0x1d')]();});}};}function handleEntityNotFound(_0x407c68,_0x2a3775){return function(_0x39265f){if(!_0x39265f){_0x407c68[_0xb916('0x1c')](0x194);}return _0x39265f;};}function handleError(_0x1bc01f,_0xc095a7){_0xc095a7=_0xc095a7||0x1f4;return function(_0x1ed948){logger[_0xb916('0x28')](_0x1ed948[_0xb916('0x29')]);if(_0x1ed948['name']){delete _0x1ed948[_0xb916('0x2a')];}_0x1bc01f[_0xb916('0x1e')](_0xc095a7)[_0xb916('0x2b')](_0x1ed948);};}exports[_0xb916('0x2c')]=function(_0x2c2209,_0x46a3e1){var _0x3dbd63={},_0x20252a={},_0x2791e1={'count':0x0,'rows':[]};var _0x505b9f=_[_0xb916('0x2d')](db[_0xb916('0x2e')][_0xb916('0x2f')],function(_0x303132){return{'name':_0x303132[_0xb916('0x30')],'type':_0x303132[_0xb916('0x31')][_0xb916('0x32')]};});_0x20252a['model']=_[_0xb916('0x33')](_[_0xb916('0x2d')](_0x505b9f,_0xb916('0x2a')),[_0xb916('0x34')]);_0x20252a['query']=_[_0xb916('0x35')](_0x2c2209['query']);_0x20252a[_0xb916('0x36')]=_[_0xb916('0x37')](_0x20252a['model'],_0x20252a[_0xb916('0x38')]);_0x3dbd63['attributes']=_[_0xb916('0x37')](_0x20252a[_0xb916('0x39')],qs['fields'](_0x2c2209[_0xb916('0x38')][_0xb916('0x3a')]));_0x3dbd63[_0xb916('0x3b')]=_0x3dbd63[_0xb916('0x3b')]['length']?_0x3dbd63[_0xb916('0x3b')]:_0x20252a[_0xb916('0x39')];if(!_0x2c2209['query'][_0xb916('0x3c')](_0xb916('0x3d'))){_0x3dbd63[_0xb916('0x21')]=qs[_0xb916('0x21')](_0x2c2209['query']['limit']);_0x3dbd63['offset']=qs[_0xb916('0x20')](_0x2c2209[_0xb916('0x38')][_0xb916('0x20')]);}_0x3dbd63['order']=qs[_0xb916('0x3e')](_0x2c2209[_0xb916('0x38')][_0xb916('0x3e')]);_0x3dbd63['where']=qs['filters'](_['pick'](_0x2c2209[_0xb916('0x38')],_0x20252a['filters']),_0x505b9f);if(_0x2c2209['query'][_0xb916('0x3f')]){_0x3dbd63['where']=_[_0xb916('0x40')](_0x3dbd63[_0xb916('0x41')],{'$or':_[_0xb916('0x2d')](_0x505b9f,function(_0x5d850f){if(_0x5d850f[_0xb916('0x31')]!==_0xb916('0x42')){var _0x1676cd={};_0x1676cd[_0x5d850f[_0xb916('0x2a')]]={'$like':'%'+_0x2c2209['query'][_0xb916('0x3f')]+'%'};return _0x1676cd;}})});}_0x3dbd63=_[_0xb916('0x40')]({},_0x3dbd63,_0x2c2209['options']);var _0x49473e={'where':_0x3dbd63['where']};return db[_0xb916('0x2e')][_0xb916('0x23')](_0x49473e)[_0xb916('0x27')](function(_0x1f4717){_0x2791e1[_0xb916('0x23')]=_0x1f4717;if(_0x2c2209[_0xb916('0x38')][_0xb916('0x43')]){_0x3dbd63[_0xb916('0x44')]=[{'all':!![]}];}return db['VoiceRecording'][_0xb916('0x45')](_0x3dbd63);})['then'](function(_0x4e35cd){_0x2791e1[_0xb916('0x46')]=_0x4e35cd;return _0x2791e1;})[_0xb916('0x27')](respondWithFilteredResult(_0x46a3e1,_0x3dbd63))[_0xb916('0x47')](handleError(_0x46a3e1,null));};exports[_0xb916('0x48')]=function(_0x56ff78,_0x7d5c5b){var _0xfe4dbf={'raw':![],'where':{'id':_0x56ff78[_0xb916('0x49')]['id']}},_0x1afa5e={};_0x1afa5e[_0xb916('0x39')]=_[_0xb916('0x35')](db[_0xb916('0x2e')][_0xb916('0x2f')]);_0x1afa5e[_0xb916('0x38')]=_[_0xb916('0x35')](_0x56ff78['query']);_0x1afa5e[_0xb916('0x36')]=_[_0xb916('0x37')](_0x1afa5e[_0xb916('0x39')],_0x1afa5e[_0xb916('0x38')]);_0xfe4dbf['attributes']=_[_0xb916('0x37')](_0x1afa5e[_0xb916('0x39')],qs[_0xb916('0x3a')](_0x56ff78['query']['fields']));_0xfe4dbf[_0xb916('0x3b')]=_0xfe4dbf[_0xb916('0x3b')][_0xb916('0x4a')]?_0xfe4dbf['attributes']:_0x1afa5e[_0xb916('0x39')];if(_0x56ff78['query'][_0xb916('0x43')]){_0xfe4dbf['include']=[{'all':!![]}];}_0xfe4dbf=_[_0xb916('0x40')]({},_0xfe4dbf,_0x56ff78[_0xb916('0x4b')]);return db[_0xb916('0x2e')][_0xb916('0x4c')](_0xfe4dbf)[_0xb916('0x27')](handleEntityNotFound(_0x7d5c5b,null))[_0xb916('0x27')](respondWithResult(_0x7d5c5b,null))[_0xb916('0x47')](handleError(_0x7d5c5b,null));};exports[_0xb916('0x4d')]=function(_0x1d2f4e,_0x4cc28b){return db['VoiceRecording'][_0xb916('0x4d')](_0x1d2f4e[_0xb916('0x4e')],{})[_0xb916('0x27')](respondWithResult(_0x4cc28b,0xc9))[_0xb916('0x47')](handleError(_0x4cc28b,null));};exports[_0xb916('0x26')]=function(_0x22c743,_0x220d41){if(_0x22c743[_0xb916('0x4e')]['id']){delete _0x22c743[_0xb916('0x4e')]['id'];}return db[_0xb916('0x2e')]['find']({'where':{'id':_0x22c743[_0xb916('0x49')]['id']}})['then'](handleEntityNotFound(_0x220d41,null))['then'](saveUpdates(_0x22c743[_0xb916('0x4e')],null))['then'](respondWithResult(_0x220d41,null))['catch'](handleError(_0x220d41,null));};exports['describe']=function(_0x272cc5,_0x27aaba){return db[_0xb916('0x2e')]['describe']()[_0xb916('0x27')](respondWithResult(_0x27aaba,null))[_0xb916('0x47')](handleError(_0x27aaba,null));};exports[_0xb916('0x4f')]=function(_0x5cdc53,_0x3c903b,_0x4a2af5){var _0x5f01ee=require(_0xb916('0x50'));var _0x2dd7b0=![];var _0x1cb334={};if(_0x5cdc53['query'][_0xb916('0x31')]&&_0x5cdc53['query'][_0xb916('0x31')]===_0xb916('0x51')){_0x1cb334['uniqueid']=_0x5cdc53['params']['id'];}else{_0x1cb334['id']=_0x5cdc53['params']['id'];}return db[_0xb916('0x2e')][_0xb916('0x4c')]({'where':_0x1cb334,'attributes':['id',_0xb916('0x52')],'raw':!![]})[_0xb916('0x27')](handleEntityNotFound(_0x3c903b,null))[_0xb916('0x27')](function(_0x5624b2){if(_0x5624b2){var _0x3b9d06=_0x5624b2[_0xb916('0x52')];var _0x5723f8=util[_0xb916('0x34')]('%s.cypher',_0x3b9d06);if(fs[_0xb916('0x53')](_0x5723f8)){_0x2dd7b0=!![];return _0x5f01ee[_0xb916('0x54')](_0x5723f8,_0x3b9d06,config[_0xb916('0x55')][_0xb916('0x56')])[_0xb916('0x27')](function(){return _0x5624b2;});}return _0x5624b2;}})['then'](function(_0x32d869){if(_0x32d869){var _0x4b5d8c=_0x32d869[_0xb916('0x52')];if(!fs[_0xb916('0x53')](_0x4b5d8c)){throw new db[(_0xb916('0x57'))][(_0xb916('0x58'))](_0xb916('0x59'));}if(_0x32d869[_0xb916('0x5a')]){return _0x3c903b[_0xb916('0x4f')](_0x4b5d8c,_0x32d869[_0xb916('0x5a')]+path[_0xb916('0x5b')](_0x4b5d8c),function(){if(_0x2dd7b0){fs[_0xb916('0x5c')](_0x4b5d8c);}});}else{return _0x3c903b[_0xb916('0x4f')](_0x4b5d8c,function(_0x18b4ac){if(_0x2dd7b0){fs['unlink'](_0x4b5d8c);}});}}})['catch'](function(_0xddd5e2){if(_0xddd5e2[_0xb916('0x5d')]===_0xb916('0x59')){_0x3c903b[_0xb916('0x1e')](0x194)['send']('Not\x20found');}else{return handleError(_0x3c903b,null);}});};exports[_0xb916('0x5e')]=function(_0x4b02e2,_0x20b169,_0x4c4beb){var _0x372e48=require(_0xb916('0x50'));var _0x3ede35=![];var _0x174375={'$and':[db[_0xb916('0x5f')][_0xb916('0x41')](db[_0xb916('0x5f')]['fn'](_0xb916('0x60'),db[_0xb916('0x5f')][_0xb916('0x61')]('uniqueid')),_0x4b02e2['query'][_0xb916('0x62')])]};if(_0x4b02e2['query'][_0xb916('0x31')]&&_0x4b02e2['query'][_0xb916('0x31')]===_0xb916('0x51')){_0x174375[_0xb916('0x63')][_0xb916('0x64')]({'uniqueid':_0x4b02e2[_0xb916('0x49')]['id']});}else{_0x174375[_0xb916('0x63')][_0xb916('0x64')]({'id':_0x4b02e2[_0xb916('0x49')]['id']});}return db[_0xb916('0x2e')][_0xb916('0x4c')]({'where':_0x174375,'attributes':['id',_0xb916('0x52')],'raw':!![]})['then'](handleEntityNotFound(_0x20b169,null))[_0xb916('0x27')](function(_0x9c7d39){if(_0x9c7d39){var _0x269d9b=util[_0xb916('0x34')]('%s.cypher',_0x9c7d39[_0xb916('0x52')]);if(fs['existsSync'](_0x269d9b)){_0x3ede35=!![];return _0x372e48[_0xb916('0x54')](_0x269d9b,_0x9c7d39[_0xb916('0x52')],config[_0xb916('0x55')][_0xb916('0x56')])[_0xb916('0x27')](function(){return _0x9c7d39;});}return _0x9c7d39;}})['then'](function(_0x5b0616){if(_0x5b0616){if(!fs['existsSync'](_0x5b0616[_0xb916('0x52')])){throw new db[(_0xb916('0x57'))]['ValidationError'](_0xb916('0x59'));}if(_0x5b0616['filename']){return _0x20b169['download'](_0x5b0616[_0xb916('0x52')],_0x5b0616[_0xb916('0x5a')]+path[_0xb916('0x5b')](_0x5b0616[_0xb916('0x52')]),function(){if(_0x3ede35){fs['unlink'](_0x5b0616[_0xb916('0x52')]);}});}else{return _0x20b169['download'](_0x5b0616['value'],function(_0x181dc0){if(_0x3ede35){fs[_0xb916('0x5c')](_0x5b0616[_0xb916('0x52')]);}});}}})[_0xb916('0x47')](handleError(_0x20b169,null));};exports[_0xb916('0x65')]=function(_0x406953,_0x512b8c){return db[_0xb916('0x2e')][_0xb916('0x4c')]({'where':{'id':_0x406953[_0xb916('0x49')]['id']}})[_0xb916('0x27')](function(_0x45a2d3){if(_['isNil'](_0x45a2d3)){throw new ReferenceError(_0xb916('0x66'));}return _0x45a2d3;})[_0xb916('0x27')](function(_0x1bc9d7){var _0x419821=_0x1bc9d7[_0xb916('0x52')];logger[_0xb916('0x67')]('cancellazione\x20fisica\x20documento\x20%s',_0x419821);if(!_[_0xb916('0x68')](_0x1bc9d7[_0xb916('0x52')])&&fs[_0xb916('0x53')](_0x419821)){logger[_0xb916('0x67')](_0xb916('0x69')+_0x419821+_0xb916('0x6a'));fs[_0xb916('0x6b')](_0x419821);}_0x419821=_0x419821+_0xb916('0x6c');if(!_['isNil'](_0x1bc9d7['value'])&&fs['existsSync'](_0x419821)){logger[_0xb916('0x67')](_0xb916('0x69')+_0x419821+_0xb916('0x6a'));fs[_0xb916('0x6b')](_0x419821);}return _0x1bc9d7;})[_0xb916('0x27')](function(_0x1afc65){if(!_0x1afc65)throw new InternalError();return _0x1afc65['destroy']();})[_0xb916('0x27')](function(){_0x512b8c[_0xb916('0x1e')](0xcc)['end']();})[_0xb916('0x47')](handleError(_0x512b8c,null));};function getBucketslist(_0x4b85c4,_0x2432ac,_0x426e08){return new Promise(function(_0x12ac84,_0x35a6d9){var _0x31ba59=new AWS['S3']({'accessKeyId':_0x2432ac,'secretAccessKey':_0x4b85c4,'region':_0x426e08});_0x31ba59[_0xb916('0x6d')]({},function(_0x1ff9be,_0x35f3be){if(_0x1ff9be){return _0x35a6d9(_0x1ff9be);}else{return _0x12ac84(_0x35f3be);}});});}function createBucket(_0x591bde,_0x89784d,_0x353ead,_0x1b3b46){return new Promise(function(_0xa1ad12,_0x5833cb){var _0x49f910=new AWS['S3']({'accessKeyId':_0x89784d,'secretAccessKey':_0x591bde,'region':_0x353ead});_0x49f910['createBucket']({'Bucket':_0x1b3b46},function(_0x4e258b,_0x19b414){if(_0x4e258b){return _0x5833cb(_0x4e258b);}else{return _0xa1ad12(_0x19b414);}});});}function uploadFile(_0x4a7bef,_0x48fb65,_0x3f58c3,_0x100d56,_0x5f55e7,_0x29eeb6){return new Promise(function(_0x29cc48,_0x18779c){var _0x58c916=new AWS['S3']({'accessKeyId':_0x48fb65,'secretAccessKey':_0x4a7bef,'region':_0x3f58c3});_0x58c916['upload']({'Bucket':_0x100d56,'Key':_0x5f55e7,'Body':_0x29eeb6},function(_0x4a399f,_0x35fb68){if(_0x4a399f){return _0x18779c(_0x4a399f);}else{return _0x29cc48(_0x35fb68);}});});}function startTranscribe(_0x5d00f0,_0x3bba17,_0x1ba515,_0x33dc9e,_0x77628f,_0x5e8440){return new Promise(function(_0x572ac6,_0x368636){var _0xf078af=new AWS[(_0xb916('0x6e'))]({'accessKeyId':_0x3bba17,'secretAccessKey':_0x5d00f0,'region':_0x1ba515});_0xf078af[_0xb916('0x6f')]({'TranscriptionJobName':_0x33dc9e,'LanguageCode':_0x77628f,'Media':{'MediaFileUri':_0x5e8440}},function(_0x3d8c43,_0x4ed444){if(_0x3d8c43){return _0x368636(_0x3d8c43);}else{return _0x572ac6(_0x4ed444);}});});}function transcribe(_0x10ebcb,_0x557538,_0x34b733,_0x34d72a,_0x5890b4,_0x98435a,_0x54a432){return new Promise(function(_0x4c3202,_0x12c088){var _0x3a5ce4={};logger[_0xb916('0x67')](util['format'](_0xb916('0x70'),_0x10ebcb,_0x5890b4));return uploadFile(_0x557538,_0x34b733,_0x34d72a,_0x5890b4,path[_0xb916('0x71')](_0x98435a),fs['readFileSync'](_0x98435a))[_0xb916('0x27')](function(_0x4fa466){logger[_0xb916('0x67')](util[_0xb916('0x34')](_0xb916('0x72'),_0x10ebcb,_0x5890b4,_0x4fa466[_0xb916('0x73')]));_0x3a5ce4['bucket']=_0x4fa466[_0xb916('0x74')];_0x3a5ce4[_0xb916('0x75')]=_0x4fa466[_0xb916('0x73')];logger[_0xb916('0x67')](util['format']('[RUNTRANSCRIPT][%d]\x20Sending\x20transcribe\x20request',_0x10ebcb));return startTranscribe(_0x557538,_0x34b733,_0x34d72a,uuidv4(),_0x54a432,_0x4fa466[_0xb916('0x73')]);})[_0xb916('0x27')](function(_0x10d833){logger[_0xb916('0x67')](util[_0xb916('0x34')](_0xb916('0x76'),_0x10ebcb,_0x10d833[_0xb916('0x77')][_0xb916('0x78')]));_0x3a5ce4['transcribeName']=_0x10d833['TranscriptionJob'][_0xb916('0x78')];_0x3a5ce4[_0xb916('0x79')]=_0x10d833[_0xb916('0x77')][_0xb916('0x7a')];return _0x4c3202(_0x3a5ce4);})[_0xb916('0x47')](function(_0x14ed69){return _0x12c088(_0x14ed69);});});}exports[_0xb916('0x7b')]=function(_0x551718,_0x434ec3,_0x189b10){var _0x1dfe23;var _0x4f2ec3;var _0xc6987f;var _0x3f4767=require(_0xb916('0x50'));return db['VoiceRecording'][_0xb916('0x7c')]({'where':{'id':_0x551718[_0xb916('0x49')]['id']}})[_0xb916('0x27')](function(_0x2ae9f7){if(_0x2ae9f7){var _0x56235b=util['format'](_0xb916('0x7d'),_0x2ae9f7['value']);if(fs[_0xb916('0x53')](_0x56235b)){cypher=!![];return _0x3f4767['decryptFile'](_0x56235b,_0x2ae9f7[_0xb916('0x52')],config[_0xb916('0x55')][_0xb916('0x56')])[_0xb916('0x27')](function(){return _0x2ae9f7;});}return _0x2ae9f7;}})[_0xb916('0x27')](function(_0x30f21e){if(!_0x30f21e){throw new db['Sequelize'][(_0xb916('0x58'))]('Voice\x20Recording\x20not\x20found');}_0x4f2ec3=_0x30f21e;return db['Setting'][_0xb916('0x7c')]({'where':{'id':0x1}});})[_0xb916('0x27')](handleEntityNotFound(_0x434ec3,null))[_0xb916('0x27')](function(_0x485b11){if(_0x485b11){_0x1dfe23=_0x485b11;if(!_0x1dfe23[_0xb916('0x7e')]||!_0x1dfe23[_0xb916('0x7f')]||!_0x1dfe23['transcribeRegion']||!_0x1dfe23[_0xb916('0x80')]||!_0x1dfe23[_0xb916('0x81')]){throw new db[(_0xb916('0x57'))]['ValidationError'](_0xb916('0x82'));}if(_0x551718[_0xb916('0x4e')]['runSentiment']&&(!_0x1dfe23[_0xb916('0x83')]||!_0x1dfe23[_0xb916('0x84')]||!_0x1dfe23[_0xb916('0x85')]||!_0x1dfe23[_0xb916('0x80')]||!_0x1dfe23[_0xb916('0x81')])){throw new db[(_0xb916('0x57'))][(_0xb916('0x58'))](_0xb916('0x86'));}return db[_0xb916('0x87')][_0xb916('0x7c')]({'where':{'id':_0x1dfe23[_0xb916('0x7f')]}});}})['then'](function(_0x25451b){if(!_0x25451b){throw new db['Sequelize'][(_0xb916('0x58'))]('Cloud\x20Provider\x20not\x20available');}if(!_0x25451b[_0xb916('0x88')]||!_0x25451b[_0xb916('0x89')]){throw new db[(_0xb916('0x57'))][(_0xb916('0x58'))](_0xb916('0x8a'));}_0xc6987f=_0x25451b;return getBucketslist(_0xc6987f[_0xb916('0x88')],_0xc6987f['data2'],_0x1dfe23[_0xb916('0x8b')]);})[_0xb916('0x27')](function(_0x41f968){if(_0x41f968&&_0x41f968[_0xb916('0x8c')]){var _0x310d0f=_[_0xb916('0x4c')](_0x41f968[_0xb916('0x8c')],function(_0x4dbe16){return _0x4dbe16[_0xb916('0x8d')]===_0x1dfe23[_0xb916('0x81')];});if(!_0x310d0f){logger[_0xb916('0x67')](util[_0xb916('0x34')]('[RUNTRANSCRIPT][%d]\x20Bucket\x20%s\x20not\x20available',_0x551718[_0xb916('0x49')]['id'],_0x1dfe23[_0xb916('0x81')]));return createBucket(_0xc6987f[_0xb916('0x88')],_0xc6987f['data2'],_0x1dfe23[_0xb916('0x8b')],_0x1dfe23[_0xb916('0x81')]);}logger[_0xb916('0x67')](util[_0xb916('0x34')](_0xb916('0x8e'),_0x551718[_0xb916('0x49')]['id'],_0x1dfe23['bucket']));return;}})[_0xb916('0x27')](function(_0x266bc3){if(_0x4f2ec3[_0xb916('0x79')]==='NEW'){return transcribe(_0x551718[_0xb916('0x49')]['id'],_0xc6987f['data1'],_0xc6987f['data2'],_0x1dfe23[_0xb916('0x8b')],_0x1dfe23[_0xb916('0x81')],_0x4f2ec3[_0xb916('0x52')],_0x1dfe23[_0xb916('0x80')]);}else{logger[_0xb916('0x67')](util[_0xb916('0x34')](_0xb916('0x8f'),_0x551718[_0xb916('0x49')]['id']));return{'transcribeStatus':_0xb916('0x90')};}})[_0xb916('0x27')](function(_0x1c8eb3){if(_0x1c8eb3){_0x1c8eb3[_0xb916('0x91')]=_0x551718[_0xb916('0x4e')][_0xb916('0x92')];return _0x4f2ec3['updateAttributes'](_0x1c8eb3);}})[_0xb916('0x27')](respondWithResult(_0x434ec3,null))[_0xb916('0x47')](handleError(_0x434ec3,null));};function writeFile(_0xb0e1a1,_0x576fd8){return new Promise(function(_0x45d3e4,_0x32fbba){fs[_0xb916('0x93')](_0x576fd8,_0xb0e1a1,function(_0x3eade1,_0x3e87f2){if(_0x3eade1){return _0x32fbba(_0x3eade1);}else{return _0x45d3e4(_0x3e87f2);}});});}exports[_0xb916('0x94')]=function(_0x327274,_0x11f829,_0x2558fd){return db[_0xb916('0x2e')]['findOne']({'where':{'id':_0x327274[_0xb916('0x49')]['id']}})[_0xb916('0x27')](handleEntityNotFound(_0x11f829))[_0xb916('0x27')](function(_0x5daee9){if(_0x5daee9&&_0x5daee9[_0xb916('0x95')]){var _0x3faf73=_0x5daee9['fileText'];var _0x424f86=config[_0xb916('0x96')]+_0xb916('0x97')+_0x5daee9['id']+_0xb916('0x98');if(fs[_0xb916('0x53')](_0x424f86)){return _0x424f86;}return writeFile(_0x3faf73,_0x424f86)[_0xb916('0x27')](function(){return _0x424f86;});}else{throw new db[(_0xb916('0x57'))]['ValidationError'](_0xb916('0x99'));}})[_0xb916('0x27')](function(_0x74533a){return _0x11f829[_0xb916('0x4f')](_0x74533a);})['catch'](handleError(_0x11f829));};
\ No newline at end of file