Built motion from commit 06eb8eb0.|2.6.31
[motion2.git] / server / api / intVtigerField / intVtigerField.controller.js
index 47fb5a1..9885077 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xfb8a=['merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','keys','find','create','body','update','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','undefined','count','offset','limit','set','Content-Range','json','apply','reject','save','then','destroy','sendStatus','error','name','send','map','VtigerField','rawAttributes','fieldName','type','key','model','query','intersection','attributes','fields','length','order','sort','where','filters','pick','filter'];(function(_0x227b98,_0x32f2c2){var _0x4f4146=function(_0x5a7aaa){while(--_0x5a7aaa){_0x227b98['push'](_0x227b98['shift']());}};_0x4f4146(++_0x32f2c2);}(_0xfb8a,0x1ca));var _0xafb8=function(_0x3c704b,_0xd6f86f){_0x3c704b=_0x3c704b-0x0;var _0x44cb8b=_0xfb8a[_0x3c704b];return _0x44cb8b;};'use strict';var emlformat=require(_0xafb8('0x0'));var rimraf=require(_0xafb8('0x1'));var zipdir=require(_0xafb8('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xafb8('0x3'));var BPromise=require(_0xafb8('0x4'));var Mustache=require(_0xafb8('0x5'));var util=require(_0xafb8('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0xafb8('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xafb8('0x8'));var _=require(_0xafb8('0x9'));var squel=require('squel');var crypto=require(_0xafb8('0xa'));var jsforce=require(_0xafb8('0xb'));var deskjs=require(_0xafb8('0xc'));var toCsv=require('to-csv');var querystring=require(_0xafb8('0xd'));var Papa=require(_0xafb8('0xe'));var Redis=require('ioredis');var authService=require(_0xafb8('0xf'));var qs=require(_0xafb8('0x10'));var as=require(_0xafb8('0x11'));var hardwareService=require(_0xafb8('0x12'));var logger=require('../../config/logger')(_0xafb8('0x13'));var utils=require(_0xafb8('0x14'));var config=require(_0xafb8('0x15'));var licenseUtil=require(_0xafb8('0x16'));var db=require(_0xafb8('0x17'))['db'];function respondWithStatusCode(_0x210789,_0x50f7f3){_0x50f7f3=_0x50f7f3||0xcc;return function(_0x33a86b){if(_0x33a86b){return _0x210789['sendStatus'](_0x50f7f3);}return _0x210789[_0xafb8('0x18')](_0x50f7f3)[_0xafb8('0x19')]();};}function respondWithResult(_0x2ad18a,_0x2d0041){_0x2d0041=_0x2d0041||0xc8;return function(_0x278f02){if(_0x278f02){return _0x2ad18a[_0xafb8('0x18')](_0x2d0041)['json'](_0x278f02);}};}function respondWithFilteredResult(_0x5aa818,_0x11fa2f){return function(_0x5bbd19){if(_0x5bbd19){var _0x3cc798=typeof _0x11fa2f['offset']===_0xafb8('0x1a')&&typeof _0x11fa2f['limit']===_0xafb8('0x1a');var _0x4240ac=_0x5bbd19[_0xafb8('0x1b')];var _0x241e8b=_0x3cc798?0x0:_0x11fa2f[_0xafb8('0x1c')];var _0x5c97ce=_0x3cc798?_0x5bbd19[_0xafb8('0x1b')]:_0x11fa2f['offset']+_0x11fa2f[_0xafb8('0x1d')];var _0x4e0a13;if(_0x5c97ce>=_0x4240ac){_0x5c97ce=_0x4240ac;_0x4e0a13=0xc8;}else{_0x4e0a13=0xce;}_0x5aa818['status'](_0x4e0a13);return _0x5aa818[_0xafb8('0x1e')](_0xafb8('0x1f'),_0x241e8b+'-'+_0x5c97ce+'/'+_0x4240ac)[_0xafb8('0x20')](_0x5bbd19);}return null;};}function patchUpdates(_0xc5944d){return function(_0x2d2c5d){try{jsonpatch[_0xafb8('0x21')](_0x2d2c5d,_0xc5944d,!![]);}catch(_0x1feca6){return BPromise[_0xafb8('0x22')](_0x1feca6);}return _0x2d2c5d[_0xafb8('0x23')]();};}function saveUpdates(_0x4e5760,_0x5f1626){return function(_0x3511c7){if(_0x3511c7){return _0x3511c7['update'](_0x4e5760)[_0xafb8('0x24')](function(_0x540de9){return _0x540de9;});}return null;};}function removeEntity(_0x2fb36d,_0x1b7f51){return function(_0x1d490c){if(_0x1d490c){return _0x1d490c[_0xafb8('0x25')]()['then'](function(){_0x2fb36d[_0xafb8('0x18')](0xcc)[_0xafb8('0x19')]();});}};}function handleEntityNotFound(_0x4bb20e,_0x246ae1){return function(_0x23696a){if(!_0x23696a){_0x4bb20e[_0xafb8('0x26')](0x194);}return _0x23696a;};}function handleError(_0x2f4e3d,_0x409881){_0x409881=_0x409881||0x1f4;return function(_0x16d950){logger[_0xafb8('0x27')](_0x16d950['stack']);if(_0x16d950[_0xafb8('0x28')]){delete _0x16d950['name'];}_0x2f4e3d[_0xafb8('0x18')](_0x409881)[_0xafb8('0x29')](_0x16d950);};}exports['index']=function(_0x2bf56d,_0xbc57ba){var _0x2d4f37={},_0x155bc3={},_0x18a913={'count':0x0,'rows':[]};var _0x1529ae=_[_0xafb8('0x2a')](db[_0xafb8('0x2b')][_0xafb8('0x2c')],function(_0x67cac1){return{'name':_0x67cac1[_0xafb8('0x2d')],'type':_0x67cac1[_0xafb8('0x2e')][_0xafb8('0x2f')]};});_0x155bc3[_0xafb8('0x30')]=_[_0xafb8('0x2a')](_0x1529ae,_0xafb8('0x28'));_0x155bc3[_0xafb8('0x31')]=_['keys'](_0x2bf56d['query']);_0x155bc3['filters']=_[_0xafb8('0x32')](_0x155bc3['model'],_0x155bc3[_0xafb8('0x31')]);_0x2d4f37[_0xafb8('0x33')]=_[_0xafb8('0x32')](_0x155bc3['model'],qs[_0xafb8('0x34')](_0x2bf56d[_0xafb8('0x31')][_0xafb8('0x34')]));_0x2d4f37[_0xafb8('0x33')]=_0x2d4f37[_0xafb8('0x33')][_0xafb8('0x35')]?_0x2d4f37[_0xafb8('0x33')]:_0x155bc3['model'];if(!_0x2bf56d[_0xafb8('0x31')]['hasOwnProperty']('nolimit')){_0x2d4f37[_0xafb8('0x1d')]=qs[_0xafb8('0x1d')](_0x2bf56d[_0xafb8('0x31')]['limit']);_0x2d4f37[_0xafb8('0x1c')]=qs[_0xafb8('0x1c')](_0x2bf56d['query'][_0xafb8('0x1c')]);}_0x2d4f37[_0xafb8('0x36')]=qs[_0xafb8('0x37')](_0x2bf56d[_0xafb8('0x31')][_0xafb8('0x37')]);_0x2d4f37[_0xafb8('0x38')]=qs[_0xafb8('0x39')](_[_0xafb8('0x3a')](_0x2bf56d[_0xafb8('0x31')],_0x155bc3[_0xafb8('0x39')]),_0x1529ae);if(_0x2bf56d[_0xafb8('0x31')][_0xafb8('0x3b')]){_0x2d4f37[_0xafb8('0x38')]=_[_0xafb8('0x3c')](_0x2d4f37[_0xafb8('0x38')],{'$or':_['map'](_0x1529ae,function(_0xc3685b){if(_0xc3685b[_0xafb8('0x2e')]!==_0xafb8('0x3d')){var _0x1c234b={};_0x1c234b[_0xc3685b[_0xafb8('0x28')]]={'$like':'%'+_0x2bf56d[_0xafb8('0x31')][_0xafb8('0x3b')]+'%'};return _0x1c234b;}})});}_0x2d4f37=_[_0xafb8('0x3c')]({},_0x2d4f37,_0x2bf56d[_0xafb8('0x3e')]);var _0x1bfd23={'where':_0x2d4f37['where']};return db[_0xafb8('0x2b')][_0xafb8('0x1b')](_0x1bfd23)[_0xafb8('0x24')](function(_0x498453){_0x18a913[_0xafb8('0x1b')]=_0x498453;if(_0x2bf56d[_0xafb8('0x31')][_0xafb8('0x3f')]){_0x2d4f37[_0xafb8('0x40')]=[{'all':!![]}];}return db['VtigerField']['findAll'](_0x2d4f37);})[_0xafb8('0x24')](function(_0x5cceee){_0x18a913[_0xafb8('0x41')]=_0x5cceee;return _0x18a913;})['then'](respondWithFilteredResult(_0xbc57ba,_0x2d4f37))[_0xafb8('0x42')](handleError(_0xbc57ba,null));};exports[_0xafb8('0x43')]=function(_0x48cd1b,_0x91a4cf){var _0x28c082={'raw':!![],'where':{'id':_0x48cd1b[_0xafb8('0x44')]['id']}},_0x480094={};_0x480094[_0xafb8('0x30')]=_['keys'](db[_0xafb8('0x2b')][_0xafb8('0x2c')]);_0x480094[_0xafb8('0x31')]=_[_0xafb8('0x45')](_0x48cd1b[_0xafb8('0x31')]);_0x480094[_0xafb8('0x39')]=_[_0xafb8('0x32')](_0x480094['model'],_0x480094['query']);_0x28c082[_0xafb8('0x33')]=_[_0xafb8('0x32')](_0x480094[_0xafb8('0x30')],qs[_0xafb8('0x34')](_0x48cd1b['query'][_0xafb8('0x34')]));_0x28c082[_0xafb8('0x33')]=_0x28c082['attributes'][_0xafb8('0x35')]?_0x28c082['attributes']:_0x480094[_0xafb8('0x30')];if(_0x48cd1b[_0xafb8('0x31')][_0xafb8('0x3f')]){_0x28c082[_0xafb8('0x40')]=[{'all':!![]}];}_0x28c082=_[_0xafb8('0x3c')]({},_0x28c082,_0x48cd1b[_0xafb8('0x3e')]);return db['VtigerField'][_0xafb8('0x46')](_0x28c082)[_0xafb8('0x24')](handleEntityNotFound(_0x91a4cf,null))['then'](respondWithResult(_0x91a4cf,null))['catch'](handleError(_0x91a4cf,null));};exports[_0xafb8('0x47')]=function(_0x5804ff,_0x2aba58){return db[_0xafb8('0x2b')]['create'](_0x5804ff[_0xafb8('0x48')],{})[_0xafb8('0x24')](respondWithResult(_0x2aba58,0xc9))[_0xafb8('0x42')](handleError(_0x2aba58,null));};exports[_0xafb8('0x49')]=function(_0xabb625,_0x1ab472){if(_0xabb625[_0xafb8('0x48')]['id']){delete _0xabb625[_0xafb8('0x48')]['id'];}return db[_0xafb8('0x2b')][_0xafb8('0x46')]({'where':{'id':_0xabb625[_0xafb8('0x44')]['id']}})[_0xafb8('0x24')](handleEntityNotFound(_0x1ab472,null))[_0xafb8('0x24')](saveUpdates(_0xabb625[_0xafb8('0x48')],null))[_0xafb8('0x24')](respondWithResult(_0x1ab472,null))[_0xafb8('0x42')](handleError(_0x1ab472,null));};exports[_0xafb8('0x25')]=function(_0xe30f3c,_0x27fb37){return db[_0xafb8('0x2b')][_0xafb8('0x46')]({'where':{'id':_0xe30f3c[_0xafb8('0x44')]['id']}})['then'](handleEntityNotFound(_0x27fb37,null))[_0xafb8('0x24')](removeEntity(_0x27fb37,null))[_0xafb8('0x42')](handleError(_0x27fb37,null));};
\ No newline at end of file
+var _0x6211=['sendStatus','status','end','json','offset','undefined','limit','count','set','apply','reject','save','update','destroy','stack','name','send','index','map','VtigerField','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','pick','filter','where','merge','VIRTUAL','then','includeAll','include','findAll','rows','show','keys','find','catch','body','params','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x2b6ba3,_0x345430){var _0x2cc6f0=function(_0x156d69){while(--_0x156d69){_0x2b6ba3['push'](_0x2b6ba3['shift']());}};_0x2cc6f0(++_0x345430);}(_0x6211,0xc2));var _0x1621=function(_0x5b644e,_0x2e5e07){_0x5b644e=_0x5b644e-0x0;var _0x49c6bf=_0x6211[_0x5b644e];return _0x49c6bf;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1621('0x0'));var zipdir=require(_0x1621('0x1'));var jsonpatch=require(_0x1621('0x2'));var rp=require(_0x1621('0x3'));var moment=require(_0x1621('0x4'));var BPromise=require(_0x1621('0x5'));var Mustache=require(_0x1621('0x6'));var util=require(_0x1621('0x7'));var path=require('path');var sox=require(_0x1621('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x1621('0x9'));var crypto=require(_0x1621('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x1621('0xb'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x1621('0xc'));var Redis=require(_0x1621('0xd'));var authService=require(_0x1621('0xe'));var qs=require(_0x1621('0xf'));var as=require(_0x1621('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x1621('0x11'));var utils=require(_0x1621('0x12'));var config=require(_0x1621('0x13'));var licenseUtil=require(_0x1621('0x14'));var db=require(_0x1621('0x15'))['db'];function respondWithStatusCode(_0x547b00,_0x153747){_0x153747=_0x153747||0xcc;return function(_0x5bfa12){if(_0x5bfa12){return _0x547b00[_0x1621('0x16')](_0x153747);}return _0x547b00[_0x1621('0x17')](_0x153747)[_0x1621('0x18')]();};}function respondWithResult(_0x24b385,_0x37cc82){_0x37cc82=_0x37cc82||0xc8;return function(_0x5179fc){if(_0x5179fc){return _0x24b385['status'](_0x37cc82)[_0x1621('0x19')](_0x5179fc);}};}function respondWithFilteredResult(_0x20d3ce,_0x302da5){return function(_0xc9ead6){if(_0xc9ead6){var _0x4f7dca=typeof _0x302da5[_0x1621('0x1a')]===_0x1621('0x1b')&&typeof _0x302da5[_0x1621('0x1c')]===_0x1621('0x1b');var _0x269359=_0xc9ead6[_0x1621('0x1d')];var _0x316d35=_0x4f7dca?0x0:_0x302da5['offset'];var _0x99e2e8=_0x4f7dca?_0xc9ead6[_0x1621('0x1d')]:_0x302da5[_0x1621('0x1a')]+_0x302da5['limit'];var _0x4c3d50;if(_0x99e2e8>=_0x269359){_0x99e2e8=_0x269359;_0x4c3d50=0xc8;}else{_0x4c3d50=0xce;}_0x20d3ce['status'](_0x4c3d50);return _0x20d3ce[_0x1621('0x1e')]('Content-Range',_0x316d35+'-'+_0x99e2e8+'/'+_0x269359)[_0x1621('0x19')](_0xc9ead6);}return null;};}function patchUpdates(_0x5b8f38){return function(_0x55b4a9){try{jsonpatch[_0x1621('0x1f')](_0x55b4a9,_0x5b8f38,!![]);}catch(_0xb7b92a){return BPromise[_0x1621('0x20')](_0xb7b92a);}return _0x55b4a9[_0x1621('0x21')]();};}function saveUpdates(_0x25039c,_0x16116d){return function(_0x18d9c9){if(_0x18d9c9){return _0x18d9c9[_0x1621('0x22')](_0x25039c)['then'](function(_0x1f99f2){return _0x1f99f2;});}return null;};}function removeEntity(_0x260796,_0x34521f){return function(_0x554648){if(_0x554648){return _0x554648[_0x1621('0x23')]()['then'](function(){_0x260796[_0x1621('0x17')](0xcc)[_0x1621('0x18')]();});}};}function handleEntityNotFound(_0x26874a,_0x163360){return function(_0x14c02f){if(!_0x14c02f){_0x26874a['sendStatus'](0x194);}return _0x14c02f;};}function handleError(_0x4dcb5d,_0x2b51cd){_0x2b51cd=_0x2b51cd||0x1f4;return function(_0x2d76b0){logger['error'](_0x2d76b0[_0x1621('0x24')]);if(_0x2d76b0[_0x1621('0x25')]){delete _0x2d76b0[_0x1621('0x25')];}_0x4dcb5d[_0x1621('0x17')](_0x2b51cd)[_0x1621('0x26')](_0x2d76b0);};}exports[_0x1621('0x27')]=function(_0x48e5f3,_0x2c574a){var _0x14a84d={},_0x2a7737={},_0x526d14={'count':0x0,'rows':[]};var _0x34e367=_[_0x1621('0x28')](db[_0x1621('0x29')][_0x1621('0x2a')],function(_0x528201){return{'name':_0x528201[_0x1621('0x2b')],'type':_0x528201[_0x1621('0x2c')][_0x1621('0x2d')]};});_0x2a7737['model']=_[_0x1621('0x28')](_0x34e367,'name');_0x2a7737[_0x1621('0x2e')]=_['keys'](_0x48e5f3[_0x1621('0x2e')]);_0x2a7737[_0x1621('0x2f')]=_[_0x1621('0x30')](_0x2a7737[_0x1621('0x31')],_0x2a7737[_0x1621('0x2e')]);_0x14a84d[_0x1621('0x32')]=_[_0x1621('0x30')](_0x2a7737[_0x1621('0x31')],qs[_0x1621('0x33')](_0x48e5f3[_0x1621('0x2e')][_0x1621('0x33')]));_0x14a84d[_0x1621('0x32')]=_0x14a84d[_0x1621('0x32')][_0x1621('0x34')]?_0x14a84d[_0x1621('0x32')]:_0x2a7737['model'];if(!_0x48e5f3[_0x1621('0x2e')][_0x1621('0x35')]('nolimit')){_0x14a84d[_0x1621('0x1c')]=qs[_0x1621('0x1c')](_0x48e5f3[_0x1621('0x2e')][_0x1621('0x1c')]);_0x14a84d[_0x1621('0x1a')]=qs[_0x1621('0x1a')](_0x48e5f3[_0x1621('0x2e')][_0x1621('0x1a')]);}_0x14a84d[_0x1621('0x36')]=qs[_0x1621('0x37')](_0x48e5f3['query'][_0x1621('0x37')]);_0x14a84d['where']=qs[_0x1621('0x2f')](_[_0x1621('0x38')](_0x48e5f3[_0x1621('0x2e')],_0x2a7737[_0x1621('0x2f')]),_0x34e367);if(_0x48e5f3[_0x1621('0x2e')][_0x1621('0x39')]){_0x14a84d[_0x1621('0x3a')]=_[_0x1621('0x3b')](_0x14a84d[_0x1621('0x3a')],{'$or':_['map'](_0x34e367,function(_0xeeb291){if(_0xeeb291[_0x1621('0x2c')]!==_0x1621('0x3c')){var _0x57c7b0={};_0x57c7b0[_0xeeb291[_0x1621('0x25')]]={'$like':'%'+_0x48e5f3[_0x1621('0x2e')]['filter']+'%'};return _0x57c7b0;}})});}_0x14a84d=_['merge']({},_0x14a84d,_0x48e5f3['options']);var _0x19932a={'where':_0x14a84d['where']};return db[_0x1621('0x29')][_0x1621('0x1d')](_0x19932a)[_0x1621('0x3d')](function(_0x2c240e){_0x526d14[_0x1621('0x1d')]=_0x2c240e;if(_0x48e5f3['query'][_0x1621('0x3e')]){_0x14a84d[_0x1621('0x3f')]=[{'all':!![]}];}return db[_0x1621('0x29')][_0x1621('0x40')](_0x14a84d);})[_0x1621('0x3d')](function(_0x3f23c0){_0x526d14[_0x1621('0x41')]=_0x3f23c0;return _0x526d14;})['then'](respondWithFilteredResult(_0x2c574a,_0x14a84d))['catch'](handleError(_0x2c574a,null));};exports[_0x1621('0x42')]=function(_0x4aa3b9,_0x1dab07){var _0x409b40={'raw':!![],'where':{'id':_0x4aa3b9['params']['id']}},_0x2ce5b2={};_0x2ce5b2[_0x1621('0x31')]=_['keys'](db[_0x1621('0x29')]['rawAttributes']);_0x2ce5b2[_0x1621('0x2e')]=_[_0x1621('0x43')](_0x4aa3b9['query']);_0x2ce5b2['filters']=_[_0x1621('0x30')](_0x2ce5b2[_0x1621('0x31')],_0x2ce5b2[_0x1621('0x2e')]);_0x409b40[_0x1621('0x32')]=_[_0x1621('0x30')](_0x2ce5b2['model'],qs[_0x1621('0x33')](_0x4aa3b9[_0x1621('0x2e')][_0x1621('0x33')]));_0x409b40[_0x1621('0x32')]=_0x409b40[_0x1621('0x32')][_0x1621('0x34')]?_0x409b40[_0x1621('0x32')]:_0x2ce5b2[_0x1621('0x31')];if(_0x4aa3b9[_0x1621('0x2e')][_0x1621('0x3e')]){_0x409b40[_0x1621('0x3f')]=[{'all':!![]}];}_0x409b40=_[_0x1621('0x3b')]({},_0x409b40,_0x4aa3b9['options']);return db[_0x1621('0x29')][_0x1621('0x44')](_0x409b40)[_0x1621('0x3d')](handleEntityNotFound(_0x1dab07,null))['then'](respondWithResult(_0x1dab07,null))[_0x1621('0x45')](handleError(_0x1dab07,null));};exports['create']=function(_0xbf6e0,_0x4960e6){return db['VtigerField']['create'](_0xbf6e0[_0x1621('0x46')],{})[_0x1621('0x3d')](respondWithResult(_0x4960e6,0xc9))[_0x1621('0x45')](handleError(_0x4960e6,null));};exports[_0x1621('0x22')]=function(_0x38cf60,_0x382ac3){if(_0x38cf60[_0x1621('0x46')]['id']){delete _0x38cf60[_0x1621('0x46')]['id'];}return db[_0x1621('0x29')][_0x1621('0x44')]({'where':{'id':_0x38cf60['params']['id']}})[_0x1621('0x3d')](handleEntityNotFound(_0x382ac3,null))['then'](saveUpdates(_0x38cf60[_0x1621('0x46')],null))[_0x1621('0x3d')](respondWithResult(_0x382ac3,null))['catch'](handleError(_0x382ac3,null));};exports[_0x1621('0x23')]=function(_0x3371f2,_0x2ba512){return db[_0x1621('0x29')]['find']({'where':{'id':_0x3371f2[_0x1621('0x47')]['id']}})['then'](handleEntityNotFound(_0x2ba512,null))[_0x1621('0x3d')](removeEntity(_0x2ba512,null))[_0x1621('0x45')](handleError(_0x2ba512,null));};
\ No newline at end of file