Built motion from commit 092f8824.|2.5.49
[motion2.git] / server / api / voiceQueuesLog / voiceQueuesLog.controller.js
index aba31a3..c849391 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xfff0=['VoiceQueuesLog','includeAll','findAll','catch','params','length','include','body','find','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','filter','options'];(function(_0x36f688,_0x136a34){var _0x5483e4=function(_0x218af7){while(--_0x218af7){_0x36f688['push'](_0x36f688['shift']());}};_0x5483e4(++_0x136a34);}(_0xfff0,0x139));var _0x0fff=function(_0x19829c,_0x862181){_0x19829c=_0x19829c-0x0;var _0x5e1c18=_0xfff0[_0x19829c];return _0x5e1c18;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0fff('0x0'));var zipdir=require(_0x0fff('0x1'));var jsonpatch=require(_0x0fff('0x2'));var rp=require('request-promise');var moment=require(_0x0fff('0x3'));var BPromise=require(_0x0fff('0x4'));var Mustache=require(_0x0fff('0x5'));var util=require('util');var path=require(_0x0fff('0x6'));var sox=require(_0x0fff('0x7'));var csv=require('to-csv');var ejs=require(_0x0fff('0x8'));var fs=require('fs');var fs_extra=require(_0x0fff('0x9'));var _=require(_0x0fff('0xa'));var squel=require('squel');var crypto=require(_0x0fff('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x0fff('0xc'));var toCsv=require('to-csv');var querystring=require(_0x0fff('0xd'));var Papa=require(_0x0fff('0xe'));var Redis=require('ioredis');var authService=require(_0x0fff('0xf'));var qs=require(_0x0fff('0x10'));var as=require(_0x0fff('0x11'));var hardwareService=require(_0x0fff('0x12'));var logger=require(_0x0fff('0x13'))(_0x0fff('0x14'));var utils=require(_0x0fff('0x15'));var config=require(_0x0fff('0x16'));var licenseUtil=require(_0x0fff('0x17'));var db=require(_0x0fff('0x18'))['db'];function respondWithStatusCode(_0x13f768,_0x5abecd){_0x5abecd=_0x5abecd||0xcc;return function(_0x1fb243){if(_0x1fb243){return _0x13f768['sendStatus'](_0x5abecd);}return _0x13f768[_0x0fff('0x19')](_0x5abecd)[_0x0fff('0x1a')]();};}function respondWithResult(_0x38fc82,_0x2c0322){_0x2c0322=_0x2c0322||0xc8;return function(_0x55e5fa){if(_0x55e5fa){return _0x38fc82['status'](_0x2c0322)[_0x0fff('0x1b')](_0x55e5fa);}};}function respondWithFilteredResult(_0x50a9e4,_0x5636fd){return function(_0x51ceea){if(_0x51ceea){var _0x1fb430=typeof _0x5636fd[_0x0fff('0x1c')]==='undefined'&&typeof _0x5636fd[_0x0fff('0x1d')]===_0x0fff('0x1e');var _0x540a67=_0x51ceea['count'];var _0x48f36d=_0x1fb430?0x0:_0x5636fd[_0x0fff('0x1c')];var _0x606792=_0x1fb430?_0x51ceea[_0x0fff('0x1f')]:_0x5636fd[_0x0fff('0x1c')]+_0x5636fd[_0x0fff('0x1d')];var _0xe89b4a;if(_0x606792>=_0x540a67){_0x606792=_0x540a67;_0xe89b4a=0xc8;}else{_0xe89b4a=0xce;}_0x50a9e4['status'](_0xe89b4a);return _0x50a9e4[_0x0fff('0x20')](_0x0fff('0x21'),_0x48f36d+'-'+_0x606792+'/'+_0x540a67)[_0x0fff('0x1b')](_0x51ceea);}return null;};}function patchUpdates(_0x49d211){return function(_0x5e27df){try{jsonpatch[_0x0fff('0x22')](_0x5e27df,_0x49d211,!![]);}catch(_0x330e29){return BPromise[_0x0fff('0x23')](_0x330e29);}return _0x5e27df[_0x0fff('0x24')]();};}function saveUpdates(_0x502393,_0x155132){return function(_0x2f8665){if(_0x2f8665){return _0x2f8665[_0x0fff('0x25')](_0x502393)[_0x0fff('0x26')](function(_0x16e7f4){return _0x16e7f4;});}return null;};}function removeEntity(_0x17fba6,_0x580b8e){return function(_0x6a116c){if(_0x6a116c){return _0x6a116c[_0x0fff('0x27')]()[_0x0fff('0x26')](function(){_0x17fba6[_0x0fff('0x19')](0xcc)[_0x0fff('0x1a')]();});}};}function handleEntityNotFound(_0x23d9f8,_0x482e1e){return function(_0x2c9725){if(!_0x2c9725){_0x23d9f8[_0x0fff('0x28')](0x194);}return _0x2c9725;};}function handleError(_0x2d1610,_0x440f56){_0x440f56=_0x440f56||0x1f4;return function(_0x36d268){logger[_0x0fff('0x29')](_0x36d268[_0x0fff('0x2a')]);if(_0x36d268[_0x0fff('0x2b')]){delete _0x36d268[_0x0fff('0x2b')];}_0x2d1610[_0x0fff('0x19')](_0x440f56)[_0x0fff('0x2c')](_0x36d268);};}exports[_0x0fff('0x2d')]=function(_0x495734,_0x7046a3){var _0x2d1800={},_0x17ab6f={},_0x42441e={'count':0x0,'rows':[]};var _0x1f643d=_[_0x0fff('0x2e')](db['VoiceQueuesLog'][_0x0fff('0x2f')],function(_0xa16c29){return{'name':_0xa16c29[_0x0fff('0x30')],'type':_0xa16c29['type'][_0x0fff('0x31')]};});_0x17ab6f[_0x0fff('0x32')]=_['map'](_0x1f643d,_0x0fff('0x2b'));_0x17ab6f[_0x0fff('0x33')]=_[_0x0fff('0x34')](_0x495734[_0x0fff('0x33')]);_0x17ab6f[_0x0fff('0x35')]=_[_0x0fff('0x36')](_0x17ab6f[_0x0fff('0x32')],_0x17ab6f[_0x0fff('0x33')]);_0x2d1800[_0x0fff('0x37')]=_[_0x0fff('0x36')](_0x17ab6f['model'],qs[_0x0fff('0x38')](_0x495734[_0x0fff('0x33')][_0x0fff('0x38')]));_0x2d1800[_0x0fff('0x37')]=_0x2d1800[_0x0fff('0x37')]['length']?_0x2d1800['attributes']:_0x17ab6f[_0x0fff('0x32')];if(!_0x495734[_0x0fff('0x33')][_0x0fff('0x39')](_0x0fff('0x3a'))){_0x2d1800['limit']=qs[_0x0fff('0x1d')](_0x495734[_0x0fff('0x33')][_0x0fff('0x1d')]);_0x2d1800[_0x0fff('0x1c')]=qs['offset'](_0x495734[_0x0fff('0x33')][_0x0fff('0x1c')]);}_0x2d1800[_0x0fff('0x3b')]=qs[_0x0fff('0x3c')](_0x495734[_0x0fff('0x33')][_0x0fff('0x3c')]);_0x2d1800[_0x0fff('0x3d')]=qs[_0x0fff('0x35')](_[_0x0fff('0x3e')](_0x495734[_0x0fff('0x33')],_0x17ab6f[_0x0fff('0x35')]),_0x1f643d);if(_0x495734[_0x0fff('0x33')]['filter']){_0x2d1800[_0x0fff('0x3d')]=_[_0x0fff('0x3f')](_0x2d1800[_0x0fff('0x3d')],{'$or':_[_0x0fff('0x2e')](_0x1f643d,function(_0xd65638){if(_0xd65638[_0x0fff('0x40')]!=='VIRTUAL'){var _0x10ff9d={};_0x10ff9d[_0xd65638[_0x0fff('0x2b')]]={'$like':'%'+_0x495734[_0x0fff('0x33')][_0x0fff('0x41')]+'%'};return _0x10ff9d;}})});}_0x2d1800=_[_0x0fff('0x3f')]({},_0x2d1800,_0x495734[_0x0fff('0x42')]);var _0x3dc0b8={'where':_0x2d1800[_0x0fff('0x3d')]};return db[_0x0fff('0x43')]['count'](_0x3dc0b8)[_0x0fff('0x26')](function(_0x4d89c0){_0x42441e[_0x0fff('0x1f')]=_0x4d89c0;if(_0x495734[_0x0fff('0x33')][_0x0fff('0x44')]){_0x2d1800['include']=[{'all':!![]}];}return db['VoiceQueuesLog'][_0x0fff('0x45')](_0x2d1800);})[_0x0fff('0x26')](function(_0x311348){_0x42441e['rows']=_0x311348;return _0x42441e;})['then'](respondWithFilteredResult(_0x7046a3,_0x2d1800))[_0x0fff('0x46')](handleError(_0x7046a3,null));};exports['show']=function(_0xd6ebeb,_0x957265){var _0x8352c1={'raw':!![],'where':{'id':_0xd6ebeb[_0x0fff('0x47')]['id']}},_0x309d75={};_0x309d75[_0x0fff('0x32')]=_['keys'](db[_0x0fff('0x43')][_0x0fff('0x2f')]);_0x309d75[_0x0fff('0x33')]=_[_0x0fff('0x34')](_0xd6ebeb[_0x0fff('0x33')]);_0x309d75[_0x0fff('0x35')]=_[_0x0fff('0x36')](_0x309d75['model'],_0x309d75[_0x0fff('0x33')]);_0x8352c1[_0x0fff('0x37')]=_[_0x0fff('0x36')](_0x309d75['model'],qs[_0x0fff('0x38')](_0xd6ebeb[_0x0fff('0x33')][_0x0fff('0x38')]));_0x8352c1[_0x0fff('0x37')]=_0x8352c1[_0x0fff('0x37')][_0x0fff('0x48')]?_0x8352c1[_0x0fff('0x37')]:_0x309d75[_0x0fff('0x32')];if(_0xd6ebeb[_0x0fff('0x33')][_0x0fff('0x44')]){_0x8352c1[_0x0fff('0x49')]=[{'all':!![]}];}_0x8352c1=_['merge']({},_0x8352c1,_0xd6ebeb[_0x0fff('0x42')]);return db[_0x0fff('0x43')]['find'](_0x8352c1)[_0x0fff('0x26')](handleEntityNotFound(_0x957265,null))[_0x0fff('0x26')](respondWithResult(_0x957265,null))[_0x0fff('0x46')](handleError(_0x957265,null));};exports['create']=function(_0x502037,_0x2a0b10){return db['VoiceQueuesLog']['create'](_0x502037[_0x0fff('0x4a')],{})[_0x0fff('0x26')](respondWithResult(_0x2a0b10,0xc9))[_0x0fff('0x46')](handleError(_0x2a0b10,null));};exports[_0x0fff('0x25')]=function(_0x3b4b8e,_0x1a7677){if(_0x3b4b8e['body']['id']){delete _0x3b4b8e[_0x0fff('0x4a')]['id'];}return db[_0x0fff('0x43')][_0x0fff('0x4b')]({'where':{'id':_0x3b4b8e[_0x0fff('0x47')]['id']}})[_0x0fff('0x26')](handleEntityNotFound(_0x1a7677,null))[_0x0fff('0x26')](saveUpdates(_0x3b4b8e['body'],null))[_0x0fff('0x26')](respondWithResult(_0x1a7677,null))[_0x0fff('0x46')](handleError(_0x1a7677,null));};exports['destroy']=function(_0x1fc872,_0x4bae35){return db['VoiceQueuesLog']['find']({'where':{'id':_0x1fc872[_0x0fff('0x47')]['id']}})[_0x0fff('0x26')](handleEntityNotFound(_0x4bae35,null))[_0x0fff('0x26')](removeEntity(_0x4bae35,null))[_0x0fff('0x46')](handleError(_0x4bae35,null));};
\ No newline at end of file
+var _0x413d=['sendStatus','status','end','json','offset','undefined','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','index','map','VoiceQueuesLog','rawAttributes','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','name','options','includeAll','include','rows','catch','show','params','find','create','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb'];(function(_0x21b47c,_0xac49e3){var _0x119133=function(_0x2b93c3){while(--_0x2b93c3){_0x21b47c['push'](_0x21b47c['shift']());}};_0x119133(++_0xac49e3);}(_0x413d,0x165));var _0xd413=function(_0x55abd9,_0x1148af){_0x55abd9=_0x55abd9-0x0;var _0x3e5669=_0x413d[_0x55abd9];return _0x3e5669;};'use strict';var emlformat=require(_0xd413('0x0'));var rimraf=require(_0xd413('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd413('0x2'));var rp=require(_0xd413('0x3'));var moment=require(_0xd413('0x4'));var BPromise=require(_0xd413('0x5'));var Mustache=require(_0xd413('0x6'));var util=require(_0xd413('0x7'));var path=require(_0xd413('0x8'));var sox=require(_0xd413('0x9'));var csv=require('to-csv');var ejs=require(_0xd413('0xa'));var fs=require('fs');var fs_extra=require(_0xd413('0xb'));var _=require(_0xd413('0xc'));var squel=require(_0xd413('0xd'));var crypto=require(_0xd413('0xe'));var jsforce=require(_0xd413('0xf'));var deskjs=require(_0xd413('0x10'));var toCsv=require('to-csv');var querystring=require(_0xd413('0x11'));var Papa=require(_0xd413('0x12'));var Redis=require(_0xd413('0x13'));var authService=require(_0xd413('0x14'));var qs=require(_0xd413('0x15'));var as=require(_0xd413('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd413('0x17'))(_0xd413('0x18'));var utils=require(_0xd413('0x19'));var config=require(_0xd413('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0xd413('0x1b'))['db'];function respondWithStatusCode(_0x40fff0,_0x431a38){_0x431a38=_0x431a38||0xcc;return function(_0x53beb8){if(_0x53beb8){return _0x40fff0[_0xd413('0x1c')](_0x431a38);}return _0x40fff0[_0xd413('0x1d')](_0x431a38)[_0xd413('0x1e')]();};}function respondWithResult(_0x8efa93,_0x43c231){_0x43c231=_0x43c231||0xc8;return function(_0x20c4b7){if(_0x20c4b7){return _0x8efa93[_0xd413('0x1d')](_0x43c231)[_0xd413('0x1f')](_0x20c4b7);}};}function respondWithFilteredResult(_0x116c5a,_0x2a9f6){return function(_0x2dcb82){if(_0x2dcb82){var _0x3174bf=typeof _0x2a9f6[_0xd413('0x20')]===_0xd413('0x21')&&typeof _0x2a9f6['limit']==='undefined';var _0x24b41f=_0x2dcb82['count'];var _0x127465=_0x3174bf?0x0:_0x2a9f6[_0xd413('0x20')];var _0x1527ac=_0x3174bf?_0x2dcb82[_0xd413('0x22')]:_0x2a9f6['offset']+_0x2a9f6['limit'];var _0xadbbbe;if(_0x1527ac>=_0x24b41f){_0x1527ac=_0x24b41f;_0xadbbbe=0xc8;}else{_0xadbbbe=0xce;}_0x116c5a['status'](_0xadbbbe);return _0x116c5a['set'](_0xd413('0x23'),_0x127465+'-'+_0x1527ac+'/'+_0x24b41f)['json'](_0x2dcb82);}return null;};}function patchUpdates(_0x4bd151){return function(_0x59a700){try{jsonpatch[_0xd413('0x24')](_0x59a700,_0x4bd151,!![]);}catch(_0x3949aa){return BPromise[_0xd413('0x25')](_0x3949aa);}return _0x59a700[_0xd413('0x26')]();};}function saveUpdates(_0x2887a3,_0x20e5e5){return function(_0x4ab101){if(_0x4ab101){return _0x4ab101[_0xd413('0x27')](_0x2887a3)[_0xd413('0x28')](function(_0x4b673b){return _0x4b673b;});}return null;};}function removeEntity(_0x50aaa2,_0xaab600){return function(_0x257d87){if(_0x257d87){return _0x257d87[_0xd413('0x29')]()[_0xd413('0x28')](function(){_0x50aaa2['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0xf89855,_0x2a21ec){return function(_0x49a5ba){if(!_0x49a5ba){_0xf89855[_0xd413('0x1c')](0x194);}return _0x49a5ba;};}function handleError(_0x1ebb05,_0x45c88a){_0x45c88a=_0x45c88a||0x1f4;return function(_0x216a59){logger[_0xd413('0x2a')](_0x216a59[_0xd413('0x2b')]);if(_0x216a59['name']){delete _0x216a59['name'];}_0x1ebb05[_0xd413('0x1d')](_0x45c88a)['send'](_0x216a59);};}exports[_0xd413('0x2c')]=function(_0xea9363,_0x54d8f9){var _0x417d9f={},_0x94e80c={},_0x39249c={'count':0x0,'rows':[]};var _0x4f11e2=_[_0xd413('0x2d')](db[_0xd413('0x2e')][_0xd413('0x2f')],function(_0x231544){return{'name':_0x231544['fieldName'],'type':_0x231544[_0xd413('0x30')]['key']};});_0x94e80c[_0xd413('0x31')]=_[_0xd413('0x2d')](_0x4f11e2,'name');_0x94e80c[_0xd413('0x32')]=_[_0xd413('0x33')](_0xea9363[_0xd413('0x32')]);_0x94e80c[_0xd413('0x34')]=_[_0xd413('0x35')](_0x94e80c['model'],_0x94e80c[_0xd413('0x32')]);_0x417d9f[_0xd413('0x36')]=_[_0xd413('0x35')](_0x94e80c[_0xd413('0x31')],qs['fields'](_0xea9363[_0xd413('0x32')][_0xd413('0x37')]));_0x417d9f[_0xd413('0x36')]=_0x417d9f[_0xd413('0x36')][_0xd413('0x38')]?_0x417d9f[_0xd413('0x36')]:_0x94e80c[_0xd413('0x31')];if(!_0xea9363[_0xd413('0x32')][_0xd413('0x39')](_0xd413('0x3a'))){_0x417d9f[_0xd413('0x3b')]=qs['limit'](_0xea9363[_0xd413('0x32')][_0xd413('0x3b')]);_0x417d9f[_0xd413('0x20')]=qs[_0xd413('0x20')](_0xea9363[_0xd413('0x32')][_0xd413('0x20')]);}_0x417d9f[_0xd413('0x3c')]=qs[_0xd413('0x3d')](_0xea9363[_0xd413('0x32')]['sort']);_0x417d9f[_0xd413('0x3e')]=qs[_0xd413('0x34')](_[_0xd413('0x3f')](_0xea9363[_0xd413('0x32')],_0x94e80c['filters']),_0x4f11e2);if(_0xea9363[_0xd413('0x32')][_0xd413('0x40')]){_0x417d9f[_0xd413('0x3e')]=_[_0xd413('0x41')](_0x417d9f[_0xd413('0x3e')],{'$or':_['map'](_0x4f11e2,function(_0x4483df){if(_0x4483df[_0xd413('0x30')]!=='VIRTUAL'){var _0x42b925={};_0x42b925[_0x4483df[_0xd413('0x42')]]={'$like':'%'+_0xea9363[_0xd413('0x32')][_0xd413('0x40')]+'%'};return _0x42b925;}})});}_0x417d9f=_[_0xd413('0x41')]({},_0x417d9f,_0xea9363[_0xd413('0x43')]);var _0x29be41={'where':_0x417d9f['where']};return db[_0xd413('0x2e')][_0xd413('0x22')](_0x29be41)[_0xd413('0x28')](function(_0x53a4d6){_0x39249c[_0xd413('0x22')]=_0x53a4d6;if(_0xea9363['query'][_0xd413('0x44')]){_0x417d9f[_0xd413('0x45')]=[{'all':!![]}];}return db[_0xd413('0x2e')]['findAll'](_0x417d9f);})['then'](function(_0x17cd4b){_0x39249c[_0xd413('0x46')]=_0x17cd4b;return _0x39249c;})[_0xd413('0x28')](respondWithFilteredResult(_0x54d8f9,_0x417d9f))[_0xd413('0x47')](handleError(_0x54d8f9,null));};exports[_0xd413('0x48')]=function(_0xa47615,_0x101627){var _0x1d925c={'raw':!![],'where':{'id':_0xa47615[_0xd413('0x49')]['id']}},_0x347dab={};_0x347dab[_0xd413('0x31')]=_[_0xd413('0x33')](db[_0xd413('0x2e')]['rawAttributes']);_0x347dab[_0xd413('0x32')]=_[_0xd413('0x33')](_0xa47615[_0xd413('0x32')]);_0x347dab[_0xd413('0x34')]=_['intersection'](_0x347dab[_0xd413('0x31')],_0x347dab[_0xd413('0x32')]);_0x1d925c['attributes']=_['intersection'](_0x347dab['model'],qs[_0xd413('0x37')](_0xa47615[_0xd413('0x32')][_0xd413('0x37')]));_0x1d925c[_0xd413('0x36')]=_0x1d925c[_0xd413('0x36')][_0xd413('0x38')]?_0x1d925c[_0xd413('0x36')]:_0x347dab['model'];if(_0xa47615[_0xd413('0x32')][_0xd413('0x44')]){_0x1d925c[_0xd413('0x45')]=[{'all':!![]}];}_0x1d925c=_[_0xd413('0x41')]({},_0x1d925c,_0xa47615[_0xd413('0x43')]);return db['VoiceQueuesLog'][_0xd413('0x4a')](_0x1d925c)[_0xd413('0x28')](handleEntityNotFound(_0x101627,null))['then'](respondWithResult(_0x101627,null))[_0xd413('0x47')](handleError(_0x101627,null));};exports[_0xd413('0x4b')]=function(_0x46fdea,_0x16167c){return db[_0xd413('0x2e')][_0xd413('0x4b')](_0x46fdea['body'],{})[_0xd413('0x28')](respondWithResult(_0x16167c,0xc9))[_0xd413('0x47')](handleError(_0x16167c,null));};exports[_0xd413('0x27')]=function(_0x156b28,_0x2a3a91){if(_0x156b28[_0xd413('0x4c')]['id']){delete _0x156b28[_0xd413('0x4c')]['id'];}return db[_0xd413('0x2e')][_0xd413('0x4a')]({'where':{'id':_0x156b28[_0xd413('0x49')]['id']}})['then'](handleEntityNotFound(_0x2a3a91,null))[_0xd413('0x28')](saveUpdates(_0x156b28['body'],null))['then'](respondWithResult(_0x2a3a91,null))[_0xd413('0x47')](handleError(_0x2a3a91,null));};exports[_0xd413('0x29')]=function(_0x291930,_0x29f7fe){return db[_0xd413('0x2e')][_0xd413('0x4a')]({'where':{'id':_0x291930[_0xd413('0x49')]['id']}})[_0xd413('0x28')](handleEntityNotFound(_0x29f7fe,null))['then'](removeEntity(_0x29f7fe,null))[_0xd413('0x47')](handleError(_0x29f7fe,null));};
\ No newline at end of file