Built motion from commit 137ed438a.|1.0.25
[motion.git] / server / config / automations / fax.js
index 4613966..67fc7ad 100644 (file)
@@ -1 +1 @@
-var _0x52ad=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x2E\x2E\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x6D\x6F\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x46\x61\x78\x52\x6F\x6F\x6D","\x53\x65\x74\x74\x69\x6E\x67\x73","\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x4D\x61\x69\x6C\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x6C\x6F\x67","\x46\x61\x78\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x65\x78\x65\x63\x20\x65\x72\x72\x6F\x72","\x63\x61\x74\x63\x68","\x69\x64","\x64\x61\x74\x61\x31","\x73\x74\x61\x74\x75\x73","\x61\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x41\x63\x74\x69\x6F\x6E\x73","\x74\x68\x65\x6E","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x75\x73\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x41\x6C\x6C","\x24\x6F\x72","\x41\x6E\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x41\x75\x74\x6F\x6D\x61\x74\x69\x63\x20\x6D\x61\x69\x6C\x20\x73\x74\x61\x74\x75\x73\x20\x65\x72\x72\x6F\x72","\x75\x70\x64\x61\x74\x65","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x65\x71\x75\x61\x6C\x73","\x6E\x6F\x74\x5F\x65\x71\x75\x61\x6C\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x67\x72\x65\x61\x74\x65\x72","\x67\x72\x65\x61\x74\x65\x72\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x6C\x65\x73\x73","\x6C\x65\x73\x73\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x46\x61\x78\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20","\x20\x73\x65\x74\x20\x77\x69\x74\x68\x20\x74\x69\x6D\x65\x6F\x75\x74\x20","\x74\x69\x6D\x65\x6F\x75\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x20\x63\x72\x65\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x63\x68\x61\x6E\x6E\x65\x6C","\x66\x61\x78","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x20\x75\x70\x64\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73\x20","\x46\x61\x78\x20\x61\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x75\x6E\x73\x65\x74\x20","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x20\x64\x65\x6C\x65\x74\x65\x64","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x46\x61\x78\x20\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x20\x69\x6E\x69\x74\x20\x65\x72\x72\x6F\x72"];_0x52ad[0];var _=require(_0x52ad[1]);var config=require(_0x52ad[2]);var moment=require(_0x52ad[3]);var sequelize=require(_0x52ad[5])[_0x52ad[4]];var Automation=require(_0x52ad[5])[_0x52ad[6]];var FaxRoom=require(_0x52ad[5])[_0x52ad[7]];var Settings=require(_0x52ad[5])[_0x52ad[8]];var automationTimeout;var activeFaxAutomations={};function executeAutomation(_0x41ebxb){console[_0x52ad[10]](_0x52ad[9],_0x41ebxb);var _0x41ebxc;return Automation[_0x52ad[30]](_0x52ad[29])[_0x52ad[28]](_0x41ebxb)[_0x52ad[19]](function(_0x41ebx11){_0x41ebxc= _0x41ebx11;var _0x41ebx12={where:{$and:[],$or:[]}};_0x41ebx11[_0x52ad[24]][_0x52ad[17]](function(_0x41ebx13){_0x41ebx12[_0x52ad[23]][_0x52ad[22]][_0x52ad[21]](getCondition(_0x41ebx13[_0x52ad[20]]))});_0x41ebx11[_0x52ad[26]][_0x52ad[17]](function(_0x41ebx13){_0x41ebx12[_0x52ad[23]][_0x52ad[25]][_0x52ad[21]](getCondition(_0x41ebx13[_0x52ad[20]]))});return FaxRoom[_0x52ad[27]](_0x41ebx12)})[_0x52ad[19]](function(_0x41ebxe){_0x41ebxe[_0x52ad[17]](function(_0x41ebxf){_0x41ebxc[_0x52ad[18]][_0x52ad[17]](function(_0x41ebx10){switch(_0x41ebx10[_0x52ad[16]]){case _0x52ad[15]:setStatus(_0x41ebxf[_0x52ad[13]],_0x41ebx10[_0x52ad[14]]);break;default:}})})})[_0x52ad[12]](function(_0x41ebxd){console[_0x52ad[10]](_0x52ad[11],_0x41ebxd)})}function setStatus(_0x41ebx15,_0x41ebx16){return FaxRoom[_0x52ad[32]]({status:_0x41ebx16},{where:{id:_0x41ebx15}})[_0x52ad[12]](function(_0x41ebxd){console[_0x52ad[10]](_0x52ad[31],_0x41ebxd)})}function getCondition(_0x41ebx13){var _0x41ebx18={};switch(_0x41ebx13[_0x52ad[33]]){case _0x52ad[15]:switch(_0x41ebx13[_0x52ad[37]]){case _0x52ad[35]:_0x41ebx18[_0x41ebx13[_0x52ad[33]]]= _0x41ebx13[_0x52ad[34]];break;case _0x52ad[36]:_0x41ebx18[_0x41ebx13[_0x52ad[33]]]= {$ne:_0x41ebx13[_0x52ad[34]]};break;default:};break;case _0x52ad[46]:var _0x41ebx19=moment()[_0x52ad[41]](parseInt(_0x41ebx13[_0x52ad[34]],10),_0x52ad[40])[_0x52ad[39]](_0x52ad[38]);switch(_0x41ebx13[_0x52ad[37]]){case _0x52ad[42]:_0x41ebx18[_0x41ebx13[_0x52ad[33]]]= {lt:_0x41ebx19};break;case _0x52ad[43]:_0x41ebx18[_0x41ebx13[_0x52ad[33]]]= {$lte:_0x41ebx19};break;case _0x52ad[44]:_0x41ebx18[_0x41ebx13[_0x52ad[33]]]= {$gt:_0x41ebx19};break;case _0x52ad[45]:_0x41ebx18[_0x41ebx13[_0x52ad[33]]]= {$gte:_0x41ebx19};break;default:};break;default:};return _0x41ebx18}function createInterval(_0x41ebx11){console[_0x52ad[10]](_0x52ad[47],_0x41ebx11[_0x52ad[13]],_0x52ad[48],_0x41ebx11[_0x52ad[49]]* 60* 1000);activeFaxAutomations[_0x52ad[50]+ _0x41ebx11[_0x52ad[13]]]= setInterval(function(){executeAutomation(_0x41ebx11[_0x52ad[13]])},_0x41ebx11[_0x52ad[49]]* 60* 1000)}module[_0x52ad[51]]= function(){Automation[_0x52ad[55]](function(_0x41ebx1b,_0x41ebx1c){console[_0x52ad[10]](_0x52ad[47],_0x41ebx1b[_0x52ad[13]],_0x52ad[52],_0x41ebx1b[_0x52ad[15]]);if(_0x41ebx1b[_0x52ad[15]]&& _0x41ebx1b[_0x52ad[53]]=== _0x52ad[54]){createInterval(_0x41ebx1b)}});Automation[_0x52ad[58]](function(_0x41ebx1b,_0x41ebx1c){console[_0x52ad[10]](_0x52ad[47],_0x41ebx1b[_0x52ad[13]],_0x52ad[56],_0x41ebx1b[_0x52ad[15]]);if(activeFaxAutomations[_0x52ad[50]+ _0x41ebx1b[_0x52ad[13]]]){console[_0x52ad[10]](_0x52ad[57],_0x41ebx1b[_0x52ad[13]]);clearInterval(activeFaxAutomations[_0x52ad[50]+ _0x41ebx1b[_0x52ad[13]]]);delete activeFaxAutomations[_0x52ad[50]+ _0x41ebx1b[_0x52ad[13]]]};if(_0x41ebx1b[_0x52ad[15]]&& _0x41ebx1b[_0x52ad[53]]=== _0x52ad[54]){createInterval(_0x41ebx1b)}});Automation[_0x52ad[60]](function(_0x41ebx1b,_0x41ebx1c){console[_0x52ad[10]](_0x52ad[47],_0x41ebx1b[_0x52ad[13]],_0x52ad[59]);if(activeFaxAutomations[_0x52ad[50]+ _0x41ebx1b[_0x52ad[13]]]){console[_0x52ad[10]](_0x52ad[57],_0x41ebx1b[_0x52ad[13]]);clearInterval(activeFaxAutomations[_0x52ad[50]+ _0x41ebx1b[_0x52ad[13]]]);delete activeFaxAutomations[_0x52ad[50]+ _0x41ebx1b[_0x52ad[13]]]}});return Automation[_0x52ad[30]](_0x52ad[29])[_0x52ad[27]]({where:{status:true,channel:_0x52ad[54]},attributes:[_0x52ad[13],_0x52ad[49]]})[_0x52ad[19]](function(_0x41ebx1d){_0x41ebx1d[_0x52ad[17]](function(_0x41ebx11){createInterval(_0x41ebx11)})})[_0x52ad[12]](function(_0x41ebxd){console[_0x52ad[10]](_0x52ad[61],_0x41ebxd)})}
\ No newline at end of file
+var _0xa53a=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x6D\x6F\x6D\x65\x6E\x74","\x6D\x6F\x74\x69\x6F\x6E","\x2E\x2E\x2F\x6C\x6F\x67\x67\x65\x72\x2E\x6A\x73","\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x46\x61\x78\x52\x6F\x6F\x6D","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x45\x78\x65\x63\x75\x74\x69\x6E\x67\x20\x46\x61\x78","\x69\x6E\x66\x6F","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x46\x61\x78\x20\x65\x78\x65\x63","\x65\x72\x72\x6F\x72","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x4D\x65\x73\x73\x61\x67\x65\x3A","\x6D\x65\x73\x73\x61\x67\x65","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x53\x74\x61\x63\x6B\x3A","\x73\x74\x61\x63\x6B","\x63\x61\x74\x63\x68","\x69\x64","\x64\x61\x74\x61\x31","\x73\x74\x61\x74\x75\x73","\x61\x63\x74\x69\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x41\x63\x74\x69\x6F\x6E\x73","\x74\x68\x65\x6E","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x70\x75\x73\x68","\x41\x6C\x6C","\x41\x6E\x79","\x6C\x65\x6E\x67\x74\x68","\x24\x61\x6E\x64","\x77\x68\x65\x72\x65","\x24\x6F\x72","\x66\x69\x6E\x64\x41\x6C\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x6C\x6C","\x73\x63\x6F\x70\x65","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x46\x61\x78\x20\x73\x65\x74\x53\x74\x61\x74\x75\x73","\x75\x70\x64\x61\x74\x65","\x66\x69\x65\x6C\x64","\x76\x61\x6C\x75\x65","\x65\x71\x75\x61\x6C\x73","\x6E\x6F\x74\x5F\x65\x71\x75\x61\x6C\x73","\x6F\x70\x65\x72\x61\x74\x6F\x72","\x59\x59\x59\x59\x2D\x4D\x4D\x2D\x44\x44\x20\x48\x48\x3A\x6D\x6D\x3A\x73\x73","\x66\x6F\x72\x6D\x61\x74","\x68\x6F\x75\x72\x73","\x73\x75\x62\x74\x72\x61\x63\x74","\x67\x72\x65\x61\x74\x65\x72","\x67\x72\x65\x61\x74\x65\x72\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x6C\x65\x73\x73","\x6C\x65\x73\x73\x5F\x6F\x72\x5F\x65\x71\x75\x61\x6C","\x63\x72\x65\x61\x74\x65\x64\x41\x74","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x4D\x61\x69\x6C","\x73\x65\x74\x20\x77\x69\x74\x68\x20\x74\x69\x6D\x65\x6F\x75\x74","\x74\x69\x6D\x65\x6F\x75\x74","\x69\x6E\x74\x65\x72\x76\x61\x6C","\x65\x78\x70\x6F\x72\x74\x73","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x46\x61\x78\x20\x73\x65\x72\x76\x69\x63\x65\x20\x73\x74\x61\x72\x74\x65\x64","\x63\x68\x61\x6E\x6E\x65\x6C","\x66\x61\x78","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x46\x61\x78","\x63\x72\x65\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73","\x64\x65\x62\x75\x67","\x61\x66\x74\x65\x72\x43\x72\x65\x61\x74\x65","\x75\x70\x64\x61\x74\x65\x64\x2C\x20\x74\x68\x65\x20\x73\x74\x61\x74\x75\x73\x20\x69\x73","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x46\x61\x78\x20\x75\x6E\x73\x65\x74\x20","\x61\x66\x74\x65\x72\x55\x70\x64\x61\x74\x65","\x20\x64\x65\x6C\x65\x74\x65\x64","\x61\x66\x74\x65\x72\x44\x65\x6C\x65\x74\x65","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x45\x72\x72\x6F\x72\x20\x69\x6E\x20\x4D\x61\x69\x6C\x20\x69\x6E\x69\x74","\x5B\x41\x75\x74\x6F\x6D\x61\x74\x69\x6F\x6E\x5D\x20\x46\x61\x78\x20\x61\x72\x65"];_0xa53a[0];var _=require(_0xa53a[1]);var moment=require(_0xa53a[2]);var logger=require(_0xa53a[4])(_0xa53a[3]);var Automation=require(_0xa53a[6])[_0xa53a[5]];var FaxRoom=require(_0xa53a[6])[_0xa53a[7]];var activeFaxAutomations={};function executeAutomation(_0x370ex8){logger[_0xa53a[9]](_0xa53a[8],_0x370ex8);var _0x370ex9;return Automation[_0xa53a[35]](_0xa53a[34])[_0xa53a[33]](_0x370ex8)[_0xa53a[23]](function(_0x370exe){_0x370ex9= _0x370exe;var _0x370exf=[];var _0x370ex10=[];var _0x370ex11={where:{}};_0x370exe[_0xa53a[26]][_0xa53a[21]](function(_0x370ex12){_0x370ex10[_0xa53a[25]](getCondition(_0x370ex12[_0xa53a[24]]))});_0x370exe[_0xa53a[27]][_0xa53a[21]](function(_0x370ex12){_0x370exf[_0xa53a[25]](getCondition(_0x370ex12[_0xa53a[24]]))});if(_0x370ex10[_0xa53a[28]]){_0x370ex11[_0xa53a[30]][_0xa53a[29]]= _0x370ex10};if(_0x370exf[_0xa53a[28]]){_0x370ex11[_0xa53a[30]][_0xa53a[31]]= _0x370exf};return FaxRoom[_0xa53a[32]](_0x370ex11)})[_0xa53a[23]](function(_0x370exb){_0x370exb[_0xa53a[21]](function(_0x370exc){_0x370ex9[_0xa53a[22]][_0xa53a[21]](function(_0x370exd){switch(_0x370exd[_0xa53a[20]]){case _0xa53a[19]:setStatus(_0x370exc[_0xa53a[17]],_0x370exd[_0xa53a[18]]);break;default:}})})})[_0xa53a[16]](function(_0x370exa){logger[_0xa53a[11]](_0xa53a[10]);logger[_0xa53a[11]](_0xa53a[12],_0x370exa[_0xa53a[13]]);logger[_0xa53a[11]](_0xa53a[14],_0x370exa[_0xa53a[15]])})}function setStatus(_0x370ex14,_0x370ex15){return FaxRoom[_0xa53a[37]]({status:_0x370ex15},{where:{id:_0x370ex14}})[_0xa53a[16]](function(_0x370exa){logger[_0xa53a[11]](_0xa53a[36]);logger[_0xa53a[11]](_0xa53a[12],_0x370exa[_0xa53a[13]]);logger[_0xa53a[11]](_0xa53a[14],_0x370exa[_0xa53a[15]])})}function getCondition(_0x370ex12){var _0x370ex17={};switch(_0x370ex12[_0xa53a[38]]){case _0xa53a[19]:switch(_0x370ex12[_0xa53a[42]]){case _0xa53a[40]:_0x370ex17[_0x370ex12[_0xa53a[38]]]= _0x370ex12[_0xa53a[39]];break;case _0xa53a[41]:_0x370ex17[_0x370ex12[_0xa53a[38]]]= {$ne:_0x370ex12[_0xa53a[39]]};break;default:};break;case _0xa53a[51]:var _0x370ex18=moment()[_0xa53a[46]](parseInt(_0x370ex12[_0xa53a[39]],10),_0xa53a[45])[_0xa53a[44]](_0xa53a[43]);switch(_0x370ex12[_0xa53a[42]]){case _0xa53a[47]:_0x370ex17[_0x370ex12[_0xa53a[38]]]= {lt:_0x370ex18};break;case _0xa53a[48]:_0x370ex17[_0x370ex12[_0xa53a[38]]]= {$lte:_0x370ex18};break;case _0xa53a[49]:_0x370ex17[_0x370ex12[_0xa53a[38]]]= {$gt:_0x370ex18};break;case _0xa53a[50]:_0x370ex17[_0x370ex12[_0xa53a[38]]]= {$gte:_0x370ex18};break;default:};break;default:};return _0x370ex17}function createInterval(_0x370exe){logger[_0xa53a[9]](_0xa53a[52],_0x370exe[_0xa53a[17]],_0xa53a[53],_0x370exe[_0xa53a[54]]* 60* 1000);activeFaxAutomations[_0xa53a[55]+ _0x370exe[_0xa53a[17]]]= setInterval(function(){executeAutomation(_0x370exe[_0xa53a[17]])},_0x370exe[_0xa53a[54]]* 60* 1000)}module[_0xa53a[56]]= function(){logger[_0xa53a[9]](_0xa53a[57]);Automation[_0xa53a[63]](function(_0x370ex1a,_0x370ex1b){if(_0x370ex1a[_0xa53a[58]]=== _0xa53a[59]){logger[_0xa53a[62]](_0xa53a[60],_0x370ex1a[_0xa53a[17]],_0xa53a[61],_0x370ex1a[_0xa53a[19]]);if(_0x370ex1a[_0xa53a[19]]){createInterval(_0x370ex1a)}}});Automation[_0xa53a[66]](function(_0x370ex1a,_0x370ex1b){if(_0x370ex1a[_0xa53a[58]]=== _0xa53a[59]){logger[_0xa53a[62]](_0xa53a[60],_0x370ex1a[_0xa53a[17]],_0xa53a[64],_0x370ex1a[_0xa53a[19]]);if(activeFaxAutomations[_0xa53a[55]+ _0x370ex1a[_0xa53a[17]]]){logger[_0xa53a[62]](_0xa53a[65],_0x370ex1a[_0xa53a[17]]);clearInterval(activeFaxAutomations[_0xa53a[55]+ _0x370ex1a[_0xa53a[17]]]);delete activeFaxAutomations[_0xa53a[55]+ _0x370ex1a[_0xa53a[17]]]};if(_0x370ex1a[_0xa53a[19]]){createInterval(_0x370ex1a)}}});Automation[_0xa53a[68]](function(_0x370ex1a,_0x370ex1b){if(_0x370ex1a[_0xa53a[58]]=== _0xa53a[59]){logger[_0xa53a[62]](_0xa53a[60],_0x370ex1a[_0xa53a[17]],_0xa53a[67]);if(activeFaxAutomations[_0xa53a[55]+ _0x370ex1a[_0xa53a[17]]]){logger[_0xa53a[62]](_0xa53a[65],_0x370ex1a[_0xa53a[17]]);clearInterval(activeFaxAutomations[_0xa53a[55]+ _0x370ex1a[_0xa53a[17]]]);delete activeFaxAutomations[_0xa53a[55]+ _0x370ex1a[_0xa53a[17]]]}}});return Automation[_0xa53a[35]](_0xa53a[34])[_0xa53a[32]]({where:{status:true,channel:_0xa53a[59]},attributes:[_0xa53a[17],_0xa53a[54]]})[_0xa53a[23]](function(_0x370ex1c){logger[_0xa53a[62]](_0xa53a[70],_0x370ex1c[_0xa53a[28]]);_0x370ex1c[_0xa53a[21]](function(_0x370exe){createInterval(_0x370exe)})})[_0xa53a[16]](function(_0x370exa){logger[_0xa53a[11]](_0xa53a[69]);logger[_0xa53a[11]](_0xa53a[12],_0x370exa[_0xa53a[13]]);logger[_0xa53a[11]](_0xa53a[14],_0x370exa[_0xa53a[15]])})}
\ No newline at end of file