Built motion from commit d1eab355.|2.6.28
[motion2.git] / server / api / intZendeskField / intZendeskField.controller.js
index 296dafa..9ebb700 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xc36d=['desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../mysqldb','status','end','json','limit','undefined','count','offset','Content-Range','apply','save','update','then','destroy','stack','name','send','index','rawAttributes','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','map','options','includeAll','include','rows','catch','show','params','ZendeskField','find','create','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce'];(function(_0xedf87c,_0x5d7580){var _0x423d2d=function(_0x433ddc){while(--_0x433ddc){_0xedf87c['push'](_0xedf87c['shift']());}};_0x423d2d(++_0x5d7580);}(_0xc36d,0x7d));var _0xdc36=function(_0x16eb19,_0x58cea4){_0x16eb19=_0x16eb19-0x0;var _0x312a25=_0xc36d[_0x16eb19];return _0x312a25;};'use strict';var emlformat=require(_0xdc36('0x0'));var rimraf=require(_0xdc36('0x1'));var zipdir=require(_0xdc36('0x2'));var jsonpatch=require(_0xdc36('0x3'));var rp=require(_0xdc36('0x4'));var moment=require(_0xdc36('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xdc36('0x6'));var util=require(_0xdc36('0x7'));var path=require('path');var sox=require(_0xdc36('0x8'));var csv=require(_0xdc36('0x9'));var ejs=require(_0xdc36('0xa'));var fs=require('fs');var fs_extra=require(_0xdc36('0xb'));var _=require(_0xdc36('0xc'));var squel=require('squel');var crypto=require(_0xdc36('0xd'));var jsforce=require(_0xdc36('0xe'));var deskjs=require(_0xdc36('0xf'));var toCsv=require(_0xdc36('0x9'));var querystring=require('querystring');var Papa=require(_0xdc36('0x10'));var Redis=require(_0xdc36('0x11'));var authService=require('../../components/auth/service');var qs=require(_0xdc36('0x12'));var as=require(_0xdc36('0x13'));var hardwareService=require(_0xdc36('0x14'));var logger=require('../../config/logger')(_0xdc36('0x15'));var utils=require(_0xdc36('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xdc36('0x17'))['db'];function respondWithStatusCode(_0x276692,_0x519fa5){_0x519fa5=_0x519fa5||0xcc;return function(_0x5d62ee){if(_0x5d62ee){return _0x276692['sendStatus'](_0x519fa5);}return _0x276692[_0xdc36('0x18')](_0x519fa5)[_0xdc36('0x19')]();};}function respondWithResult(_0x243d54,_0xae6ad3){_0xae6ad3=_0xae6ad3||0xc8;return function(_0x30803d){if(_0x30803d){return _0x243d54[_0xdc36('0x18')](_0xae6ad3)[_0xdc36('0x1a')](_0x30803d);}};}function respondWithFilteredResult(_0x809cf0,_0x57ebde){return function(_0x155cce){if(_0x155cce){var _0x526ac8=typeof _0x57ebde['offset']==='undefined'&&typeof _0x57ebde[_0xdc36('0x1b')]===_0xdc36('0x1c');var _0x5a498f=_0x155cce[_0xdc36('0x1d')];var _0x219a73=_0x526ac8?0x0:_0x57ebde[_0xdc36('0x1e')];var _0x225878=_0x526ac8?_0x155cce[_0xdc36('0x1d')]:_0x57ebde[_0xdc36('0x1e')]+_0x57ebde['limit'];var _0x3d4c4c;if(_0x225878>=_0x5a498f){_0x225878=_0x5a498f;_0x3d4c4c=0xc8;}else{_0x3d4c4c=0xce;}_0x809cf0[_0xdc36('0x18')](_0x3d4c4c);return _0x809cf0['set'](_0xdc36('0x1f'),_0x219a73+'-'+_0x225878+'/'+_0x5a498f)[_0xdc36('0x1a')](_0x155cce);}return null;};}function patchUpdates(_0x3f25f0){return function(_0x5f15ef){try{jsonpatch[_0xdc36('0x20')](_0x5f15ef,_0x3f25f0,!![]);}catch(_0x235a39){return BPromise['reject'](_0x235a39);}return _0x5f15ef[_0xdc36('0x21')]();};}function saveUpdates(_0x480277,_0x5a6e35){return function(_0x12f9d8){if(_0x12f9d8){return _0x12f9d8[_0xdc36('0x22')](_0x480277)[_0xdc36('0x23')](function(_0xda916b){return _0xda916b;});}return null;};}function removeEntity(_0x2d83c0,_0x34d261){return function(_0x14b595){if(_0x14b595){return _0x14b595[_0xdc36('0x24')]()['then'](function(){_0x2d83c0[_0xdc36('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2338d7,_0x38bd73){return function(_0x15e686){if(!_0x15e686){_0x2338d7['sendStatus'](0x194);}return _0x15e686;};}function handleError(_0xbc4322,_0x6e3906){_0x6e3906=_0x6e3906||0x1f4;return function(_0x337091){logger['error'](_0x337091[_0xdc36('0x25')]);if(_0x337091[_0xdc36('0x26')]){delete _0x337091[_0xdc36('0x26')];}_0xbc4322['status'](_0x6e3906)[_0xdc36('0x27')](_0x337091);};}exports[_0xdc36('0x28')]=function(_0x4b15b4,_0x3fe57f){var _0x12fed2={},_0x4ea2ad={},_0x21151b={'count':0x0,'rows':[]};var _0x5bba0b=_['map'](db['ZendeskField'][_0xdc36('0x29')],function(_0x2f2bb4){return{'name':_0x2f2bb4['fieldName'],'type':_0x2f2bb4[_0xdc36('0x2a')][_0xdc36('0x2b')]};});_0x4ea2ad[_0xdc36('0x2c')]=_['map'](_0x5bba0b,_0xdc36('0x26'));_0x4ea2ad[_0xdc36('0x2d')]=_[_0xdc36('0x2e')](_0x4b15b4[_0xdc36('0x2d')]);_0x4ea2ad[_0xdc36('0x2f')]=_[_0xdc36('0x30')](_0x4ea2ad[_0xdc36('0x2c')],_0x4ea2ad['query']);_0x12fed2[_0xdc36('0x31')]=_[_0xdc36('0x30')](_0x4ea2ad['model'],qs['fields'](_0x4b15b4[_0xdc36('0x2d')][_0xdc36('0x32')]));_0x12fed2[_0xdc36('0x31')]=_0x12fed2['attributes']['length']?_0x12fed2[_0xdc36('0x31')]:_0x4ea2ad[_0xdc36('0x2c')];if(!_0x4b15b4[_0xdc36('0x2d')][_0xdc36('0x33')](_0xdc36('0x34'))){_0x12fed2[_0xdc36('0x1b')]=qs[_0xdc36('0x1b')](_0x4b15b4[_0xdc36('0x2d')][_0xdc36('0x1b')]);_0x12fed2[_0xdc36('0x1e')]=qs[_0xdc36('0x1e')](_0x4b15b4['query'][_0xdc36('0x1e')]);}_0x12fed2[_0xdc36('0x35')]=qs[_0xdc36('0x36')](_0x4b15b4[_0xdc36('0x2d')]['sort']);_0x12fed2[_0xdc36('0x37')]=qs[_0xdc36('0x2f')](_[_0xdc36('0x38')](_0x4b15b4[_0xdc36('0x2d')],_0x4ea2ad['filters']),_0x5bba0b);if(_0x4b15b4[_0xdc36('0x2d')]['filter']){_0x12fed2['where']=_[_0xdc36('0x39')](_0x12fed2[_0xdc36('0x37')],{'$or':_[_0xdc36('0x3a')](_0x5bba0b,function(_0x54c45d){if(_0x54c45d[_0xdc36('0x2a')]!=='VIRTUAL'){var _0x45760b={};_0x45760b[_0x54c45d[_0xdc36('0x26')]]={'$like':'%'+_0x4b15b4[_0xdc36('0x2d')]['filter']+'%'};return _0x45760b;}})});}_0x12fed2=_[_0xdc36('0x39')]({},_0x12fed2,_0x4b15b4[_0xdc36('0x3b')]);var _0xd98d42={'where':_0x12fed2[_0xdc36('0x37')]};return db['ZendeskField'][_0xdc36('0x1d')](_0xd98d42)[_0xdc36('0x23')](function(_0x68816d){_0x21151b['count']=_0x68816d;if(_0x4b15b4['query'][_0xdc36('0x3c')]){_0x12fed2[_0xdc36('0x3d')]=[{'all':!![]}];}return db['ZendeskField']['findAll'](_0x12fed2);})[_0xdc36('0x23')](function(_0x8f4c80){_0x21151b[_0xdc36('0x3e')]=_0x8f4c80;return _0x21151b;})[_0xdc36('0x23')](respondWithFilteredResult(_0x3fe57f,_0x12fed2))[_0xdc36('0x3f')](handleError(_0x3fe57f,null));};exports[_0xdc36('0x40')]=function(_0x932213,_0x2a83ee){var _0x2f4c89={'raw':!![],'where':{'id':_0x932213[_0xdc36('0x41')]['id']}},_0x125f0e={};_0x125f0e[_0xdc36('0x2c')]=_[_0xdc36('0x2e')](db[_0xdc36('0x42')][_0xdc36('0x29')]);_0x125f0e[_0xdc36('0x2d')]=_[_0xdc36('0x2e')](_0x932213[_0xdc36('0x2d')]);_0x125f0e[_0xdc36('0x2f')]=_[_0xdc36('0x30')](_0x125f0e[_0xdc36('0x2c')],_0x125f0e[_0xdc36('0x2d')]);_0x2f4c89[_0xdc36('0x31')]=_[_0xdc36('0x30')](_0x125f0e[_0xdc36('0x2c')],qs[_0xdc36('0x32')](_0x932213['query'][_0xdc36('0x32')]));_0x2f4c89[_0xdc36('0x31')]=_0x2f4c89['attributes']['length']?_0x2f4c89[_0xdc36('0x31')]:_0x125f0e['model'];if(_0x932213[_0xdc36('0x2d')]['includeAll']){_0x2f4c89[_0xdc36('0x3d')]=[{'all':!![]}];}_0x2f4c89=_[_0xdc36('0x39')]({},_0x2f4c89,_0x932213[_0xdc36('0x3b')]);return db[_0xdc36('0x42')][_0xdc36('0x43')](_0x2f4c89)[_0xdc36('0x23')](handleEntityNotFound(_0x2a83ee,null))[_0xdc36('0x23')](respondWithResult(_0x2a83ee,null))[_0xdc36('0x3f')](handleError(_0x2a83ee,null));};exports[_0xdc36('0x44')]=function(_0x38c24b,_0x3c27c7){return db[_0xdc36('0x42')][_0xdc36('0x44')](_0x38c24b[_0xdc36('0x45')],{})[_0xdc36('0x23')](respondWithResult(_0x3c27c7,0xc9))[_0xdc36('0x3f')](handleError(_0x3c27c7,null));};exports[_0xdc36('0x22')]=function(_0x3399cc,_0x562c86){if(_0x3399cc['body']['id']){delete _0x3399cc[_0xdc36('0x45')]['id'];}return db[_0xdc36('0x42')][_0xdc36('0x43')]({'where':{'id':_0x3399cc[_0xdc36('0x41')]['id']}})[_0xdc36('0x23')](handleEntityNotFound(_0x562c86,null))[_0xdc36('0x23')](saveUpdates(_0x3399cc['body'],null))[_0xdc36('0x23')](respondWithResult(_0x562c86,null))[_0xdc36('0x3f')](handleError(_0x562c86,null));};exports[_0xdc36('0x24')]=function(_0x49f456,_0x2c6856){return db[_0xdc36('0x42')][_0xdc36('0x43')]({'where':{'id':_0x49f456[_0xdc36('0x41')]['id']}})[_0xdc36('0x23')](handleEntityNotFound(_0x2c6856,null))[_0xdc36('0x23')](removeEntity(_0x2c6856,null))['catch'](handleError(_0x2c6856,null));};
\ No newline at end of file
+var _0x1904=['util','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','then','error','stack','name','index','map','ZendeskField','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','update','destroy','eml-format','request-promise','moment','bluebird','mustache'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x1904,0x1b1));var _0x4190=function(_0x462a63,_0x3132c2){_0x462a63=_0x462a63-0x0;var _0x4dad01=_0x1904[_0x462a63];return _0x4dad01;};'use strict';var emlformat=require(_0x4190('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x4190('0x1'));var moment=require(_0x4190('0x2'));var BPromise=require(_0x4190('0x3'));var Mustache=require(_0x4190('0x4'));var util=require(_0x4190('0x5'));var path=require('path');var sox=require(_0x4190('0x6'));var csv=require(_0x4190('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4190('0x8'));var _=require(_0x4190('0x9'));var squel=require(_0x4190('0xa'));var crypto=require(_0x4190('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x4190('0xc'));var toCsv=require(_0x4190('0x7'));var querystring=require(_0x4190('0xd'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x4190('0xe'));var as=require(_0x4190('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x4190('0x10'))('api');var utils=require('../../config/utils');var config=require(_0x4190('0x11'));var licenseUtil=require(_0x4190('0x12'));var db=require(_0x4190('0x13'))['db'];function respondWithStatusCode(_0x3eeec8,_0x1c2be8){_0x1c2be8=_0x1c2be8||0xcc;return function(_0xf90e0f){if(_0xf90e0f){return _0x3eeec8[_0x4190('0x14')](_0x1c2be8);}return _0x3eeec8[_0x4190('0x15')](_0x1c2be8)[_0x4190('0x16')]();};}function respondWithResult(_0x5753a4,_0x4a6f57){_0x4a6f57=_0x4a6f57||0xc8;return function(_0xc721dc){if(_0xc721dc){return _0x5753a4[_0x4190('0x15')](_0x4a6f57)[_0x4190('0x17')](_0xc721dc);}};}function respondWithFilteredResult(_0x4b725e,_0x1925d3){return function(_0x27bcfe){if(_0x27bcfe){var _0x33d2da=typeof _0x1925d3[_0x4190('0x18')]==='undefined'&&typeof _0x1925d3[_0x4190('0x19')]===_0x4190('0x1a');var _0x556517=_0x27bcfe[_0x4190('0x1b')];var _0x196666=_0x33d2da?0x0:_0x1925d3['offset'];var _0x27c285=_0x33d2da?_0x27bcfe['count']:_0x1925d3[_0x4190('0x18')]+_0x1925d3['limit'];var _0x420304;if(_0x27c285>=_0x556517){_0x27c285=_0x556517;_0x420304=0xc8;}else{_0x420304=0xce;}_0x4b725e[_0x4190('0x15')](_0x420304);return _0x4b725e['set'](_0x4190('0x1c'),_0x196666+'-'+_0x27c285+'/'+_0x556517)['json'](_0x27bcfe);}return null;};}function patchUpdates(_0x2901f3){return function(_0x13d27a){try{jsonpatch[_0x4190('0x1d')](_0x13d27a,_0x2901f3,!![]);}catch(_0x1752a1){return BPromise[_0x4190('0x1e')](_0x1752a1);}return _0x13d27a[_0x4190('0x1f')]();};}function saveUpdates(_0x4dcc1c,_0x1d719b){return function(_0x359f16){if(_0x359f16){return _0x359f16['update'](_0x4dcc1c)['then'](function(_0x3f4828){return _0x3f4828;});}return null;};}function removeEntity(_0x1518fb,_0x23542c){return function(_0x1b2711){if(_0x1b2711){return _0x1b2711['destroy']()[_0x4190('0x20')](function(){_0x1518fb[_0x4190('0x15')](0xcc)[_0x4190('0x16')]();});}};}function handleEntityNotFound(_0x23d6cd,_0x378c06){return function(_0x28c210){if(!_0x28c210){_0x23d6cd[_0x4190('0x14')](0x194);}return _0x28c210;};}function handleError(_0x41ce88,_0x3175b5){_0x3175b5=_0x3175b5||0x1f4;return function(_0x567976){logger[_0x4190('0x21')](_0x567976[_0x4190('0x22')]);if(_0x567976['name']){delete _0x567976[_0x4190('0x23')];}_0x41ce88[_0x4190('0x15')](_0x3175b5)['send'](_0x567976);};}exports[_0x4190('0x24')]=function(_0xf2dea7,_0x2b0c95){var _0x1fecc2={},_0x3b2a40={},_0x567118={'count':0x0,'rows':[]};var _0x2c8c1f=_[_0x4190('0x25')](db[_0x4190('0x26')][_0x4190('0x27')],function(_0x2ff86a){return{'name':_0x2ff86a[_0x4190('0x28')],'type':_0x2ff86a[_0x4190('0x29')][_0x4190('0x2a')]};});_0x3b2a40['model']=_[_0x4190('0x25')](_0x2c8c1f,'name');_0x3b2a40[_0x4190('0x2b')]=_[_0x4190('0x2c')](_0xf2dea7[_0x4190('0x2b')]);_0x3b2a40[_0x4190('0x2d')]=_[_0x4190('0x2e')](_0x3b2a40[_0x4190('0x2f')],_0x3b2a40[_0x4190('0x2b')]);_0x1fecc2[_0x4190('0x30')]=_[_0x4190('0x2e')](_0x3b2a40['model'],qs[_0x4190('0x31')](_0xf2dea7[_0x4190('0x2b')]['fields']));_0x1fecc2[_0x4190('0x30')]=_0x1fecc2[_0x4190('0x30')][_0x4190('0x32')]?_0x1fecc2['attributes']:_0x3b2a40['model'];if(!_0xf2dea7[_0x4190('0x2b')][_0x4190('0x33')](_0x4190('0x34'))){_0x1fecc2[_0x4190('0x19')]=qs[_0x4190('0x19')](_0xf2dea7[_0x4190('0x2b')][_0x4190('0x19')]);_0x1fecc2[_0x4190('0x18')]=qs[_0x4190('0x18')](_0xf2dea7[_0x4190('0x2b')][_0x4190('0x18')]);}_0x1fecc2[_0x4190('0x35')]=qs[_0x4190('0x36')](_0xf2dea7[_0x4190('0x2b')][_0x4190('0x36')]);_0x1fecc2[_0x4190('0x37')]=qs[_0x4190('0x2d')](_[_0x4190('0x38')](_0xf2dea7[_0x4190('0x2b')],_0x3b2a40[_0x4190('0x2d')]),_0x2c8c1f);if(_0xf2dea7[_0x4190('0x2b')][_0x4190('0x39')]){_0x1fecc2[_0x4190('0x37')]=_[_0x4190('0x3a')](_0x1fecc2[_0x4190('0x37')],{'$or':_[_0x4190('0x25')](_0x2c8c1f,function(_0x33539c){if(_0x33539c['type']!==_0x4190('0x3b')){var _0x2dc06e={};_0x2dc06e[_0x33539c[_0x4190('0x23')]]={'$like':'%'+_0xf2dea7[_0x4190('0x2b')][_0x4190('0x39')]+'%'};return _0x2dc06e;}})});}_0x1fecc2=_['merge']({},_0x1fecc2,_0xf2dea7[_0x4190('0x3c')]);var _0x1172ac={'where':_0x1fecc2[_0x4190('0x37')]};return db['ZendeskField']['count'](_0x1172ac)['then'](function(_0x3ddf8a){_0x567118[_0x4190('0x1b')]=_0x3ddf8a;if(_0xf2dea7[_0x4190('0x2b')][_0x4190('0x3d')]){_0x1fecc2[_0x4190('0x3e')]=[{'all':!![]}];}return db[_0x4190('0x26')][_0x4190('0x3f')](_0x1fecc2);})['then'](function(_0x5b7d00){_0x567118[_0x4190('0x40')]=_0x5b7d00;return _0x567118;})['then'](respondWithFilteredResult(_0x2b0c95,_0x1fecc2))[_0x4190('0x41')](handleError(_0x2b0c95,null));};exports[_0x4190('0x42')]=function(_0x38b580,_0xe0a1e1){var _0x53b521={'raw':!![],'where':{'id':_0x38b580[_0x4190('0x43')]['id']}},_0x333218={};_0x333218[_0x4190('0x2f')]=_[_0x4190('0x2c')](db[_0x4190('0x26')][_0x4190('0x27')]);_0x333218[_0x4190('0x2b')]=_[_0x4190('0x2c')](_0x38b580[_0x4190('0x2b')]);_0x333218[_0x4190('0x2d')]=_[_0x4190('0x2e')](_0x333218['model'],_0x333218[_0x4190('0x2b')]);_0x53b521[_0x4190('0x30')]=_[_0x4190('0x2e')](_0x333218[_0x4190('0x2f')],qs['fields'](_0x38b580['query']['fields']));_0x53b521[_0x4190('0x30')]=_0x53b521[_0x4190('0x30')][_0x4190('0x32')]?_0x53b521[_0x4190('0x30')]:_0x333218[_0x4190('0x2f')];if(_0x38b580[_0x4190('0x2b')]['includeAll']){_0x53b521[_0x4190('0x3e')]=[{'all':!![]}];}_0x53b521=_[_0x4190('0x3a')]({},_0x53b521,_0x38b580[_0x4190('0x3c')]);return db[_0x4190('0x26')][_0x4190('0x44')](_0x53b521)[_0x4190('0x20')](handleEntityNotFound(_0xe0a1e1,null))[_0x4190('0x20')](respondWithResult(_0xe0a1e1,null))[_0x4190('0x41')](handleError(_0xe0a1e1,null));};exports['create']=function(_0x1e0dde,_0x219854){return db[_0x4190('0x26')][_0x4190('0x45')](_0x1e0dde[_0x4190('0x46')],{})[_0x4190('0x20')](respondWithResult(_0x219854,0xc9))[_0x4190('0x41')](handleError(_0x219854,null));};exports[_0x4190('0x47')]=function(_0x3dcb70,_0x116ca6){if(_0x3dcb70[_0x4190('0x46')]['id']){delete _0x3dcb70[_0x4190('0x46')]['id'];}return db[_0x4190('0x26')][_0x4190('0x44')]({'where':{'id':_0x3dcb70[_0x4190('0x43')]['id']}})[_0x4190('0x20')](handleEntityNotFound(_0x116ca6,null))['then'](saveUpdates(_0x3dcb70['body'],null))[_0x4190('0x20')](respondWithResult(_0x116ca6,null))[_0x4190('0x41')](handleError(_0x116ca6,null));};exports[_0x4190('0x48')]=function(_0x5ab84f,_0x37af21){return db['ZendeskField'][_0x4190('0x44')]({'where':{'id':_0x5ab84f[_0x4190('0x43')]['id']}})[_0x4190('0x20')](handleEntityNotFound(_0x37af21,null))[_0x4190('0x20')](removeEntity(_0x37af21,null))[_0x4190('0x41')](handleError(_0x37af21,null));};
\ No newline at end of file