Built motion from commit 639a1a7f.|2.6.19
[motion2.git] / server / services / xdr / recordings.controller.js
index 49a6d12..a0dcfc7 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x92da=['membername','name','UserId','CreateVoiceRecording','request','newchannel','debug','[%s][recordings][newchannel]','linkedid','format','[%s][recordings][newchannel]\x20context:%s\x20exten:%s','context','exten','channel','newstate','[%s][recordings][newstate]','isNil','[%s][recordings][newstate]\x20context:%s\x20channel:%s','transfer','error','variable','mixmonitor_filename','[%s][recordings][varset]\x20variable:%s\x20value:%s','endsWith','.wav49','value','replace','find','monitors','push','hangup','[%s][recordings][hangup]','[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s','calleridnum','calleridname','connectedlinenum','connectedlinename','type','outbound','forEach','newexten','[%s][recordings][newexten]','[%s][recordings][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','cdr','split','substring','lastIndexOf','queuecallerjoin','[%s][recordings][queuecallerjoin]','[%s][recordings][queuecallerjoin]\x20queue:%s','queue','blindtransfer','[%s][recordings][blindtransfer]','[%s][recordings][blindtransfer]\x20transferercalleridnum:%s\x20transferercalleridname:%s\x20transfereecalleridnum:%s\x20transfereecalleridname:%s','transferercalleridnum','transfereecalleridnum','transfereecalleridname','transfereruniqueid','lodash','util','./utils','./transfers.controller','info','[%s][recordings][writeDB]','uniqueid','blinds','transfereeuniqueid','accountcode','getUserByInternal','then'];(function(_0x411dc0,_0x43ba92){var _0x5bd617=function(_0x46ddd9){while(--_0x46ddd9){_0x411dc0['push'](_0x411dc0['shift']());}};_0x5bd617(++_0x43ba92);}(_0x92da,0x166));var _0xa92d=function(_0x30cea0,_0x5cf981){_0x30cea0=_0x30cea0-0x0;var _0x177910=_0x92da[_0x30cea0];return _0x177910;};'use strict';var _=require(_0xa92d('0x0'));var util=require(_0xa92d('0x1'));var utils=require(_0xa92d('0x2'));var transfers=require(_0xa92d('0x3'));var recordings={};function writeDB(_0x478fe0){var _0x495119;utils[_0xa92d('0x4')](util['format'](_0xa92d('0x5'),_0x478fe0[_0xa92d('0x6')]));if(transfers[_0xa92d('0x7')][_0x478fe0[_0xa92d('0x6')]]){_0x495119=_0x478fe0[_0xa92d('0x6')];_0x478fe0[_0xa92d('0x6')]=transfers[_0xa92d('0x7')][_0x478fe0['uniqueid']][_0xa92d('0x8')];}if(_0x478fe0[_0xa92d('0x9')]){utils[_0xa92d('0xa')](_0x478fe0[_0xa92d('0x9')])[_0xa92d('0xb')](function(_0x10d1d6){if(_0x10d1d6){_0x478fe0[_0xa92d('0xc')]=_0x10d1d6[_0xa92d('0xd')];_0x478fe0[_0xa92d('0xe')]=_0x10d1d6['id'];}utils['request'](_0xa92d('0xf'),_0x478fe0);});}else{utils[_0xa92d('0x10')](_0xa92d('0xf'),_0x478fe0);}if(_0x495119)delete transfers[_0xa92d('0x7')][_0x495119];}exports[_0xa92d('0x11')]=function(_0x2f0b3b){try{utils[_0xa92d('0x12')](util['format'](_0xa92d('0x13'),_0x2f0b3b[_0xa92d('0x6')]),_0x2f0b3b);if(_0x2f0b3b[_0xa92d('0x6')]==_0x2f0b3b[_0xa92d('0x14')]){utils[_0xa92d('0x4')](util[_0xa92d('0x15')](_0xa92d('0x16'),_0x2f0b3b[_0xa92d('0x6')],_0x2f0b3b[_0xa92d('0x17')],_0x2f0b3b[_0xa92d('0x18')]));recordings[_0x2f0b3b[_0xa92d('0x6')]]={'uniqueid':_0x2f0b3b['uniqueid'],'accountcode':_0x2f0b3b[_0xa92d('0x9')],'exten':_0x2f0b3b[_0xa92d('0x18')],'context':_0x2f0b3b[_0xa92d('0x17')],'channel':_0x2f0b3b[_0xa92d('0x19')],'monitors':[]};}}catch(_0x9c1c2b){utils['error'](util[_0xa92d('0x15')](_0xa92d('0x13'),_0x2f0b3b['uniqueid']),_0x9c1c2b);}};exports[_0xa92d('0x1a')]=function(_0x1912ef){try{utils['debug'](util[_0xa92d('0x15')](_0xa92d('0x1b'),_0x1912ef['uniqueid']),_0x1912ef);if(!_[_0xa92d('0x1c')](recordings[_0x1912ef[_0xa92d('0x6')]])&&_0x1912ef['channelstate']==0x6){utils[_0xa92d('0x4')](util[_0xa92d('0x15')](_0xa92d('0x1d'),_0x1912ef['uniqueid'],_0x1912ef[_0xa92d('0x17')],_0x1912ef[_0xa92d('0x19')]));}else if(!_[_0xa92d('0x1c')](recordings[_0x1912ef[_0xa92d('0x14')]])&&_0x1912ef['channelstate']==0x6&&_0x1912ef['context']!=_0xa92d('0x1e')){utils[_0xa92d('0x4')](util[_0xa92d('0x15')]('[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s',_0x1912ef[_0xa92d('0x6')],_0x1912ef[_0xa92d('0x14')],_0x1912ef['context'],_0x1912ef[_0xa92d('0x19')]));recordings[_0x1912ef[_0xa92d('0x14')]][_0xa92d('0x9')]=_0x1912ef[_0xa92d('0x9')];}}catch(_0x491108){utils[_0xa92d('0x1f')](util[_0xa92d('0x15')](_0xa92d('0x1b'),_0x1912ef[_0xa92d('0x6')]),_0x491108);}};exports['varset']=function(_0x5cdb0c){try{if(!_[_0xa92d('0x1c')](_0x5cdb0c[_0xa92d('0x20')])&&!_[_0xa92d('0x1c')](_0x5cdb0c[_0xa92d('0x20')][_0xa92d('0x21')])){utils['debug'](util[_0xa92d('0x15')]('[%s][recordings][varset]',_0x5cdb0c[_0xa92d('0x6')]),_0x5cdb0c);utils[_0xa92d('0x4')](util[_0xa92d('0x15')](_0xa92d('0x22'),_0x5cdb0c[_0xa92d('0x6')],_0x5cdb0c['variable'],_0x5cdb0c['value']));if(_[_0xa92d('0x23')](_0x5cdb0c['value'],_0xa92d('0x24'))){_0x5cdb0c[_0xa92d('0x25')]=_0x5cdb0c['value'][_0xa92d('0x26')](_0xa92d('0x24'),'.WAV');}if(recordings[_0x5cdb0c['linkedid']]){var _0x9563e3=_[_0xa92d('0x27')](recordings[_0x5cdb0c[_0xa92d('0x14')]][_0xa92d('0x28')],{'value':_0x5cdb0c['value']});if(_[_0xa92d('0x1c')](_0x9563e3)){recordings[_0x5cdb0c[_0xa92d('0x14')]][_0xa92d('0x28')][_0xa92d('0x29')]({'value':_0x5cdb0c[_0xa92d('0x25')]});}}}}catch(_0x4b87c9){utils['error'](util[_0xa92d('0x15')]('[%s][recordings][varset]',_0x5cdb0c['uniqueid']),_0x4b87c9);}};exports[_0xa92d('0x2a')]=function(_0x2f57d5){try{if(!_[_0xa92d('0x1c')](recordings[_0x2f57d5[_0xa92d('0x6')]])){utils[_0xa92d('0x12')](util[_0xa92d('0x15')](_0xa92d('0x2b'),_0x2f57d5[_0xa92d('0x6')]),_0x2f57d5);utils[_0xa92d('0x4')](util[_0xa92d('0x15')](_0xa92d('0x2c'),_0x2f57d5[_0xa92d('0x6')],_0x2f57d5[_0xa92d('0x2d')],_0x2f57d5[_0xa92d('0x2e')],_0x2f57d5['cause-txt']));recordings[_0x2f57d5[_0xa92d('0x6')]][_0xa92d('0x2d')]=_0x2f57d5[_0xa92d('0x2d')];recordings[_0x2f57d5[_0xa92d('0x6')]][_0xa92d('0x2e')]=_0x2f57d5['calleridname'];recordings[_0x2f57d5[_0xa92d('0x6')]]['connectedlinenum']=_0x2f57d5[_0xa92d('0x2f')];recordings[_0x2f57d5['uniqueid']][_0xa92d('0x30')]=_0x2f57d5[_0xa92d('0x30')];if(recordings[_0x2f57d5[_0xa92d('0x6')]][_0xa92d('0x31')]==_0xa92d('0x32')&&recordings[_0x2f57d5[_0xa92d('0x6')]][_0xa92d('0x9')]){recordings[_0x2f57d5[_0xa92d('0x6')]][_0xa92d('0x2f')]=recordings[_0x2f57d5[_0xa92d('0x6')]][_0xa92d('0x9')];recordings[_0x2f57d5[_0xa92d('0x6')]][_0xa92d('0x30')]='';}recordings[_0x2f57d5[_0xa92d('0x6')]][_0xa92d('0x28')][_0xa92d('0x33')](function(_0x452285){var _0xf76bb8=_['clone'](recordings[_0x2f57d5[_0xa92d('0x6')]]);_0xf76bb8[_0xa92d('0x25')]=_0x452285[_0xa92d('0x25')];writeDB(_0xf76bb8);});delete recordings[_0x2f57d5[_0xa92d('0x6')]];}}catch(_0x43c7f9){utils[_0xa92d('0x1f')](util[_0xa92d('0x15')](_0xa92d('0x2b'),_0x2f57d5[_0xa92d('0x6')]),_0x43c7f9);}};exports[_0xa92d('0x34')]=function(_0x24262a){try{if(!_[_0xa92d('0x1c')](recordings[_0x24262a[_0xa92d('0x6')]])){utils['debug'](util['format'](_0xa92d('0x35'),_0x24262a[_0xa92d('0x6')]),_0x24262a);utils[_0xa92d('0x4')](util[_0xa92d('0x15')](_0xa92d('0x36'),_0x24262a[_0xa92d('0x6')],_0x24262a[_0xa92d('0x37')],_0x24262a[_0xa92d('0x38')]));if(_0x24262a[_0xa92d('0x37')][_0xa92d('0x39')]()==_0xa92d('0x3a')&&_['startsWith'](_0x24262a[_0xa92d('0x38')][_0xa92d('0x39')](),_0xa92d('0x3b'))){var _0x56964a=_0x24262a['appdata'][_0xa92d('0x3c')]('=');var _0x4668c4=_0x56964a[0x0][_0xa92d('0x3d')](_0x56964a[0x0][_0xa92d('0x3e')]('(')+0x1,_0x56964a[0x0][_0xa92d('0x3e')](')'));var _0x52c4d7=_0x56964a[0x1];recordings[_0x24262a[_0xa92d('0x6')]][_0x4668c4]=_0x52c4d7;}}}catch(_0x2ef43f){utils[_0xa92d('0x1f')](util[_0xa92d('0x15')](_0xa92d('0x35'),_0x24262a[_0xa92d('0x6')]),_0x2ef43f);}};exports[_0xa92d('0x3f')]=function(_0x3077c9){try{if(!_['isNil'](recordings[_0x3077c9['uniqueid']])){utils[_0xa92d('0x12')](util['format'](_0xa92d('0x40'),_0x3077c9[_0xa92d('0x6')]),_0x3077c9);utils[_0xa92d('0x4')](util['format'](_0xa92d('0x41'),_0x3077c9[_0xa92d('0x6')],_0x3077c9[_0xa92d('0x42')]));recordings[_0x3077c9[_0xa92d('0x6')]][_0xa92d('0x42')]=_0x3077c9[_0xa92d('0x42')];}}catch(_0x5be5b7){utils['error'](util[_0xa92d('0x15')](_0xa92d('0x40'),_0x3077c9[_0xa92d('0x6')]),_0x5be5b7);}};exports[_0xa92d('0x43')]=function(_0xc093e4){try{utils['debug'](util['format'](_0xa92d('0x44'),_0xc093e4['uniqueid']),_0xc093e4);utils['info'](util[_0xa92d('0x15')](_0xa92d('0x45'),_0xc093e4[_0xa92d('0x6')],_0xc093e4[_0xa92d('0x46')],_0xc093e4['transferercalleridname'],_0xc093e4[_0xa92d('0x47')],_0xc093e4[_0xa92d('0x48')]));if(recordings[_0xc093e4[_0xa92d('0x49')]]&&transfers[_0xa92d('0x7')][_0xc093e4['transfereruniqueid']]){transfers[_0xa92d('0x7')][_0xc093e4['transfereruniqueid']]['recording']=!![];}}catch(_0x4a1f4c){utils[_0xa92d('0x1f')](util[_0xa92d('0x15')](_0xa92d('0x44'),_0xc093e4[_0xa92d('0x6')]),_0x4a1f4c);}};
\ No newline at end of file
+var _0xaeae=['[%s][recordings][queuecallerjoin]','[%s][recordings][queuecallerjoin]\x20queue:%s','queue','lodash','util','./utils','format','[%s][recordings][writeDB]','accountcode','getUserByInternal','then','name','UserId','request','CreateVoiceRecording','newchannel','debug','[%s][recordings][newchannel]','uniqueid','linkedid','info','[%s][recordings][newchannel]\x20context:%s\x20exten:%s','context','exten','error','newstate','[%s][recordings][newstate]','isNil','[%s][recordings][newstate]\x20context:%s\x20channel:%s','channelstate','transfer','[%s][recordings][newstate]\x20linkedid:%s\x20context:%s\x20channel:%s','channel','varset','variable','[%s][recordings][varset]','value','endsWith','.wav49','.WAV','find','monitors','[%s][recordings][hangup]','calleridname','cause-txt','connectedlinenum','connectedlinename','type','outbound','forEach','[%s][recordings][newexten]','[%s][recordings][newexten]\x20application:%s\x20appdata:%s','application','appdata','toLowerCase','set','startsWith','cdr','split','substring','lastIndexOf'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0xaeae,0x1eb));var _0xeaea=function(_0x2ff279,_0x493782){_0x2ff279=_0x2ff279-0x0;var _0x3d9842=_0xaeae[_0x2ff279];return _0x3d9842;};'use strict';var _=require(_0xeaea('0x0'));var util=require(_0xeaea('0x1'));var utils=require(_0xeaea('0x2'));var recordings={};function writeDB(_0x21b7bf){utils['info'](util[_0xeaea('0x3')](_0xeaea('0x4'),_0x21b7bf['uniqueid']));if(_0x21b7bf[_0xeaea('0x5')]){utils[_0xeaea('0x6')](_0x21b7bf[_0xeaea('0x5')])[_0xeaea('0x7')](function(_0x211e64){if(_0x211e64){_0x21b7bf['membername']=_0x211e64[_0xeaea('0x8')];_0x21b7bf[_0xeaea('0x9')]=_0x211e64['id'];}utils[_0xeaea('0xa')]('CreateVoiceRecording',_0x21b7bf);});}else{utils[_0xeaea('0xa')](_0xeaea('0xb'),_0x21b7bf);}}exports[_0xeaea('0xc')]=function(_0x5ed865){try{utils[_0xeaea('0xd')](util[_0xeaea('0x3')](_0xeaea('0xe'),_0x5ed865['uniqueid']),_0x5ed865);if(_0x5ed865[_0xeaea('0xf')]==_0x5ed865[_0xeaea('0x10')]){utils[_0xeaea('0x11')](util[_0xeaea('0x3')](_0xeaea('0x12'),_0x5ed865[_0xeaea('0xf')],_0x5ed865[_0xeaea('0x13')],_0x5ed865[_0xeaea('0x14')]));recordings[_0x5ed865[_0xeaea('0xf')]]={'uniqueid':_0x5ed865['uniqueid'],'accountcode':_0x5ed865[_0xeaea('0x5')],'exten':_0x5ed865[_0xeaea('0x14')],'context':_0x5ed865['context'],'channel':_0x5ed865['channel'],'monitors':[]};}}catch(_0x4a7ed0){utils[_0xeaea('0x15')](util[_0xeaea('0x3')]('[%s][recordings][newchannel]',_0x5ed865[_0xeaea('0xf')]),_0x4a7ed0);}};exports[_0xeaea('0x16')]=function(_0x1dd972){try{utils[_0xeaea('0xd')](util[_0xeaea('0x3')](_0xeaea('0x17'),_0x1dd972[_0xeaea('0xf')]),_0x1dd972);if(!_[_0xeaea('0x18')](recordings[_0x1dd972[_0xeaea('0xf')]])&&_0x1dd972['channelstate']==0x6){utils['info'](util[_0xeaea('0x3')](_0xeaea('0x19'),_0x1dd972[_0xeaea('0xf')],_0x1dd972['context'],_0x1dd972['channel']));}else if(!_['isNil'](recordings[_0x1dd972['linkedid']])&&_0x1dd972[_0xeaea('0x1a')]==0x6&&_0x1dd972[_0xeaea('0x13')]!=_0xeaea('0x1b')){utils[_0xeaea('0x11')](util['format'](_0xeaea('0x1c'),_0x1dd972[_0xeaea('0xf')],_0x1dd972[_0xeaea('0x10')],_0x1dd972[_0xeaea('0x13')],_0x1dd972[_0xeaea('0x1d')]));recordings[_0x1dd972[_0xeaea('0x10')]][_0xeaea('0x5')]=_0x1dd972[_0xeaea('0x5')];}}catch(_0x3558d3){utils[_0xeaea('0x15')](util[_0xeaea('0x3')](_0xeaea('0x17'),_0x1dd972[_0xeaea('0xf')]),_0x3558d3);}};exports[_0xeaea('0x1e')]=function(_0x4908b0){try{if(!_[_0xeaea('0x18')](_0x4908b0[_0xeaea('0x1f')])&&!_[_0xeaea('0x18')](_0x4908b0[_0xeaea('0x1f')]['mixmonitor_filename'])){utils['debug'](util[_0xeaea('0x3')](_0xeaea('0x20'),_0x4908b0[_0xeaea('0xf')]),_0x4908b0);utils['info'](util[_0xeaea('0x3')]('[%s][recordings][varset]\x20variable:%s\x20value:%s',_0x4908b0['uniqueid'],_0x4908b0['variable'],_0x4908b0[_0xeaea('0x21')]));if(_[_0xeaea('0x22')](_0x4908b0[_0xeaea('0x21')],'.wav49')){_0x4908b0[_0xeaea('0x21')]=_0x4908b0[_0xeaea('0x21')]['replace'](_0xeaea('0x23'),_0xeaea('0x24'));}if(recordings[_0x4908b0[_0xeaea('0x10')]]){var _0x168df0=_[_0xeaea('0x25')](recordings[_0x4908b0[_0xeaea('0x10')]][_0xeaea('0x26')],{'value':_0x4908b0[_0xeaea('0x21')]});if(_[_0xeaea('0x18')](_0x168df0)){recordings[_0x4908b0[_0xeaea('0x10')]][_0xeaea('0x26')]['push']({'value':_0x4908b0[_0xeaea('0x21')]});}}}}catch(_0x4cc5eb){utils['error'](util[_0xeaea('0x3')](_0xeaea('0x20'),_0x4908b0['uniqueid']),_0x4cc5eb);}};exports['hangup']=function(_0x4ba67c){try{if(!_[_0xeaea('0x18')](recordings[_0x4ba67c['uniqueid']])){utils[_0xeaea('0xd')](util['format'](_0xeaea('0x27'),_0x4ba67c['uniqueid']),_0x4ba67c);utils[_0xeaea('0x11')](util[_0xeaea('0x3')]('[%s][recordings][hangup]\x20calleridnum:%s\x20calleridname:%s\x20reason:%s',_0x4ba67c[_0xeaea('0xf')],_0x4ba67c['calleridnum'],_0x4ba67c[_0xeaea('0x28')],_0x4ba67c[_0xeaea('0x29')]));recordings[_0x4ba67c[_0xeaea('0xf')]]['calleridnum']=_0x4ba67c['calleridnum'];recordings[_0x4ba67c['uniqueid']][_0xeaea('0x28')]=_0x4ba67c[_0xeaea('0x28')];recordings[_0x4ba67c[_0xeaea('0xf')]][_0xeaea('0x2a')]=_0x4ba67c[_0xeaea('0x2a')];recordings[_0x4ba67c[_0xeaea('0xf')]]['connectedlinename']=_0x4ba67c[_0xeaea('0x2b')];if(recordings[_0x4ba67c['uniqueid']][_0xeaea('0x2c')]==_0xeaea('0x2d')&&recordings[_0x4ba67c[_0xeaea('0xf')]][_0xeaea('0x5')]){recordings[_0x4ba67c[_0xeaea('0xf')]][_0xeaea('0x2a')]=recordings[_0x4ba67c[_0xeaea('0xf')]][_0xeaea('0x5')];recordings[_0x4ba67c[_0xeaea('0xf')]][_0xeaea('0x2b')]='';}recordings[_0x4ba67c['uniqueid']][_0xeaea('0x26')][_0xeaea('0x2e')](function(_0x44f2d5){var _0x45a5eb=_['clone'](recordings[_0x4ba67c[_0xeaea('0xf')]]);_0x45a5eb[_0xeaea('0x21')]=_0x44f2d5[_0xeaea('0x21')];writeDB(_0x45a5eb);});delete recordings[_0x4ba67c['uniqueid']];}}catch(_0xecb27a){utils[_0xeaea('0x15')](util[_0xeaea('0x3')](_0xeaea('0x27'),_0x4ba67c['uniqueid']),_0xecb27a);}};exports['newexten']=function(_0x335afa){try{if(!_['isNil'](recordings[_0x335afa['uniqueid']])){utils[_0xeaea('0xd')](util[_0xeaea('0x3')](_0xeaea('0x2f'),_0x335afa['uniqueid']),_0x335afa);utils[_0xeaea('0x11')](util[_0xeaea('0x3')](_0xeaea('0x30'),_0x335afa['uniqueid'],_0x335afa[_0xeaea('0x31')],_0x335afa[_0xeaea('0x32')]));if(_0x335afa[_0xeaea('0x31')][_0xeaea('0x33')]()==_0xeaea('0x34')&&_[_0xeaea('0x35')](_0x335afa[_0xeaea('0x32')][_0xeaea('0x33')](),_0xeaea('0x36'))){var _0x2c7081=_0x335afa[_0xeaea('0x32')][_0xeaea('0x37')]('=');var _0x997f6d=_0x2c7081[0x0][_0xeaea('0x38')](_0x2c7081[0x0][_0xeaea('0x39')]('(')+0x1,_0x2c7081[0x0][_0xeaea('0x39')](')'));var _0x5e45c9=_0x2c7081[0x1];recordings[_0x335afa[_0xeaea('0xf')]][_0x997f6d]=_0x5e45c9;}}}catch(_0x46d947){utils[_0xeaea('0x15')](util[_0xeaea('0x3')](_0xeaea('0x2f'),_0x335afa[_0xeaea('0xf')]),_0x46d947);}};exports['queuecallerjoin']=function(_0x10bc05){try{if(!_[_0xeaea('0x18')](recordings[_0x10bc05[_0xeaea('0xf')]])){utils[_0xeaea('0xd')](util[_0xeaea('0x3')](_0xeaea('0x3a'),_0x10bc05['uniqueid']),_0x10bc05);utils[_0xeaea('0x11')](util['format'](_0xeaea('0x3b'),_0x10bc05[_0xeaea('0xf')],_0x10bc05[_0xeaea('0x3c')]));recordings[_0x10bc05[_0xeaea('0xf')]]['queue']=_0x10bc05[_0xeaea('0x3c')];}}catch(_0x4fb1b9){utils[_0xeaea('0x15')](util['format'](_0xeaea('0x3a'),_0x10bc05[_0xeaea('0xf')]),_0x4fb1b9);}};
\ No newline at end of file