Built motion from commit 52c8a02d.|2.6.29
[motion2.git] / server / api / mailServerOut / mailServerOut.controller.js
index 6dde2f8..8b9c741 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xb53b=['status','json','count','limit','set','Content-Range','apply','reject','save','error','stack','name','index','type','model','map','query','filters','intersection','attributes','fields','length','nolimit','offset','order','sort','where','pick','filter','merge','options','MailServerOut','then','includeAll','include','findAll','rows','catch','show','keys','create','body','find','params','destroy','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','lodash','squel','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus'];(function(_0x497360,_0x1ac522){var _0x270968=function(_0x27ae62){while(--_0x27ae62){_0x497360['push'](_0x497360['shift']());}};_0x270968(++_0x1ac522);}(_0xb53b,0xb7));var _0xbb53=function(_0x432682,_0x253044){_0x432682=_0x432682-0x0;var _0x463d05=_0xb53b[_0x432682];return _0x463d05;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xbb53('0x0'));var rimraf=require(_0xbb53('0x1'));var zipdir=require(_0xbb53('0x2'));var jsonpatch=require(_0xbb53('0x3'));var rp=require(_0xbb53('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xbb53('0x5'));var util=require(_0xbb53('0x6'));var path=require(_0xbb53('0x7'));var sox=require(_0xbb53('0x8'));var csv=require(_0xbb53('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xbb53('0xa'));var squel=require(_0xbb53('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xbb53('0xc'));var toCsv=require(_0xbb53('0x9'));var querystring=require(_0xbb53('0xd'));var Papa=require('papaparse');var Redis=require(_0xbb53('0xe'));var authService=require(_0xbb53('0xf'));var qs=require(_0xbb53('0x10'));var as=require(_0xbb53('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xbb53('0x12'));var utils=require(_0xbb53('0x13'));var config=require(_0xbb53('0x14'));var licenseUtil=require(_0xbb53('0x15'));var db=require(_0xbb53('0x16'))['db'];function respondWithStatusCode(_0x570466,_0x405714){_0x405714=_0x405714||0xcc;return function(_0x48a184){if(_0x48a184){return _0x570466[_0xbb53('0x17')](_0x405714);}return _0x570466[_0xbb53('0x18')](_0x405714)['end']();};}function respondWithResult(_0x44a0d2,_0x6f5f87){_0x6f5f87=_0x6f5f87||0xc8;return function(_0x50061a){if(_0x50061a){return _0x44a0d2[_0xbb53('0x18')](_0x6f5f87)[_0xbb53('0x19')](_0x50061a);}};}function respondWithFilteredResult(_0x3fabba,_0xf35ed7){return function(_0x49dcf2){if(_0x49dcf2){var _0x342224=_0x49dcf2[_0xbb53('0x1a')],_0x6673a0=_0xf35ed7['offset'],_0x146cf7=_0xf35ed7['offset']+_0xf35ed7[_0xbb53('0x1b')],_0x545b96;if(_0x146cf7>=_0x342224){_0x146cf7=_0x342224;_0x545b96=0xc8;}else{_0x545b96=0xce;}_0x3fabba[_0xbb53('0x18')](_0x545b96);return _0x3fabba[_0xbb53('0x1c')](_0xbb53('0x1d'),_0x6673a0+'-'+_0x146cf7+'/'+_0x342224)[_0xbb53('0x19')](_0x49dcf2);}return null;};}function patchUpdates(_0x26f6a1){return function(_0x41aee6){try{jsonpatch[_0xbb53('0x1e')](_0x41aee6,_0x26f6a1,!![]);}catch(_0x2f8588){return BPromise[_0xbb53('0x1f')](_0x2f8588);}return _0x41aee6[_0xbb53('0x20')]();};}function saveUpdates(_0x11948c,_0x4fc651){return function(_0x4a3278){if(_0x4a3278){return _0x4a3278['update'](_0x11948c)['then'](function(_0x71631f){return _0x71631f;});}return null;};}function removeEntity(_0x43c306,_0x33523b){return function(_0x4379d2){if(_0x4379d2){return _0x4379d2['destroy']()['then'](function(){_0x43c306[_0xbb53('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x27cff5,_0x4f9545){return function(_0x2e96af){if(!_0x2e96af){_0x27cff5[_0xbb53('0x17')](0x194);}return _0x2e96af;};}function handleError(_0x25e355,_0x557810){_0x557810=_0x557810||0x1f4;return function(_0x2a5adf){logger[_0xbb53('0x21')](_0x2a5adf[_0xbb53('0x22')]);if(_0x2a5adf['name']){delete _0x2a5adf[_0xbb53('0x23')];}_0x25e355[_0xbb53('0x18')](_0x557810)['send'](_0x2a5adf);};}exports[_0xbb53('0x24')]=function(_0x56c82e,_0x523099){var _0x41ed64={},_0x3a9da6={},_0x1db0b2={'count':0x0,'rows':[]};var _0xc62ede=_['map'](db['MailServerOut']['rawAttributes'],function(_0x44d7c2){return{'name':_0x44d7c2['fieldName'],'type':_0x44d7c2[_0xbb53('0x25')]['key']};});_0x3a9da6[_0xbb53('0x26')]=_[_0xbb53('0x27')](_0xc62ede,'name');_0x3a9da6[_0xbb53('0x28')]=_['keys'](_0x56c82e[_0xbb53('0x28')]);_0x3a9da6[_0xbb53('0x29')]=_[_0xbb53('0x2a')](_0x3a9da6['model'],_0x3a9da6['query']);_0x41ed64[_0xbb53('0x2b')]=_[_0xbb53('0x2a')](_0x3a9da6['model'],qs[_0xbb53('0x2c')](_0x56c82e[_0xbb53('0x28')][_0xbb53('0x2c')]));_0x41ed64[_0xbb53('0x2b')]=_0x41ed64['attributes'][_0xbb53('0x2d')]?_0x41ed64[_0xbb53('0x2b')]:_0x3a9da6[_0xbb53('0x26')];if(!_0x56c82e[_0xbb53('0x28')]['hasOwnProperty'](_0xbb53('0x2e'))){_0x41ed64[_0xbb53('0x1b')]=qs[_0xbb53('0x1b')](_0x56c82e[_0xbb53('0x28')][_0xbb53('0x1b')]);_0x41ed64[_0xbb53('0x2f')]=qs[_0xbb53('0x2f')](_0x56c82e[_0xbb53('0x28')][_0xbb53('0x2f')]);}_0x41ed64[_0xbb53('0x30')]=qs[_0xbb53('0x31')](_0x56c82e[_0xbb53('0x28')][_0xbb53('0x31')]);_0x41ed64[_0xbb53('0x32')]=qs[_0xbb53('0x29')](_[_0xbb53('0x33')](_0x56c82e[_0xbb53('0x28')],_0x3a9da6['filters']),_0xc62ede);if(_0x56c82e[_0xbb53('0x28')][_0xbb53('0x34')]){_0x41ed64['where']=_[_0xbb53('0x35')](_0x41ed64['where'],{'$or':_[_0xbb53('0x27')](_0xc62ede,function(_0x35b067){if(_0x35b067[_0xbb53('0x25')]!=='VIRTUAL'){var _0x2b3026={};_0x2b3026[_0x35b067[_0xbb53('0x23')]]={'$like':'%'+_0x56c82e[_0xbb53('0x28')]['filter']+'%'};return _0x2b3026;}})});}_0x41ed64=_[_0xbb53('0x35')]({},_0x41ed64,_0x56c82e[_0xbb53('0x36')]);var _0x2b8c46={'where':_0x41ed64[_0xbb53('0x32')]};return db[_0xbb53('0x37')]['count'](_0x2b8c46)[_0xbb53('0x38')](function(_0x32a744){_0x1db0b2[_0xbb53('0x1a')]=_0x32a744;if(_0x56c82e[_0xbb53('0x28')][_0xbb53('0x39')]){_0x41ed64[_0xbb53('0x3a')]=[{'all':!![]}];}return db[_0xbb53('0x37')][_0xbb53('0x3b')](_0x41ed64);})[_0xbb53('0x38')](function(_0x51b653){_0x1db0b2[_0xbb53('0x3c')]=_0x51b653;return _0x1db0b2;})['then'](respondWithFilteredResult(_0x523099,_0x41ed64))[_0xbb53('0x3d')](handleError(_0x523099,null));};exports[_0xbb53('0x3e')]=function(_0x2cb3db,_0x7ac868){var _0x12b1df={'raw':!![],'where':{'id':_0x2cb3db['params']['id']}},_0x2280ec={};_0x2280ec['model']=_[_0xbb53('0x3f')](db[_0xbb53('0x37')]['rawAttributes']);_0x2280ec[_0xbb53('0x28')]=_[_0xbb53('0x3f')](_0x2cb3db[_0xbb53('0x28')]);_0x2280ec['filters']=_[_0xbb53('0x2a')](_0x2280ec[_0xbb53('0x26')],_0x2280ec[_0xbb53('0x28')]);_0x12b1df[_0xbb53('0x2b')]=_[_0xbb53('0x2a')](_0x2280ec[_0xbb53('0x26')],qs[_0xbb53('0x2c')](_0x2cb3db[_0xbb53('0x28')]['fields']));_0x12b1df[_0xbb53('0x2b')]=_0x12b1df[_0xbb53('0x2b')][_0xbb53('0x2d')]?_0x12b1df['attributes']:_0x2280ec[_0xbb53('0x26')];if(_0x2cb3db[_0xbb53('0x28')]['includeAll']){_0x12b1df[_0xbb53('0x3a')]=[{'all':!![]}];}_0x12b1df=_[_0xbb53('0x35')]({},_0x12b1df,_0x2cb3db[_0xbb53('0x36')]);return db[_0xbb53('0x37')]['find'](_0x12b1df)['then'](handleEntityNotFound(_0x7ac868,null))[_0xbb53('0x38')](respondWithResult(_0x7ac868,null))[_0xbb53('0x3d')](handleError(_0x7ac868,null));};exports[_0xbb53('0x40')]=function(_0x61f48,_0x32451e){return db[_0xbb53('0x37')][_0xbb53('0x40')](_0x61f48['body'],{})[_0xbb53('0x38')](respondWithResult(_0x32451e,0xc9))['catch'](handleError(_0x32451e,null));};exports['update']=function(_0x4af41e,_0xed8f03){if(_0x4af41e['body']['id']){delete _0x4af41e[_0xbb53('0x41')]['id'];}return db['MailServerOut'][_0xbb53('0x42')]({'where':{'id':_0x4af41e[_0xbb53('0x43')]['id']}})[_0xbb53('0x38')](handleEntityNotFound(_0xed8f03,null))['then'](saveUpdates(_0x4af41e[_0xbb53('0x41')],null))[_0xbb53('0x38')](respondWithResult(_0xed8f03,null))[_0xbb53('0x3d')](handleError(_0xed8f03,null));};exports[_0xbb53('0x44')]=function(_0x3642db,_0x52a5ca){return db['MailServerOut']['find']({'where':{'id':_0x3642db[_0xbb53('0x43')]['id']}})[_0xbb53('0x38')](handleEntityNotFound(_0x52a5ca,null))[_0xbb53('0x38')](removeEntity(_0x52a5ca,null))[_0xbb53('0x3d')](handleError(_0x52a5ca,null));};
\ No newline at end of file
+var _0xf7ca=['ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','destroy','stack','name','send','map','MailServerOut','rawAttributes','fieldName','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','type','filter','options','includeAll','include','findAll','rows','catch','params','keys','merge','find','create','body','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring'];(function(_0x24e23a,_0x5f18c8){var _0x167aef=function(_0x24fdf2){while(--_0x24fdf2){_0x24e23a['push'](_0x24e23a['shift']());}};_0x167aef(++_0x5f18c8);}(_0xf7ca,0x11d));var _0xaf7c=function(_0x2f042d,_0x28c532){_0x2f042d=_0x2f042d-0x0;var _0x2eae74=_0xf7ca[_0x2f042d];return _0x2eae74;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xaf7c('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xaf7c('0x1'));var rp=require(_0xaf7c('0x2'));var moment=require(_0xaf7c('0x3'));var BPromise=require(_0xaf7c('0x4'));var Mustache=require(_0xaf7c('0x5'));var util=require(_0xaf7c('0x6'));var path=require(_0xaf7c('0x7'));var sox=require(_0xaf7c('0x8'));var csv=require(_0xaf7c('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xaf7c('0xa'));var squel=require('squel');var crypto=require(_0xaf7c('0xb'));var jsforce=require(_0xaf7c('0xc'));var deskjs=require(_0xaf7c('0xd'));var toCsv=require('to-csv');var querystring=require(_0xaf7c('0xe'));var Papa=require('papaparse');var Redis=require(_0xaf7c('0xf'));var authService=require(_0xaf7c('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xaf7c('0x11'));var hardwareService=require(_0xaf7c('0x12'));var logger=require(_0xaf7c('0x13'))(_0xaf7c('0x14'));var utils=require(_0xaf7c('0x15'));var config=require(_0xaf7c('0x16'));var licenseUtil=require(_0xaf7c('0x17'));var db=require(_0xaf7c('0x18'))['db'];function respondWithStatusCode(_0x38bae2,_0x4aa4d3){_0x4aa4d3=_0x4aa4d3||0xcc;return function(_0x43808b){if(_0x43808b){return _0x38bae2[_0xaf7c('0x19')](_0x4aa4d3);}return _0x38bae2[_0xaf7c('0x1a')](_0x4aa4d3)[_0xaf7c('0x1b')]();};}function respondWithResult(_0x1bfc16,_0x3c63ff){_0x3c63ff=_0x3c63ff||0xc8;return function(_0x83da5e){if(_0x83da5e){return _0x1bfc16[_0xaf7c('0x1a')](_0x3c63ff)[_0xaf7c('0x1c')](_0x83da5e);}};}function respondWithFilteredResult(_0x4c020d,_0x1df385){return function(_0x21f97c){if(_0x21f97c){var _0x65d0ef=typeof _0x1df385[_0xaf7c('0x1d')]===_0xaf7c('0x1e')&&typeof _0x1df385[_0xaf7c('0x1f')]==='undefined';var _0x57c810=_0x21f97c[_0xaf7c('0x20')];var _0x4f2efa=_0x65d0ef?0x0:_0x1df385[_0xaf7c('0x1d')];var _0xf12409=_0x65d0ef?_0x21f97c[_0xaf7c('0x20')]:_0x1df385[_0xaf7c('0x1d')]+_0x1df385[_0xaf7c('0x1f')];var _0x5cb04c;if(_0xf12409>=_0x57c810){_0xf12409=_0x57c810;_0x5cb04c=0xc8;}else{_0x5cb04c=0xce;}_0x4c020d[_0xaf7c('0x1a')](_0x5cb04c);return _0x4c020d[_0xaf7c('0x21')](_0xaf7c('0x22'),_0x4f2efa+'-'+_0xf12409+'/'+_0x57c810)[_0xaf7c('0x1c')](_0x21f97c);}return null;};}function patchUpdates(_0x5ec758){return function(_0x210489){try{jsonpatch['apply'](_0x210489,_0x5ec758,!![]);}catch(_0x20b819){return BPromise[_0xaf7c('0x23')](_0x20b819);}return _0x210489[_0xaf7c('0x24')]();};}function saveUpdates(_0x406357,_0x23adf3){return function(_0x3cdca1){if(_0x3cdca1){return _0x3cdca1[_0xaf7c('0x25')](_0x406357)[_0xaf7c('0x26')](function(_0x1fe647){return _0x1fe647;});}return null;};}function removeEntity(_0x2b5740,_0x1cb30c){return function(_0x13988a){if(_0x13988a){return _0x13988a[_0xaf7c('0x27')]()['then'](function(){_0x2b5740[_0xaf7c('0x1a')](0xcc)[_0xaf7c('0x1b')]();});}};}function handleEntityNotFound(_0x5a1763,_0x5319ee){return function(_0x10c2e9){if(!_0x10c2e9){_0x5a1763[_0xaf7c('0x19')](0x194);}return _0x10c2e9;};}function handleError(_0x37ee51,_0x2a7048){_0x2a7048=_0x2a7048||0x1f4;return function(_0x526f78){logger['error'](_0x526f78[_0xaf7c('0x28')]);if(_0x526f78[_0xaf7c('0x29')]){delete _0x526f78[_0xaf7c('0x29')];}_0x37ee51['status'](_0x2a7048)[_0xaf7c('0x2a')](_0x526f78);};}exports['index']=function(_0xb825ac,_0x11d6f5){var _0x213641={},_0xcfb01b={},_0x1849ca={'count':0x0,'rows':[]};var _0x451d38=_[_0xaf7c('0x2b')](db[_0xaf7c('0x2c')][_0xaf7c('0x2d')],function(_0x2df817){return{'name':_0x2df817[_0xaf7c('0x2e')],'type':_0x2df817['type'][_0xaf7c('0x2f')]};});_0xcfb01b['model']=_[_0xaf7c('0x2b')](_0x451d38,'name');_0xcfb01b['query']=_['keys'](_0xb825ac[_0xaf7c('0x30')]);_0xcfb01b[_0xaf7c('0x31')]=_[_0xaf7c('0x32')](_0xcfb01b[_0xaf7c('0x33')],_0xcfb01b['query']);_0x213641[_0xaf7c('0x34')]=_[_0xaf7c('0x32')](_0xcfb01b[_0xaf7c('0x33')],qs[_0xaf7c('0x35')](_0xb825ac[_0xaf7c('0x30')]['fields']));_0x213641[_0xaf7c('0x34')]=_0x213641['attributes'][_0xaf7c('0x36')]?_0x213641['attributes']:_0xcfb01b['model'];if(!_0xb825ac['query'][_0xaf7c('0x37')](_0xaf7c('0x38'))){_0x213641['limit']=qs[_0xaf7c('0x1f')](_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x1f')]);_0x213641[_0xaf7c('0x1d')]=qs['offset'](_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x1d')]);}_0x213641[_0xaf7c('0x39')]=qs[_0xaf7c('0x3a')](_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x3a')]);_0x213641['where']=qs[_0xaf7c('0x31')](_[_0xaf7c('0x3b')](_0xb825ac[_0xaf7c('0x30')],_0xcfb01b['filters']),_0x451d38);if(_0xb825ac[_0xaf7c('0x30')]['filter']){_0x213641[_0xaf7c('0x3c')]=_['merge'](_0x213641[_0xaf7c('0x3c')],{'$or':_[_0xaf7c('0x2b')](_0x451d38,function(_0x590c1b){if(_0x590c1b[_0xaf7c('0x3d')]!=='VIRTUAL'){var _0x3e9943={};_0x3e9943[_0x590c1b['name']]={'$like':'%'+_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x3e')]+'%'};return _0x3e9943;}})});}_0x213641=_['merge']({},_0x213641,_0xb825ac[_0xaf7c('0x3f')]);var _0xd0e5f7={'where':_0x213641[_0xaf7c('0x3c')]};return db[_0xaf7c('0x2c')][_0xaf7c('0x20')](_0xd0e5f7)[_0xaf7c('0x26')](function(_0x5cf932){_0x1849ca[_0xaf7c('0x20')]=_0x5cf932;if(_0xb825ac[_0xaf7c('0x30')][_0xaf7c('0x40')]){_0x213641[_0xaf7c('0x41')]=[{'all':!![]}];}return db[_0xaf7c('0x2c')][_0xaf7c('0x42')](_0x213641);})[_0xaf7c('0x26')](function(_0x50e9bc){_0x1849ca[_0xaf7c('0x43')]=_0x50e9bc;return _0x1849ca;})[_0xaf7c('0x26')](respondWithFilteredResult(_0x11d6f5,_0x213641))[_0xaf7c('0x44')](handleError(_0x11d6f5,null));};exports['show']=function(_0x185c11,_0x116379){var _0x586635={'raw':!![],'where':{'id':_0x185c11[_0xaf7c('0x45')]['id']}},_0x36f97b={};_0x36f97b[_0xaf7c('0x33')]=_[_0xaf7c('0x46')](db[_0xaf7c('0x2c')][_0xaf7c('0x2d')]);_0x36f97b[_0xaf7c('0x30')]=_[_0xaf7c('0x46')](_0x185c11['query']);_0x36f97b[_0xaf7c('0x31')]=_[_0xaf7c('0x32')](_0x36f97b[_0xaf7c('0x33')],_0x36f97b[_0xaf7c('0x30')]);_0x586635['attributes']=_[_0xaf7c('0x32')](_0x36f97b['model'],qs[_0xaf7c('0x35')](_0x185c11['query'][_0xaf7c('0x35')]));_0x586635[_0xaf7c('0x34')]=_0x586635[_0xaf7c('0x34')][_0xaf7c('0x36')]?_0x586635[_0xaf7c('0x34')]:_0x36f97b[_0xaf7c('0x33')];if(_0x185c11[_0xaf7c('0x30')][_0xaf7c('0x40')]){_0x586635[_0xaf7c('0x41')]=[{'all':!![]}];}_0x586635=_[_0xaf7c('0x47')]({},_0x586635,_0x185c11[_0xaf7c('0x3f')]);return db[_0xaf7c('0x2c')][_0xaf7c('0x48')](_0x586635)[_0xaf7c('0x26')](handleEntityNotFound(_0x116379,null))[_0xaf7c('0x26')](respondWithResult(_0x116379,null))[_0xaf7c('0x44')](handleError(_0x116379,null));};exports[_0xaf7c('0x49')]=function(_0x1c87f4,_0x496424){return db[_0xaf7c('0x2c')][_0xaf7c('0x49')](_0x1c87f4['body'],{})[_0xaf7c('0x26')](respondWithResult(_0x496424,0xc9))[_0xaf7c('0x44')](handleError(_0x496424,null));};exports[_0xaf7c('0x25')]=function(_0x389886,_0x405d30){if(_0x389886['body']['id']){delete _0x389886[_0xaf7c('0x4a')]['id'];}return db[_0xaf7c('0x2c')][_0xaf7c('0x48')]({'where':{'id':_0x389886[_0xaf7c('0x45')]['id']}})[_0xaf7c('0x26')](handleEntityNotFound(_0x405d30,null))[_0xaf7c('0x26')](saveUpdates(_0x389886[_0xaf7c('0x4a')],null))[_0xaf7c('0x26')](respondWithResult(_0x405d30,null))[_0xaf7c('0x44')](handleError(_0x405d30,null));};exports['destroy']=function(_0x208c7d,_0x1197b5){return db['MailServerOut'][_0xaf7c('0x48')]({'where':{'id':_0x208c7d[_0xaf7c('0x45')]['id']}})[_0xaf7c('0x26')](handleEntityNotFound(_0x1197b5,null))[_0xaf7c('0x26')](removeEntity(_0x1197b5,null))[_0xaf7c('0x44')](handleError(_0x1197b5,null));};
\ No newline at end of file