Built motion from commit (unavailable).|2.5.18
[motion2.git] / server / api / squareReport / squareReport.controller.js
index 803aecf..ef078d4 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xfef9=['jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','count','offset','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','index','rawAttributes','map','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','type','VIRTUAL','SquareReport','includeAll','include','findAll','show','params','options','catch','create','body','find','describe','html-pdf','eml-format','zip-dir','fast-json-patch','moment','mustache','path','sox','ejs','lodash','crypto'];(function(_0x6131cd,_0x4c26a1){var _0x47e916=function(_0x1f2bce){while(--_0x1f2bce){_0x6131cd['push'](_0x6131cd['shift']());}};_0x47e916(++_0x4c26a1);}(_0xfef9,0xd3));var _0x9fef=function(_0x196dc5,_0x50be9d){_0x196dc5=_0x196dc5-0x0;var _0x56458e=_0xfef9[_0x196dc5];return _0x56458e;};'use strict';var pdf=require(_0x9fef('0x0'));var emlformat=require(_0x9fef('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x9fef('0x2'));var jsonpatch=require(_0x9fef('0x3'));var rp=require('request-promise');var moment=require(_0x9fef('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x9fef('0x5'));var util=require('util');var path=require(_0x9fef('0x6'));var sox=require(_0x9fef('0x7'));var csv=require('to-csv');var ejs=require(_0x9fef('0x8'));var fs=require('fs');var _=require(_0x9fef('0x9'));var squel=require('squel');var crypto=require(_0x9fef('0xa'));var jsforce=require(_0x9fef('0xb'));var deskjs=require(_0x9fef('0xc'));var toCsv=require('to-csv');var querystring=require(_0x9fef('0xd'));var Papa=require(_0x9fef('0xe'));var Redis=require(_0x9fef('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x9fef('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9fef('0x11'));var logger=require(_0x9fef('0x12'))(_0x9fef('0x13'));var utils=require(_0x9fef('0x14'));var config=require(_0x9fef('0x15'));var licenseUtil=require(_0x9fef('0x16'));var db=require(_0x9fef('0x17'))['db'];function respondWithStatusCode(_0x5ba68a,_0x37640b){_0x37640b=_0x37640b||0xcc;return function(_0x238dda){if(_0x238dda){return _0x5ba68a[_0x9fef('0x18')](_0x37640b);}return _0x5ba68a['status'](_0x37640b)[_0x9fef('0x19')]();};}function respondWithResult(_0x64eb45,_0x4438ce){_0x4438ce=_0x4438ce||0xc8;return function(_0x2905c9){if(_0x2905c9){return _0x64eb45[_0x9fef('0x1a')](_0x4438ce)['json'](_0x2905c9);}};}function respondWithFilteredResult(_0x2a1a29,_0x4ee2e3){return function(_0x4d5054){if(_0x4d5054){var _0x47bc6a=_0x4d5054[_0x9fef('0x1b')],_0x2a3fb6=_0x4ee2e3[_0x9fef('0x1c')],_0x43017a=_0x4ee2e3[_0x9fef('0x1c')]+_0x4ee2e3['limit'],_0x4d9197;if(_0x43017a>=_0x47bc6a){_0x43017a=_0x47bc6a;_0x4d9197=0xc8;}else{_0x4d9197=0xce;}_0x2a1a29[_0x9fef('0x1a')](_0x4d9197);return _0x2a1a29[_0x9fef('0x1d')](_0x9fef('0x1e'),_0x2a3fb6+'-'+_0x43017a+'/'+_0x47bc6a)[_0x9fef('0x1f')](_0x4d5054);}return null;};}function patchUpdates(_0x57cf8f){return function(_0x3606ab){try{jsonpatch[_0x9fef('0x20')](_0x3606ab,_0x57cf8f,!![]);}catch(_0x1089e6){return BPromise[_0x9fef('0x21')](_0x1089e6);}return _0x3606ab[_0x9fef('0x22')]();};}function saveUpdates(_0x5eb2b0,_0x4ca16a){return function(_0x37ad21){if(_0x37ad21){return _0x37ad21[_0x9fef('0x23')](_0x5eb2b0)[_0x9fef('0x24')](function(_0x1d8f24){return _0x1d8f24;});}return null;};}function removeEntity(_0x4163d4,_0x12bc69){return function(_0xea3fec){if(_0xea3fec){return _0xea3fec[_0x9fef('0x25')]()[_0x9fef('0x24')](function(){_0x4163d4[_0x9fef('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x36c887,_0x217a81){return function(_0x20f56a){if(!_0x20f56a){_0x36c887['sendStatus'](0x194);}return _0x20f56a;};}function handleError(_0x5eb90d,_0x146a1e){_0x146a1e=_0x146a1e||0x1f4;return function(_0x3c1108){logger[_0x9fef('0x26')](_0x3c1108[_0x9fef('0x27')]);if(_0x3c1108[_0x9fef('0x28')]){delete _0x3c1108[_0x9fef('0x28')];}_0x5eb90d[_0x9fef('0x1a')](_0x146a1e)['send'](_0x3c1108);};}exports[_0x9fef('0x29')]=function(_0x51ec28,_0x55ef3e){var _0x28843f={},_0x1e914f={},_0x5dbc6f={'count':0x0,'rows':[]};var _0x17fe34=_['map'](db['SquareReport'][_0x9fef('0x2a')],function(_0x5734ae){return{'name':_0x5734ae['fieldName'],'type':_0x5734ae['type']['key']};});_0x1e914f['model']=_[_0x9fef('0x2b')](_0x17fe34,_0x9fef('0x28'));_0x1e914f[_0x9fef('0x2c')]=_[_0x9fef('0x2d')](_0x51ec28[_0x9fef('0x2c')]);_0x1e914f[_0x9fef('0x2e')]=_[_0x9fef('0x2f')](_0x1e914f[_0x9fef('0x30')],_0x1e914f['query']);_0x28843f['attributes']=_[_0x9fef('0x2f')](_0x1e914f[_0x9fef('0x30')],qs[_0x9fef('0x31')](_0x51ec28[_0x9fef('0x2c')][_0x9fef('0x31')]));_0x28843f['attributes']=_0x28843f[_0x9fef('0x32')][_0x9fef('0x33')]?_0x28843f['attributes']:_0x1e914f[_0x9fef('0x30')];if(!_0x51ec28[_0x9fef('0x2c')][_0x9fef('0x34')](_0x9fef('0x35'))){_0x28843f[_0x9fef('0x36')]=qs[_0x9fef('0x36')](_0x51ec28['query']['limit']);_0x28843f['offset']=qs['offset'](_0x51ec28[_0x9fef('0x2c')][_0x9fef('0x1c')]);}_0x28843f[_0x9fef('0x37')]=qs[_0x9fef('0x38')](_0x51ec28[_0x9fef('0x2c')][_0x9fef('0x38')]);_0x28843f[_0x9fef('0x39')]=qs['filters'](_['pick'](_0x51ec28[_0x9fef('0x2c')],_0x1e914f['filters']),_0x17fe34);if(_0x51ec28['query'][_0x9fef('0x3a')]){_0x28843f['where']=_[_0x9fef('0x3b')](_0x28843f[_0x9fef('0x39')],{'$or':_['map'](_0x17fe34,function(_0x593fd9){if(_0x593fd9[_0x9fef('0x3c')]!==_0x9fef('0x3d')){var _0x31ee9c={};_0x31ee9c[_0x593fd9['name']]={'$like':'%'+_0x51ec28[_0x9fef('0x2c')][_0x9fef('0x3a')]+'%'};return _0x31ee9c;}})});}_0x28843f=_[_0x9fef('0x3b')]({},_0x28843f,_0x51ec28['options']);var _0x5b7805={'where':_0x28843f[_0x9fef('0x39')]};return db[_0x9fef('0x3e')][_0x9fef('0x1b')](_0x5b7805)[_0x9fef('0x24')](function(_0x521bba){_0x5dbc6f[_0x9fef('0x1b')]=_0x521bba;if(_0x51ec28[_0x9fef('0x2c')][_0x9fef('0x3f')]){_0x28843f[_0x9fef('0x40')]=[{'all':!![]}];}return db['SquareReport'][_0x9fef('0x41')](_0x28843f);})['then'](function(_0x251bce){_0x5dbc6f['rows']=_0x251bce;return _0x5dbc6f;})[_0x9fef('0x24')](respondWithFilteredResult(_0x55ef3e,_0x28843f))['catch'](handleError(_0x55ef3e,null));};exports[_0x9fef('0x42')]=function(_0x4734ae,_0x47438b){var _0x28bc49={'raw':!![],'where':{'id':_0x4734ae[_0x9fef('0x43')]['id']}},_0x217b2f={};_0x217b2f['model']=_[_0x9fef('0x2d')](db[_0x9fef('0x3e')][_0x9fef('0x2a')]);_0x217b2f[_0x9fef('0x2c')]=_['keys'](_0x4734ae[_0x9fef('0x2c')]);_0x217b2f[_0x9fef('0x2e')]=_[_0x9fef('0x2f')](_0x217b2f[_0x9fef('0x30')],_0x217b2f[_0x9fef('0x2c')]);_0x28bc49[_0x9fef('0x32')]=_['intersection'](_0x217b2f[_0x9fef('0x30')],qs['fields'](_0x4734ae['query'][_0x9fef('0x31')]));_0x28bc49[_0x9fef('0x32')]=_0x28bc49[_0x9fef('0x32')]['length']?_0x28bc49['attributes']:_0x217b2f[_0x9fef('0x30')];if(_0x4734ae['query'][_0x9fef('0x3f')]){_0x28bc49[_0x9fef('0x40')]=[{'all':!![]}];}_0x28bc49=_[_0x9fef('0x3b')]({},_0x28bc49,_0x4734ae[_0x9fef('0x44')]);return db['SquareReport']['find'](_0x28bc49)[_0x9fef('0x24')](handleEntityNotFound(_0x47438b,null))[_0x9fef('0x24')](respondWithResult(_0x47438b,null))[_0x9fef('0x45')](handleError(_0x47438b,null));};exports[_0x9fef('0x46')]=function(_0x115e63,_0x2d65d1){return db['SquareReport'][_0x9fef('0x46')](_0x115e63[_0x9fef('0x47')],{})[_0x9fef('0x24')](respondWithResult(_0x2d65d1,0xc9))[_0x9fef('0x45')](handleError(_0x2d65d1,null));};exports[_0x9fef('0x23')]=function(_0x474984,_0x2f8516){if(_0x474984['body']['id']){delete _0x474984[_0x9fef('0x47')]['id'];}return db['SquareReport'][_0x9fef('0x48')]({'where':{'id':_0x474984['params']['id']}})[_0x9fef('0x24')](handleEntityNotFound(_0x2f8516,null))[_0x9fef('0x24')](saveUpdates(_0x474984['body'],null))[_0x9fef('0x24')](respondWithResult(_0x2f8516,null))[_0x9fef('0x45')](handleError(_0x2f8516,null));};exports[_0x9fef('0x25')]=function(_0x2ea0a8,_0x2bc393){return db[_0x9fef('0x3e')]['find']({'where':{'id':_0x2ea0a8[_0x9fef('0x43')]['id']}})['then'](handleEntityNotFound(_0x2bc393,null))[_0x9fef('0x24')](removeEntity(_0x2bc393,null))[_0x9fef('0x45')](handleError(_0x2bc393,null));};exports['describe']=function(_0xbf4b6,_0x5b677a){return db['SquareReport'][_0x9fef('0x49')]()[_0x9fef('0x24')](respondWithResult(_0x5b677a,null))[_0x9fef('0x45')](handleError(_0x5b677a,null));};
\ No newline at end of file
+var _0xb511=['../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','save','update','then','destroy','error','stack','name','index','SquareReport','rawAttributes','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','options','includeAll','include','findAll','rows','catch','show','params','length','merge','create','body','describe','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service'];(function(_0x329ead,_0x368cdb){var _0x48693e=function(_0x4a25c5){while(--_0x4a25c5){_0x329ead['push'](_0x329ead['shift']());}};_0x48693e(++_0x368cdb);}(_0xb511,0x165));var _0x1b51=function(_0x53598f,_0x271ff9){_0x53598f=_0x53598f-0x0;var _0x3b3f65=_0xb511[_0x53598f];return _0x3b3f65;};'use strict';var pdf=require(_0x1b51('0x0'));var emlformat=require(_0x1b51('0x1'));var rimraf=require(_0x1b51('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1b51('0x3'));var rp=require(_0x1b51('0x4'));var moment=require('moment');var BPromise=require(_0x1b51('0x5'));var Mustache=require(_0x1b51('0x6'));var util=require(_0x1b51('0x7'));var path=require('path');var sox=require(_0x1b51('0x8'));var csv=require(_0x1b51('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x1b51('0xa'));var squel=require(_0x1b51('0xb'));var crypto=require('crypto');var jsforce=require(_0x1b51('0xc'));var deskjs=require(_0x1b51('0xd'));var toCsv=require(_0x1b51('0x9'));var querystring=require(_0x1b51('0xe'));var Papa=require(_0x1b51('0xf'));var Redis=require(_0x1b51('0x10'));var authService=require(_0x1b51('0x11'));var qs=require(_0x1b51('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x1b51('0x13'));var logger=require(_0x1b51('0x14'))(_0x1b51('0x15'));var utils=require(_0x1b51('0x16'));var config=require(_0x1b51('0x17'));var licenseUtil=require(_0x1b51('0x18'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0xfa36a5,_0x11e29e){_0x11e29e=_0x11e29e||0xcc;return function(_0x146dc0){if(_0x146dc0){return _0xfa36a5[_0x1b51('0x19')](_0x11e29e);}return _0xfa36a5[_0x1b51('0x1a')](_0x11e29e)[_0x1b51('0x1b')]();};}function respondWithResult(_0x159c9a,_0x58a1db){_0x58a1db=_0x58a1db||0xc8;return function(_0x23f5f7){if(_0x23f5f7){return _0x159c9a['status'](_0x58a1db)['json'](_0x23f5f7);}};}function respondWithFilteredResult(_0x46b28f,_0x3c427a){return function(_0x4bfe72){if(_0x4bfe72){var _0x231475=_0x4bfe72[_0x1b51('0x1c')],_0x3ece8d=_0x3c427a[_0x1b51('0x1d')],_0x3f3850=_0x3c427a[_0x1b51('0x1d')]+_0x3c427a[_0x1b51('0x1e')],_0x4ea5e3;if(_0x3f3850>=_0x231475){_0x3f3850=_0x231475;_0x4ea5e3=0xc8;}else{_0x4ea5e3=0xce;}_0x46b28f['status'](_0x4ea5e3);return _0x46b28f[_0x1b51('0x1f')](_0x1b51('0x20'),_0x3ece8d+'-'+_0x3f3850+'/'+_0x231475)[_0x1b51('0x21')](_0x4bfe72);}return null;};}function patchUpdates(_0x556762){return function(_0x5e222b){try{jsonpatch[_0x1b51('0x22')](_0x5e222b,_0x556762,!![]);}catch(_0x3ff992){return BPromise['reject'](_0x3ff992);}return _0x5e222b[_0x1b51('0x23')]();};}function saveUpdates(_0x695f55,_0x527647){return function(_0x4f1813){if(_0x4f1813){return _0x4f1813[_0x1b51('0x24')](_0x695f55)[_0x1b51('0x25')](function(_0x15e196){return _0x15e196;});}return null;};}function removeEntity(_0x17381b,_0x5628cf){return function(_0x495173){if(_0x495173){return _0x495173[_0x1b51('0x26')]()[_0x1b51('0x25')](function(){_0x17381b['status'](0xcc)[_0x1b51('0x1b')]();});}};}function handleEntityNotFound(_0x4ba07e,_0x4a2e45){return function(_0x3d9178){if(!_0x3d9178){_0x4ba07e['sendStatus'](0x194);}return _0x3d9178;};}function handleError(_0x1eac36,_0x2a720f){_0x2a720f=_0x2a720f||0x1f4;return function(_0x54a526){logger[_0x1b51('0x27')](_0x54a526[_0x1b51('0x28')]);if(_0x54a526[_0x1b51('0x29')]){delete _0x54a526[_0x1b51('0x29')];}_0x1eac36['status'](_0x2a720f)['send'](_0x54a526);};}exports[_0x1b51('0x2a')]=function(_0x1a6c68,_0x9f3268){var _0x46797d={},_0x25cb80={},_0x23cfcd={'count':0x0,'rows':[]};var _0x19f20f=_['map'](db[_0x1b51('0x2b')][_0x1b51('0x2c')],function(_0x2162dc){return{'name':_0x2162dc['fieldName'],'type':_0x2162dc[_0x1b51('0x2d')][_0x1b51('0x2e')]};});_0x25cb80[_0x1b51('0x2f')]=_[_0x1b51('0x30')](_0x19f20f,_0x1b51('0x29'));_0x25cb80[_0x1b51('0x31')]=_[_0x1b51('0x32')](_0x1a6c68['query']);_0x25cb80[_0x1b51('0x33')]=_[_0x1b51('0x34')](_0x25cb80[_0x1b51('0x2f')],_0x25cb80[_0x1b51('0x31')]);_0x46797d[_0x1b51('0x35')]=_[_0x1b51('0x34')](_0x25cb80[_0x1b51('0x2f')],qs[_0x1b51('0x36')](_0x1a6c68[_0x1b51('0x31')]['fields']));_0x46797d[_0x1b51('0x35')]=_0x46797d[_0x1b51('0x35')]['length']?_0x46797d[_0x1b51('0x35')]:_0x25cb80['model'];if(!_0x1a6c68[_0x1b51('0x31')][_0x1b51('0x37')](_0x1b51('0x38'))){_0x46797d[_0x1b51('0x1e')]=qs['limit'](_0x1a6c68[_0x1b51('0x31')][_0x1b51('0x1e')]);_0x46797d[_0x1b51('0x1d')]=qs[_0x1b51('0x1d')](_0x1a6c68['query']['offset']);}_0x46797d[_0x1b51('0x39')]=qs[_0x1b51('0x3a')](_0x1a6c68[_0x1b51('0x31')][_0x1b51('0x3a')]);_0x46797d[_0x1b51('0x3b')]=qs['filters'](_[_0x1b51('0x3c')](_0x1a6c68[_0x1b51('0x31')],_0x25cb80[_0x1b51('0x33')]),_0x19f20f);if(_0x1a6c68[_0x1b51('0x31')][_0x1b51('0x3d')]){_0x46797d[_0x1b51('0x3b')]=_['merge'](_0x46797d[_0x1b51('0x3b')],{'$or':_[_0x1b51('0x30')](_0x19f20f,function(_0x2fbcc5){if(_0x2fbcc5[_0x1b51('0x2d')]!=='VIRTUAL'){var _0x183638={};_0x183638[_0x2fbcc5[_0x1b51('0x29')]]={'$like':'%'+_0x1a6c68[_0x1b51('0x31')][_0x1b51('0x3d')]+'%'};return _0x183638;}})});}_0x46797d=_['merge']({},_0x46797d,_0x1a6c68[_0x1b51('0x3e')]);var _0x1d3d24={'where':_0x46797d[_0x1b51('0x3b')]};return db['SquareReport']['count'](_0x1d3d24)[_0x1b51('0x25')](function(_0x5e45d8){_0x23cfcd[_0x1b51('0x1c')]=_0x5e45d8;if(_0x1a6c68['query'][_0x1b51('0x3f')]){_0x46797d[_0x1b51('0x40')]=[{'all':!![]}];}return db['SquareReport'][_0x1b51('0x41')](_0x46797d);})['then'](function(_0x2d4bac){_0x23cfcd[_0x1b51('0x42')]=_0x2d4bac;return _0x23cfcd;})[_0x1b51('0x25')](respondWithFilteredResult(_0x9f3268,_0x46797d))[_0x1b51('0x43')](handleError(_0x9f3268,null));};exports[_0x1b51('0x44')]=function(_0x14328f,_0x488c1b){var _0xab381f={'raw':!![],'where':{'id':_0x14328f[_0x1b51('0x45')]['id']}},_0x456c47={};_0x456c47[_0x1b51('0x2f')]=_[_0x1b51('0x32')](db[_0x1b51('0x2b')]['rawAttributes']);_0x456c47[_0x1b51('0x31')]=_[_0x1b51('0x32')](_0x14328f[_0x1b51('0x31')]);_0x456c47[_0x1b51('0x33')]=_[_0x1b51('0x34')](_0x456c47[_0x1b51('0x2f')],_0x456c47['query']);_0xab381f[_0x1b51('0x35')]=_[_0x1b51('0x34')](_0x456c47['model'],qs[_0x1b51('0x36')](_0x14328f[_0x1b51('0x31')][_0x1b51('0x36')]));_0xab381f[_0x1b51('0x35')]=_0xab381f[_0x1b51('0x35')][_0x1b51('0x46')]?_0xab381f[_0x1b51('0x35')]:_0x456c47[_0x1b51('0x2f')];if(_0x14328f[_0x1b51('0x31')][_0x1b51('0x3f')]){_0xab381f[_0x1b51('0x40')]=[{'all':!![]}];}_0xab381f=_[_0x1b51('0x47')]({},_0xab381f,_0x14328f[_0x1b51('0x3e')]);return db[_0x1b51('0x2b')]['find'](_0xab381f)[_0x1b51('0x25')](handleEntityNotFound(_0x488c1b,null))[_0x1b51('0x25')](respondWithResult(_0x488c1b,null))[_0x1b51('0x43')](handleError(_0x488c1b,null));};exports[_0x1b51('0x48')]=function(_0x1a15b3,_0x32079c){return db['SquareReport'][_0x1b51('0x48')](_0x1a15b3[_0x1b51('0x49')],{})[_0x1b51('0x25')](respondWithResult(_0x32079c,0xc9))[_0x1b51('0x43')](handleError(_0x32079c,null));};exports[_0x1b51('0x24')]=function(_0xcce418,_0x514fd0){if(_0xcce418[_0x1b51('0x49')]['id']){delete _0xcce418[_0x1b51('0x49')]['id'];}return db[_0x1b51('0x2b')]['find']({'where':{'id':_0xcce418[_0x1b51('0x45')]['id']}})[_0x1b51('0x25')](handleEntityNotFound(_0x514fd0,null))[_0x1b51('0x25')](saveUpdates(_0xcce418[_0x1b51('0x49')],null))[_0x1b51('0x25')](respondWithResult(_0x514fd0,null))[_0x1b51('0x43')](handleError(_0x514fd0,null));};exports[_0x1b51('0x26')]=function(_0x2d5a57,_0x53341c){return db['SquareReport']['find']({'where':{'id':_0x2d5a57[_0x1b51('0x45')]['id']}})[_0x1b51('0x25')](handleEntityNotFound(_0x53341c,null))['then'](removeEntity(_0x53341c,null))['catch'](handleError(_0x53341c,null));};exports['describe']=function(_0x440a8e,_0x3bf444){return db['SquareReport'][_0x1b51('0x4a')]()[_0x1b51('0x25')](respondWithResult(_0x3bf444,null))[_0x1b51('0x43')](handleError(_0x3bf444,null));};
\ No newline at end of file