Built motion from commit 639a1a7f.|2.6.19
[motion2.git] / server / api / squareReportDetail / squareReportDetail.controller.js
index 4d6098f..e7b607b 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x8b89=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','sendStatus','status','json','count','offset','limit','set','apply','reject','update','then','error','stack','name','send','map','SquareDetailsReport','fieldName','type','key','model','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','includeAll','include','catch','show','params','keys','rawAttributes','find','create','body','destroy','html-pdf','eml-format','zip-dir','request-promise','moment','util','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring'];(function(_0x20a584,_0xe384a5){var _0x4b41a8=function(_0x2127c6){while(--_0x2127c6){_0x20a584['push'](_0x20a584['shift']());}};_0x4b41a8(++_0xe384a5);}(_0x8b89,0x107));var _0x98b8=function(_0x5e6a94,_0x126298){_0x5e6a94=_0x5e6a94-0x0;var _0x3304c6=_0x8b89[_0x5e6a94];return _0x3304c6;};'use strict';var pdf=require(_0x98b8('0x0'));var emlformat=require(_0x98b8('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x98b8('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x98b8('0x3'));var moment=require(_0x98b8('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x98b8('0x5'));var path=require('path');var sox=require(_0x98b8('0x6'));var csv=require(_0x98b8('0x7'));var ejs=require(_0x98b8('0x8'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x98b8('0x9'));var jsforce=require(_0x98b8('0xa'));var deskjs=require(_0x98b8('0xb'));var toCsv=require(_0x98b8('0x7'));var querystring=require(_0x98b8('0xc'));var Papa=require(_0x98b8('0xd'));var Redis=require(_0x98b8('0xe'));var authService=require(_0x98b8('0xf'));var qs=require(_0x98b8('0x10'));var as=require(_0x98b8('0x11'));var hardwareService=require(_0x98b8('0x12'));var logger=require(_0x98b8('0x13'))(_0x98b8('0x14'));var utils=require(_0x98b8('0x15'));var config=require('../../config/environment');var db=require(_0x98b8('0x16'))['db'];function respondWithStatusCode(_0x5d85f7,_0x3dd456){_0x3dd456=_0x3dd456||0xcc;return function(_0x367a52){if(_0x367a52){return _0x5d85f7[_0x98b8('0x17')](_0x3dd456);}return _0x5d85f7[_0x98b8('0x18')](_0x3dd456)['end']();};}function respondWithResult(_0xddf327,_0x3f24d3){_0x3f24d3=_0x3f24d3||0xc8;return function(_0x40047f){if(_0x40047f){return _0xddf327['status'](_0x3f24d3)[_0x98b8('0x19')](_0x40047f);}};}function respondWithFilteredResult(_0x525f07,_0x4fa35c){return function(_0x34b1d3){if(_0x34b1d3){var _0x163d62=_0x34b1d3[_0x98b8('0x1a')],_0x3b6399=_0x4fa35c['offset'],_0x325a91=_0x4fa35c[_0x98b8('0x1b')]+_0x4fa35c[_0x98b8('0x1c')],_0x57c518;if(_0x325a91>=_0x163d62){_0x325a91=_0x163d62;_0x57c518=0xc8;}else{_0x57c518=0xce;}_0x525f07[_0x98b8('0x18')](_0x57c518);return _0x525f07[_0x98b8('0x1d')]('Content-Range',_0x3b6399+'-'+_0x325a91+'/'+_0x163d62)[_0x98b8('0x19')](_0x34b1d3);}return null;};}function patchUpdates(_0xd8db10){return function(_0x340565){try{jsonpatch[_0x98b8('0x1e')](_0x340565,_0xd8db10,!![]);}catch(_0x302993){return BPromise[_0x98b8('0x1f')](_0x302993);}return _0x340565['save']();};}function saveUpdates(_0x59ac27,_0x2ecec0){return function(_0x4079e0){if(_0x4079e0){return _0x4079e0[_0x98b8('0x20')](_0x59ac27)[_0x98b8('0x21')](function(_0x3b544d){return _0x3b544d;});}return null;};}function removeEntity(_0x409825,_0x4787bb){return function(_0x137b76){if(_0x137b76){return _0x137b76['destroy']()['then'](function(){_0x409825[_0x98b8('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x38cfd0,_0xbde2ef){return function(_0x59c020){if(!_0x59c020){_0x38cfd0[_0x98b8('0x17')](0x194);}return _0x59c020;};}function handleError(_0x570021,_0xb566f7){_0xb566f7=_0xb566f7||0x1f4;return function(_0x5854e2){logger[_0x98b8('0x22')](_0x5854e2[_0x98b8('0x23')]);if(_0x5854e2[_0x98b8('0x24')]){delete _0x5854e2[_0x98b8('0x24')];}_0x570021[_0x98b8('0x18')](_0xb566f7)[_0x98b8('0x25')](_0x5854e2);};}exports['index']=function(_0x1f65d7,_0xa8d0c8){var _0x5091b7={},_0x1fd662={},_0x46013e={'count':0x0,'rows':[]};var _0x1f9a4d=_[_0x98b8('0x26')](db[_0x98b8('0x27')]['rawAttributes'],function(_0x4ac783){return{'name':_0x4ac783[_0x98b8('0x28')],'type':_0x4ac783[_0x98b8('0x29')][_0x98b8('0x2a')]};});_0x1fd662[_0x98b8('0x2b')]=_[_0x98b8('0x26')](_0x1f9a4d,_0x98b8('0x24'));_0x1fd662[_0x98b8('0x2c')]=_['keys'](_0x1f65d7[_0x98b8('0x2c')]);_0x1fd662[_0x98b8('0x2d')]=_[_0x98b8('0x2e')](_0x1fd662[_0x98b8('0x2b')],_0x1fd662['query']);_0x5091b7['attributes']=_['intersection'](_0x1fd662[_0x98b8('0x2b')],qs[_0x98b8('0x2f')](_0x1f65d7['query'][_0x98b8('0x2f')]));_0x5091b7[_0x98b8('0x30')]=_0x5091b7['attributes'][_0x98b8('0x31')]?_0x5091b7[_0x98b8('0x30')]:_0x1fd662[_0x98b8('0x2b')];if(!_0x1f65d7['query'][_0x98b8('0x32')](_0x98b8('0x33'))){_0x5091b7[_0x98b8('0x1c')]=qs[_0x98b8('0x1c')](_0x1f65d7[_0x98b8('0x2c')]['limit']);_0x5091b7[_0x98b8('0x1b')]=qs[_0x98b8('0x1b')](_0x1f65d7[_0x98b8('0x2c')][_0x98b8('0x1b')]);}_0x5091b7[_0x98b8('0x34')]=qs[_0x98b8('0x35')](_0x1f65d7[_0x98b8('0x2c')][_0x98b8('0x35')]);_0x5091b7[_0x98b8('0x36')]=qs[_0x98b8('0x2d')](_['pick'](_0x1f65d7[_0x98b8('0x2c')],_0x1fd662[_0x98b8('0x2d')]),_0x1f9a4d);if(_0x1f65d7['query'][_0x98b8('0x37')]){_0x5091b7[_0x98b8('0x36')]=_['merge'](_0x5091b7[_0x98b8('0x36')],{'$or':_[_0x98b8('0x26')](_0x1f9a4d,function(_0x526871){if(_0x526871[_0x98b8('0x29')]!=='VIRTUAL'){var _0x3fb98e={};_0x3fb98e[_0x526871[_0x98b8('0x24')]]={'$like':'%'+_0x1f65d7[_0x98b8('0x2c')][_0x98b8('0x37')]+'%'};return _0x3fb98e;}})});}_0x5091b7=_[_0x98b8('0x38')]({},_0x5091b7,_0x1f65d7[_0x98b8('0x39')]);var _0x5c4545={'where':_0x5091b7['where']};return db[_0x98b8('0x27')]['count'](_0x5c4545)[_0x98b8('0x21')](function(_0x1980c4){_0x46013e[_0x98b8('0x1a')]=_0x1980c4;if(_0x1f65d7[_0x98b8('0x2c')][_0x98b8('0x3a')]){_0x5091b7[_0x98b8('0x3b')]=[{'all':!![]}];}return db['SquareDetailsReport']['findAll'](_0x5091b7);})[_0x98b8('0x21')](function(_0x1293e){_0x46013e['rows']=_0x1293e;return _0x46013e;})[_0x98b8('0x21')](respondWithFilteredResult(_0xa8d0c8,_0x5091b7))[_0x98b8('0x3c')](handleError(_0xa8d0c8,null));};exports[_0x98b8('0x3d')]=function(_0x414f92,_0x14735c){var _0x560910={'raw':!![],'where':{'id':_0x414f92[_0x98b8('0x3e')]['id']}},_0x227edf={};_0x227edf['model']=_[_0x98b8('0x3f')](db[_0x98b8('0x27')][_0x98b8('0x40')]);_0x227edf[_0x98b8('0x2c')]=_[_0x98b8('0x3f')](_0x414f92[_0x98b8('0x2c')]);_0x227edf['filters']=_[_0x98b8('0x2e')](_0x227edf[_0x98b8('0x2b')],_0x227edf['query']);_0x560910[_0x98b8('0x30')]=_[_0x98b8('0x2e')](_0x227edf[_0x98b8('0x2b')],qs[_0x98b8('0x2f')](_0x414f92[_0x98b8('0x2c')][_0x98b8('0x2f')]));_0x560910[_0x98b8('0x30')]=_0x560910[_0x98b8('0x30')][_0x98b8('0x31')]?_0x560910[_0x98b8('0x30')]:_0x227edf['model'];if(_0x414f92[_0x98b8('0x2c')][_0x98b8('0x3a')]){_0x560910[_0x98b8('0x3b')]=[{'all':!![]}];}_0x560910=_[_0x98b8('0x38')]({},_0x560910,_0x414f92[_0x98b8('0x39')]);return db['SquareDetailsReport'][_0x98b8('0x41')](_0x560910)['then'](handleEntityNotFound(_0x14735c,null))[_0x98b8('0x21')](respondWithResult(_0x14735c,null))['catch'](handleError(_0x14735c,null));};exports[_0x98b8('0x42')]=function(_0x560837,_0x41678c){return db[_0x98b8('0x27')][_0x98b8('0x42')](_0x560837[_0x98b8('0x43')],{})[_0x98b8('0x21')](respondWithResult(_0x41678c,0xc9))['catch'](handleError(_0x41678c,null));};exports[_0x98b8('0x20')]=function(_0x48de65,_0x422dc7){if(_0x48de65['body']['id']){delete _0x48de65[_0x98b8('0x43')]['id'];}return db[_0x98b8('0x27')][_0x98b8('0x41')]({'where':{'id':_0x48de65[_0x98b8('0x3e')]['id']}})['then'](handleEntityNotFound(_0x422dc7,null))[_0x98b8('0x21')](saveUpdates(_0x48de65['body'],null))['then'](respondWithResult(_0x422dc7,null))[_0x98b8('0x3c')](handleError(_0x422dc7,null));};exports[_0x98b8('0x44')]=function(_0x417bd4,_0x545bab){return db[_0x98b8('0x27')]['find']({'where':{'id':_0x417bd4[_0x98b8('0x3e')]['id']}})[_0x98b8('0x21')](handleEntityNotFound(_0x545bab,null))[_0x98b8('0x21')](removeEntity(_0x545bab,null))[_0x98b8('0x3c')](handleError(_0x545bab,null));};exports['describe']=function(_0xa7c422,_0x363a91){return db[_0x98b8('0x27')]['describe']()[_0x98b8('0x21')](respondWithResult(_0x363a91,null))[_0x98b8('0x3c')](handleError(_0x363a91,null));};
\ No newline at end of file
+var _0xa490=['name','send','index','rawAttributes','type','model','map','query','keys','filters','intersection','attributes','fields','length','sort','where','pick','filter','merge','VIRTUAL','options','SquareDetailsReport','count','include','rows','catch','show','params','find','create','body','describe','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','undefined','set','save','update','destroy','then','sendStatus','error','stack'];(function(_0x34fe4b,_0x4e59a5){var _0x2a5101=function(_0x200965){while(--_0x200965){_0x34fe4b['push'](_0x34fe4b['shift']());}};_0x2a5101(++_0x4e59a5);}(_0xa490,0xf5));var _0x0a49=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0xa490[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require(_0x0a49('0x0'));var rimraf=require(_0x0a49('0x1'));var zipdir=require(_0x0a49('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0a49('0x3'));var moment=require(_0x0a49('0x4'));var BPromise=require(_0x0a49('0x5'));var Mustache=require(_0x0a49('0x6'));var util=require(_0x0a49('0x7'));var path=require(_0x0a49('0x8'));var sox=require(_0x0a49('0x9'));var csv=require(_0x0a49('0xa'));var ejs=require(_0x0a49('0xb'));var fs=require('fs');var fs_extra=require(_0x0a49('0xc'));var _=require('lodash');var squel=require(_0x0a49('0xd'));var crypto=require(_0x0a49('0xe'));var jsforce=require(_0x0a49('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x0a49('0xa'));var querystring=require('querystring');var Papa=require(_0x0a49('0x10'));var Redis=require(_0x0a49('0x11'));var authService=require('../../components/auth/service');var qs=require(_0x0a49('0x12'));var as=require(_0x0a49('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0a49('0x14'))(_0x0a49('0x15'));var utils=require('../../config/utils');var config=require(_0x0a49('0x16'));var licenseUtil=require(_0x0a49('0x17'));var db=require(_0x0a49('0x18'))['db'];function respondWithStatusCode(_0x1fd442,_0x127e31){_0x127e31=_0x127e31||0xcc;return function(_0x10456b){if(_0x10456b){return _0x1fd442['sendStatus'](_0x127e31);}return _0x1fd442[_0x0a49('0x19')](_0x127e31)[_0x0a49('0x1a')]();};}function respondWithResult(_0x54e569,_0x4681df){_0x4681df=_0x4681df||0xc8;return function(_0x412528){if(_0x412528){return _0x54e569[_0x0a49('0x19')](_0x4681df)[_0x0a49('0x1b')](_0x412528);}};}function respondWithFilteredResult(_0x2c09b7,_0xf31831){return function(_0xd28729){if(_0xd28729){var _0x410d5d=typeof _0xf31831[_0x0a49('0x1c')]==='undefined'&&typeof _0xf31831[_0x0a49('0x1d')]===_0x0a49('0x1e');var _0x4dc4dd=_0xd28729['count'];var _0x9a88f5=_0x410d5d?0x0:_0xf31831[_0x0a49('0x1c')];var _0x46b696=_0x410d5d?_0xd28729['count']:_0xf31831[_0x0a49('0x1c')]+_0xf31831[_0x0a49('0x1d')];var _0x428dda;if(_0x46b696>=_0x4dc4dd){_0x46b696=_0x4dc4dd;_0x428dda=0xc8;}else{_0x428dda=0xce;}_0x2c09b7['status'](_0x428dda);return _0x2c09b7[_0x0a49('0x1f')]('Content-Range',_0x9a88f5+'-'+_0x46b696+'/'+_0x4dc4dd)['json'](_0xd28729);}return null;};}function patchUpdates(_0x5e2a66){return function(_0x4ab5c2){try{jsonpatch['apply'](_0x4ab5c2,_0x5e2a66,!![]);}catch(_0x4ca5a5){return BPromise['reject'](_0x4ca5a5);}return _0x4ab5c2[_0x0a49('0x20')]();};}function saveUpdates(_0x5b73eb,_0x105d35){return function(_0x4449b3){if(_0x4449b3){return _0x4449b3[_0x0a49('0x21')](_0x5b73eb)['then'](function(_0x79b5f8){return _0x79b5f8;});}return null;};}function removeEntity(_0x13af13,_0x29ef80){return function(_0x28d1f5){if(_0x28d1f5){return _0x28d1f5[_0x0a49('0x22')]()[_0x0a49('0x23')](function(){_0x13af13[_0x0a49('0x19')](0xcc)[_0x0a49('0x1a')]();});}};}function handleEntityNotFound(_0x10c385,_0x3476df){return function(_0x411cbe){if(!_0x411cbe){_0x10c385[_0x0a49('0x24')](0x194);}return _0x411cbe;};}function handleError(_0x2b2cd7,_0x5a835f){_0x5a835f=_0x5a835f||0x1f4;return function(_0x1200df){logger[_0x0a49('0x25')](_0x1200df[_0x0a49('0x26')]);if(_0x1200df[_0x0a49('0x27')]){delete _0x1200df[_0x0a49('0x27')];}_0x2b2cd7[_0x0a49('0x19')](_0x5a835f)[_0x0a49('0x28')](_0x1200df);};}exports[_0x0a49('0x29')]=function(_0x36387f,_0x300eeb){var _0x5e434d={},_0x5e1062={},_0x5030fa={'count':0x0,'rows':[]};var _0x228df1=_['map'](db['SquareDetailsReport'][_0x0a49('0x2a')],function(_0x37b92b){return{'name':_0x37b92b['fieldName'],'type':_0x37b92b[_0x0a49('0x2b')]['key']};});_0x5e1062[_0x0a49('0x2c')]=_[_0x0a49('0x2d')](_0x228df1,_0x0a49('0x27'));_0x5e1062[_0x0a49('0x2e')]=_[_0x0a49('0x2f')](_0x36387f['query']);_0x5e1062[_0x0a49('0x30')]=_[_0x0a49('0x31')](_0x5e1062['model'],_0x5e1062[_0x0a49('0x2e')]);_0x5e434d[_0x0a49('0x32')]=_[_0x0a49('0x31')](_0x5e1062[_0x0a49('0x2c')],qs[_0x0a49('0x33')](_0x36387f['query']['fields']));_0x5e434d['attributes']=_0x5e434d[_0x0a49('0x32')][_0x0a49('0x34')]?_0x5e434d[_0x0a49('0x32')]:_0x5e1062[_0x0a49('0x2c')];if(!_0x36387f[_0x0a49('0x2e')]['hasOwnProperty']('nolimit')){_0x5e434d['limit']=qs[_0x0a49('0x1d')](_0x36387f[_0x0a49('0x2e')]['limit']);_0x5e434d['offset']=qs[_0x0a49('0x1c')](_0x36387f['query'][_0x0a49('0x1c')]);}_0x5e434d['order']=qs['sort'](_0x36387f[_0x0a49('0x2e')][_0x0a49('0x35')]);_0x5e434d[_0x0a49('0x36')]=qs['filters'](_[_0x0a49('0x37')](_0x36387f[_0x0a49('0x2e')],_0x5e1062[_0x0a49('0x30')]),_0x228df1);if(_0x36387f['query'][_0x0a49('0x38')]){_0x5e434d[_0x0a49('0x36')]=_[_0x0a49('0x39')](_0x5e434d[_0x0a49('0x36')],{'$or':_['map'](_0x228df1,function(_0x20d09b){if(_0x20d09b[_0x0a49('0x2b')]!==_0x0a49('0x3a')){var _0x25d253={};_0x25d253[_0x20d09b[_0x0a49('0x27')]]={'$like':'%'+_0x36387f['query'][_0x0a49('0x38')]+'%'};return _0x25d253;}})});}_0x5e434d=_[_0x0a49('0x39')]({},_0x5e434d,_0x36387f[_0x0a49('0x3b')]);var _0xf812ee={'where':_0x5e434d[_0x0a49('0x36')]};return db[_0x0a49('0x3c')][_0x0a49('0x3d')](_0xf812ee)[_0x0a49('0x23')](function(_0x38cb43){_0x5030fa['count']=_0x38cb43;if(_0x36387f[_0x0a49('0x2e')]['includeAll']){_0x5e434d[_0x0a49('0x3e')]=[{'all':!![]}];}return db[_0x0a49('0x3c')]['findAll'](_0x5e434d);})[_0x0a49('0x23')](function(_0x5f5989){_0x5030fa[_0x0a49('0x3f')]=_0x5f5989;return _0x5030fa;})['then'](respondWithFilteredResult(_0x300eeb,_0x5e434d))[_0x0a49('0x40')](handleError(_0x300eeb,null));};exports[_0x0a49('0x41')]=function(_0x5d252d,_0x43e09d){var _0x175c1c={'raw':!![],'where':{'id':_0x5d252d[_0x0a49('0x42')]['id']}},_0x46f836={};_0x46f836['model']=_['keys'](db[_0x0a49('0x3c')][_0x0a49('0x2a')]);_0x46f836[_0x0a49('0x2e')]=_[_0x0a49('0x2f')](_0x5d252d['query']);_0x46f836['filters']=_[_0x0a49('0x31')](_0x46f836[_0x0a49('0x2c')],_0x46f836[_0x0a49('0x2e')]);_0x175c1c[_0x0a49('0x32')]=_[_0x0a49('0x31')](_0x46f836[_0x0a49('0x2c')],qs[_0x0a49('0x33')](_0x5d252d[_0x0a49('0x2e')][_0x0a49('0x33')]));_0x175c1c[_0x0a49('0x32')]=_0x175c1c['attributes'][_0x0a49('0x34')]?_0x175c1c['attributes']:_0x46f836[_0x0a49('0x2c')];if(_0x5d252d[_0x0a49('0x2e')]['includeAll']){_0x175c1c['include']=[{'all':!![]}];}_0x175c1c=_['merge']({},_0x175c1c,_0x5d252d['options']);return db[_0x0a49('0x3c')][_0x0a49('0x43')](_0x175c1c)['then'](handleEntityNotFound(_0x43e09d,null))[_0x0a49('0x23')](respondWithResult(_0x43e09d,null))[_0x0a49('0x40')](handleError(_0x43e09d,null));};exports[_0x0a49('0x44')]=function(_0x13a07d,_0x327f18){return db[_0x0a49('0x3c')][_0x0a49('0x44')](_0x13a07d[_0x0a49('0x45')],{})[_0x0a49('0x23')](respondWithResult(_0x327f18,0xc9))[_0x0a49('0x40')](handleError(_0x327f18,null));};exports[_0x0a49('0x21')]=function(_0xc26151,_0x5950cf){if(_0xc26151[_0x0a49('0x45')]['id']){delete _0xc26151[_0x0a49('0x45')]['id'];}return db[_0x0a49('0x3c')][_0x0a49('0x43')]({'where':{'id':_0xc26151['params']['id']}})[_0x0a49('0x23')](handleEntityNotFound(_0x5950cf,null))[_0x0a49('0x23')](saveUpdates(_0xc26151[_0x0a49('0x45')],null))[_0x0a49('0x23')](respondWithResult(_0x5950cf,null))[_0x0a49('0x40')](handleError(_0x5950cf,null));};exports['destroy']=function(_0x5c7f67,_0x55c73){return db[_0x0a49('0x3c')]['find']({'where':{'id':_0x5c7f67[_0x0a49('0x42')]['id']}})[_0x0a49('0x23')](handleEntityNotFound(_0x55c73,null))[_0x0a49('0x23')](removeEntity(_0x55c73,null))[_0x0a49('0x40')](handleError(_0x55c73,null));};exports[_0x0a49('0x46')]=function(_0x525823,_0x2e41d3){return db['SquareDetailsReport'][_0x0a49('0x46')]()['then'](respondWithResult(_0x2e41d3,null))[_0x0a49('0x40')](handleError(_0x2e41d3,null));};
\ No newline at end of file