Built motion from commit a679711e.|2.6.15
[motion2.git] / server / api / intDynamics365Field / intDynamics365Field.controller.js
index 2d38555..2fc3041 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x453d=['mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','destroy','then','name','index','map','Dynamics365Field','rawAttributes','fieldName','type','key','keys','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','sort','where','filter','merge','VIRTUAL','includeAll','findAll','rows','catch','params','include','options','find','create','body','rimraf','zip-dir','request-promise','moment','bluebird'];(function(_0x535430,_0x1951a2){var _0x5094cf=function(_0x15d8d2){while(--_0x15d8d2){_0x535430['push'](_0x535430['shift']());}};_0x5094cf(++_0x1951a2);}(_0x453d,0xd6));var _0xd453=function(_0x184876,_0x1bb7be){_0x184876=_0x184876-0x0;var _0x40f0d8=_0x453d[_0x184876];return _0x40f0d8;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xd453('0x0'));var zipdir=require(_0xd453('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd453('0x2'));var moment=require(_0xd453('0x3'));var BPromise=require(_0xd453('0x4'));var Mustache=require(_0xd453('0x5'));var util=require(_0xd453('0x6'));var path=require(_0xd453('0x7'));var sox=require(_0xd453('0x8'));var csv=require(_0xd453('0x9'));var ejs=require(_0xd453('0xa'));var fs=require('fs');var fs_extra=require(_0xd453('0xb'));var _=require(_0xd453('0xc'));var squel=require(_0xd453('0xd'));var crypto=require(_0xd453('0xe'));var jsforce=require(_0xd453('0xf'));var deskjs=require(_0xd453('0x10'));var toCsv=require(_0xd453('0x9'));var querystring=require(_0xd453('0x11'));var Papa=require(_0xd453('0x12'));var Redis=require(_0xd453('0x13'));var authService=require(_0xd453('0x14'));var qs=require(_0xd453('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd453('0x16'));var logger=require(_0xd453('0x17'))(_0xd453('0x18'));var utils=require('../../config/utils');var config=require(_0xd453('0x19'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x1fd5cc,_0x2dbebb){_0x2dbebb=_0x2dbebb||0xcc;return function(_0xd9e664){if(_0xd9e664){return _0x1fd5cc[_0xd453('0x1a')](_0x2dbebb);}return _0x1fd5cc[_0xd453('0x1b')](_0x2dbebb)[_0xd453('0x1c')]();};}function respondWithResult(_0x462b56,_0x3129e3){_0x3129e3=_0x3129e3||0xc8;return function(_0x2701b6){if(_0x2701b6){return _0x462b56[_0xd453('0x1b')](_0x3129e3)['json'](_0x2701b6);}};}function respondWithFilteredResult(_0x1d1781,_0xf44211){return function(_0x33e13b){if(_0x33e13b){var _0x15d703=_0x33e13b[_0xd453('0x1d')],_0x4c5e16=_0xf44211[_0xd453('0x1e')],_0x3eeb6a=_0xf44211[_0xd453('0x1e')]+_0xf44211[_0xd453('0x1f')],_0x2ad424;if(_0x3eeb6a>=_0x15d703){_0x3eeb6a=_0x15d703;_0x2ad424=0xc8;}else{_0x2ad424=0xce;}_0x1d1781['status'](_0x2ad424);return _0x1d1781[_0xd453('0x20')](_0xd453('0x21'),_0x4c5e16+'-'+_0x3eeb6a+'/'+_0x15d703)[_0xd453('0x22')](_0x33e13b);}return null;};}function patchUpdates(_0x273c14){return function(_0x3a0bd8){try{jsonpatch[_0xd453('0x23')](_0x3a0bd8,_0x273c14,!![]);}catch(_0x2bb375){return BPromise[_0xd453('0x24')](_0x2bb375);}return _0x3a0bd8[_0xd453('0x25')]();};}function saveUpdates(_0x138242,_0x4c3a93){return function(_0x2a9514){if(_0x2a9514){return _0x2a9514[_0xd453('0x26')](_0x138242)['then'](function(_0x2e2b5f){return _0x2e2b5f;});}return null;};}function removeEntity(_0x12e588,_0x233062){return function(_0x2a78a0){if(_0x2a78a0){return _0x2a78a0[_0xd453('0x27')]()[_0xd453('0x28')](function(){_0x12e588['status'](0xcc)[_0xd453('0x1c')]();});}};}function handleEntityNotFound(_0x20368b,_0x7fbe3f){return function(_0x615c85){if(!_0x615c85){_0x20368b[_0xd453('0x1a')](0x194);}return _0x615c85;};}function handleError(_0x52d4fe,_0x53e610){_0x53e610=_0x53e610||0x1f4;return function(_0x27e89d){logger['error'](_0x27e89d['stack']);if(_0x27e89d[_0xd453('0x29')]){delete _0x27e89d['name'];}_0x52d4fe[_0xd453('0x1b')](_0x53e610)['send'](_0x27e89d);};}exports[_0xd453('0x2a')]=function(_0x2d4f7f,_0x1be4b6){var _0xf83c8f={},_0x13ac33={},_0xa91784={'count':0x0,'rows':[]};var _0x85990f=_[_0xd453('0x2b')](db[_0xd453('0x2c')][_0xd453('0x2d')],function(_0x4b55cd){return{'name':_0x4b55cd[_0xd453('0x2e')],'type':_0x4b55cd[_0xd453('0x2f')][_0xd453('0x30')]};});_0x13ac33['model']=_[_0xd453('0x2b')](_0x85990f,'name');_0x13ac33['query']=_[_0xd453('0x31')](_0x2d4f7f[_0xd453('0x32')]);_0x13ac33[_0xd453('0x33')]=_[_0xd453('0x34')](_0x13ac33[_0xd453('0x35')],_0x13ac33[_0xd453('0x32')]);_0xf83c8f[_0xd453('0x36')]=_['intersection'](_0x13ac33['model'],qs['fields'](_0x2d4f7f[_0xd453('0x32')][_0xd453('0x37')]));_0xf83c8f[_0xd453('0x36')]=_0xf83c8f[_0xd453('0x36')][_0xd453('0x38')]?_0xf83c8f[_0xd453('0x36')]:_0x13ac33[_0xd453('0x35')];if(!_0x2d4f7f[_0xd453('0x32')][_0xd453('0x39')]('nolimit')){_0xf83c8f[_0xd453('0x1f')]=qs[_0xd453('0x1f')](_0x2d4f7f[_0xd453('0x32')][_0xd453('0x1f')]);_0xf83c8f[_0xd453('0x1e')]=qs[_0xd453('0x1e')](_0x2d4f7f[_0xd453('0x32')]['offset']);}_0xf83c8f['order']=qs[_0xd453('0x3a')](_0x2d4f7f[_0xd453('0x32')][_0xd453('0x3a')]);_0xf83c8f[_0xd453('0x3b')]=qs['filters'](_['pick'](_0x2d4f7f[_0xd453('0x32')],_0x13ac33['filters']),_0x85990f);if(_0x2d4f7f['query'][_0xd453('0x3c')]){_0xf83c8f[_0xd453('0x3b')]=_[_0xd453('0x3d')](_0xf83c8f[_0xd453('0x3b')],{'$or':_[_0xd453('0x2b')](_0x85990f,function(_0x7ec1d5){if(_0x7ec1d5[_0xd453('0x2f')]!==_0xd453('0x3e')){var _0x379fd6={};_0x379fd6[_0x7ec1d5[_0xd453('0x29')]]={'$like':'%'+_0x2d4f7f['query'][_0xd453('0x3c')]+'%'};return _0x379fd6;}})});}_0xf83c8f=_[_0xd453('0x3d')]({},_0xf83c8f,_0x2d4f7f['options']);var _0x33a112={'where':_0xf83c8f['where']};return db[_0xd453('0x2c')][_0xd453('0x1d')](_0x33a112)[_0xd453('0x28')](function(_0x52f832){_0xa91784[_0xd453('0x1d')]=_0x52f832;if(_0x2d4f7f[_0xd453('0x32')][_0xd453('0x3f')]){_0xf83c8f['include']=[{'all':!![]}];}return db[_0xd453('0x2c')][_0xd453('0x40')](_0xf83c8f);})['then'](function(_0x2e6d40){_0xa91784[_0xd453('0x41')]=_0x2e6d40;return _0xa91784;})[_0xd453('0x28')](respondWithFilteredResult(_0x1be4b6,_0xf83c8f))[_0xd453('0x42')](handleError(_0x1be4b6,null));};exports['show']=function(_0x1058e0,_0x24a7e3){var _0x3aaac7={'raw':!![],'where':{'id':_0x1058e0[_0xd453('0x43')]['id']}},_0x14d19f={};_0x14d19f[_0xd453('0x35')]=_['keys'](db[_0xd453('0x2c')]['rawAttributes']);_0x14d19f[_0xd453('0x32')]=_[_0xd453('0x31')](_0x1058e0[_0xd453('0x32')]);_0x14d19f['filters']=_[_0xd453('0x34')](_0x14d19f[_0xd453('0x35')],_0x14d19f[_0xd453('0x32')]);_0x3aaac7[_0xd453('0x36')]=_[_0xd453('0x34')](_0x14d19f[_0xd453('0x35')],qs[_0xd453('0x37')](_0x1058e0[_0xd453('0x32')][_0xd453('0x37')]));_0x3aaac7[_0xd453('0x36')]=_0x3aaac7['attributes'][_0xd453('0x38')]?_0x3aaac7[_0xd453('0x36')]:_0x14d19f[_0xd453('0x35')];if(_0x1058e0[_0xd453('0x32')]['includeAll']){_0x3aaac7[_0xd453('0x44')]=[{'all':!![]}];}_0x3aaac7=_[_0xd453('0x3d')]({},_0x3aaac7,_0x1058e0[_0xd453('0x45')]);return db[_0xd453('0x2c')][_0xd453('0x46')](_0x3aaac7)[_0xd453('0x28')](handleEntityNotFound(_0x24a7e3,null))[_0xd453('0x28')](respondWithResult(_0x24a7e3,null))[_0xd453('0x42')](handleError(_0x24a7e3,null));};exports[_0xd453('0x47')]=function(_0x13065f,_0x4d99b9){return db['Dynamics365Field'][_0xd453('0x47')](_0x13065f[_0xd453('0x48')],{})[_0xd453('0x28')](respondWithResult(_0x4d99b9,0xc9))[_0xd453('0x42')](handleError(_0x4d99b9,null));};exports[_0xd453('0x26')]=function(_0x4044e7,_0x5c1366){if(_0x4044e7['body']['id']){delete _0x4044e7[_0xd453('0x48')]['id'];}return db[_0xd453('0x2c')][_0xd453('0x46')]({'where':{'id':_0x4044e7[_0xd453('0x43')]['id']}})['then'](handleEntityNotFound(_0x5c1366,null))['then'](saveUpdates(_0x4044e7[_0xd453('0x48')],null))[_0xd453('0x28')](respondWithResult(_0x5c1366,null))[_0xd453('0x42')](handleError(_0x5c1366,null));};exports[_0xd453('0x27')]=function(_0x349a50,_0x5ae679){return db['Dynamics365Field'][_0xd453('0x46')]({'where':{'id':_0x349a50[_0xd453('0x43')]['id']}})[_0xd453('0x28')](handleEntityNotFound(_0x5ae679,null))['then'](removeEntity(_0x5ae679,null))['catch'](handleError(_0x5ae679,null));};
\ No newline at end of file
+var _0x5f5f=['rimraf','fast-json-patch','request-promise','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','then','destroy','error','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','include','rows','catch','show','params','Dynamics365Field','length','create','body','update','find','eml-format'];(function(_0x2663b9,_0x20875a){var _0xd03a24=function(_0x419244){while(--_0x419244){_0x2663b9['push'](_0x2663b9['shift']());}};_0xd03a24(++_0x20875a);}(_0x5f5f,0x1c1));var _0xf5f5=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x5f5f[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xf5f5('0x0'));var rimraf=require(_0xf5f5('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf5f5('0x2'));var rp=require(_0xf5f5('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xf5f5('0x4'));var path=require(_0xf5f5('0x5'));var sox=require(_0xf5f5('0x6'));var csv=require(_0xf5f5('0x7'));var ejs=require(_0xf5f5('0x8'));var fs=require('fs');var fs_extra=require(_0xf5f5('0x9'));var _=require(_0xf5f5('0xa'));var squel=require(_0xf5f5('0xb'));var crypto=require(_0xf5f5('0xc'));var jsforce=require(_0xf5f5('0xd'));var deskjs=require(_0xf5f5('0xe'));var toCsv=require(_0xf5f5('0x7'));var querystring=require(_0xf5f5('0xf'));var Papa=require(_0xf5f5('0x10'));var Redis=require('ioredis');var authService=require(_0xf5f5('0x11'));var qs=require(_0xf5f5('0x12'));var as=require(_0xf5f5('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf5f5('0x14'))('api');var utils=require('../../config/utils');var config=require(_0xf5f5('0x15'));var licenseUtil=require(_0xf5f5('0x16'));var db=require(_0xf5f5('0x17'))['db'];function respondWithStatusCode(_0x3fed29,_0x383672){_0x383672=_0x383672||0xcc;return function(_0x4dea4f){if(_0x4dea4f){return _0x3fed29[_0xf5f5('0x18')](_0x383672);}return _0x3fed29[_0xf5f5('0x19')](_0x383672)[_0xf5f5('0x1a')]();};}function respondWithResult(_0x331955,_0x5c9f25){_0x5c9f25=_0x5c9f25||0xc8;return function(_0x2586de){if(_0x2586de){return _0x331955['status'](_0x5c9f25)[_0xf5f5('0x1b')](_0x2586de);}};}function respondWithFilteredResult(_0x10ccac,_0x482842){return function(_0x2beb28){if(_0x2beb28){var _0x5ced13=typeof _0x482842[_0xf5f5('0x1c')]===_0xf5f5('0x1d')&&typeof _0x482842[_0xf5f5('0x1e')]===_0xf5f5('0x1d');var _0x26394b=_0x2beb28[_0xf5f5('0x1f')];var _0x570dcd=_0x5ced13?0x0:_0x482842['offset'];var _0x5da14b=_0x5ced13?_0x2beb28[_0xf5f5('0x1f')]:_0x482842[_0xf5f5('0x1c')]+_0x482842['limit'];var _0x4aebd1;if(_0x5da14b>=_0x26394b){_0x5da14b=_0x26394b;_0x4aebd1=0xc8;}else{_0x4aebd1=0xce;}_0x10ccac[_0xf5f5('0x19')](_0x4aebd1);return _0x10ccac['set'](_0xf5f5('0x20'),_0x570dcd+'-'+_0x5da14b+'/'+_0x26394b)[_0xf5f5('0x1b')](_0x2beb28);}return null;};}function patchUpdates(_0x5d1dfb){return function(_0x10736d){try{jsonpatch[_0xf5f5('0x21')](_0x10736d,_0x5d1dfb,!![]);}catch(_0x163989){return BPromise[_0xf5f5('0x22')](_0x163989);}return _0x10736d[_0xf5f5('0x23')]();};}function saveUpdates(_0x2f3741,_0x50a83a){return function(_0x1e9001){if(_0x1e9001){return _0x1e9001['update'](_0x2f3741)[_0xf5f5('0x24')](function(_0xdf7f34){return _0xdf7f34;});}return null;};}function removeEntity(_0x53e6b3,_0x487fd7){return function(_0x5eb3e8){if(_0x5eb3e8){return _0x5eb3e8[_0xf5f5('0x25')]()[_0xf5f5('0x24')](function(){_0x53e6b3[_0xf5f5('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x582e72,_0x27d6bd){return function(_0x1815a1){if(!_0x1815a1){_0x582e72[_0xf5f5('0x18')](0x194);}return _0x1815a1;};}function handleError(_0x1fdbdd,_0x22d309){_0x22d309=_0x22d309||0x1f4;return function(_0x460da8){logger[_0xf5f5('0x26')](_0x460da8['stack']);if(_0x460da8[_0xf5f5('0x27')]){delete _0x460da8[_0xf5f5('0x27')];}_0x1fdbdd[_0xf5f5('0x19')](_0x22d309)[_0xf5f5('0x28')](_0x460da8);};}exports[_0xf5f5('0x29')]=function(_0x112ca5,_0x2044b5){var _0xc369fc={},_0x2a919f={},_0x542542={'count':0x0,'rows':[]};var _0x41885a=_[_0xf5f5('0x2a')](db['Dynamics365Field'][_0xf5f5('0x2b')],function(_0x2b5466){return{'name':_0x2b5466[_0xf5f5('0x2c')],'type':_0x2b5466[_0xf5f5('0x2d')][_0xf5f5('0x2e')]};});_0x2a919f[_0xf5f5('0x2f')]=_['map'](_0x41885a,_0xf5f5('0x27'));_0x2a919f[_0xf5f5('0x30')]=_[_0xf5f5('0x31')](_0x112ca5[_0xf5f5('0x30')]);_0x2a919f['filters']=_[_0xf5f5('0x32')](_0x2a919f[_0xf5f5('0x2f')],_0x2a919f[_0xf5f5('0x30')]);_0xc369fc['attributes']=_[_0xf5f5('0x32')](_0x2a919f[_0xf5f5('0x2f')],qs['fields'](_0x112ca5[_0xf5f5('0x30')][_0xf5f5('0x33')]));_0xc369fc['attributes']=_0xc369fc[_0xf5f5('0x34')]['length']?_0xc369fc[_0xf5f5('0x34')]:_0x2a919f[_0xf5f5('0x2f')];if(!_0x112ca5[_0xf5f5('0x30')][_0xf5f5('0x35')](_0xf5f5('0x36'))){_0xc369fc[_0xf5f5('0x1e')]=qs[_0xf5f5('0x1e')](_0x112ca5[_0xf5f5('0x30')][_0xf5f5('0x1e')]);_0xc369fc['offset']=qs[_0xf5f5('0x1c')](_0x112ca5[_0xf5f5('0x30')][_0xf5f5('0x1c')]);}_0xc369fc[_0xf5f5('0x37')]=qs[_0xf5f5('0x38')](_0x112ca5['query']['sort']);_0xc369fc[_0xf5f5('0x39')]=qs[_0xf5f5('0x3a')](_[_0xf5f5('0x3b')](_0x112ca5['query'],_0x2a919f['filters']),_0x41885a);if(_0x112ca5[_0xf5f5('0x30')]['filter']){_0xc369fc['where']=_[_0xf5f5('0x3c')](_0xc369fc['where'],{'$or':_[_0xf5f5('0x2a')](_0x41885a,function(_0x2502d5){if(_0x2502d5['type']!==_0xf5f5('0x3d')){var _0x152a6a={};_0x152a6a[_0x2502d5['name']]={'$like':'%'+_0x112ca5['query'][_0xf5f5('0x3e')]+'%'};return _0x152a6a;}})});}_0xc369fc=_[_0xf5f5('0x3c')]({},_0xc369fc,_0x112ca5[_0xf5f5('0x3f')]);var _0x2c9b73={'where':_0xc369fc[_0xf5f5('0x39')]};return db['Dynamics365Field']['count'](_0x2c9b73)[_0xf5f5('0x24')](function(_0x3275c2){_0x542542[_0xf5f5('0x1f')]=_0x3275c2;if(_0x112ca5[_0xf5f5('0x30')]['includeAll']){_0xc369fc[_0xf5f5('0x40')]=[{'all':!![]}];}return db['Dynamics365Field']['findAll'](_0xc369fc);})['then'](function(_0x297a17){_0x542542[_0xf5f5('0x41')]=_0x297a17;return _0x542542;})['then'](respondWithFilteredResult(_0x2044b5,_0xc369fc))[_0xf5f5('0x42')](handleError(_0x2044b5,null));};exports[_0xf5f5('0x43')]=function(_0x28fd37,_0x3c1fa1){var _0xdb2143={'raw':!![],'where':{'id':_0x28fd37[_0xf5f5('0x44')]['id']}},_0x24578f={};_0x24578f[_0xf5f5('0x2f')]=_['keys'](db[_0xf5f5('0x45')][_0xf5f5('0x2b')]);_0x24578f[_0xf5f5('0x30')]=_[_0xf5f5('0x31')](_0x28fd37[_0xf5f5('0x30')]);_0x24578f[_0xf5f5('0x3a')]=_[_0xf5f5('0x32')](_0x24578f['model'],_0x24578f[_0xf5f5('0x30')]);_0xdb2143[_0xf5f5('0x34')]=_[_0xf5f5('0x32')](_0x24578f['model'],qs['fields'](_0x28fd37[_0xf5f5('0x30')][_0xf5f5('0x33')]));_0xdb2143[_0xf5f5('0x34')]=_0xdb2143[_0xf5f5('0x34')][_0xf5f5('0x46')]?_0xdb2143[_0xf5f5('0x34')]:_0x24578f[_0xf5f5('0x2f')];if(_0x28fd37['query']['includeAll']){_0xdb2143[_0xf5f5('0x40')]=[{'all':!![]}];}_0xdb2143=_['merge']({},_0xdb2143,_0x28fd37[_0xf5f5('0x3f')]);return db[_0xf5f5('0x45')]['find'](_0xdb2143)[_0xf5f5('0x24')](handleEntityNotFound(_0x3c1fa1,null))['then'](respondWithResult(_0x3c1fa1,null))[_0xf5f5('0x42')](handleError(_0x3c1fa1,null));};exports[_0xf5f5('0x47')]=function(_0x459e2e,_0x8232e0){return db[_0xf5f5('0x45')][_0xf5f5('0x47')](_0x459e2e[_0xf5f5('0x48')],{})[_0xf5f5('0x24')](respondWithResult(_0x8232e0,0xc9))[_0xf5f5('0x42')](handleError(_0x8232e0,null));};exports[_0xf5f5('0x49')]=function(_0x36ed9f,_0xcdda68){if(_0x36ed9f[_0xf5f5('0x48')]['id']){delete _0x36ed9f['body']['id'];}return db[_0xf5f5('0x45')][_0xf5f5('0x4a')]({'where':{'id':_0x36ed9f[_0xf5f5('0x44')]['id']}})[_0xf5f5('0x24')](handleEntityNotFound(_0xcdda68,null))['then'](saveUpdates(_0x36ed9f[_0xf5f5('0x48')],null))['then'](respondWithResult(_0xcdda68,null))[_0xf5f5('0x42')](handleError(_0xcdda68,null));};exports[_0xf5f5('0x25')]=function(_0x2bd703,_0x12da87){return db[_0xf5f5('0x45')][_0xf5f5('0x4a')]({'where':{'id':_0x2bd703[_0xf5f5('0x44')]['id']}})[_0xf5f5('0x24')](handleEntityNotFound(_0x12da87,null))['then'](removeEntity(_0x12da87,null))[_0xf5f5('0x42')](handleError(_0x12da87,null));};
\ No newline at end of file