2ea2c89bfcd745ac42ad979fb995da52796b28bd
[motion2.git] / server / api / cmHopperFinal / cmHopperFinal.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x3ec0=['papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../mysqldb','status','json','count','offset','Content-Range','apply','reject','save','destroy','then','end','sendStatus','error','stack','name','send','CmHopperFinal','rawAttributes','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','merge','type','field','options','includeAll','include','findAll','rows','catch','show','params','find','describe','update','body','uniqueid','sequelize','COUNT','literal','`state`\x20=\x200,\x201,\x20null','`state`\x20=\x203,\x201,\x20null','`state`\x20=\x205,\x201,\x20null','busyContacts','`state`\x20=\x208,\x201,\x20null','dropContacts','`state`\x20=\x2011\x20,\x201,\x20null','`state`\x20=\x2022,\x201,\x20null','reCallContacts','answeringMachine','noSuchContacts','noAnswerContacts','congestionContacts','`state`\x20=\x2010\x20,\x201,\x20null','abandonedContacts','`state`\x20=\x2019,\x201,\x20null','moveContactsQueueCampaignHopperFinal','VoiceQueue','fromQuery','phone','ContactId','ListId','VoiceQueueId','createdAt','select','ANY_VALUE(calleridnum)','NOW()','scheduledAt','ANY_VALUE(ListId)','ANY_VALUE(VoiceQueueId)','updatedAt','from','cm_hopper_final','VoiceQueueId\x20=\x20?','toString','state','calleridnum\x20IS\x20NOT\x20NULL','calleridnum\x20NOT\x20IN\x20(?)','cm_hopper','state\x20=\x204','group','moveContactsIvrCampaignHopperFinal','Campaign','insert','into','CampaignId','ANY_VALUE(CampaignId)','CampaignId\x20=\x20?','state\x20=\x20?','calleridnum','checkContactHopper','CmHopper','findOne','html-pdf','eml-format','zip-dir','fast-json-patch','bluebird','mustache','to-csv','ejs','lodash','squel','crypto','desk.js'];(function(_0x40ac5e,_0x2de228){var _0x2839d6=function(_0x123d47){while(--_0x123d47){_0x40ac5e['push'](_0x40ac5e['shift']());}};_0x2839d6(++_0x2de228);}(_0x3ec0,0x16b));var _0x03ec=function(_0x16e754,_0x40e201){_0x16e754=_0x16e754-0x0;var _0x2ede33=_0x3ec0[_0x16e754];return _0x2ede33;};'use strict';var pdf=require(_0x03ec('0x0'));var emlformat=require(_0x03ec('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x03ec('0x2'));var jsonpatch=require(_0x03ec('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x03ec('0x4'));var Mustache=require(_0x03ec('0x5'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x03ec('0x6'));var ejs=require(_0x03ec('0x7'));var fs=require('fs');var _=require(_0x03ec('0x8'));var squel=require(_0x03ec('0x9'));var crypto=require(_0x03ec('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x03ec('0xb'));var toCsv=require(_0x03ec('0x6'));var querystring=require('querystring');var Papa=require(_0x03ec('0xc'));var Redis=require(_0x03ec('0xd'));var authService=require(_0x03ec('0xe'));var qs=require(_0x03ec('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x03ec('0x10'))(_0x03ec('0x11'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0x03ec('0x12'))['db'];function respondWithStatusCode(_0x385ce8,_0xf2983b){_0xf2983b=_0xf2983b||0xcc;return function(_0x555232){if(_0x555232){return _0x385ce8['sendStatus'](_0xf2983b);}return _0x385ce8[_0x03ec('0x13')](_0xf2983b)['end']();};}function respondWithResult(_0x550c27,_0x543a37){_0x543a37=_0x543a37||0xc8;return function(_0x40c303){if(_0x40c303){return _0x550c27['status'](_0x543a37)[_0x03ec('0x14')](_0x40c303);}};}function respondWithFilteredResult(_0x476d1b,_0x56e574){return function(_0xd7ce20){if(_0xd7ce20){var _0x9ce06e=_0xd7ce20[_0x03ec('0x15')],_0x4a2954=_0x56e574['offset'],_0x269358=_0x56e574[_0x03ec('0x16')]+_0x56e574['limit'],_0x2fd8f3;if(_0x269358>=_0x9ce06e){_0x269358=_0x9ce06e;_0x2fd8f3=0xc8;}else{_0x2fd8f3=0xce;}_0x476d1b[_0x03ec('0x13')](_0x2fd8f3);return _0x476d1b['set'](_0x03ec('0x17'),_0x4a2954+'-'+_0x269358+'/'+_0x9ce06e)[_0x03ec('0x14')](_0xd7ce20);}return null;};}function patchUpdates(_0x4d6ead){return function(_0x19a6e2){try{jsonpatch[_0x03ec('0x18')](_0x19a6e2,_0x4d6ead,!![]);}catch(_0x3a32db){return BPromise[_0x03ec('0x19')](_0x3a32db);}return _0x19a6e2[_0x03ec('0x1a')]();};}function saveUpdates(_0x21b42a,_0x2d24e5){return function(_0xc16628){if(_0xc16628){return _0xc16628['update'](_0x21b42a)['then'](function(_0x12b097){return _0x12b097;});}return null;};}function removeEntity(_0x1220f1,_0x4061b6){return function(_0x43a245){if(_0x43a245){return _0x43a245[_0x03ec('0x1b')]()[_0x03ec('0x1c')](function(){_0x1220f1['status'](0xcc)[_0x03ec('0x1d')]();});}};}function handleEntityNotFound(_0x537935,_0x3ad673){return function(_0x5b54b1){if(!_0x5b54b1){_0x537935[_0x03ec('0x1e')](0x194);}return _0x5b54b1;};}function handleError(_0x3a9dea,_0x1210b0){_0x1210b0=_0x1210b0||0x1f4;return function(_0x1a62c5){logger[_0x03ec('0x1f')](_0x1a62c5[_0x03ec('0x20')]);if(_0x1a62c5[_0x03ec('0x21')]){delete _0x1a62c5[_0x03ec('0x21')];}_0x3a9dea[_0x03ec('0x13')](_0x1210b0)[_0x03ec('0x22')](_0x1a62c5);};}exports['index']=function(_0x1629b6,_0xd58fc5){var _0x300fc8={},_0x3e1ad9={},_0xb5e222={'count':0x0,'rows':[]};var _0x39a37d=db[_0x03ec('0x23')][_0x03ec('0x24')];_0x3e1ad9[_0x03ec('0x25')]=_['keys'](_0x39a37d);_0x3e1ad9[_0x03ec('0x26')]=_[_0x03ec('0x27')](_0x1629b6[_0x03ec('0x26')]);_0x3e1ad9[_0x03ec('0x28')]=_[_0x03ec('0x29')](_0x3e1ad9[_0x03ec('0x25')],_0x3e1ad9[_0x03ec('0x26')]);_0x300fc8[_0x03ec('0x2a')]=_[_0x03ec('0x29')](_0x3e1ad9['model'],qs[_0x03ec('0x2b')](_0x1629b6['query']['fields']));_0x300fc8['attributes']=_0x300fc8[_0x03ec('0x2a')][_0x03ec('0x2c')]?_0x300fc8['attributes']:_0x3e1ad9[_0x03ec('0x25')];if(!_0x1629b6[_0x03ec('0x26')][_0x03ec('0x2d')](_0x03ec('0x2e'))){_0x300fc8['limit']=qs[_0x03ec('0x2f')](_0x1629b6[_0x03ec('0x26')][_0x03ec('0x2f')]);_0x300fc8[_0x03ec('0x16')]=qs[_0x03ec('0x16')](_0x1629b6[_0x03ec('0x26')]['offset']);}_0x300fc8[_0x03ec('0x30')]=qs[_0x03ec('0x31')](_0x1629b6[_0x03ec('0x26')][_0x03ec('0x31')]);_0x300fc8[_0x03ec('0x32')]=qs['filters'](_[_0x03ec('0x33')](_0x1629b6['query'],_0x3e1ad9['filters']));if(_0x1629b6['query'][_0x03ec('0x34')]){_0x300fc8[_0x03ec('0x32')]=_[_0x03ec('0x35')](_0x300fc8[_0x03ec('0x32')],{'$or':_['map'](_0x39a37d,function(_0x1c199e){if(_0x1c199e[_0x03ec('0x36')]['key']!=='VIRTUAL'){var _0xdf7cd9={};_0xdf7cd9[_0x1c199e[_0x03ec('0x37')]]={'$like':'%'+_0x1629b6[_0x03ec('0x26')]['filter']+'%'};return _0xdf7cd9;}})});}_0x300fc8=_[_0x03ec('0x35')]({},_0x300fc8,_0x1629b6[_0x03ec('0x38')]);var _0x53f5c2={'where':_0x300fc8['where']};return db[_0x03ec('0x23')]['count'](_0x53f5c2)[_0x03ec('0x1c')](function(_0xd53f53){_0xb5e222[_0x03ec('0x15')]=_0xd53f53;if(_0x1629b6[_0x03ec('0x26')][_0x03ec('0x39')]){_0x300fc8[_0x03ec('0x3a')]=[{'all':!![]}];}return db[_0x03ec('0x23')][_0x03ec('0x3b')](_0x300fc8);})[_0x03ec('0x1c')](function(_0x595c18){_0xb5e222[_0x03ec('0x3c')]=_0x595c18;return _0xb5e222;})[_0x03ec('0x1c')](respondWithFilteredResult(_0xd58fc5,_0x300fc8))[_0x03ec('0x3d')](handleError(_0xd58fc5,null));};exports[_0x03ec('0x3e')]=function(_0x78eb15,_0x369f21){var _0x2fac60={'raw':!![],'where':{'id':_0x78eb15[_0x03ec('0x3f')]['id']}},_0x22a3dd={};_0x22a3dd[_0x03ec('0x25')]=_['keys'](db['CmHopperFinal'][_0x03ec('0x24')]);_0x22a3dd[_0x03ec('0x26')]=_['keys'](_0x78eb15[_0x03ec('0x26')]);_0x22a3dd[_0x03ec('0x28')]=_[_0x03ec('0x29')](_0x22a3dd[_0x03ec('0x25')],_0x22a3dd['query']);_0x2fac60[_0x03ec('0x2a')]=_[_0x03ec('0x29')](_0x22a3dd['model'],qs[_0x03ec('0x2b')](_0x78eb15[_0x03ec('0x26')][_0x03ec('0x2b')]));_0x2fac60[_0x03ec('0x2a')]=_0x2fac60[_0x03ec('0x2a')][_0x03ec('0x2c')]?_0x2fac60[_0x03ec('0x2a')]:_0x22a3dd[_0x03ec('0x25')];if(_0x78eb15[_0x03ec('0x26')]['includeAll']){_0x2fac60[_0x03ec('0x3a')]=[{'all':!![]}];}_0x2fac60=_['merge']({},_0x2fac60,_0x78eb15[_0x03ec('0x38')]);return db[_0x03ec('0x23')][_0x03ec('0x40')](_0x2fac60)[_0x03ec('0x1c')](handleEntityNotFound(_0x369f21,null))[_0x03ec('0x1c')](respondWithResult(_0x369f21,null))[_0x03ec('0x3d')](handleError(_0x369f21,null));};exports[_0x03ec('0x41')]=function(_0x4e9d9e,_0x565af3){return db[_0x03ec('0x23')][_0x03ec('0x41')]()['then'](respondWithResult(_0x565af3,null))['catch'](handleError(_0x565af3,null));};exports[_0x03ec('0x42')]=function(_0x3a4010,_0x3868cc){if(_0x3a4010[_0x03ec('0x43')][_0x03ec('0x44')]){delete _0x3a4010['body'][_0x03ec('0x44')];}return db[_0x03ec('0x23')]['find']({'where':{'uniqueid':_0x3a4010[_0x03ec('0x3f')]['id']}})[_0x03ec('0x1c')](handleEntityNotFound(_0x3868cc,null))[_0x03ec('0x1c')](saveUpdates(_0x3a4010['body'],null))[_0x03ec('0x1c')](respondWithResult(_0x3868cc,null))['catch'](handleError(_0x3868cc,null));};exports['countContactsQueueCampaignHopperFinal']=function(_0x59a4a0,_0x425e0e,_0x23f0fe){return db[_0x03ec('0x23')][_0x03ec('0x3b')]({'raw':![],'where':{'VoiceQueueId':_0x59a4a0['params']['id']},'attributes':[[db[_0x03ec('0x45')]['fn'](_0x03ec('0x46'),db[_0x03ec('0x45')]['fn']('IF',db['sequelize'][_0x03ec('0x47')](_0x03ec('0x48')))),'noSuchContacts'],[db[_0x03ec('0x45')]['fn'](_0x03ec('0x46'),db[_0x03ec('0x45')]['fn']('IF',db[_0x03ec('0x45')][_0x03ec('0x47')](_0x03ec('0x49')))),'noAnswerContacts'],[db[_0x03ec('0x45')]['fn'](_0x03ec('0x46'),db['sequelize']['fn']('IF',db[_0x03ec('0x45')][_0x03ec('0x47')](_0x03ec('0x4a')))),_0x03ec('0x4b')],[db['sequelize']['fn']('COUNT',db['sequelize']['fn']('IF',db[_0x03ec('0x45')]['literal'](_0x03ec('0x4c')))),'congestionContacts'],[db['sequelize']['fn']('COUNT',db[_0x03ec('0x45')]['fn']('IF',db[_0x03ec('0x45')][_0x03ec('0x47')]('`state`\x20=\x2010\x20,\x201,\x20null'))),_0x03ec('0x4d')],[db[_0x03ec('0x45')]['fn'](_0x03ec('0x46'),db[_0x03ec('0x45')]['fn']('IF',db[_0x03ec('0x45')][_0x03ec('0x47')](_0x03ec('0x4e')))),'abandonedContacts'],[db[_0x03ec('0x45')]['fn'](_0x03ec('0x46'),db[_0x03ec('0x45')]['fn']('IF',db[_0x03ec('0x45')][_0x03ec('0x47')](_0x03ec('0x4f')))),_0x03ec('0x50')],[db[_0x03ec('0x45')]['fn']('COUNT',db[_0x03ec('0x45')]['fn']('IF',db[_0x03ec('0x45')][_0x03ec('0x47')]('`state`\x20=\x2019,\x201,\x20null'))),_0x03ec('0x51')]]})[_0x03ec('0x1c')](handleEntityNotFound(_0x425e0e,null))['then'](respondWithResult(_0x425e0e,null))[_0x03ec('0x3d')](handleError(_0x425e0e,null));};exports['countContactsIvrCampaignHopperFinal']=function(_0x30ca0a,_0x2dc51c,_0x398ea2){return db['CmHopperFinal']['findAll']({'raw':![],'where':{'CampaignId':_0x30ca0a[_0x03ec('0x3f')]['id']},'attributes':[[db[_0x03ec('0x45')]['fn']('COUNT',db[_0x03ec('0x45')]['fn']('IF',db[_0x03ec('0x45')][_0x03ec('0x47')](_0x03ec('0x48')))),_0x03ec('0x52')],[db['sequelize']['fn'](_0x03ec('0x46'),db[_0x03ec('0x45')]['fn']('IF',db[_0x03ec('0x45')]['literal']('`state`\x20=\x203,\x201,\x20null'))),_0x03ec('0x53')],[db[_0x03ec('0x45')]['fn']('COUNT',db[_0x03ec('0x45')]['fn']('IF',db[_0x03ec('0x45')]['literal']('`state`\x20=\x205,\x201,\x20null'))),'busyContacts'],[db['sequelize']['fn'](_0x03ec('0x46'),db['sequelize']['fn']('IF',db['sequelize']['literal'](_0x03ec('0x4c')))),_0x03ec('0x54')],[db[_0x03ec('0x45')]['fn'](_0x03ec('0x46'),db[_0x03ec('0x45')]['fn']('IF',db[_0x03ec('0x45')][_0x03ec('0x47')](_0x03ec('0x55')))),_0x03ec('0x4d')],[db[_0x03ec('0x45')]['fn'](_0x03ec('0x46'),db[_0x03ec('0x45')]['fn']('IF',db['sequelize'][_0x03ec('0x47')](_0x03ec('0x4e')))),_0x03ec('0x56')],[db[_0x03ec('0x45')]['fn'](_0x03ec('0x46'),db['sequelize']['fn']('IF',db[_0x03ec('0x45')][_0x03ec('0x47')](_0x03ec('0x4f')))),_0x03ec('0x50')],[db[_0x03ec('0x45')]['fn']('COUNT',db['sequelize']['fn']('IF',db['sequelize'][_0x03ec('0x47')](_0x03ec('0x57')))),_0x03ec('0x51')]]})[_0x03ec('0x1c')](handleEntityNotFound(_0x2dc51c,null))[_0x03ec('0x1c')](respondWithResult(_0x2dc51c,null))[_0x03ec('0x3d')](handleError(_0x2dc51c,null));};exports[_0x03ec('0x58')]=function(_0x499523,_0x4ecb31,_0x51799a){return db[_0x03ec('0x59')][_0x03ec('0x40')]({'where':{'id':_0x499523[_0x03ec('0x3f')]['id']}})['then'](handleEntityNotFound(_0x4ecb31,null))['then'](function(_0x109442){var _0xb15b59;if(_0x109442){_0xb15b59=squel['insert']()['into']('cm_hopper')[_0x03ec('0x5a')]([_0x03ec('0x5b'),'scheduledAt',_0x03ec('0x5c'),_0x03ec('0x5d'),_0x03ec('0x5e'),_0x03ec('0x5f'),'updatedAt'],squel[_0x03ec('0x60')]()[_0x03ec('0x37')](_0x03ec('0x61'),_0x03ec('0x5b'))[_0x03ec('0x37')](_0x03ec('0x62'),_0x03ec('0x63'))[_0x03ec('0x37')]('ANY_VALUE(ContactId)',_0x03ec('0x5c'))[_0x03ec('0x37')](_0x03ec('0x64'),_0x03ec('0x5d'))[_0x03ec('0x37')](_0x03ec('0x65'),_0x03ec('0x5e'))['field']('NOW()',_0x03ec('0x5f'))[_0x03ec('0x37')](_0x03ec('0x62'),_0x03ec('0x66'))[_0x03ec('0x67')](_0x03ec('0x68'))[_0x03ec('0x32')](_0x03ec('0x69'),_0x499523[_0x03ec('0x3f')]['id'][_0x03ec('0x6a')]())[_0x03ec('0x32')]('state\x20=\x20?',_0x499523[_0x03ec('0x43')][_0x03ec('0x6b')][_0x03ec('0x6a')]())[_0x03ec('0x32')](_0x03ec('0x6c'))['where'](_0x03ec('0x6d'),squel[_0x03ec('0x60')]()[_0x03ec('0x37')]('phone')[_0x03ec('0x67')](_0x03ec('0x6e'))[_0x03ec('0x32')](_0x03ec('0x69'),_0x499523[_0x03ec('0x3f')]['id'][_0x03ec('0x6a')]()))[_0x03ec('0x32')]('calleridnum\x20NOT\x20IN\x20(?)',squel[_0x03ec('0x60')]()[_0x03ec('0x37')]('calleridnum')['from'](_0x03ec('0x68'))[_0x03ec('0x32')](_0x03ec('0x69'),_0x499523[_0x03ec('0x3f')]['id'][_0x03ec('0x6a')]())[_0x03ec('0x32')](_0x03ec('0x6f')))[_0x03ec('0x70')](_0x03ec('0x5c')))[_0x03ec('0x6a')]();return db[_0x03ec('0x45')][_0x03ec('0x26')](_0xb15b59);}return[];})['then'](respondWithResult(_0x4ecb31,null))[_0x03ec('0x3d')](handleError(_0x4ecb31,null));};exports[_0x03ec('0x71')]=function(_0x1df1d3,_0x3b30f2,_0x5181f1){return db[_0x03ec('0x72')][_0x03ec('0x40')]({'where':{'id':_0x1df1d3[_0x03ec('0x3f')]['id']}})[_0x03ec('0x1c')](handleEntityNotFound(_0x3b30f2,null))[_0x03ec('0x1c')](function(_0x46bdef){var _0x3512e0;if(_0x46bdef){_0x3512e0=squel[_0x03ec('0x73')]()[_0x03ec('0x74')](_0x03ec('0x6e'))[_0x03ec('0x5a')]([_0x03ec('0x5b'),_0x03ec('0x63'),_0x03ec('0x5c'),'ListId',_0x03ec('0x75'),_0x03ec('0x5f'),_0x03ec('0x66')],squel[_0x03ec('0x60')]()[_0x03ec('0x37')](_0x03ec('0x61'),_0x03ec('0x5b'))[_0x03ec('0x37')]('NOW()',_0x03ec('0x63'))[_0x03ec('0x37')]('ANY_VALUE(ContactId)',_0x03ec('0x5c'))[_0x03ec('0x37')](_0x03ec('0x64'),_0x03ec('0x5d'))[_0x03ec('0x37')](_0x03ec('0x76'),_0x03ec('0x75'))['field'](_0x03ec('0x62'),_0x03ec('0x5f'))['field'](_0x03ec('0x62'),_0x03ec('0x66'))[_0x03ec('0x67')](_0x03ec('0x68'))['where'](_0x03ec('0x77'),_0x1df1d3[_0x03ec('0x3f')]['id'][_0x03ec('0x6a')]())[_0x03ec('0x32')](_0x03ec('0x78'),_0x1df1d3[_0x03ec('0x43')][_0x03ec('0x6b')][_0x03ec('0x6a')]())[_0x03ec('0x32')](_0x03ec('0x6c'))['where']('calleridnum\x20NOT\x20IN\x20(?)',squel[_0x03ec('0x60')]()[_0x03ec('0x37')](_0x03ec('0x5b'))['from'](_0x03ec('0x6e'))[_0x03ec('0x32')]('CampaignId\x20=\x20?',_0x1df1d3[_0x03ec('0x3f')]['id'][_0x03ec('0x6a')]()))[_0x03ec('0x32')](_0x03ec('0x6d'),squel[_0x03ec('0x60')]()[_0x03ec('0x37')](_0x03ec('0x79'))[_0x03ec('0x67')]('cm_hopper_final')[_0x03ec('0x32')](_0x03ec('0x77'),_0x1df1d3['params']['id'][_0x03ec('0x6a')]())[_0x03ec('0x32')](_0x03ec('0x6f')))[_0x03ec('0x70')](_0x03ec('0x5c')))[_0x03ec('0x6a')]();return db[_0x03ec('0x45')]['query'](_0x3512e0);}return[];})['then'](respondWithResult(_0x3b30f2,null))[_0x03ec('0x3d')](handleError(_0x3b30f2,null));};exports[_0x03ec('0x7a')]=function(_0x39624f,_0x22073c,_0x8eef3e){return db[_0x03ec('0x7b')][_0x03ec('0x7c')]({'where':{'VoiceQueueId':_0x39624f[_0x03ec('0x43')][_0x03ec('0x5e')],'CampaignId':_0x39624f[_0x03ec('0x43')][_0x03ec('0x75')],'ContactId':_0x39624f[_0x03ec('0x43')]['ContactId']}})[_0x03ec('0x1c')](handleEntityNotFound(_0x22073c,null))[_0x03ec('0x1c')](function(_0x278f52){if(_0x278f52){return _0x278f52;}return null;})[_0x03ec('0x1c')](respondWithResult(_0x22073c,null))[_0x03ec('0x3d')](handleError(_0x22073c,null));};