Built motion from commit 14588770.|2.5.38
[motion2.git] / server / api / intServicenowField / intServicenowField.controller.js
index a361690..e4a0606 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x3ef1=['util','ejs','squel','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','json','apply','reject','update','then','error','name','send','map','ServicenowField','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','options','include','findAll','rows','catch','show','length','includeAll','find','create','body','params','destroy','html-pdf','eml-format','fast-json-patch','moment','bluebird'];(function(_0x3050b5,_0x182c6a){var _0x37cceb=function(_0x49b797){while(--_0x49b797){_0x3050b5['push'](_0x3050b5['shift']());}};_0x37cceb(++_0x182c6a);}(_0x3ef1,0x187));var _0x13ef=function(_0x1d9aa0,_0x272488){_0x1d9aa0=_0x1d9aa0-0x0;var _0x226868=_0x3ef1[_0x1d9aa0];return _0x226868;};'use strict';var pdf=require(_0x13ef('0x0'));var emlformat=require(_0x13ef('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x13ef('0x2'));var rp=require('request-promise');var moment=require(_0x13ef('0x3'));var BPromise=require(_0x13ef('0x4'));var Mustache=require('mustache');var util=require(_0x13ef('0x5'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x13ef('0x6'));var fs=require('fs');var _=require('lodash');var squel=require(_0x13ef('0x7'));var crypto=require('crypto');var jsforce=require(_0x13ef('0x8'));var deskjs=require('desk.js');var toCsv=require(_0x13ef('0x9'));var querystring=require('querystring');var Papa=require(_0x13ef('0xa'));var Redis=require(_0x13ef('0xb'));var authService=require(_0x13ef('0xc'));var qs=require(_0x13ef('0xd'));var as=require(_0x13ef('0xe'));var hardwareService=require(_0x13ef('0xf'));var logger=require(_0x13ef('0x10'))('api');var utils=require(_0x13ef('0x11'));var config=require('../../config/environment');var licenseUtil=require(_0x13ef('0x12'));var db=require(_0x13ef('0x13'))['db'];function respondWithStatusCode(_0x330c20,_0x5e6039){_0x5e6039=_0x5e6039||0xcc;return function(_0x27c292){if(_0x27c292){return _0x330c20[_0x13ef('0x14')](_0x5e6039);}return _0x330c20[_0x13ef('0x15')](_0x5e6039)[_0x13ef('0x16')]();};}function respondWithResult(_0x5692d1,_0x2b4869){_0x2b4869=_0x2b4869||0xc8;return function(_0x1476d9){if(_0x1476d9){return _0x5692d1[_0x13ef('0x15')](_0x2b4869)['json'](_0x1476d9);}};}function respondWithFilteredResult(_0x4610c9,_0x1eb9cb){return function(_0x56ecc0){if(_0x56ecc0){var _0xce6c80=_0x56ecc0[_0x13ef('0x17')],_0x2e98b9=_0x1eb9cb[_0x13ef('0x18')],_0x2b3a84=_0x1eb9cb[_0x13ef('0x18')]+_0x1eb9cb[_0x13ef('0x19')],_0x364452;if(_0x2b3a84>=_0xce6c80){_0x2b3a84=_0xce6c80;_0x364452=0xc8;}else{_0x364452=0xce;}_0x4610c9[_0x13ef('0x15')](_0x364452);return _0x4610c9['set']('Content-Range',_0x2e98b9+'-'+_0x2b3a84+'/'+_0xce6c80)[_0x13ef('0x1a')](_0x56ecc0);}return null;};}function patchUpdates(_0xb2e142){return function(_0x494c50){try{jsonpatch[_0x13ef('0x1b')](_0x494c50,_0xb2e142,!![]);}catch(_0x5a8ae4){return BPromise[_0x13ef('0x1c')](_0x5a8ae4);}return _0x494c50['save']();};}function saveUpdates(_0x64e7a,_0x1be6c8){return function(_0x15e24f){if(_0x15e24f){return _0x15e24f[_0x13ef('0x1d')](_0x64e7a)[_0x13ef('0x1e')](function(_0x5d6c67){return _0x5d6c67;});}return null;};}function removeEntity(_0x12f010,_0x117b98){return function(_0x34d51a){if(_0x34d51a){return _0x34d51a['destroy']()[_0x13ef('0x1e')](function(){_0x12f010['status'](0xcc)[_0x13ef('0x16')]();});}};}function handleEntityNotFound(_0x162921,_0x3e7e28){return function(_0xbfe6c8){if(!_0xbfe6c8){_0x162921[_0x13ef('0x14')](0x194);}return _0xbfe6c8;};}function handleError(_0x394987,_0x5d7cbd){_0x5d7cbd=_0x5d7cbd||0x1f4;return function(_0x33035e){logger[_0x13ef('0x1f')](_0x33035e['stack']);if(_0x33035e['name']){delete _0x33035e[_0x13ef('0x20')];}_0x394987[_0x13ef('0x15')](_0x5d7cbd)[_0x13ef('0x21')](_0x33035e);};}exports['index']=function(_0x2c0da7,_0x1ad9a4){var _0x8064cd={},_0x48a761={},_0x7d5e36={'count':0x0,'rows':[]};var _0xed819b=_[_0x13ef('0x22')](db[_0x13ef('0x23')][_0x13ef('0x24')],function(_0x49b312){return{'name':_0x49b312[_0x13ef('0x25')],'type':_0x49b312[_0x13ef('0x26')]['key']};});_0x48a761[_0x13ef('0x27')]=_[_0x13ef('0x22')](_0xed819b,_0x13ef('0x20'));_0x48a761[_0x13ef('0x28')]=_[_0x13ef('0x29')](_0x2c0da7[_0x13ef('0x28')]);_0x48a761[_0x13ef('0x2a')]=_[_0x13ef('0x2b')](_0x48a761['model'],_0x48a761[_0x13ef('0x28')]);_0x8064cd[_0x13ef('0x2c')]=_[_0x13ef('0x2b')](_0x48a761[_0x13ef('0x27')],qs[_0x13ef('0x2d')](_0x2c0da7[_0x13ef('0x28')][_0x13ef('0x2d')]));_0x8064cd['attributes']=_0x8064cd[_0x13ef('0x2c')]['length']?_0x8064cd['attributes']:_0x48a761[_0x13ef('0x27')];if(!_0x2c0da7[_0x13ef('0x28')][_0x13ef('0x2e')](_0x13ef('0x2f'))){_0x8064cd['limit']=qs[_0x13ef('0x19')](_0x2c0da7[_0x13ef('0x28')][_0x13ef('0x19')]);_0x8064cd['offset']=qs[_0x13ef('0x18')](_0x2c0da7[_0x13ef('0x28')]['offset']);}_0x8064cd[_0x13ef('0x30')]=qs[_0x13ef('0x31')](_0x2c0da7['query'][_0x13ef('0x31')]);_0x8064cd[_0x13ef('0x32')]=qs['filters'](_[_0x13ef('0x33')](_0x2c0da7[_0x13ef('0x28')],_0x48a761[_0x13ef('0x2a')]),_0xed819b);if(_0x2c0da7['query'][_0x13ef('0x34')]){_0x8064cd[_0x13ef('0x32')]=_['merge'](_0x8064cd[_0x13ef('0x32')],{'$or':_[_0x13ef('0x22')](_0xed819b,function(_0x3d6aea){if(_0x3d6aea[_0x13ef('0x26')]!=='VIRTUAL'){var _0x189710={};_0x189710[_0x3d6aea['name']]={'$like':'%'+_0x2c0da7[_0x13ef('0x28')][_0x13ef('0x34')]+'%'};return _0x189710;}})});}_0x8064cd=_['merge']({},_0x8064cd,_0x2c0da7[_0x13ef('0x35')]);var _0x5225d3={'where':_0x8064cd[_0x13ef('0x32')]};return db['ServicenowField'][_0x13ef('0x17')](_0x5225d3)[_0x13ef('0x1e')](function(_0x4f6a3d){_0x7d5e36[_0x13ef('0x17')]=_0x4f6a3d;if(_0x2c0da7[_0x13ef('0x28')]['includeAll']){_0x8064cd[_0x13ef('0x36')]=[{'all':!![]}];}return db[_0x13ef('0x23')][_0x13ef('0x37')](_0x8064cd);})[_0x13ef('0x1e')](function(_0x6581e3){_0x7d5e36[_0x13ef('0x38')]=_0x6581e3;return _0x7d5e36;})[_0x13ef('0x1e')](respondWithFilteredResult(_0x1ad9a4,_0x8064cd))[_0x13ef('0x39')](handleError(_0x1ad9a4,null));};exports[_0x13ef('0x3a')]=function(_0x141c40,_0x169345){var _0x14cc2a={'raw':!![],'where':{'id':_0x141c40['params']['id']}},_0x539c34={};_0x539c34[_0x13ef('0x27')]=_[_0x13ef('0x29')](db[_0x13ef('0x23')][_0x13ef('0x24')]);_0x539c34[_0x13ef('0x28')]=_[_0x13ef('0x29')](_0x141c40['query']);_0x539c34[_0x13ef('0x2a')]=_[_0x13ef('0x2b')](_0x539c34[_0x13ef('0x27')],_0x539c34[_0x13ef('0x28')]);_0x14cc2a[_0x13ef('0x2c')]=_[_0x13ef('0x2b')](_0x539c34[_0x13ef('0x27')],qs[_0x13ef('0x2d')](_0x141c40[_0x13ef('0x28')]['fields']));_0x14cc2a['attributes']=_0x14cc2a[_0x13ef('0x2c')][_0x13ef('0x3b')]?_0x14cc2a[_0x13ef('0x2c')]:_0x539c34[_0x13ef('0x27')];if(_0x141c40['query'][_0x13ef('0x3c')]){_0x14cc2a[_0x13ef('0x36')]=[{'all':!![]}];}_0x14cc2a=_['merge']({},_0x14cc2a,_0x141c40[_0x13ef('0x35')]);return db['ServicenowField'][_0x13ef('0x3d')](_0x14cc2a)[_0x13ef('0x1e')](handleEntityNotFound(_0x169345,null))[_0x13ef('0x1e')](respondWithResult(_0x169345,null))[_0x13ef('0x39')](handleError(_0x169345,null));};exports[_0x13ef('0x3e')]=function(_0x1b03f7,_0x41a9d7){return db[_0x13ef('0x23')][_0x13ef('0x3e')](_0x1b03f7[_0x13ef('0x3f')],{})[_0x13ef('0x1e')](respondWithResult(_0x41a9d7,0xc9))[_0x13ef('0x39')](handleError(_0x41a9d7,null));};exports['update']=function(_0x417ce6,_0x15f2f6){if(_0x417ce6[_0x13ef('0x3f')]['id']){delete _0x417ce6[_0x13ef('0x3f')]['id'];}return db[_0x13ef('0x23')][_0x13ef('0x3d')]({'where':{'id':_0x417ce6[_0x13ef('0x40')]['id']}})[_0x13ef('0x1e')](handleEntityNotFound(_0x15f2f6,null))[_0x13ef('0x1e')](saveUpdates(_0x417ce6[_0x13ef('0x3f')],null))[_0x13ef('0x1e')](respondWithResult(_0x15f2f6,null))[_0x13ef('0x39')](handleError(_0x15f2f6,null));};exports[_0x13ef('0x41')]=function(_0x2aa401,_0x137a74){return db[_0x13ef('0x23')][_0x13ef('0x3d')]({'where':{'id':_0x2aa401[_0x13ef('0x40')]['id']}})[_0x13ef('0x1e')](handleEntityNotFound(_0x137a74,null))[_0x13ef('0x1e')](removeEntity(_0x137a74,null))['catch'](handleError(_0x137a74,null));};
\ No newline at end of file
+var _0xbe29=['intersection','fields','hasOwnProperty','nolimit','order','sort','where','merge','type','VIRTUAL','filter','options','includeAll','rows','show','params','include','find','create','body','eml-format','rimraf','fast-json-patch','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','limit','count','offset','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','ServicenowField','model','keys','query','filters','attributes'];(function(_0xec7170,_0x123be6){var _0x18e9ec=function(_0x45b33f){while(--_0x45b33f){_0xec7170['push'](_0xec7170['shift']());}};_0x18e9ec(++_0x123be6);}(_0xbe29,0x1ca));var _0x9be2=function(_0x4347ec,_0x41c4b8){_0x4347ec=_0x4347ec-0x0;var _0x4c8314=_0xbe29[_0x4347ec];return _0x4c8314;};'use strict';var emlformat=require(_0x9be2('0x0'));var rimraf=require(_0x9be2('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9be2('0x2'));var rp=require('request-promise');var moment=require(_0x9be2('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x9be2('0x4'));var util=require(_0x9be2('0x5'));var path=require(_0x9be2('0x6'));var sox=require(_0x9be2('0x7'));var csv=require(_0x9be2('0x8'));var ejs=require(_0x9be2('0x9'));var fs=require('fs');var fs_extra=require(_0x9be2('0xa'));var _=require(_0x9be2('0xb'));var squel=require(_0x9be2('0xc'));var crypto=require(_0x9be2('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x9be2('0xe'));var toCsv=require(_0x9be2('0x8'));var querystring=require(_0x9be2('0xf'));var Papa=require(_0x9be2('0x10'));var Redis=require(_0x9be2('0x11'));var authService=require(_0x9be2('0x12'));var qs=require(_0x9be2('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9be2('0x14'));var logger=require(_0x9be2('0x15'))('api');var utils=require(_0x9be2('0x16'));var config=require(_0x9be2('0x17'));var licenseUtil=require(_0x9be2('0x18'));var db=require(_0x9be2('0x19'))['db'];function respondWithStatusCode(_0x22609a,_0x4c76cd){_0x4c76cd=_0x4c76cd||0xcc;return function(_0x5ae6e9){if(_0x5ae6e9){return _0x22609a[_0x9be2('0x1a')](_0x4c76cd);}return _0x22609a['status'](_0x4c76cd)[_0x9be2('0x1b')]();};}function respondWithResult(_0x3dd8a6,_0x4a482b){_0x4a482b=_0x4a482b||0xc8;return function(_0x5931fe){if(_0x5931fe){return _0x3dd8a6[_0x9be2('0x1c')](_0x4a482b)[_0x9be2('0x1d')](_0x5931fe);}};}function respondWithFilteredResult(_0x60d663,_0x3e1e9e){return function(_0x5ccb5c){if(_0x5ccb5c){var _0x299487=typeof _0x3e1e9e['offset']===_0x9be2('0x1e')&&typeof _0x3e1e9e[_0x9be2('0x1f')]==='undefined';var _0x53dd99=_0x5ccb5c[_0x9be2('0x20')];var _0x1e8f4f=_0x299487?0x0:_0x3e1e9e['offset'];var _0x4a33f0=_0x299487?_0x5ccb5c[_0x9be2('0x20')]:_0x3e1e9e[_0x9be2('0x21')]+_0x3e1e9e[_0x9be2('0x1f')];var _0x268921;if(_0x4a33f0>=_0x53dd99){_0x4a33f0=_0x53dd99;_0x268921=0xc8;}else{_0x268921=0xce;}_0x60d663[_0x9be2('0x1c')](_0x268921);return _0x60d663['set'](_0x9be2('0x22'),_0x1e8f4f+'-'+_0x4a33f0+'/'+_0x53dd99)['json'](_0x5ccb5c);}return null;};}function patchUpdates(_0x38c148){return function(_0x4b8353){try{jsonpatch[_0x9be2('0x23')](_0x4b8353,_0x38c148,!![]);}catch(_0x20bd01){return BPromise[_0x9be2('0x24')](_0x20bd01);}return _0x4b8353[_0x9be2('0x25')]();};}function saveUpdates(_0x58e0ff,_0x4ba4b2){return function(_0x4daa11){if(_0x4daa11){return _0x4daa11[_0x9be2('0x26')](_0x58e0ff)[_0x9be2('0x27')](function(_0x22fda8){return _0x22fda8;});}return null;};}function removeEntity(_0x13dba6,_0x252f0d){return function(_0x851801){if(_0x851801){return _0x851801[_0x9be2('0x28')]()['then'](function(){_0x13dba6[_0x9be2('0x1c')](0xcc)[_0x9be2('0x1b')]();});}};}function handleEntityNotFound(_0x1f6894,_0x26af4a){return function(_0x3705d1){if(!_0x3705d1){_0x1f6894[_0x9be2('0x1a')](0x194);}return _0x3705d1;};}function handleError(_0x5e13ba,_0x4d7916){_0x4d7916=_0x4d7916||0x1f4;return function(_0x56baaa){logger[_0x9be2('0x29')](_0x56baaa[_0x9be2('0x2a')]);if(_0x56baaa[_0x9be2('0x2b')]){delete _0x56baaa[_0x9be2('0x2b')];}_0x5e13ba[_0x9be2('0x1c')](_0x4d7916)[_0x9be2('0x2c')](_0x56baaa);};}exports[_0x9be2('0x2d')]=function(_0x241eb5,_0x33c5a5){var _0x145ae5={},_0x5795d4={},_0x19137d={'count':0x0,'rows':[]};var _0x5778c2=_[_0x9be2('0x2e')](db[_0x9be2('0x2f')]['rawAttributes'],function(_0x1f28ac){return{'name':_0x1f28ac['fieldName'],'type':_0x1f28ac['type']['key']};});_0x5795d4[_0x9be2('0x30')]=_['map'](_0x5778c2,_0x9be2('0x2b'));_0x5795d4['query']=_[_0x9be2('0x31')](_0x241eb5[_0x9be2('0x32')]);_0x5795d4[_0x9be2('0x33')]=_['intersection'](_0x5795d4[_0x9be2('0x30')],_0x5795d4[_0x9be2('0x32')]);_0x145ae5[_0x9be2('0x34')]=_[_0x9be2('0x35')](_0x5795d4[_0x9be2('0x30')],qs[_0x9be2('0x36')](_0x241eb5['query'][_0x9be2('0x36')]));_0x145ae5[_0x9be2('0x34')]=_0x145ae5[_0x9be2('0x34')]['length']?_0x145ae5[_0x9be2('0x34')]:_0x5795d4[_0x9be2('0x30')];if(!_0x241eb5[_0x9be2('0x32')][_0x9be2('0x37')](_0x9be2('0x38'))){_0x145ae5[_0x9be2('0x1f')]=qs['limit'](_0x241eb5[_0x9be2('0x32')][_0x9be2('0x1f')]);_0x145ae5[_0x9be2('0x21')]=qs['offset'](_0x241eb5[_0x9be2('0x32')][_0x9be2('0x21')]);}_0x145ae5[_0x9be2('0x39')]=qs[_0x9be2('0x3a')](_0x241eb5['query']['sort']);_0x145ae5[_0x9be2('0x3b')]=qs[_0x9be2('0x33')](_['pick'](_0x241eb5[_0x9be2('0x32')],_0x5795d4[_0x9be2('0x33')]),_0x5778c2);if(_0x241eb5['query']['filter']){_0x145ae5[_0x9be2('0x3b')]=_[_0x9be2('0x3c')](_0x145ae5[_0x9be2('0x3b')],{'$or':_[_0x9be2('0x2e')](_0x5778c2,function(_0x1531e3){if(_0x1531e3[_0x9be2('0x3d')]!==_0x9be2('0x3e')){var _0xc8ad41={};_0xc8ad41[_0x1531e3[_0x9be2('0x2b')]]={'$like':'%'+_0x241eb5[_0x9be2('0x32')][_0x9be2('0x3f')]+'%'};return _0xc8ad41;}})});}_0x145ae5=_[_0x9be2('0x3c')]({},_0x145ae5,_0x241eb5[_0x9be2('0x40')]);var _0x311e9b={'where':_0x145ae5[_0x9be2('0x3b')]};return db[_0x9be2('0x2f')][_0x9be2('0x20')](_0x311e9b)[_0x9be2('0x27')](function(_0x22b6a8){_0x19137d[_0x9be2('0x20')]=_0x22b6a8;if(_0x241eb5[_0x9be2('0x32')][_0x9be2('0x41')]){_0x145ae5['include']=[{'all':!![]}];}return db[_0x9be2('0x2f')]['findAll'](_0x145ae5);})['then'](function(_0x19b4f5){_0x19137d[_0x9be2('0x42')]=_0x19b4f5;return _0x19137d;})['then'](respondWithFilteredResult(_0x33c5a5,_0x145ae5))['catch'](handleError(_0x33c5a5,null));};exports[_0x9be2('0x43')]=function(_0x2fd20c,_0x2fea22){var _0x2b5d6b={'raw':!![],'where':{'id':_0x2fd20c[_0x9be2('0x44')]['id']}},_0x2dd0e0={};_0x2dd0e0[_0x9be2('0x30')]=_[_0x9be2('0x31')](db['ServicenowField']['rawAttributes']);_0x2dd0e0['query']=_['keys'](_0x2fd20c['query']);_0x2dd0e0[_0x9be2('0x33')]=_[_0x9be2('0x35')](_0x2dd0e0[_0x9be2('0x30')],_0x2dd0e0[_0x9be2('0x32')]);_0x2b5d6b['attributes']=_[_0x9be2('0x35')](_0x2dd0e0['model'],qs[_0x9be2('0x36')](_0x2fd20c[_0x9be2('0x32')][_0x9be2('0x36')]));_0x2b5d6b[_0x9be2('0x34')]=_0x2b5d6b[_0x9be2('0x34')]['length']?_0x2b5d6b['attributes']:_0x2dd0e0['model'];if(_0x2fd20c[_0x9be2('0x32')][_0x9be2('0x41')]){_0x2b5d6b[_0x9be2('0x45')]=[{'all':!![]}];}_0x2b5d6b=_['merge']({},_0x2b5d6b,_0x2fd20c[_0x9be2('0x40')]);return db['ServicenowField'][_0x9be2('0x46')](_0x2b5d6b)[_0x9be2('0x27')](handleEntityNotFound(_0x2fea22,null))[_0x9be2('0x27')](respondWithResult(_0x2fea22,null))['catch'](handleError(_0x2fea22,null));};exports[_0x9be2('0x47')]=function(_0x36d6a5,_0x370b9b){return db[_0x9be2('0x2f')][_0x9be2('0x47')](_0x36d6a5[_0x9be2('0x48')],{})[_0x9be2('0x27')](respondWithResult(_0x370b9b,0xc9))['catch'](handleError(_0x370b9b,null));};exports[_0x9be2('0x26')]=function(_0x41f38b,_0x1ee3a1){if(_0x41f38b[_0x9be2('0x48')]['id']){delete _0x41f38b[_0x9be2('0x48')]['id'];}return db['ServicenowField'][_0x9be2('0x46')]({'where':{'id':_0x41f38b[_0x9be2('0x44')]['id']}})['then'](handleEntityNotFound(_0x1ee3a1,null))[_0x9be2('0x27')](saveUpdates(_0x41f38b[_0x9be2('0x48')],null))[_0x9be2('0x27')](respondWithResult(_0x1ee3a1,null))['catch'](handleError(_0x1ee3a1,null));};exports[_0x9be2('0x28')]=function(_0x36307e,_0x4723a6){return db['ServicenowField'][_0x9be2('0x46')]({'where':{'id':_0x36307e['params']['id']}})[_0x9be2('0x27')](handleEntityNotFound(_0x4723a6,null))[_0x9be2('0x27')](removeEntity(_0x4723a6,null))['catch'](handleError(_0x4723a6,null));};
\ No newline at end of file