Built motion from commit 2b9af5da.|2.6.26
[motion2.git] / server / api / analyticTreeReport / analyticTreeReport.controller.js
index 5fa5af1..e9b95d8 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x31dd=['desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','update','then','destroy','error','stack','name','send','index','AnalyticTreeReport','rawAttributes','type','key','map','query','keys','filters','intersection','model','attributes','hasOwnProperty','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','fields','find','create','body','eml-format','zip-dir','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce'];(function(_0x5b1f35,_0x508d2f){var _0x7d4c55=function(_0x514bd5){while(--_0x514bd5){_0x5b1f35['push'](_0x5b1f35['shift']());}};_0x7d4c55(++_0x508d2f);}(_0x31dd,0x11b));var _0xd31d=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x31dd[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xd31d('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd31d('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xd31d('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xd31d('0x3'));var util=require(_0xd31d('0x4'));var path=require(_0xd31d('0x5'));var sox=require(_0xd31d('0x6'));var csv=require(_0xd31d('0x7'));var ejs=require(_0xd31d('0x8'));var fs=require('fs');var fs_extra=require(_0xd31d('0x9'));var _=require(_0xd31d('0xa'));var squel=require(_0xd31d('0xb'));var crypto=require('crypto');var jsforce=require(_0xd31d('0xc'));var deskjs=require(_0xd31d('0xd'));var toCsv=require(_0xd31d('0x7'));var querystring=require(_0xd31d('0xe'));var Papa=require(_0xd31d('0xf'));var Redis=require(_0xd31d('0x10'));var authService=require(_0xd31d('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xd31d('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xd31d('0x13'))(_0xd31d('0x14'));var utils=require(_0xd31d('0x15'));var config=require(_0xd31d('0x16'));var licenseUtil=require(_0xd31d('0x17'));var db=require(_0xd31d('0x18'))['db'];function respondWithStatusCode(_0x1c94d9,_0x39ec69){_0x39ec69=_0x39ec69||0xcc;return function(_0x1fe12e){if(_0x1fe12e){return _0x1c94d9['sendStatus'](_0x39ec69);}return _0x1c94d9[_0xd31d('0x19')](_0x39ec69)[_0xd31d('0x1a')]();};}function respondWithResult(_0xb27264,_0x5dc2a3){_0x5dc2a3=_0x5dc2a3||0xc8;return function(_0x46f2e3){if(_0x46f2e3){return _0xb27264[_0xd31d('0x19')](_0x5dc2a3)[_0xd31d('0x1b')](_0x46f2e3);}};}function respondWithFilteredResult(_0x3dbe63,_0x14b421){return function(_0x2d82b3){if(_0x2d82b3){var _0x278af2=typeof _0x14b421['offset']===_0xd31d('0x1c')&&typeof _0x14b421[_0xd31d('0x1d')]==='undefined';var _0x222194=_0x2d82b3[_0xd31d('0x1e')];var _0x598abd=_0x278af2?0x0:_0x14b421[_0xd31d('0x1f')];var _0x8fd7e5=_0x278af2?_0x2d82b3['count']:_0x14b421[_0xd31d('0x1f')]+_0x14b421['limit'];var _0x4e628e;if(_0x8fd7e5>=_0x222194){_0x8fd7e5=_0x222194;_0x4e628e=0xc8;}else{_0x4e628e=0xce;}_0x3dbe63['status'](_0x4e628e);return _0x3dbe63[_0xd31d('0x20')](_0xd31d('0x21'),_0x598abd+'-'+_0x8fd7e5+'/'+_0x222194)[_0xd31d('0x1b')](_0x2d82b3);}return null;};}function patchUpdates(_0x364f79){return function(_0x5d046e){try{jsonpatch[_0xd31d('0x22')](_0x5d046e,_0x364f79,!![]);}catch(_0x8271fe){return BPromise['reject'](_0x8271fe);}return _0x5d046e['save']();};}function saveUpdates(_0x3f1da9,_0x3ae335){return function(_0x1a55b3){if(_0x1a55b3){return _0x1a55b3[_0xd31d('0x23')](_0x3f1da9)[_0xd31d('0x24')](function(_0x4a37fe){return _0x4a37fe;});}return null;};}function removeEntity(_0x4701be,_0x5d3124){return function(_0x577036){if(_0x577036){return _0x577036[_0xd31d('0x25')]()[_0xd31d('0x24')](function(){_0x4701be[_0xd31d('0x19')](0xcc)[_0xd31d('0x1a')]();});}};}function handleEntityNotFound(_0x33aa23,_0x495324){return function(_0x5a9841){if(!_0x5a9841){_0x33aa23['sendStatus'](0x194);}return _0x5a9841;};}function handleError(_0x429665,_0x30c277){_0x30c277=_0x30c277||0x1f4;return function(_0x12603c){logger[_0xd31d('0x26')](_0x12603c[_0xd31d('0x27')]);if(_0x12603c[_0xd31d('0x28')]){delete _0x12603c['name'];}_0x429665[_0xd31d('0x19')](_0x30c277)[_0xd31d('0x29')](_0x12603c);};}exports[_0xd31d('0x2a')]=function(_0x54ddb5,_0x2e323b){var _0x4857a6={},_0x5a62f9={},_0x5c4705={'count':0x0,'rows':[]};var _0x4b1715=_['map'](db[_0xd31d('0x2b')][_0xd31d('0x2c')],function(_0x30467a){return{'name':_0x30467a['fieldName'],'type':_0x30467a[_0xd31d('0x2d')][_0xd31d('0x2e')]};});_0x5a62f9['model']=_[_0xd31d('0x2f')](_0x4b1715,_0xd31d('0x28'));_0x5a62f9[_0xd31d('0x30')]=_[_0xd31d('0x31')](_0x54ddb5[_0xd31d('0x30')]);_0x5a62f9[_0xd31d('0x32')]=_[_0xd31d('0x33')](_0x5a62f9[_0xd31d('0x34')],_0x5a62f9[_0xd31d('0x30')]);_0x4857a6[_0xd31d('0x35')]=_[_0xd31d('0x33')](_0x5a62f9['model'],qs['fields'](_0x54ddb5['query']['fields']));_0x4857a6[_0xd31d('0x35')]=_0x4857a6[_0xd31d('0x35')]['length']?_0x4857a6['attributes']:_0x5a62f9[_0xd31d('0x34')];if(!_0x54ddb5[_0xd31d('0x30')][_0xd31d('0x36')](_0xd31d('0x37'))){_0x4857a6[_0xd31d('0x1d')]=qs['limit'](_0x54ddb5[_0xd31d('0x30')]['limit']);_0x4857a6[_0xd31d('0x1f')]=qs[_0xd31d('0x1f')](_0x54ddb5[_0xd31d('0x30')][_0xd31d('0x1f')]);}_0x4857a6['order']=qs[_0xd31d('0x38')](_0x54ddb5['query'][_0xd31d('0x38')]);_0x4857a6[_0xd31d('0x39')]=qs[_0xd31d('0x32')](_[_0xd31d('0x3a')](_0x54ddb5[_0xd31d('0x30')],_0x5a62f9[_0xd31d('0x32')]),_0x4b1715);if(_0x54ddb5['query'][_0xd31d('0x3b')]){_0x4857a6[_0xd31d('0x39')]=_[_0xd31d('0x3c')](_0x4857a6['where'],{'$or':_[_0xd31d('0x2f')](_0x4b1715,function(_0x3b5330){if(_0x3b5330[_0xd31d('0x2d')]!==_0xd31d('0x3d')){var _0x18b7a9={};_0x18b7a9[_0x3b5330[_0xd31d('0x28')]]={'$like':'%'+_0x54ddb5[_0xd31d('0x30')][_0xd31d('0x3b')]+'%'};return _0x18b7a9;}})});}_0x4857a6=_[_0xd31d('0x3c')]({},_0x4857a6,_0x54ddb5[_0xd31d('0x3e')]);var _0x402aff={'where':_0x4857a6['where']};return db[_0xd31d('0x2b')]['count'](_0x402aff)[_0xd31d('0x24')](function(_0x282bb0){_0x5c4705[_0xd31d('0x1e')]=_0x282bb0;if(_0x54ddb5[_0xd31d('0x30')][_0xd31d('0x3f')]){_0x4857a6[_0xd31d('0x40')]=[{'all':!![]}];}return db[_0xd31d('0x2b')][_0xd31d('0x41')](_0x4857a6);})[_0xd31d('0x24')](function(_0x2b7c78){_0x5c4705[_0xd31d('0x42')]=_0x2b7c78;return _0x5c4705;})[_0xd31d('0x24')](respondWithFilteredResult(_0x2e323b,_0x4857a6))[_0xd31d('0x43')](handleError(_0x2e323b,null));};exports[_0xd31d('0x44')]=function(_0x3effcb,_0x1bf053){var _0x2648ac={'raw':!![],'where':{'id':_0x3effcb[_0xd31d('0x45')]['id']}},_0x3835a={};_0x3835a[_0xd31d('0x34')]=_[_0xd31d('0x31')](db[_0xd31d('0x2b')][_0xd31d('0x2c')]);_0x3835a[_0xd31d('0x30')]=_[_0xd31d('0x31')](_0x3effcb[_0xd31d('0x30')]);_0x3835a[_0xd31d('0x32')]=_['intersection'](_0x3835a[_0xd31d('0x34')],_0x3835a['query']);_0x2648ac[_0xd31d('0x35')]=_[_0xd31d('0x33')](_0x3835a[_0xd31d('0x34')],qs['fields'](_0x3effcb[_0xd31d('0x30')][_0xd31d('0x46')]));_0x2648ac[_0xd31d('0x35')]=_0x2648ac[_0xd31d('0x35')]['length']?_0x2648ac[_0xd31d('0x35')]:_0x3835a[_0xd31d('0x34')];if(_0x3effcb[_0xd31d('0x30')][_0xd31d('0x3f')]){_0x2648ac[_0xd31d('0x40')]=[{'all':!![]}];}_0x2648ac=_[_0xd31d('0x3c')]({},_0x2648ac,_0x3effcb[_0xd31d('0x3e')]);return db[_0xd31d('0x2b')][_0xd31d('0x47')](_0x2648ac)[_0xd31d('0x24')](handleEntityNotFound(_0x1bf053,null))[_0xd31d('0x24')](respondWithResult(_0x1bf053,null))[_0xd31d('0x43')](handleError(_0x1bf053,null));};exports[_0xd31d('0x48')]=function(_0x86f9cc,_0xb87f0c){return db[_0xd31d('0x2b')][_0xd31d('0x48')](_0x86f9cc[_0xd31d('0x49')],{})[_0xd31d('0x24')](respondWithResult(_0xb87f0c,0xc9))[_0xd31d('0x43')](handleError(_0xb87f0c,null));};exports['update']=function(_0x4fd083,_0x437f89){if(_0x4fd083[_0xd31d('0x49')]['id']){delete _0x4fd083[_0xd31d('0x49')]['id'];}return db[_0xd31d('0x2b')][_0xd31d('0x47')]({'where':{'id':_0x4fd083[_0xd31d('0x45')]['id']}})[_0xd31d('0x24')](handleEntityNotFound(_0x437f89,null))[_0xd31d('0x24')](saveUpdates(_0x4fd083[_0xd31d('0x49')],null))['then'](respondWithResult(_0x437f89,null))[_0xd31d('0x43')](handleError(_0x437f89,null));};exports['destroy']=function(_0xa569a7,_0x4060ea){return db[_0xd31d('0x2b')][_0xd31d('0x47')]({'where':{'id':_0xa569a7[_0xd31d('0x45')]['id']}})['then'](handleEntityNotFound(_0x4060ea,null))[_0xd31d('0x24')](removeEntity(_0x4060ea,null))[_0xd31d('0x43')](handleError(_0x4060ea,null));};
\ No newline at end of file
+var _0x583a=['fs-extra','lodash','crypto','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','end','json','offset','undefined','limit','count','status','set','Content-Range','reject','save','then','destroy','name','send','index','map','AnalyticTreeReport','fieldName','type','key','model','keys','query','filters','fields','attributes','length','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','rows','catch','show','params','rawAttributes','intersection','create','update','body','find','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs'];(function(_0x51bbf2,_0x38e95a){var _0x2f12f9=function(_0x2087e0){while(--_0x2087e0){_0x51bbf2['push'](_0x51bbf2['shift']());}};_0x2f12f9(++_0x38e95a);}(_0x583a,0x7e));var _0xa583=function(_0x5bccbf,_0x547e42){_0x5bccbf=_0x5bccbf-0x0;var _0x2158c6=_0x583a[_0x5bccbf];return _0x2158c6;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa583('0x0'));var zipdir=require(_0xa583('0x1'));var jsonpatch=require(_0xa583('0x2'));var rp=require('request-promise');var moment=require(_0xa583('0x3'));var BPromise=require(_0xa583('0x4'));var Mustache=require(_0xa583('0x5'));var util=require(_0xa583('0x6'));var path=require('path');var sox=require(_0xa583('0x7'));var csv=require(_0xa583('0x8'));var ejs=require(_0xa583('0x9'));var fs=require('fs');var fs_extra=require(_0xa583('0xa'));var _=require(_0xa583('0xb'));var squel=require('squel');var crypto=require(_0xa583('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xa583('0x8'));var querystring=require('querystring');var Papa=require(_0xa583('0xd'));var Redis=require('ioredis');var authService=require(_0xa583('0xe'));var qs=require(_0xa583('0xf'));var as=require(_0xa583('0x10'));var hardwareService=require(_0xa583('0x11'));var logger=require(_0xa583('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xa583('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xa583('0x14'))['db'];function respondWithStatusCode(_0xcd8f9c,_0x20cb52){_0x20cb52=_0x20cb52||0xcc;return function(_0xef54d9){if(_0xef54d9){return _0xcd8f9c['sendStatus'](_0x20cb52);}return _0xcd8f9c['status'](_0x20cb52)[_0xa583('0x15')]();};}function respondWithResult(_0x2a20e9,_0x5902e1){_0x5902e1=_0x5902e1||0xc8;return function(_0x3a0dca){if(_0x3a0dca){return _0x2a20e9['status'](_0x5902e1)[_0xa583('0x16')](_0x3a0dca);}};}function respondWithFilteredResult(_0x2f9bbb,_0x579252){return function(_0x521bd0){if(_0x521bd0){var _0x2edabd=typeof _0x579252[_0xa583('0x17')]===_0xa583('0x18')&&typeof _0x579252[_0xa583('0x19')]===_0xa583('0x18');var _0x29cfcf=_0x521bd0[_0xa583('0x1a')];var _0x1248ce=_0x2edabd?0x0:_0x579252['offset'];var _0xa873a6=_0x2edabd?_0x521bd0[_0xa583('0x1a')]:_0x579252[_0xa583('0x17')]+_0x579252[_0xa583('0x19')];var _0x49bfb2;if(_0xa873a6>=_0x29cfcf){_0xa873a6=_0x29cfcf;_0x49bfb2=0xc8;}else{_0x49bfb2=0xce;}_0x2f9bbb[_0xa583('0x1b')](_0x49bfb2);return _0x2f9bbb[_0xa583('0x1c')](_0xa583('0x1d'),_0x1248ce+'-'+_0xa873a6+'/'+_0x29cfcf)[_0xa583('0x16')](_0x521bd0);}return null;};}function patchUpdates(_0x17e8ce){return function(_0x26b2a8){try{jsonpatch['apply'](_0x26b2a8,_0x17e8ce,!![]);}catch(_0x34f51e){return BPromise[_0xa583('0x1e')](_0x34f51e);}return _0x26b2a8[_0xa583('0x1f')]();};}function saveUpdates(_0x306415,_0x3b8024){return function(_0x449d02){if(_0x449d02){return _0x449d02['update'](_0x306415)[_0xa583('0x20')](function(_0x5eebd5){return _0x5eebd5;});}return null;};}function removeEntity(_0x9878ab,_0x59a22c){return function(_0x3474ff){if(_0x3474ff){return _0x3474ff[_0xa583('0x21')]()['then'](function(){_0x9878ab[_0xa583('0x1b')](0xcc)[_0xa583('0x15')]();});}};}function handleEntityNotFound(_0x871d56,_0x486128){return function(_0x38ecb5){if(!_0x38ecb5){_0x871d56['sendStatus'](0x194);}return _0x38ecb5;};}function handleError(_0x14ecc4,_0x402f23){_0x402f23=_0x402f23||0x1f4;return function(_0x2d9988){logger['error'](_0x2d9988['stack']);if(_0x2d9988[_0xa583('0x22')]){delete _0x2d9988[_0xa583('0x22')];}_0x14ecc4['status'](_0x402f23)[_0xa583('0x23')](_0x2d9988);};}exports[_0xa583('0x24')]=function(_0x5192a9,_0x340119){var _0x4f0aa5={},_0x39d5f2={},_0x47238f={'count':0x0,'rows':[]};var _0x2f7f4f=_[_0xa583('0x25')](db[_0xa583('0x26')]['rawAttributes'],function(_0x1c99a4){return{'name':_0x1c99a4[_0xa583('0x27')],'type':_0x1c99a4[_0xa583('0x28')][_0xa583('0x29')]};});_0x39d5f2[_0xa583('0x2a')]=_[_0xa583('0x25')](_0x2f7f4f,_0xa583('0x22'));_0x39d5f2['query']=_[_0xa583('0x2b')](_0x5192a9[_0xa583('0x2c')]);_0x39d5f2[_0xa583('0x2d')]=_['intersection'](_0x39d5f2[_0xa583('0x2a')],_0x39d5f2[_0xa583('0x2c')]);_0x4f0aa5['attributes']=_['intersection'](_0x39d5f2[_0xa583('0x2a')],qs[_0xa583('0x2e')](_0x5192a9[_0xa583('0x2c')][_0xa583('0x2e')]));_0x4f0aa5[_0xa583('0x2f')]=_0x4f0aa5['attributes'][_0xa583('0x30')]?_0x4f0aa5['attributes']:_0x39d5f2['model'];if(!_0x5192a9[_0xa583('0x2c')]['hasOwnProperty']('nolimit')){_0x4f0aa5[_0xa583('0x19')]=qs['limit'](_0x5192a9[_0xa583('0x2c')][_0xa583('0x19')]);_0x4f0aa5[_0xa583('0x17')]=qs[_0xa583('0x17')](_0x5192a9['query']['offset']);}_0x4f0aa5[_0xa583('0x31')]=qs['sort'](_0x5192a9['query'][_0xa583('0x32')]);_0x4f0aa5[_0xa583('0x33')]=qs[_0xa583('0x2d')](_[_0xa583('0x34')](_0x5192a9['query'],_0x39d5f2[_0xa583('0x2d')]),_0x2f7f4f);if(_0x5192a9[_0xa583('0x2c')][_0xa583('0x35')]){_0x4f0aa5['where']=_[_0xa583('0x36')](_0x4f0aa5[_0xa583('0x33')],{'$or':_['map'](_0x2f7f4f,function(_0x2d8dc8){if(_0x2d8dc8[_0xa583('0x28')]!==_0xa583('0x37')){var _0x4271c1={};_0x4271c1[_0x2d8dc8['name']]={'$like':'%'+_0x5192a9[_0xa583('0x2c')]['filter']+'%'};return _0x4271c1;}})});}_0x4f0aa5=_[_0xa583('0x36')]({},_0x4f0aa5,_0x5192a9[_0xa583('0x38')]);var _0xb71be6={'where':_0x4f0aa5[_0xa583('0x33')]};return db[_0xa583('0x26')][_0xa583('0x1a')](_0xb71be6)['then'](function(_0x274734){_0x47238f[_0xa583('0x1a')]=_0x274734;if(_0x5192a9[_0xa583('0x2c')][_0xa583('0x39')]){_0x4f0aa5['include']=[{'all':!![]}];}return db[_0xa583('0x26')]['findAll'](_0x4f0aa5);})[_0xa583('0x20')](function(_0x3b9d91){_0x47238f[_0xa583('0x3a')]=_0x3b9d91;return _0x47238f;})[_0xa583('0x20')](respondWithFilteredResult(_0x340119,_0x4f0aa5))[_0xa583('0x3b')](handleError(_0x340119,null));};exports[_0xa583('0x3c')]=function(_0x710b9a,_0x4e8398){var _0x3443d7={'raw':!![],'where':{'id':_0x710b9a[_0xa583('0x3d')]['id']}},_0x3fddc6={};_0x3fddc6[_0xa583('0x2a')]=_[_0xa583('0x2b')](db[_0xa583('0x26')][_0xa583('0x3e')]);_0x3fddc6['query']=_[_0xa583('0x2b')](_0x710b9a[_0xa583('0x2c')]);_0x3fddc6[_0xa583('0x2d')]=_[_0xa583('0x3f')](_0x3fddc6[_0xa583('0x2a')],_0x3fddc6[_0xa583('0x2c')]);_0x3443d7[_0xa583('0x2f')]=_[_0xa583('0x3f')](_0x3fddc6[_0xa583('0x2a')],qs[_0xa583('0x2e')](_0x710b9a['query'][_0xa583('0x2e')]));_0x3443d7[_0xa583('0x2f')]=_0x3443d7[_0xa583('0x2f')][_0xa583('0x30')]?_0x3443d7[_0xa583('0x2f')]:_0x3fddc6['model'];if(_0x710b9a[_0xa583('0x2c')][_0xa583('0x39')]){_0x3443d7['include']=[{'all':!![]}];}_0x3443d7=_[_0xa583('0x36')]({},_0x3443d7,_0x710b9a[_0xa583('0x38')]);return db[_0xa583('0x26')]['find'](_0x3443d7)['then'](handleEntityNotFound(_0x4e8398,null))[_0xa583('0x20')](respondWithResult(_0x4e8398,null))[_0xa583('0x3b')](handleError(_0x4e8398,null));};exports[_0xa583('0x40')]=function(_0x53211b,_0x567493){return db[_0xa583('0x26')][_0xa583('0x40')](_0x53211b['body'],{})['then'](respondWithResult(_0x567493,0xc9))['catch'](handleError(_0x567493,null));};exports[_0xa583('0x41')]=function(_0x12b313,_0x21524a){if(_0x12b313['body']['id']){delete _0x12b313[_0xa583('0x42')]['id'];}return db[_0xa583('0x26')][_0xa583('0x43')]({'where':{'id':_0x12b313[_0xa583('0x3d')]['id']}})[_0xa583('0x20')](handleEntityNotFound(_0x21524a,null))['then'](saveUpdates(_0x12b313[_0xa583('0x42')],null))[_0xa583('0x20')](respondWithResult(_0x21524a,null))[_0xa583('0x3b')](handleError(_0x21524a,null));};exports[_0xa583('0x21')]=function(_0x32bdc3,_0x5c5d3c){return db['AnalyticTreeReport']['find']({'where':{'id':_0x32bdc3['params']['id']}})[_0xa583('0x20')](handleEntityNotFound(_0x5c5d3c,null))['then'](removeEntity(_0x5c5d3c,null))[_0xa583('0x3b')](handleError(_0x5c5d3c,null));};
\ No newline at end of file