@opcua/for-node-red 3.8.0 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +1 -1
- package/all.js +4 -150
- package/config-panel/assets/index-CxGeB_Tt.css +1 -0
- package/config-panel/assets/index-DgIjB-ey.js +49 -0
- package/config-panel/index.html +5 -3
- package/examples/coffee-machine-2.json +3393 -0
- package/examples/svg_watertank.html +17 -0
- package/examples/tank.jsx +33 -0
- package/package.json +2 -1
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +3 -4
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +7 -2
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +1 -2
- package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.html +1 -2
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.css +2 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.html +75 -0
- package/source/OpcUa-Client2-FileOperation/OpcUa-Client2-FileOperation.js +2 -0
- package/source/OpcUa-Client2-HistoryRead/OpcUa-Client2-HistoryRead.html +1 -2
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +1 -2
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +1 -2
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +1 -2
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +1 -2
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +1 -2
- package/config-panel/assets/index-DDkINW5U.js +0 -49
- package/config-panel/assets/index-DayGs2U8.css +0 -1
@@ -4,8 +4,7 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0x3e8d(_0xf30bf7,_0x409e1b){const _0x2d01d9=_0x2d01();return _0x3e8d=function(_0x3e8d32,_0x58b44a){_0x3e8d32=_0x3e8d32-0x17c;let _0x184286=_0x2d01d9[_0x3e8d32];return _0x184286;},_0x3e8d(_0xf30bf7,_0x409e1b);}function _0x2d01(){const _0x15004b=['<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>',':focus','</span>','auto','inputs','val','#node-input-nodeId','$dropdown','ObjectType','20px','HasTypeDefinition','fa-question','target',':visible','disarmClick','blur','off','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','180px','statusCode:\x20','setMode','before','next',');\x20-webkit-mask-image:\x20url(','sort','subscriptions','.tree-text:first','statusCode','<input\x20type=\x22checkbox\x22>','change','append','li\x20>\x20.tree-text','Aliased\x20NodeId','$selectTrigger','text','placeholder','prev','IsForward','__parentNode','suppressed','BrowseName','sterfive-dropdown','<li\x20key=\x22','16px','top','elements','><i\x20class=\x22fa\x20','fa-object-group','prop','push','node_label_italic','bp_indexed',':first','HasProperty','bp_aliased','ns=0;i=35','Inverse','input[type=\x22checkbox\x22]','#node-input-startImmediately','tabindex','main-wrapper','nodeIds','TypeDefinition','Object','wrap','opc.tcp://opcuademo.sterfive.com:26543','HasSubtype','OPCUA\x20Client\x20Monitor\x20','function','opts','statusText','193779Odkqvg','Good','_initMenu','selectedMenuItem','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','Both','height','element','fetched','$combo','#node-input-inputs','node-input-startImmediately','sterfive-combo-box','#node-input-endpoint','HasChild','replaceWith','DodgerBlue','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','SeaGreen','referenceTypeId','_showMenu','displayName','throw','failure','217290NejZXq','$selectLabel','show','find','slideDown','currentParent','startImmediately','opcua','name','Unspecified','nodeId_aliased','sterfive-input-group','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','registerType','status',';\x22></i>\x20','Aliased\x20Browse\x20Path','<div>','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','nodeId_nsu','Variable','SandyBrown','expandable','nodeBrowser','ns=0;i=45','body','mousedown.red-ui-typedInput-close-property-select','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','</li>','animate','prependTo','OpcUa-Endpoint2','verify','fa-list-alt','.spinner','_delay','appendTo','reset','mode','none','preventDefault','<i>','180uBYJKx','<div\x20class=\x22sterfive-info-text\x22></div>','keydown','nsu','pageX','background-color:transparent;overflow:hidden;border:3px','#C0DEED','focus','subscription','$input','mousedown.red-ui-typedInput-focus-block','i=61','expandable\x20expanded','border','890370JslZVj','4VDIfEj','relativePath','mask-image:\x20url(','empty','DisplayName','fa-sliders','aliased\x20browsePath:\x20','.red-ui-tray-body','1201100LmKYbQ','node\x20class:\x20','\x22}><span\x20class=\x22tree-text\x22\x20title=','sterfive-input-error','scrollTop','removeClass','$info','ns=0;i=85','44240eqZXOm','aliased\x20NodeId:\x20','<iframe></iframe>','expanded','toggle','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','multiple','stringify','VariableType','endpoint','hasClass','fa-folder','nodeId','string','then','toString','aliasedBrowsePath','browseName','closest','after','node','parentNode','toggleClass','reference','$toggleTreeBtn','/walk-backward','Organizes','already\x20loading','done','Invalid','already\x20fetched','assign','/Server/ServerStatus/CurrentTime','endpointNode','/browse','ReferenceType','filter','fa-text-width','offset','css','Objects','value','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','#node-input-subscription','18px','$menu','grey','<span\x20title=','/opcua-for-node-red','browseResult','$verifyBtn','$inputGroup','loading','SteelBlue','application/json','rgba(61,\x2060,\x204,\x200.525)','remove','error','match','references','8FQqyww','<div/>','checked','HasComponent','log','$elementDiv','parent','nodeClass','each','$uiSelect','mousedown','DataType','Forward','msg','SuppressedError','../../icons/opcuanodeLogo.png','[value=\x27','data','click','$tree','POST','keyCode','fetching\x20failed\x20with\x20error','resolveParentNode','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','trigger','720365HYCNcd','localeCompare','apply','OpcUa-Client2-Monitor','CadetBlue','forEach','stopPropagation','Method','sterfive-info','nodeId:\x20','indexOf','isSelectable','sterfive-typedInput-options\x20sterfive-online-menu','NodeClass','addClass','length','namespaceAliases','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','nsuNodeID','nodes','widget','children','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','ns=0;i=34','title','> \x20','left','/opcua-for-node-red/support-frame.html','msg.','ns=0;i=47','hide','isTypeRef','_showTypeMenu','BrowsePath','selected','label','aliasedNodeId','browsePath','1294AxVFPq','icon','red-ui-typedInput-icon\x20','attr','NodeId\x20with\x20namespace\x20Urn','options','right','30px','installFeedbackWidget\x20','json','View','_hideMenu','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> '];_0x2d01=function(){return _0x15004b;};return _0x2d01();}(function(_0x4fec43,_0x53dfa5){const _0x31da26=_0x3e8d,_0xa04478=_0x4fec43();while(!![]){try{const _0xd4a608=parseInt(_0x31da26(0x287))/0x1*(parseInt(_0x31da26(0x1f1))/0x2)+parseInt(_0x31da26(0x25d))/0x3+-parseInt(_0x31da26(0x296))/0x4*(parseInt(_0x31da26(0x1cb))/0x5)+parseInt(_0x31da26(0x295))/0x6+parseInt(_0x31da26(0x2a6))/0x7+-parseInt(_0x31da26(0x1b1))/0x8*(-parseInt(_0x31da26(0x245))/0x9)+-parseInt(_0x31da26(0x29e))/0xa;if(_0xd4a608===_0x53dfa5)break;else _0xa04478['push'](_0xa04478['shift']());}catch(_0x5446c9){_0xa04478['push'](_0xa04478['shift']());}}}(_0x2d01,0x18a59),(function(){'use strict';const _0x4eb234=_0x3e8d;function _0x5a988c(_0x1e8ac6,_0x3c4078,_0x1be553,_0x26d930){function _0x2a468d(_0x4eeeb6){return _0x4eeeb6 instanceof _0x1be553?_0x4eeeb6:new _0x1be553(function(_0x4128b7){_0x4128b7(_0x4eeeb6);});}return new(_0x1be553||(_0x1be553=Promise))(function(_0x5a5c16,_0x4f16fa){const _0xb9514d=_0x3e8d;function _0x2801d7(_0x569a1a){const _0x1e3bcd=_0x3e8d;try{_0xb89896(_0x26d930[_0x1e3bcd(0x214)](_0x569a1a));}catch(_0x57521a){_0x4f16fa(_0x57521a);}}function _0x456a4e(_0xad4cf1){const _0xd5ab9a=_0x3e8d;try{_0xb89896(_0x26d930[_0xd5ab9a(0x25b)](_0xad4cf1));}catch(_0x33c874){_0x4f16fa(_0x33c874);}}function _0xb89896(_0x36b13b){const _0xdc7742=_0x3e8d;_0x36b13b[_0xdc7742(0x191)]?_0x5a5c16(_0x36b13b[_0xdc7742(0x19e)]):_0x2a468d(_0x36b13b['value'])[_0xdc7742(0x183)](_0x2801d7,_0x456a4e);}_0xb89896((_0x26d930=_0x26d930[_0xb9514d(0x1cd)](_0x1e8ac6,_0x3c4078||[]))[_0xb9514d(0x214)]());});}typeof SuppressedError===_0x4eb234(0x242)?SuppressedError:function(_0x5c8eaf,_0x5b5199,_0xafc89f){const _0x9908c7=_0x4eb234;var _0x695101=new Error(_0xafc89f);return _0x695101['name']=_0x9908c7(0x1bf),_0x695101[_0x9908c7(0x1ae)]=_0x5c8eaf,_0x695101[_0x9908c7(0x225)]=_0x5b5199,_0x695101;};const _0x536925=_0x4eb234(0x235),_0x9e8f56='ns=0;i=61',_0x21c9b0=_0x4eb234(0x1e8),_0x2a4ca1='ns=0;i=46',_0x10952c=_0x4eb234(0x1e2),_0x4bbc90=_0x4eb234(0x275),_0x4e418b='ns=0;i=40';var _0xace931;(function(_0x51c8ea){const _0x44bf53=_0x4eb234;_0x51c8ea[_0x51c8ea[_0x44bf53(0x1bd)]=0x0]=_0x44bf53(0x1bd),_0x51c8ea[_0x51c8ea[_0x44bf53(0x236)]=0x1]=_0x44bf53(0x236),_0x51c8ea[_0x51c8ea['Both']=0x2]=_0x44bf53(0x24a),_0x51c8ea[_0x51c8ea[_0x44bf53(0x192)]=0x3]=_0x44bf53(0x192);}(_0xace931||(_0xace931={})));var _0xf376b7;(function(_0x4cfb25){const _0x5a5317=_0x4eb234;_0x4cfb25[_0x4cfb25[_0x5a5317(0x266)]=0x0]='Unspecified',_0x4cfb25[_0x4cfb25[_0x5a5317(0x23d)]=0x1]=_0x5a5317(0x23d),_0x4cfb25[_0x4cfb25[_0x5a5317(0x271)]=0x2]=_0x5a5317(0x271),_0x4cfb25[_0x4cfb25[_0x5a5317(0x1d2)]=0x4]=_0x5a5317(0x1d2),_0x4cfb25[_0x4cfb25['ObjectType']=0x8]=_0x5a5317(0x206),_0x4cfb25[_0x4cfb25[_0x5a5317(0x17d)]=0x10]=_0x5a5317(0x17d),_0x4cfb25[_0x4cfb25[_0x5a5317(0x198)]=0x20]=_0x5a5317(0x198),_0x4cfb25[_0x4cfb25[_0x5a5317(0x1bc)]=0x40]=_0x5a5317(0x1bc),_0x4cfb25[_0x4cfb25[_0x5a5317(0x1fb)]=0x80]=_0x5a5317(0x1fb);}(_0xf376b7||(_0xf376b7={})));var _0x2cde6a;(function(_0x1d0c10){const _0x3d57fb=_0x4eb234;_0x1d0c10[_0x1d0c10['Object']=0x1]=_0x3d57fb(0x23d),_0x1d0c10[_0x1d0c10['Variable']=0x2]=_0x3d57fb(0x271),_0x1d0c10[_0x1d0c10[_0x3d57fb(0x1d2)]=0x4]=_0x3d57fb(0x1d2),_0x1d0c10[_0x1d0c10['ObjectType']=0x8]='ObjectType',_0x1d0c10[_0x1d0c10['VariableType']=0x10]='VariableType',_0x1d0c10[_0x1d0c10[_0x3d57fb(0x198)]=0x20]='ReferenceType',_0x1d0c10[_0x1d0c10[_0x3d57fb(0x1bc)]=0x40]=_0x3d57fb(0x1bc),_0x1d0c10[_0x1d0c10[_0x3d57fb(0x1fb)]=0x80]=_0x3d57fb(0x1fb);}(_0x2cde6a||(_0x2cde6a={})));var _0x32a776;(function(_0x4a103c){const _0x55b5ac=_0x4eb234;_0x4a103c[_0x4a103c['ReferenceType']=0x1]=_0x55b5ac(0x198),_0x4a103c[_0x4a103c['IsForward']=0x2]=_0x55b5ac(0x223),_0x4a103c[_0x4a103c['NodeClass']=0x4]=_0x55b5ac(0x1d8),_0x4a103c[_0x4a103c['BrowseName']=0x8]=_0x55b5ac(0x226),_0x4a103c[_0x4a103c[_0x55b5ac(0x29a)]=0x10]='DisplayName',_0x4a103c[_0x4a103c[_0x55b5ac(0x23c)]=0x20]='TypeDefinition';}(_0x32a776||(_0x32a776={})));function _0xac857f(_0x539233){const _0x2bd368=_0x4eb234;switch(_0x539233){case _0x2bd368(0x18f):return _0x536925;case _0x2bd368(0x233):return _0x2a4ca1;case _0x2bd368(0x1b4):return _0x21c9b0;case _0x2bd368(0x253):return _0x10952c;case _0x2bd368(0x240):return _0x4bbc90;case _0x2bd368(0x208):return _0x4e418b;}}const _0xd7e338=_0x440f31=>{const _0x297f1a=_0x4eb234;switch(_0x440f31[_0x297f1a(0x1b8)]){case _0x297f1a(0x23d):if(_0x440f31[_0x297f1a(0x258)]===_0x536925);if(_0x440f31['typeDefinition']===_0x9e8f56||_0x440f31[_0x297f1a(0x258)]===_0x297f1a(0x292))return{'icon':_0x297f1a(0x180),'color':_0x297f1a(0x1ac)};return{'icon':_0x297f1a(0x22d),'color':_0x297f1a(0x257)};case _0x297f1a(0x271):if(_0x440f31['referenceTypeId']===_0x21c9b0)return{'icon':'fa-list-alt','color':_0x297f1a(0x1aa)};else return _0x440f31[_0x297f1a(0x258)]===_0x2a4ca1?{'icon':_0x297f1a(0x27e),'color':_0x297f1a(0x255)}:{'icon':_0x297f1a(0x27e),'color':'CadetBlue'};case _0x297f1a(0x1d2):return{'icon':'fa-cog','color':_0x297f1a(0x272)};case _0x297f1a(0x206):return{'icon':_0x297f1a(0x22d),'color':'DarkOrange'};case _0x297f1a(0x17d):return{'icon':_0x297f1a(0x29b),'color':'DarkOrange'};case _0x297f1a(0x1bc):return{'icon':_0x297f1a(0x19a),'color':_0x297f1a(0x1cf)};}return{'icon':_0x297f1a(0x209),'color':_0x297f1a(0x1a3)};},_0x59fd05=(_0x1f5628,_0x545539,_0x2c1525)=>_0x5a988c(void 0x0,[_0x1f5628,_0x545539,_0x2c1525],void 0x0,function*({endpointNode:_0x33985d,endpoint:_0x2deced,baseUrl:_0x554d20},_0x5357ec,_0x77ad3b){const _0x429b7e=_0x4eb234,_0x37e5a7=_0x554d20+_0x429b7e(0x1a5),_0x15505c=_0x37e5a7+_0x429b7e(0x197),_0x1f898f=Object[_0x429b7e(0x194)](Object[_0x429b7e(0x194)]({},_0x77ad3b),{'nodeId':_0x5357ec,'resultMask':0x3f}),_0x2b58c7=yield fetch(_0x15505c,{'method':_0x429b7e(0x1c5),'body':JSON['stringify']({'endpointNode':_0x33985d,'endpoint':_0x2deced,'browseDescription':_0x1f898f}),'headers':{'Content-Type':'application/json'}});if(_0x2b58c7[_0x429b7e(0x26b)]!==0xc8)return console[_0x429b7e(0x1b5)](_0x429b7e(0x1c7),_0x2b58c7[_0x429b7e(0x26b)],_0x2b58c7['statusText']),{'references':[]};const _0x1c21ce=yield _0x2b58c7[_0x429b7e(0x1fa)](),_0x2c33bd=_0x1c21ce[_0x429b7e(0x1a6)]['references']||[];return{'references':_0x2c33bd};}),_0xaf36b5={'referenceTypeId':_0xac857f(_0x4eb234(0x253)),'includeSubtypes':!![],'browseDirection':_0xace931[_0x4eb234(0x1bd)],'nodeClassMask':_0xf376b7[_0x4eb234(0x271)]|_0xf376b7[_0x4eb234(0x23d)]|_0xf376b7['Method'],'resultMask':0x3f},_0x1419ee={'referenceTypeId':_0xac857f(_0x4eb234(0x18f)),'includeSubtypes':!![],'browseDirection':_0xace931[_0x4eb234(0x1bd)],'nodeClassMask':_0xf376b7[_0x4eb234(0x271)]|_0xf376b7[_0x4eb234(0x23d)]|_0xf376b7[_0x4eb234(0x1d2)],'resultMask':0x3f},_0x301bcf=(_0x13f9d2,_0x15efe9)=>_0x5a988c(void 0x0,[_0x13f9d2,_0x15efe9],void 0x0,function*({endpointNode:_0x546ebd,endpoint:_0x45c982,baseUrl:_0x1386bb},{nodeId:_0xa9ec38,rootNodeId:_0x39c2d4,isType:_0x347382}){const _0x50aeda=_0x4eb234,_0x35a210=_0x1386bb+'/opcua-for-node-red',_0x71389a=_0x35a210+_0x50aeda(0x18e),_0x1c7b7e=yield fetch(_0x71389a,{'method':'POST','body':JSON[_0x50aeda(0x17c)]({'endpointNode':_0x546ebd,'endpoint':_0x45c982,'nodeId':_0xa9ec38,'rootNodeId':_0x39c2d4,'isType':_0x347382}),'headers':{'Content-Type':_0x50aeda(0x1ab)}});if(_0x1c7b7e[_0x50aeda(0x26b)]!==0xc8)return null;const _0x565f69=yield _0x1c7b7e[_0x50aeda(0x1fa)]();return _0x565f69['browsePath'];}),_0x225520=(_0xb0d732,_0x23408f)=>{const _0x37b3a6=_0x4eb234;if(_0xb0d732[_0x37b3a6(0x219)]!==_0x37b3a6(0x246))return _0xb0d732['requestedNodeId'];switch(_0x23408f){case _0x37b3a6(0x1f0):return _0xb0d732[_0x37b3a6(0x231)];case _0x37b3a6(0x185):return _0xb0d732[_0x37b3a6(0x234)]||_0xb0d732[_0x37b3a6(0x231)];case'aliasedNodeId':return _0xb0d732[_0x37b3a6(0x267)]||_0xb0d732[_0x37b3a6(0x270)];case _0x37b3a6(0x1dd):return _0xb0d732['nodeId_nsu'];default:case _0x37b3a6(0x181):return _0xb0d732['nodeId'];}},_0x4e2ba3=_0x29fd17=>{const _0x1fde11=_0x4eb234;if(_0x29fd17['statusCode']!==_0x1fde11(0x246))return _0x1fde11(0x211)+_0x29fd17[_0x1fde11(0x219)];else{let _0x2b57ca=[];return _0x2b57ca[_0x1fde11(0x22f)](_0x1fde11(0x1d4)+_0x29fd17[_0x1fde11(0x181)]),_0x2b57ca['push']('browse\x20path:\x20'+_0x29fd17[_0x1fde11(0x231)]),_0x2b57ca[_0x1fde11(0x22f)](_0x1fde11(0x29f)+_0xf376b7[_0x29fd17[_0x1fde11(0x1b8)]]),_0x29fd17[_0x1fde11(0x270)]&&_0x2b57ca[_0x1fde11(0x22f)]('nsu\x20nodeId:\x20'+_0x29fd17[_0x1fde11(0x270)]),_0x29fd17[_0x1fde11(0x267)]&&_0x2b57ca['push'](_0x1fde11(0x2a7)+_0x29fd17[_0x1fde11(0x267)]),_0x29fd17[_0x1fde11(0x231)]&&_0x2b57ca['push'](_0x1fde11(0x29c)+_0x29fd17['bp_aliased']),_0x2b57ca['join']('\x0a');}};function _0x59874a(_0x26f65c){const _0x51f866=_0x4eb234;if(_0x26f65c[_0x51f866(0x1af)](/^nsu=/))return _0x51f866(0x1dd);if(_0x26f65c[_0x51f866(0x1af)](/^(ns=.*;)?(i|b|s|g)=/))return _0x51f866(0x181);if(_0x26f65c['match'](/^nsa=/))return _0x51f866(0x1ef);if(_0x26f65c['match'](/^(\/|\.)[0-9]+:/))return _0x51f866(0x1f0);if(_0x26f65c['match'](/^(\/|\.).*:/))return _0x51f866(0x1f0);}function _0x3abd11(_0x160a71){const _0x36dba0=_0x4eb234,_0x3dcb2f=_0x59874a(_0x160a71);switch(_0x3dcb2f){case'nodeId':return'n';case _0x36dba0(0x1ef):return'na';case _0x36dba0(0x1dd):return'nsu';case'browsePath':return'b';case'aliasedBrowsePath':return'ab';default:return't';}}function _0x43d82d(_0x3f5d26){const _0x2da1c7=_0x4eb234;let _0x5760a1;switch(_0x3f5d26){case'n':_0x5760a1=_0x2da1c7(0x181);break;case'na':_0x5760a1='aliasedNodeId';break;case'nsu':_0x5760a1='nsuNodeID';break;case'b':_0x5760a1=_0x2da1c7(0x1f0);break;case'ab':_0x5760a1=_0x2da1c7(0x185);break;}return _0x5760a1;}function _0x2188f9(_0x58f66d){const _0x412646=_0x4eb234;switch(_0x58f66d){case _0x412646(0x181):return'n';case _0x412646(0x1ef):return'na';case _0x412646(0x1dd):return _0x412646(0x28a);case _0x412646(0x1f0):return'b';case _0x412646(0x185):return'ab';default:return't';}}const _0x21e7f4=(_0x3412fb,_0x4a0306)=>_0x5a988c(void 0x0,[_0x3412fb,_0x4a0306],void 0x0,function*({endpointNode:_0x390ccd,endpoint:_0x3fe706,baseUrl:_0x45ae38},_0x558042){const _0x1830e8=_0x4eb234,_0x338c93=_0x45ae38+_0x1830e8(0x1a5),_0x15002d=_0x338c93+'/checkNodeId',_0x218b3d=_0x390ccd['id'],_0x401da2=RED['nodes']['node'](_0x218b3d);console[_0x1830e8(0x1b5)](_0x401da2[_0x1830e8(0x1db)]),_0x401da2[_0x1830e8(0x1db)];const _0x1dfc15=_0x390ccd[_0x1830e8(0x1db)],_0x491f43=yield fetch(_0x15002d,{'method':'POST','body':JSON[_0x1830e8(0x17c)]({'endpointNode':_0x390ccd,'endpoint':_0x3fe706,'nodeId':_0x558042,'namespaceAliases':_0x1dfc15}),'headers':{'Content-Type':_0x1830e8(0x1ab)}}),_0xa607c3=yield _0x491f43[_0x1830e8(0x1fa)]();return{'json':_0xa607c3,'data':_0x491f43};}),_0x3e2b11=(_0xb5a1fc,_0x160804,_0x49e1fd,_0xd3a2bc)=>_0x5a988c(void 0x0,[_0xb5a1fc,_0x160804,_0x49e1fd,_0xd3a2bc],void 0x0,function*({endpointNode:_0x14a816,endpoint:_0x5637c,baseUrl:_0x46c7d9},_0x138a95,_0x5d19eb,_0x5ef219){const _0x31f351=_0x4eb234,_0x2cd79e=_0x5d19eb[_0x31f351(0x203)](),{json:_0x3c83bb,data:_0x323d89}=yield _0x21e7f4({'endpointNode':_0x14a816,'endpoint':_0x5637c,'baseUrl':_0x46c7d9},_0x2cd79e),_0x5558b4=(_0x59a83e,_0x5a4297)=>{const _0x40cd35=_0x31f351;_0x5ef219[_0x40cd35(0x220)](_0x59a83e)['addClass'](_0x40cd35(0x1d3))[_0x40cd35(0x1d9)](_0x5a4297),_0x5ef219['show'](),setTimeout(()=>{const _0x1cb3da=_0x40cd35;_0x5ef219[_0x1cb3da(0x2a3)](_0x5a4297),_0x5ef219[_0x1cb3da(0x1e9)]();},0xbb8);};if(_0x323d89['status']!==0xc8)return _0x5558b4('!!failure!!'+_0x2cd79e,_0x31f351(0x25c)),![];else{if(_0x3c83bb[_0x31f351(0x219)][_0x31f351(0x1af)](/Good/)){const _0x39bdc2=_0x4e2ba3(_0x3c83bb);_0x5d19eb['attr']('title',_0x39bdc2);const _0x5785a6=_0x225520(_0x3c83bb,_0x138a95);return _0x5d19eb[_0x31f351(0x203)](_0x5785a6),_0x5d19eb[_0x31f351(0x1ca)]('change'),_0x5558b4(_0x31f351(0x246),'ok'),!![];}else return _0x5d19eb['val'](''+_0x2cd79e),_0x5558b4(_0x3c83bb[_0x31f351(0x219)]+'\x20'+_0x323d89[_0x31f351(0x244)],_0x31f351(0x25c)),![];}});function _0x231b77(_0x3d3101,_0x46e0f4){return _0x5a988c(this,void 0x0,void 0x0,function*(){const _0x462c14=_0x3e8d,_0x24f8e5=_0x3d3101[_0x462c14(0x1c2)]('value'),_0x4e2c1a=yield _0x59fd05(_0x46e0f4,_0x24f8e5,_0xaf36b5),_0x2870ad=yield _0x59fd05(_0x46e0f4,_0x24f8e5,_0x1419ee);return{'references':[..._0x4e2c1a[_0x462c14(0x1b0)],..._0x2870ad[_0x462c14(0x1b0)]]};});}const _0x324dca={'referenceTypeId':_0xac857f('HasSubtype'),'includeSubtypes':!![],'browseDirection':_0xace931['Forward'],'nodeClassMask':_0xf376b7[_0x4eb234(0x198)]|_0xf376b7[_0x4eb234(0x206)]|_0xf376b7['DataType']|_0xf376b7[_0x4eb234(0x17d)],'resultMask':0x3f};function _0x3a1619(_0xed4ff3,_0x4ad45e){return _0x5a988c(this,void 0x0,void 0x0,function*(){const _0x553bfa=_0x3e8d,_0x49fcc2=_0xed4ff3[_0x553bfa(0x1c2)](_0x553bfa(0x19e)),_0x5b2898=yield _0x59fd05(_0x4ad45e,_0x49fcc2,_0x324dca);return _0x5b2898;});}const _0x3bf9c3=_0x2e6576=>{const _0x2b53b9=_0x4eb234;var _0x264bd2,_0x324174,_0x3ec436,_0x5a7ac6;if(!_0x2e6576||!_0x2e6576['nodeId']){const _0x50ac2d=$(_0x2b53b9(0x1fe));return _0x50ac2d;}const _0x6b31b=_0x2e6576['nodeId'][_0x2b53b9(0x184)](),_0x404a6f=((_0x264bd2=_0x2e6576[_0x2b53b9(0x25a)])===null||_0x264bd2===void 0x0?void 0x0:_0x264bd2[_0x2b53b9(0x220)])||((_0x324174=_0x2e6576[_0x2b53b9(0x186)])===null||_0x324174===void 0x0?void 0x0:_0x324174[_0x2b53b9(0x265)])||_0x2e6576[_0x2b53b9(0x181)][_0x2b53b9(0x184)](),{icon:_0x420263,color:_0x1aec4f}=_0xd7e338(_0x2e6576),_0x324728='('+_0x2e6576[_0x2b53b9(0x181)][_0x2b53b9(0x184)]()+')\x20'+(((_0x3ec436=_0x2e6576[_0x2b53b9(0x186)])===null||_0x3ec436===void 0x0?void 0x0:_0x3ec436[_0x2b53b9(0x265)])||((_0x5a7ac6=_0x2e6576[_0x2b53b9(0x25a)])===null||_0x5a7ac6===void 0x0?void 0x0:_0x5a7ac6[_0x2b53b9(0x220)])||''),_0x161a7f=$(_0x2b53b9(0x228)+_0x2e6576[_0x2b53b9(0x181)][_0x2b53b9(0x184)]()+_0x2b53b9(0x2a0)+_0x324728+_0x2b53b9(0x22c)+_0x420263+'\x22\x20style=\x22color:'+_0x1aec4f+_0x2b53b9(0x26c)+_0x404a6f+'</span><ul></ul></li>');return _0x161a7f[_0x2b53b9(0x1d9)](_0x2b53b9(0x273)),_0x161a7f[_0x2b53b9(0x1c2)](_0x2b53b9(0x19e),_0x6b31b),_0x161a7f[_0x2b53b9(0x1c2)](_0x2b53b9(0x18c),_0x2e6576),_0x161a7f;},_0x4a419f=(_0x2e2825,_0x2bf779)=>{const _0x46bdf5=_0x4eb234;return _0x2bf779[_0x46bdf5(0x260)]('li[key=\x22'+_0x2e2825+'\x22]');},_0x549c5e=(_0x4c8210,_0xbedf9)=>{const _0xea236a=_0x4eb234;_0x4c8210[_0xea236a(0x1c4)][_0xea236a(0x260)](_0xea236a(0x21d))[_0xea236a(0x2a3)](_0xea236a(0x1ed)),_0xbedf9[_0xea236a(0x260)](_0xea236a(0x218))['addClass'](_0xea236a(0x1ed));},_0x1a9372=(_0x1563c2,_0x13068d,_0x34477e)=>_0x5a988c(void 0x0,void 0x0,void 0x0,function*(){const _0x218e36=_0x4eb234;let _0x198c6f=_0x34477e[_0x218e36(0x1e0)](_0x218e36(0x232));_0x13068d[_0x218e36(0x297)][_0x218e36(0x22b)]||[];const _0x14f02c=_0x13068d[_0x218e36(0x23b)]||[];if(_0x14f02c['length']===0x0)return;for(const _0x25d95f of _0x14f02c){_0x198c6f[_0x218e36(0x17f)](_0x218e36(0x273))&&(yield _0x4c6788(_0x1563c2,_0x198c6f));const _0x1d6ca9=_0x4a419f(_0x25d95f,_0x198c6f);if(_0x1d6ca9[_0x218e36(0x1da)]===0x0)return;_0x198c6f=_0x1d6ca9;}_0x549c5e(_0x1563c2,_0x198c6f),_0x32003d(_0x1563c2[_0x218e36(0x205)],_0x198c6f);});function _0x32003d(_0x636f7,_0x190beb){const _0x3404e0=_0x4eb234,_0x358a07=_0x190beb['position']()[_0x3404e0(0x22a)],_0x2196c7=_0x636f7[_0x3404e0(0x2a2)]();if(_0x2196c7==undefined)return;const _0x47ad83=_0x2196c7+_0x358a07-_0x636f7['height']()/0x2+_0x190beb['height']()/0x2;_0x636f7[_0x3404e0(0x27a)]({'scrollTop':_0x47ad83},0x1f4);}const _0x37b790=(_0x2600b6,_0x2b37af)=>_0x5a988c(void 0x0,void 0x0,void 0x0,function*(){const _0x14baa4=_0x4eb234,_0x157f1e=_0x2600b6[_0x14baa4(0x290)][_0x14baa4(0x203)](),_0x57bd9c={'nodeId':_0x157f1e,'rootNodeId':_0x2b37af[_0x14baa4(0x181)],'isType':_0x2600b6[_0x14baa4(0x1f6)][_0x14baa4(0x1ea)]||![]},_0x2ea8b3=_0x1b55a7(_0x2600b6),_0x43986a=yield _0x301bcf(_0x2ea8b3,_0x57bd9c);if(!_0x43986a)return;yield _0x1a9372(_0x2600b6,_0x43986a,_0x2600b6['$tree']);});function _0x1ae4da(_0x8add1f,_0x454ed6,_0x2a3240,_0x11779c){return _0x5a988c(this,void 0x0,void 0x0,function*(){const _0x26e3af=_0x3e8d;if(_0x454ed6[_0x26e3af(0x17f)](_0x26e3af(0x24d))){console[_0x26e3af(0x1b5)](_0x26e3af(0x193));return;}if(_0x454ed6[_0x26e3af(0x17f)]('loading')){console[_0x26e3af(0x1b5)](_0x26e3af(0x190));return;}_0x454ed6[_0x26e3af(0x1d9)](_0x26e3af(0x1a9)),_0x454ed6['append']('<div\x20class=\x22spinner\x22></div>');try{_0x454ed6['children']('ul')[_0x26e3af(0x299)]();const {references:_0x1a7791}=yield _0x2a3240(_0x454ed6,_0x11779c);_0x1a7791[_0x26e3af(0x216)]((_0x5c57ef,_0x27072a)=>{const _0x44c2da=_0x26e3af;var _0x6c03e2,_0x3fabc1;return(((_0x6c03e2=_0x5c57ef[_0x44c2da(0x186)])===null||_0x6c03e2===void 0x0?void 0x0:_0x6c03e2[_0x44c2da(0x265)])||'')[_0x44c2da(0x1cc)](((_0x3fabc1=_0x27072a[_0x44c2da(0x186)])===null||_0x3fabc1===void 0x0?void 0x0:_0x3fabc1[_0x44c2da(0x265)])||'');});for(const _0xf041f0 of _0x1a7791){if(_0x8add1f[_0x26e3af(0x1f6)][_0x26e3af(0x199)]&&!_0x8add1f['options'][_0x26e3af(0x199)](_0xf041f0))continue;const _0x39c7d2=_0x3bf9c3(_0xf041f0);_0x454ed6['children']('ul')[_0x26e3af(0x21c)](_0x39c7d2);}_0x454ed6['addClass'](_0x26e3af(0x24d));}catch(_0x5309bb){_0x454ed6['children']('ul')[_0x26e3af(0x21c)]('<li>error\x20'+_0x5309bb['message']+_0x26e3af(0x279)),console['log']('err',_0x5309bb);}_0x454ed6[_0x26e3af(0x260)](_0x26e3af(0x27f))[_0x26e3af(0x1ad)](),_0x454ed6[_0x26e3af(0x2a3)]('loading');});}function _0x1b55a7(_0x25d38b){const _0x46580c=_0x4eb234,_0xbad827={'baseUrl':_0x25d38b[_0x46580c(0x1f6)]['baseUrl'],'endpointNode':typeof _0x25d38b[_0x46580c(0x1f6)]['endpointNode']===_0x46580c(0x242)?_0x25d38b[_0x46580c(0x1f6)][_0x46580c(0x196)]():_0x25d38b[_0x46580c(0x1f6)]['endpointNode'],'endpoint':typeof _0x25d38b[_0x46580c(0x1f6)][_0x46580c(0x17e)]==='function'?_0x25d38b[_0x46580c(0x1f6)]['endpoint']():_0x25d38b[_0x46580c(0x1f6)]['endpoint']};return _0xbad827;}function _0x4c6788(_0x10b630,_0x5c7451){return _0x5a988c(this,void 0x0,void 0x0,function*(){const _0x394ca=_0x3e8d;if(_0x5c7451[_0x394ca(0x17f)]('fetched')){_0x5c7451[_0x394ca(0x2a3)](_0x394ca(0x273))[_0x394ca(0x1d9)]('expanded'),_0x5c7451['children']('ul')['toggle']();return;}const _0x31f1f0=_0x1b55a7(_0x10b630),_0x29ec1c=!_0x10b630[_0x394ca(0x1f6)][_0x394ca(0x1ea)]?_0x231b77:_0x3a1619;try{yield _0x1ae4da(_0x10b630,_0x5c7451,_0x29ec1c,_0x31f1f0),_0x5c7451[_0x394ca(0x2a3)]('expandable')[_0x394ca(0x1d9)](_0x394ca(0x2a9));}catch(_0x1ccb6e){_0x5c7451[_0x394ca(0x2a3)](_0x394ca(0x273))[_0x394ca(0x1d9)](_0x394ca(0x2a9)),console[_0x394ca(0x1b5)](_0x394ca(0x1ae),_0x1ccb6e);}});}const _0x14617b={'browseName':{'namespaceIndex':0x0,'name':_0x4eb234(0x19d)},'nodeClass':_0x4eb234(0x23d),'nodeId':_0x4eb234(0x2a5),'displayName':{'text':_0x4eb234(0x19d)},'typeDefinition':_0x9e8f56},_0x2d4068=()=>{const _0x2b7191=_0x4eb234;$[_0x2b7191(0x1df)]('sterfive.nodeBrowser',{'options':{'endpointNode':()=>({'endpoint':_0x2b7191(0x23f)}),'endpoint':()=>undefined,'parentNode':()=>_0x14617b,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x5a988c(this,void 0x0,void 0x0,function*(){const _0x53ff5c=_0x3e8d,_0x5c45ed=this;if(_0x5c45ed['__parentNode']==undefined){const _0x5351e7=typeof _0x5c45ed[_0x53ff5c(0x1f6)][_0x53ff5c(0x18a)]==='function'?_0x5c45ed[_0x53ff5c(0x1f6)][_0x53ff5c(0x18a)]['call'](_0x5c45ed):_0x5c45ed[_0x53ff5c(0x1f6)][_0x53ff5c(0x18a)];if(_0x5351e7 instanceof Promise){const _0xeecc69=yield _0x5351e7;_0x5c45ed[_0x53ff5c(0x224)]=_0xeecc69;}else _0x5c45ed['__parentNode']=_0x5351e7;}return _0x5c45ed[_0x53ff5c(0x224)]||_0x14617b;});},'reset'(){return _0x5a988c(this,void 0x0,void 0x0,function*(){const _0x4394b7=_0x3e8d,_0x28725d=this,_0x471e30=_0x28725d;_0x471e30[_0x4394b7(0x224)]=undefined,_0x28725d['$tree'][_0x4394b7(0x299)]();const _0x168da5=yield this[_0x4394b7(0x1c8)](),_0x36807d=_0x3bf9c3(_0x168da5);_0x28725d[_0x4394b7(0x1c4)][_0x4394b7(0x21c)](_0x36807d),_0x28725d['currentParent']=_0x168da5;});},'verify'(_0x591973){const _0x567f5e=_0x2b7191,_0x312e4e=this,_0x2ec832=_0x1b55a7(_0x312e4e);_0x3e2b11(_0x2ec832,_0x591973,_0x312e4e[_0x567f5e(0x290)],_0x312e4e[_0x567f5e(0x2a4)])[_0x567f5e(0x183)](_0x46aa42=>{const _0x3e5262=_0x567f5e;!_0x46aa42?_0x312e4e[_0x3e5262(0x24e)]['addClass']('sterfive-input-error'):_0x312e4e[_0x3e5262(0x24e)][_0x3e5262(0x2a3)](_0x3e5262(0x2a1));});},'_hideMenu'(_0x1964ad){const _0x37c9aa=_0x2b7191,_0x1bcc02=this;$(document)[_0x37c9aa(0x20e)](_0x37c9aa(0x277)),_0x1964ad[_0x37c9aa(0x1e9)](),_0x1964ad['css']({'height':_0x37c9aa(0x201)});if(_0x1964ad[_0x37c9aa(0x243)]['multiple']){var _0x322f9=[];_0x1964ad['find'](_0x37c9aa(0x237))[_0x37c9aa(0x1b9)](function(){const _0x3f1060=_0x37c9aa;$(this)[_0x3f1060(0x22e)](_0x3f1060(0x1b3))&&_0x322f9[_0x3f1060(0x22f)]($(this)['data'](_0x3f1060(0x19e)));}),_0x1964ad['callback'](_0x322f9);}_0x1bcc02[_0x37c9aa(0x1b6)]['is'](':visible')?_0x1bcc02['$input']['trigger'](_0x37c9aa(0x28e)):_0x1bcc02[_0x37c9aa(0x21f)][_0x37c9aa(0x1ca)](_0x37c9aa(0x28e));},'_createMenu'(_0x23b967,_0x5ed92a,_0x3a2796){const _0x45e05e=_0x2b7191;var _0x3d18ea=this;const _0x4bd7ba=$(_0x45e05e(0x26e))['addClass'](_0x45e05e(0x1d7));return _0x4bd7ba['opts']=_0x5ed92a,_0x4bd7ba['callback']=_0x3a2796,_0x23b967[_0x45e05e(0x1d0)](_0x495fdc=>{const _0x55758a=_0x45e05e;typeof _0x495fdc===_0x55758a(0x182)&&(_0x495fdc={'value':_0x495fdc,'label':_0x495fdc});var _0x27b742=$('<a\x20href=\x22#\x22></a>')[_0x55758a(0x1f4)](_0x55758a(0x19e),_0x495fdc[_0x55758a(0x19e)])[_0x55758a(0x281)](_0x4bd7ba);_0x495fdc['label']&&_0x27b742['text'](_0x495fdc[_0x55758a(0x1ee)]);_0x495fdc[_0x55758a(0x1e3)]&&_0x27b742[_0x55758a(0x22e)](_0x55758a(0x1e3),_0x495fdc[_0x55758a(0x1e3)]);if(_0x495fdc['icon']){if(_0x495fdc[_0x55758a(0x1f2)][_0x55758a(0x1d5)]('<')===0x0)$(_0x495fdc[_0x55758a(0x1f2)])['prependTo'](_0x27b742);else _0x495fdc[_0x55758a(0x1f2)][_0x55758a(0x1d5)]('/')!==-0x1?$(_0x55758a(0x286),{'class':'red-ui-typedInput-icon','style':_0x55758a(0x298)+_0x495fdc[_0x55758a(0x1f2)]+_0x55758a(0x215)+_0x495fdc[_0x55758a(0x1f2)]+');'})[_0x55758a(0x27b)](_0x27b742):$(_0x55758a(0x286),{'class':_0x55758a(0x1f3)+_0x495fdc[_0x55758a(0x1f2)]})['prependTo'](_0x27b742);}else _0x27b742['css']({'paddingLeft':_0x55758a(0x1a1)});!_0x495fdc[_0x55758a(0x1f2)]&&!_0x495fdc[_0x55758a(0x1ee)]&&_0x27b742[_0x55758a(0x220)](_0x495fdc[_0x55758a(0x19e)]);var _0x11fe44;_0x5ed92a[_0x55758a(0x2ac)]&&(_0x11fe44=$(_0x55758a(0x21a))[_0x55758a(0x19c)]('pointer-events',_0x55758a(0x284))[_0x55758a(0x1c2)]('value',_0x495fdc[_0x55758a(0x19e)])['prependTo'](_0x27b742)['on'](_0x55758a(0x1bb),function(_0x34c9eb){const _0x1c3e14=_0x55758a;_0x34c9eb[_0x1c3e14(0x285)]();})),_0x27b742['on'](_0x55758a(0x1c3),function(_0x1bc1e9){const _0x4888ea=_0x55758a;_0x1bc1e9[_0x4888ea(0x285)](),_0x1bc1e9[_0x4888ea(0x1d1)](),!_0x5ed92a[_0x4888ea(0x2ac)]?(_0x3a2796(_0x495fdc[_0x4888ea(0x19e)]),_0x3d18ea['_hideMenu'](_0x4bd7ba)):_0x11fe44[_0x4888ea(0x22e)](_0x4888ea(0x1b3),!_0x11fe44[_0x4888ea(0x22e)](_0x4888ea(0x1b3)));});}),_0x4bd7ba[_0x45e05e(0x19c)]({'display':_0x45e05e(0x284)}),_0x4bd7ba['on'](_0x45e05e(0x289),function(_0xe7efdf){const _0x48343c=_0x45e05e;if(_0xe7efdf[_0x48343c(0x1c6)]===0x28)_0xe7efdf['preventDefault'](),$(this)[_0x48343c(0x1e0)](':focus')[_0x48343c(0x214)]()['trigger']('focus');else{if(_0xe7efdf[_0x48343c(0x1c6)]===0x26)_0xe7efdf[_0x48343c(0x285)](),$(this)['children'](_0x48343c(0x1ff))[_0x48343c(0x222)]()[_0x48343c(0x1ca)](_0x48343c(0x28e));else _0xe7efdf[_0x48343c(0x1c6)]===0x1b&&(_0xe7efdf[_0x48343c(0x285)](),_0x3d18ea[_0x48343c(0x1fc)](_0x4bd7ba));}_0xe7efdf[_0x48343c(0x1d1)]();}),_0x4bd7ba;},'disarmClick':![],'_showMenu'(_0x2ff03f,_0x4db636){const _0x506031=_0x2b7191;if(this[_0x506031(0x20c)]){this[_0x506031(0x20c)]=![];return;}var _0x2ac8e4=this,_0x162ba6=_0x4db636[_0x506031(0x19b)](),_0x2b5ca2=_0x4db636[_0x506031(0x24b)](),_0x432389=_0x2ff03f[_0x506031(0x24b)](),_0x5c2e23=_0x2b5ca2+_0x162ba6[_0x506031(0x22a)];_0x5c2e23+_0x432389-$(document)['scrollTop']()>$(window)[_0x506031(0x24b)]()&&(_0x5c2e23-=_0x5c2e23+_0x432389-$(window)[_0x506031(0x24b)]()+0x5),_0x5c2e23<0x0&&(_0x2ff03f['height'](_0x432389+_0x5c2e23),_0x5c2e23=0x0),_0x2ff03f[_0x506031(0x19c)]({'top':_0x5c2e23+'px','left':_0x162ba6[_0x506031(0x1e5)]+'px'}),_0x2ff03f[_0x506031(0x261)](0x64),this[_0x506031(0x280)](function(){const _0x2198cb=_0x506031;_0x2ac8e4['$uiSelect'][_0x2198cb(0x1d9)]('red-ui-typedInput-focus'),$(document)['on'](_0x2198cb(0x277),function(_0xb49fc){const _0x5f3c5=_0x2198cb;!$(_0xb49fc['target'])[_0x5f3c5(0x187)](_0x2ff03f)[_0x5f3c5(0x1da)]&&_0x2ac8e4['_hideMenu'](_0x2ff03f),$(_0xb49fc[_0x5f3c5(0x20a)])[_0x5f3c5(0x187)](_0x4db636)['length']&&(_0x2ac8e4[_0x5f3c5(0x20c)]=!![],_0xb49fc[_0x5f3c5(0x285)]());});});},'_showTypeMenu'(){const _0x472163=_0x2b7191,_0x1d7f8a=this;this[_0x472163(0x259)](_0x1d7f8a[_0x472163(0x1a2)],_0x1d7f8a[_0x472163(0x24e)]),_0x1d7f8a[_0x472163(0x205)][_0x472163(0x1e9)]();const _0xcc9cfa=_0x1d7f8a['selectedMenuItem'];var _0x34a4a8=_0x1d7f8a[_0x472163(0x1a2)][_0x472163(0x260)](_0x472163(0x1c1)+_0xcc9cfa+'\x27');setTimeout(function(){const _0x1e6417=_0x472163;_0x34a4a8['trigger'](_0x1e6417(0x28e));},0x78);},'_initMenu'(){const _0x2440a1=_0x2b7191,_0x1a7d57=this;_0x1a7d57[_0x2440a1(0x21f)][_0x2440a1(0x1f4)](_0x2440a1(0x239),-0x1),_0x1a7d57[_0x2440a1(0x21f)]['on'](_0x2440a1(0x291),function(_0x2a15cb){const _0x44dee5=_0x2440a1;_0x2a15cb[_0x44dee5(0x285)]();});_0x1a7d57[_0x2440a1(0x1a2)]&&_0x1a7d57[_0x2440a1(0x1a2)][_0x2440a1(0x1ad)]();const _0x481042=[{'label':_0x2440a1(0x220),'value':'t','title':'Value\x20is\x20not\x20verified','icon':_0x2440a1(0x1e1)},{'label':_0x2440a1(0x1e7),'value':_0x2440a1(0x1be),'title':_0x2440a1(0x20f),'icon':_0x2440a1(0x249)},{'label':'NodeId','value':'n','icon':_0x2440a1(0x256)},{'label':_0x2440a1(0x21e),'value':'na','icon':_0x2440a1(0x19f)},{'label':_0x2440a1(0x1f5),'value':'nsu','icon':'<i\x20class=\x22fa\x20fa-id-card\x22/> \x20'},{'label':_0x2440a1(0x1ec),'value':'b','icon':_0x2440a1(0x26f)},{'label':_0x2440a1(0x26d),'value':'ab','icon':_0x2440a1(0x1fd)}],_0x2707c4=_0x3abd11(_0x1a7d57[_0x2440a1(0x290)]['val']()),_0xf8b0a8=_0x481042[_0x2440a1(0x260)](_0x4dc5bc=>_0x4dc5bc[_0x2440a1(0x19e)]===_0x2707c4);_0x1a7d57[_0x2440a1(0x25e)]['empty']()['append'](_0x2440a1(0x1a4)+((_0xf8b0a8===null||_0xf8b0a8===void 0x0?void 0x0:_0xf8b0a8[_0x2440a1(0x1e3)])||'')+_0x2440a1(0x1e4)+((_0xf8b0a8===null||_0xf8b0a8===void 0x0?void 0x0:_0xf8b0a8[_0x2440a1(0x1f2)])||'')+_0x2440a1(0x200)),_0x1a7d57[_0x2440a1(0x248)]=_0x2707c4;const _0x4eecf2=this;_0x1a7d57[_0x2440a1(0x1a2)]=this['_createMenu'](_0x481042,{},_0x35cd88=>{const _0x8b075e=_0x2440a1,_0x55afe9=_0x43d82d(_0x35cd88);_0x55afe9&&_0x4eecf2[_0x8b075e(0x27d)](_0x55afe9);const _0x2efe99=_0x481042[_0x8b075e(0x260)](_0x2154ac=>_0x2154ac[_0x8b075e(0x19e)]===_0x35cd88);_0x1a7d57[_0x8b075e(0x248)]=_0x35cd88,_0x1a7d57['$selectLabel']['empty']()['append']('<span\x20title='+((_0x2efe99===null||_0x2efe99===void 0x0?void 0x0:_0x2efe99[_0x8b075e(0x1e3)])||'')+'> \x20'+((_0x2efe99===null||_0x2efe99===void 0x0?void 0x0:_0x2efe99['icon'])||'')+_0x8b075e(0x200));}),_0x1a7d57['$menu'][_0x2440a1(0x281)](document[_0x2440a1(0x276)]),_0x1a7d57['$menu'][_0x2440a1(0x1e9)](),_0x1a7d57[_0x2440a1(0x21f)][_0x2440a1(0x25f)]();},'mode'(){const _0x212319=this;return _0x43d82d(_0x212319['selectedMenuItem']);},'setMode'(_0x242622){const _0x16de10=this,_0x5b3e01=_0x2188f9(_0x242622);_0x16de10['selectedMenuItem']=_0x5b3e01;},'_create'(){const _0x108a5b=_0x2b7191,_0x30750b=this;_0x30750b[_0x108a5b(0x290)]=this[_0x108a5b(0x24c)],_0x30750b['$input'][_0x108a5b(0x19c)](_0x108a5b(0x294),_0x108a5b(0x284)),_0x30750b['$elementDiv']=_0x30750b['$input'][_0x108a5b(0x23e)](_0x108a5b(0x26e))[_0x108a5b(0x1b7)]()[_0x108a5b(0x1d9)](_0x108a5b(0x23a)),_0x30750b[_0x108a5b(0x24e)]=$('<div/>'),_0x30750b['$combo']['addClass'](_0x108a5b(0x251)),_0x30750b[_0x108a5b(0x290)][_0x108a5b(0x254)](_0x30750b[_0x108a5b(0x24e)]),_0x30750b[_0x108a5b(0x1a8)]=$(_0x108a5b(0x1b2))[_0x108a5b(0x1d9)](_0x108a5b(0x268)),_0x30750b['$combo'][_0x108a5b(0x21c)](_0x30750b['$inputGroup']),_0x30750b[_0x108a5b(0x1a8)][_0x108a5b(0x21c)](_0x30750b[_0x108a5b(0x290)]),_0x30750b['$toggleTreeBtn']=$('<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>'),_0x30750b['$input']['after'](_0x30750b[_0x108a5b(0x18d)]),_0x30750b[_0x108a5b(0x18d)]['on'](_0x108a5b(0x1c3),function(){return _0x5a988c(this,void 0x0,void 0x0,function*(){const _0x798900=_0x3e8d;var _0x2cb82c;let _0x4def4d=![],_0x7e92a6;!_0x30750b[_0x798900(0x205)]['is'](_0x798900(0x20b))&&(_0x30750b[_0x798900(0x2a4)][_0x798900(0x1e9)](),_0x7e92a6=yield _0x30750b[_0x798900(0x1c8)](),(_0x7e92a6!==_0x30750b[_0x798900(0x262)]||((_0x2cb82c=_0x30750b['currentParent'])===null||_0x2cb82c===void 0x0?void 0x0:_0x2cb82c[_0x798900(0x181)])!==_0x7e92a6[_0x798900(0x181)])&&(yield _0x30750b[_0x798900(0x282)]()),_0x4def4d=!![]),_0x30750b['$dropdown']['toggle'](),_0x4def4d&&(yield _0x37b790(_0x30750b,_0x7e92a6));});}),_0x30750b[_0x108a5b(0x1a7)]=$(_0x108a5b(0x1dc)),_0x30750b[_0x108a5b(0x290)][_0x108a5b(0x188)](_0x30750b[_0x108a5b(0x1a7)]),_0x30750b[_0x108a5b(0x1a7)]['on'](_0x108a5b(0x1c3),()=>{const _0x12c50f=_0x108a5b,_0x1cadd3=_0x30750b[_0x12c50f(0x283)]();if(!_0x1cadd3)return;this[_0x12c50f(0x27d)](_0x1cadd3);});const _0x1518d3=_0x18709b=>_0x5a988c(this,void 0x0,void 0x0,function*(){const _0x11e7e5=_0x108a5b,_0x273147=this;let _0xbb7e55=_0x273147['mode']();if(!_0xbb7e55)return;const _0x3b457c=_0x1b55a7(_0x273147),{data:_0x829107,json:_0x5d7258}=yield _0x21e7f4(_0x3b457c,_0x18709b);if(_0x829107['status']!==0xc8)return;if(_0x5d7258[_0x11e7e5(0x219)][_0x11e7e5(0x1af)](/Good/)){const _0x59bf51=_0x225520(_0x5d7258,_0xbb7e55);_0x273147[_0x11e7e5(0x290)]['val'](_0x59bf51),_0x273147[_0x11e7e5(0x290)]['trigger'](_0x11e7e5(0x21b));}});{_0x30750b[_0x108a5b(0x1ba)]=$(_0x108a5b(0x26e)),_0x30750b[_0x108a5b(0x290)][_0x108a5b(0x213)](_0x30750b[_0x108a5b(0x1ba)]),_0x30750b[_0x108a5b(0x21f)]=$(_0x108a5b(0x2ab))[_0x108a5b(0x27b)](_0x30750b[_0x108a5b(0x1ba)]),$(_0x108a5b(0x1c9))[_0x108a5b(0x2aa)](!![])[_0x108a5b(0x281)](_0x30750b[_0x108a5b(0x21f)]),_0x30750b[_0x108a5b(0x21f)]['on'](_0x108a5b(0x1c3),function(_0x4faa86){_0x4faa86['preventDefault'](),_0x4faa86['stopPropagation'](),_0x30750b['_showTypeMenu']();}),_0x30750b[_0x108a5b(0x21f)]['on']('keydown',function(_0x69f936){const _0x58c4f6=_0x108a5b;_0x69f936['keyCode']===0x28&&_0x30750b[_0x58c4f6(0x1eb)](),_0x69f936[_0x58c4f6(0x1d1)]();})['on'](_0x108a5b(0x28e),function(){const _0x1837f1=_0x108a5b;_0x30750b[_0x1837f1(0x1ba)][_0x1837f1(0x1d9)]('red-ui-typedInput-focus');})['on'](_0x108a5b(0x20d),function(){const _0x54d9d9=_0x108a5b;_0x30750b[_0x54d9d9(0x1ba)][_0x54d9d9(0x2a3)]('red-ui-typedInput-focus');}),_0x30750b[_0x108a5b(0x25e)]=$(_0x108a5b(0x269))[_0x108a5b(0x281)](_0x30750b[_0x108a5b(0x21f)]);}this[_0x108a5b(0x247)]();!_0x30750b[_0x108a5b(0x290)]['attr'](_0x108a5b(0x221))&&_0x30750b[_0x108a5b(0x290)][_0x108a5b(0x1f4)](_0x108a5b(0x221),_0x108a5b(0x278));_0x30750b[_0x108a5b(0x2a4)]=$(_0x108a5b(0x288)),_0x30750b[_0x108a5b(0x2a4)]['hide'](),_0x30750b[_0x108a5b(0x24e)][_0x108a5b(0x21c)](_0x30750b[_0x108a5b(0x2a4)]),_0x30750b['$dropdown']=$(_0x108a5b(0x1b2))[_0x108a5b(0x1d9)](_0x108a5b(0x227))[_0x108a5b(0x1e9)]()['appendTo'](_0x30750b['$combo']),_0x30750b[_0x108a5b(0x1c4)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0x108a5b(0x281)](_0x30750b[_0x108a5b(0x205)]),this['reset']();const _0x1ba5c3=(_0x26f519,_0x358885)=>{const _0x166ce2=_0x108a5b,_0x5af4a1=0x14,_0x3eaad5=0x14,_0x64b065=_0x26f519['offset'](),_0x58e5dd=_0x358885;if(_0x58e5dd[_0x166ce2(0x28b)]>=_0x64b065['left']&&_0x58e5dd[_0x166ce2(0x28b)]<=_0x64b065['left']+_0x5af4a1&&_0x58e5dd['pageY']>=_0x64b065[_0x166ce2(0x22a)]&&_0x58e5dd['pageY']<=_0x64b065['top']+_0x3eaad5)return!![];return![];},_0x2238f4=_0x3a55bf=>_0x5a988c(this,void 0x0,void 0x0,function*(){const _0x426755=_0x108a5b;if(_0x3a55bf[_0x426755(0x17f)](_0x426755(0x273)))_0x4c6788(_0x30750b,_0x3a55bf);else{if(_0x3a55bf[_0x426755(0x17f)](_0x426755(0x2a9)))_0x3a55bf['children']('ul')[_0x426755(0x2aa)](),_0x3a55bf[_0x426755(0x18b)](_0x426755(0x293));else{if(_0x3a55bf[_0x426755(0x1e0)]('ul')[_0x426755(0x1e0)]()[_0x426755(0x1da)]>0x0)_0x3a55bf[_0x426755(0x1e0)]('ul')[_0x426755(0x2aa)](),_0x3a55bf['toggleClass'](_0x426755(0x293));else;}}});_0x30750b[_0x108a5b(0x1c4)]['on']('dblclick','li',function(_0x240730){const _0x1bc1b3=_0x108a5b;var _0x34450d,_0x154c85;_0x240730[_0x1bc1b3(0x1d1)]();let _0x4318ab=$(this);if(_0x1ba5c3(_0x4318ab,_0x240730))_0x2238f4(_0x4318ab);else{const _0x37eaf0=_0x4318ab[_0x1bc1b3(0x1c2)](_0x1bc1b3(0x19e)),_0x50e18b=_0x4318ab[_0x1bc1b3(0x1c2)]('reference');if(_0x30750b[_0x1bc1b3(0x1f6)]['isSelectable']&&!_0x30750b[_0x1bc1b3(0x1f6)][_0x1bc1b3(0x1d6)](_0x50e18b))return;_0x30750b['$input']['data']('reference',_0x50e18b),((_0x34450d=_0x50e18b[_0x1bc1b3(0x25a)])===null||_0x34450d===void 0x0?void 0x0:_0x34450d['text'])||((_0x154c85=_0x50e18b[_0x1bc1b3(0x186)])===null||_0x154c85===void 0x0?void 0x0:_0x154c85['name'])||_0x50e18b[_0x1bc1b3(0x181)][_0x1bc1b3(0x184)]();let _0x48c755=_0x30750b[_0x1bc1b3(0x283)]();!_0x48c755&&(_0x48c755=_0x1bc1b3(0x181),_0x30750b[_0x1bc1b3(0x212)](_0x48c755)),_0x1518d3(_0x37eaf0)[_0x1bc1b3(0x183)](()=>{_0x30750b['$dropdown']['hide']();})['catch'](_0x3d64f5=>{const _0x16f057=_0x1bc1b3;_0x30750b[_0x16f057(0x205)][_0x16f057(0x1e9)]();});}}),_0x30750b['$tree']['on']('click','li',function(_0x42eba1){const _0x3ab00a=_0x108a5b;_0x42eba1[_0x3ab00a(0x1d1)]();let _0x1efada=$(this);_0x1ba5c3(_0x1efada,_0x42eba1)&&_0x2238f4(_0x1efada),_0x549c5e(_0x30750b,_0x1efada);}),$(document)['on'](_0x108a5b(0x1c3),function(_0x44325c){const _0x14aca6=_0x108a5b;!$(_0x44325c[_0x14aca6(0x20a)])['closest'](_0x30750b[_0x14aca6(0x24e)])['length']&&_0x30750b[_0x14aca6(0x205)]['hide']();});}});};function _0x3f5893(_0xccd876,_0x5e365c){const _0x250e8b=_0x4eb234,_0x209a4f=$('#node-input-endpoint'),_0x280250=$(_0x250e8b(0x1a0)),_0x3cce81=()=>{const _0x5d337c=_0x250e8b,_0x336834=_0xccd876[_0x5d337c(0x1de)][_0x5d337c(0x189)](_0x209a4f[_0x5d337c(0x203)]());_0x280250['empty']();if(!_0x336834||!_0x336834['subscriptions'])return;for(const _0x129077 of _0x336834[_0x5d337c(0x217)]){const _0x158d42=_0x129077[_0x5d337c(0x265)]||_0x129077['id'];$('<option/>',{'value':_0x129077['id'],'label':_0x158d42,'selected':_0x129077['id']===_0x5e365c['subscription']})['text'](_0x158d42)['appendTo'](_0x280250);}};_0x3cce81(),_0x280250['on']('change',()=>{const _0x429d78=_0x250e8b;_0x5e365c[_0x429d78(0x28f)]=_0x280250[_0x429d78(0x203)]();}),_0x209a4f['on'](_0x250e8b(0x21b),()=>{_0x3cce81();});}const _0x370286=()=>{const _0x516bed=_0x4eb234,_0x2e0742=$('#node-input-endpoint'),_0xb4d960=_0x2e0742[_0x516bed(0x203)](),_0x564be4=RED[_0x516bed(0x1de)][_0x516bed(0x189)](_0xb4d960);if(!_0x564be4)return undefined;const {endpoint:_0x4dde57,securityMode:_0x25fa33,securityPolicy:_0x5ef825,userIdentityType:_0x2a1b9c,credentials:_0x276c6d,namespaceAliases:_0x125cb0}=_0x564be4,_0x435a80={'endpoint':_0x4dde57,'securityMode':_0x25fa33,'securityPolicy':_0x5ef825,'userIdentityType':_0x2a1b9c,'credentials':_0x276c6d,'namespaceAliases':_0x125cb0};return _0x435a80;},_0x11e6c8=()=>{const _0x4d1619=_0x4eb234,_0x10fbcc=$(_0x4d1619(0x252)),_0x3aa35e=_0x10fbcc[_0x4d1619(0x203)](),_0x3acefc=_0x370286();if(!_0x3acefc)return undefined;const _0x84a00=_0x3acefc[_0x4d1619(0x1db)];return Object['assign']({'namespaceAliases':_0x84a00,'id':_0x3aa35e},_0x3acefc);},_0x145261=()=>{return{'endpointNode':_0x11e6c8};},_0xa396e3=()=>{const _0x5895e3=_0x4eb234,_0x2f5ac0=$(_0x5895e3(0x29d));console['log'](_0x5895e3(0x1f9),_0x2f5ac0['length']);if(_0x2f5ac0[_0x5895e3(0x1da)]){console[_0x5895e3(0x1b5)]('installing\x20iframe');const _0x4ec5f2=$(_0x5895e3(0x2a8),{'src':_0x5895e3(0x1e6),'scrolling':'no','style':_0x5895e3(0x28c),'allowtransparency':'true','width':_0x5895e3(0x210),'height':_0x5895e3(0x1f8)});_0x2f5ac0['append'](_0x4ec5f2),_0x4ec5f2['css']({'position':'absolute','right':_0x5895e3(0x207),'bottom':_0x5895e3(0x229)});}};RED[_0x4eb234(0x1de)][_0x4eb234(0x26a)](_0x4eb234(0x1ce),{'category':_0x4eb234(0x264),'color':_0x4eb234(0x28d),'align':_0x4eb234(0x1f7),'icon':_0x4eb234(0x1c0),'paletteLabel':'monitor\x20variable','defaults':{'inputs':{'value':0x1},'output':{'value':0x2},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x4eb234(0x27c)},'subscription':{'value':'','required':!![],'validate':_0x30b611=>{if(_0x30b611==='')return![];return!![];}},'startImmediately':{'value':!![],'required':!![]},'nodeId':{'value':_0x4eb234(0x195),'required':![],'validate':()=>!![]},'samplingInterval':{'value':0x3e8,'required':!![]},'discardOldest':{'value':!![],'required':!![]},'queueSize':{'value':0xa,'required':!![]}},'outputs':0x1,'label'(){const _0x684bd0=_0x4eb234;return this['name']||_0x684bd0(0x241);},'labelStyle'(){const _0x575757=_0x4eb234;return this[_0x575757(0x265)]?_0x575757(0x230):'';},'oneditprepare'(){const _0x29f088=_0x4eb234,_0xab73f7=this;_0x2d4068(),_0xa396e3();const _0x427d52=_0xab73f7[_0x29f088(0x263)];_0xab73f7[_0x29f088(0x202)]=_0x427d52?0x0:0x1,_0x3f5893(RED,this),$(_0x29f088(0x250))['on']('change',()=>{const _0x3b39fc=_0x29f088,_0x10d0d7=$('#node-input-startImmediately')[_0x3b39fc(0x22e)](_0x3b39fc(0x1b3));_0x10d0d7?$(_0x3b39fc(0x24f))[_0x3b39fc(0x203)](0x0):$(_0x3b39fc(0x24f))['val'](0x1);});const _0x47ba02=$(_0x29f088(0x204));_0x47ba02[_0x29f088(0x274)](Object[_0x29f088(0x194)](Object[_0x29f088(0x194)]({},_0x145261()),{'filter'(_0x1e685a){const _0x3237b8=_0x29f088;return _0x1e685a[_0x3237b8(0x1b8)]==='Variable'||_0x1e685a['nodeClass']===_0x3237b8(0x23d);},'isSelectable'(_0x5a206e){const _0x56e038=_0x29f088;return _0x5a206e[_0x56e038(0x1b8)]==='Variable';}}));},'oneditsave'(){const _0x4104f5=_0x4eb234,_0x104333=$(_0x4104f5(0x238))[_0x4104f5(0x22e)]('checked');_0x104333?($(_0x4104f5(0x238))[_0x4104f5(0x203)](_0x104333?0x0:0x1),this[_0x4104f5(0x202)]=_0x104333?0x0:0x1):($(_0x4104f5(0x238))[_0x4104f5(0x203)](0x1),this[_0x4104f5(0x202)]=0x1);}});}()));
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1YTk4OGMiLCJfMHgxZThhYzYiLCJfMHgzYzQwNzgiLCJfMHgxYmU1NTMiLCJfMHgyNmQ5MzAiLCJfMHgyYTQ2OGQiLCJfMHg0ZWVlYjYiLCJfMHg0MTI4YjciLCJQcm9taXNlIiwiXzB4NWE1YzE2IiwiXzB4NGYxNmZhIiwiXzB4MjgwMWQ3IiwiXzB4NTY5YTFhIiwiXzB4Yjg5ODk2IiwiXzB4NTc1MjFhIiwiXzB4NDU2YTRlIiwiXzB4YWQ0Y2YxIiwiXzB4MzNjODc0IiwiXzB4MzZiMTNiIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NWM4ZWFmIiwiXzB4NWI1MTk5IiwiXzB4YWZjODlmIiwiXzB4Njk1MTAxIiwiRXJyb3IiLCJfMHg1MzY5MjUiLCJfMHg5ZThmNTYiLCJfMHgyMWM5YjAiLCJfMHgyYTRjYTEiLCJfMHgxMDk1MmMiLCJfMHg0YmJjOTAiLCJfMHg0ZTQxOGIiLCJfMHhhY2U5MzEiLCJfMHg1MWM4ZWEiLCJfMHhmMzc2YjciLCJfMHg0Y2ZiMjUiLCJfMHgyY2RlNmEiLCJfMHgxZDBjMTAiLCJfMHgzMmE3NzYiLCJfMHg0YTEwM2MiLCJfMHhhYzg1N2YiLCJfMHg1MzkyMzMiLCJfMHhkN2UzMzgiLCJfMHg0NDBmMzEiLCJfMHg1OWZkMDUiLCJfMHgxZjU2MjgiLCJfMHg1NDU1MzkiLCJfMHgyYzE1MjUiLCJlbmRwb2ludE5vZGUiLCJfMHgzMzk4NWQiLCJlbmRwb2ludCIsIl8weDJkZWNlZCIsImJhc2VVcmwiLCJfMHg1NTRkMjAiLCJfMHg1MzU3ZWMiLCJfMHg3N2FkM2IiLCJfMHgzN2U1YTciLCJfMHgxNTUwNWMiLCJfMHgxZjg5OGYiLCJPYmplY3QiLCJfMHgyYjU4YzciLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4MWMyMWNlIiwiXzB4MmMzM2JkIiwiXzB4YWYzNmI1IiwiXzB4MTQxOWVlIiwiXzB4MzAxYmNmIiwiXzB4MTNmOWQyIiwiXzB4MTVlZmU5IiwiXzB4NTQ2ZWJkIiwiXzB4NDVjOTgyIiwiXzB4MTM4NmJiIiwibm9kZUlkIiwiXzB4YTllYzM4Iiwicm9vdE5vZGVJZCIsIl8weDM5YzJkNCIsImlzVHlwZSIsIl8weDM0NzM4MiIsIl8weDM1YTIxMCIsIl8weDcxMzg5YSIsIl8weDFjN2I3ZSIsIl8weDU2NWY2OSIsIl8weDIyNTUyMCIsIl8weGIwZDczMiIsIl8weDIzNDA4ZiIsIl8weDRlMmJhMyIsIl8weDI5ZmQxNyIsIl8weDJiNTdjYSIsIl8weDU5ODc0YSIsIl8weDI2ZjY1YyIsIl8weDNhYmQxMSIsIl8weDE2MGE3MSIsIl8weDNkY2IyZiIsIl8weDQzZDgyZCIsIl8weDNmNWQyNiIsIl8weDU3NjBhMSIsIl8weDIxODhmOSIsIl8weDU4ZjY2ZCIsIl8weDIxZTdmNCIsIl8weDM0MTJmYiIsIl8weDRhMDMwNiIsIl8weDM5MGNjZCIsIl8weDNmZTcwNiIsIl8weDQ1YWUzOCIsIl8weDU1ODA0MiIsIl8weDMzOGM5MyIsIl8weDE1MDAyZCIsIl8weDIxOGIzZCIsIl8weDQwMWRhMiIsIlJFRCIsIl8weDFkZmMxNSIsIl8weDQ5MWY0MyIsIl8weGE2MDdjMyIsIl8weDNlMmIxMSIsIl8weGI1YTFmYyIsIl8weDE2MDgwNCIsIl8weDQ5ZTFmZCIsIl8weGQzYTJiYyIsIl8weDE0YTgxNiIsIl8weDU2MzdjIiwiXzB4NDZjN2Q5IiwiXzB4MTM4YTk1IiwiXzB4NWQxOWViIiwiXzB4NWVmMjE5IiwiXzB4MmNkNzllIiwianNvbiIsIl8weDNjODNiYiIsImRhdGEiLCJfMHgzMjNkODkiLCJfMHg1NTU4YjQiLCJfMHg1OWE4M2UiLCJfMHg1YTQyOTciLCJzZXRUaW1lb3V0IiwiXzB4MzliZGMyIiwiXzB4NTc4NWE2IiwiXzB4MjMxYjc3IiwiXzB4M2QzMTAxIiwiXzB4NDZlMGY0IiwiXzB4MjRmOGU1IiwiXzB4NGUyYzFhIiwiXzB4Mjg3MGFkIiwiXzB4MzI0ZGNhIiwiXzB4M2ExNjE5IiwiXzB4ZWQ0ZmYzIiwiXzB4NGFkNDVlIiwiXzB4NDlmY2MyIiwiXzB4NWIyODk4IiwiXzB4M2JmOWMzIiwiXzB4MmU2NTc2IiwiXzB4MjY0YmQyIiwiXzB4MzI0MTc0IiwiXzB4M2VjNDM2IiwiXzB4NWE3YWM2IiwiXzB4NTBhYzJkIiwiJCIsIl8weDZiMzFiIiwiXzB4NDA0YTZmIiwiaWNvbiIsIl8weDQyMDI2MyIsImNvbG9yIiwiXzB4MWFlYzRmIiwiXzB4MzI0NzI4IiwiXzB4MTYxYTdmIiwiXzB4NGE0MTlmIiwiXzB4MmUyODI1IiwiXzB4MmJmNzc5IiwiXzB4NTQ5YzVlIiwiXzB4NGM4MjEwIiwiXzB4YmVkZjkiLCJfMHgxYTkzNzIiLCJfMHgxNTYzYzIiLCJfMHgxMzA2OGQiLCJfMHgzNDQ3N2UiLCJfMHgxOThjNmYiLCJfMHgxNGYwMmMiLCJfMHgyNWQ5NWYiLCJfMHg0YzY3ODgiLCJfMHgxZDZjYTkiLCJfMHgzMjAwM2QiLCJfMHg2MzZmNyIsIl8weDE5MGJlYiIsIl8weDM1OGEwNyIsIl8weDIxOTZjNyIsInVuZGVmaW5lZCIsIl8weDQ3YWQ4MyIsIl8weDM3Yjc5MCIsIl8weDI2MDBiNiIsIl8weDJiMzdhZiIsIl8weDE1N2YxZSIsIl8weDU3YmQ5YyIsIl8weDJlYThiMyIsIl8weDFiNTVhNyIsIl8weDQzOTg2YSIsIl8weDFhZTRkYSIsIl8weDhhZGQxZiIsIl8weDQ1NGVkNiIsIl8weDJhMzI0MCIsIl8weDExNzc5YyIsInJlZmVyZW5jZXMiLCJfMHgxYTc3OTEiLCJfMHg1YzU3ZWYiLCJfMHgyNzA3MmEiLCJfMHg2YzAzZTIiLCJfMHgzZmFiYzEiLCJfMHhmMDQxZjAiLCJfMHgzOWM3ZDIiLCJfMHg1MzA5YmIiLCJfMHgyNWQzOGIiLCJfMHhiYWQ4MjciLCJfMHgxMGI2MzAiLCJfMHg1Yzc0NTEiLCJfMHgzMWYxZjAiLCJfMHgyOWVjMWMiLCJfMHgxY2NiNmUiLCJfMHgxNDYxN2IiLCJfMHgyZDQwNjgiLCJfMHg1YzQ1ZWQiLCJfMHg1MzUxZTciLCJfMHhlZWNjNjkiLCJfMHgyODcyNWQiLCJfMHg0NzFlMzAiLCJfMHgxNjhkYTUiLCJfMHgzNjgwN2QiLCJfMHg1OTE5NzMiLCJfMHgzMTJlNGUiLCJfMHgyZWM4MzIiLCJfMHg0NmFhNDIiLCJfMHgxOTY0YWQiLCJfMHgxYmNjMDIiLCJkb2N1bWVudCIsIl8weDMyMmY5IiwiXzB4MjNiOTY3IiwiXzB4NWVkOTJhIiwiXzB4M2EyNzk2IiwiXzB4M2QxOGVhIiwiXzB4NGJkN2JhIiwiXzB4NDk1ZmRjIiwiXzB4MjdiNzQyIiwiXzB4MTFmZTQ0IiwiXzB4MzRjOWViIiwiXzB4MWJjMWU5IiwiXzB4ZTdlZmRmIiwiXzB4MmZmMDNmIiwiXzB4NGRiNjM2IiwiXzB4MmFjOGU0IiwiXzB4MTYyYmE2IiwiXzB4MmI1Y2EyIiwiXzB4NDMyMzg5IiwiXzB4NWMyZTIzIiwid2luZG93IiwiXzB4YjQ5ZmMiLCJfMHgxZDdmOGEiLCJfMHhjYzljZmEiLCJfMHgzNGE0YTgiLCJfMHgxYTdkNTciLCJfMHgyYTE1Y2IiLCJfMHg0ODEwNDIiLCJfMHgyNzA3YzQiLCJfMHhmOGIwYTgiLCJfMHg0ZGM1YmMiLCJfMHg0ZWVjZjIiLCJfMHgzNWNkODgiLCJfMHg1NWFmZTkiLCJfMHgyZWZlOTkiLCJfMHgyMTU0YWMiLCJfMHgyMTIzMTkiLCJfMHgyNDI2MjIiLCJfMHgxNmRlMTAiLCJfMHg1YjNlMDEiLCJfMHgzMDc1MGIiLCJfMHgyY2I4MmMiLCJfMHg0ZGVmNGQiLCJfMHg3ZTkyYTYiLCJfMHgxY2FkZDMiLCJfMHgxNTE4ZDMiLCJfMHgxODcwOWIiLCJfMHgyNzMxNDciLCJfMHhiYjdlNTUiLCJfMHgzYjQ1N2MiLCJfMHg4MjkxMDciLCJfMHg1ZDcyNTgiLCJfMHg1OWJmNTEiLCJfMHg0ZmFhODYiLCJfMHg2OWY5MzYiLCJfMHgxYmE1YzMiLCJfMHgyNmY1MTkiLCJfMHgzNTg4ODUiLCJfMHg1YWY0YTEiLCJfMHgzZWFhZDUiLCJfMHg2NGIwNjUiLCJfMHg1OGU1ZGQiLCJfMHgyMjM4ZjQiLCJfMHgzYTU1YmYiLCJfMHgyNDA3MzAiLCJfMHgzNDQ1MGQiLCJfMHgxNTRjODUiLCJfMHg0MzE4YWIiLCJfMHgzN2VhZjAiLCJfMHg1MGUxOGIiLCJfMHg0OGM3NTUiLCJfMHgzZDY0ZjUiLCJfMHg0MmViYTEiLCJfMHgxZWZhZGEiLCJfMHg0NDMyNWMiLCJfMHgzZjU4OTMiLCJfMHhjY2Q4NzYiLCJfMHg1ZTM2NWMiLCJfMHgyMDlhNGYiLCJfMHgyODAyNTAiLCJfMHgzY2NlODEiLCJfMHgzMzY4MzQiLCJfMHgxMjkwNzciLCJfMHgxNThkNDIiLCJfMHgzNzAyODYiLCJfMHgyZTA3NDIiLCJfMHhiNGQ5NjAiLCJfMHg1NjRiZTQiLCJfMHg0ZGRlNTciLCJzZWN1cml0eU1vZGUiLCJfMHgyNWZhMzMiLCJzZWN1cml0eVBvbGljeSIsIl8weDVlZjgyNSIsInVzZXJJZGVudGl0eVR5cGUiLCJfMHgyYTFiOWMiLCJjcmVkZW50aWFscyIsIl8weDI3NmM2ZCIsIm5hbWVzcGFjZUFsaWFzZXMiLCJfMHgxMjVjYjAiLCJfMHg0MzVhODAiLCJfMHgxMWU2YzgiLCJfMHgxMGZiY2MiLCJfMHgzYWEzNWUiLCJfMHgzYWNlZmMiLCJfMHg4NGEwMCIsIl8weDE0NTI2MSIsIl8weGEzOTZlMyIsIl8weDJmNWFjMCIsIl8weDRlYzVmMiIsIl8weDMwYjYxMSIsIl8weGFiNzNmNyIsIl8weDQyN2Q1MiIsIl8weDEwZDBkNyIsIl8weDQ3YmEwMiIsIl8weDFlNjg1YSIsIl8weDVhMjA2ZSIsIl8weDEwNDMzMyJdLCJtYXBwaW5ncyI6Im8xTEFBQSxDQUFDLFUsQ0FDRyxhLHdCQW1CQSxTQUFTQSxTQUFULENBQW1CQyxTQUFuQixDQUE0QkMsU0FBNUIsQ0FBd0NDLFNBQXhDLENBQTJDQyxTQUEzQyxDLENBQ0ksU0FBU0MsU0FBVCxDQUFlQyxTQUFmLEMsUUFBK0JBLFNBQUEsWUFBaUJILFNBQWpCLENBQXFCRyxTQUFyQixDQUE2QixJQUFJSCxTQUFKLENBQU0sU0FBVUksU0FBVixDLENBQXFCQSxTQUFBLENBQVFELFNBQVIsQyxFQUEzQixDLFNBQ3JELEdBQUssQ0FBQUgsU0FBQSxFQUFNLENBQUFBLFNBQUEsQ0FBSUssT0FBSixDQUFOLENBQUwsQ0FBeUIsU0FBVUMsU0FB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QXNDK0wsU0FBQSxDLEdBQUEsQyxHQUF0QyxDLENBQ0EsSyxnQkFBQSxFQUFjQSxTQUFBLEMsR0FBQSxDLE1BR2QvTCxDQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLEdBQUEsQyxDQUNBLEssZ0JBQUEsRSxNQTFFb0MsQ0FBaEQsQyxFQW5sQ0osRyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoKSB7XG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCwgSXRlcmF0b3IgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBjb25zdCBPcmdhbml6ZXNSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNVwiO1xuICAgIGNvbnN0IEZvbGRlclR5cGUgPSBcIm5zPTA7aT02MVwiO1xuICAgIGNvbnN0IEhhc0NvbXBvbmVudFJlZk5vZGVJZCA9IFwibnM9MDtpPTQ3XCI7XG4gICAgY29uc3QgSGFzUHJvcGVydHlSZWZOb2RlSWQgPSBcIm5zPTA7aT00NlwiO1xuICAgIGNvbnN0IEhhc0NoaWxkUmVmTm9kZUlkID0gXCJucz0wO2k9MzRcIjtcbiAgICBjb25zdCBIYXNTdWJ0eXBlUmVmTm9kZUlkID0gXCJucz0wO2k9NDVcIjtcbiAgICBjb25zdCBIYXNUeXBlRGVmaW5pdGlvblJlZk5vZGVJZCA9IFwibnM9MDtpPTQwXCI7XG5cbiAgICB2YXIgQnJvd3NlRGlyZWN0aW9uO1xuICAgIChmdW5jdGlvbiAoQnJvd3NlRGlyZWN0aW9uKSB7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJGb3J3YXJkXCJdID0gMF0gPSBcIkZvcndhcmRcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmVyc2VcIl0gPSAxXSA9IFwiSW52ZXJzZVwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiQm90aFwiXSA9IDJdID0gXCJCb3RoXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJJbnZhbGlkXCJdID0gM10gPSBcIkludmFsaWRcIjtcbiAgICB9KShCcm93c2VEaXJlY3Rpb24gfHwgKEJyb3dzZURpcmVjdGlvbiA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzcztcbiAgICAoZnVuY3Rpb24gKE5vZGVDbGFzcykge1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVW5zcGVjaWZpZWRcIl0gPSAwXSA9IFwiVW5zcGVjaWZpZWRcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZhcmlhYmxlXCJdID0gMl0gPSBcIlZhcmlhYmxlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJNZXRob2RcIl0gPSA0XSA9IFwiTWV0aG9kXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZhcmlhYmxlVHlwZVwiXSA9IDE2XSA9IFwiVmFyaWFibGVUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJSZWZlcmVuY2VUeXBlXCJdID0gMzJdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlZpZXdcIl0gPSAxMjhdID0gXCJWaWV3XCI7XG4gICAgfSkoTm9kZUNsYXNzIHx8IChOb2RlQ2xhc3MgPSB7fSkpO1xuICAgIHZhciBOb2RlQ2xhc3NNYXNrO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzTWFzaykge1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RcIl0gPSAxXSA9IFwiT2JqZWN0XCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZhcmlhYmxlXCJdID0gMl0gPSBcIlZhcmlhYmxlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiT2JqZWN0VHlwZVwiXSA9IDhdID0gXCJPYmplY3RUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZhcmlhYmxlVHlwZVwiXSA9IDE2XSA9IFwiVmFyaWFibGVUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiRGF0YVR5cGVcIl0gPSA2NF0gPSBcIkRhdGFUeXBlXCI7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIlZpZXdcIl0gPSAxMjhdID0gXCJWaWV3XCI7XG4gICAgfSkoTm9kZUNsYXNzTWFzayB8fCAoTm9kZUNsYXNzTWFzayA9IHt9KSk7XG4gICAgdmFyIFJlc3VsdE1hc2s7XG4gICAgKGZ1bmN0aW9uIChSZXN1bHRNYXNrKSB7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAxXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJJc0ZvcndhcmRcIl0gPSAyXSA9IFwiSXNGb3J3YXJkXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIk5vZGVDbGFzc1wiXSA9IDRdID0gXCJOb2RlQ2xhc3NcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiQnJvd3NlTmFtZVwiXSA9IDhdID0gXCJCcm93c2VOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIkRpc3BsYXlOYW1lXCJdID0gMTZdID0gXCJEaXNwbGF5TmFtZVwiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJUeXBlRGVmaW5pdGlvblwiXSA9IDMyXSA9IFwiVHlwZURlZmluaXRpb25cIjtcbiAgICB9KShSZXN1bHRNYXNrIHx8IChSZXN1bHRNYXNrID0ge30pKTtcbiAgICAvLyAgY29uc3QgcSA9IFJlZmVyZW5jZVR5cGVJZHMuT3JnYW5pemVzO1xuICAgIGZ1bmN0aW9uIHJlc29sdmVOb2RlSWQobm9kZUlkTGlrZSkge1xuICAgICAgICBzd2l0Y2ggKG5vZGVJZExpa2UpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPcmdhbml6ZXNcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gT3JnYW5pemVzUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1Byb3BlcnR5XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1Byb3BlcnR5UmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc0NvbXBvbmVudFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDb21wb25lbnRSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ2hpbGRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzQ2hpbGRSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzU3VidHlwZVwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNTdWJ0eXBlUmVmTm9kZUlkO1xuICAgICAgICAgICAgY2FzZSBcIkhhc1R5cGVEZWZpbml0aW9uXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZ2V0SWNvbiA9IChyZWZlcmVuY2UpID0+IHtcbiAgICAgICAgc3dpdGNoIChyZWZlcmVuY2Uubm9kZUNsYXNzKSB7XG4gICAgICAgICAgICBjYXNlIFwiT2JqZWN0XCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IE9yZ2FuaXplc1JlZk5vZGVJZCkgO1xuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UudHlwZURlZmluaXRpb24gPT09IEZvbGRlclR5cGUgfHwgcmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gXCJpPTYxXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1mb2xkZXJcIiwgY29sb3I6IFwicmdiYSg2MSwgNjAsIDQsIDAuNTI1KVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtb2JqZWN0LWdyb3VwXCIsIGNvbG9yOiBcIlNlYUdyZWVuXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVwiOlxuICAgICAgICAgICAgICAgIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBIYXNDb21wb25lbnRSZWZOb2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJTdGVlbEJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChyZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBIYXNQcm9wZXJ0eVJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkRvZGdlckJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1saXN0LWFsdFwiLCBjb2xvcjogXCJDYWRldEJsdWVcIiB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJNZXRob2RcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWNvZ1wiLCBjb2xvcjogXCJTYW5keUJyb3duXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiVmFyaWFibGVUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1zbGlkZXJzXCIsIGNvbG9yOiBcIkRhcmtPcmFuZ2VcIiB9O1xuICAgICAgICAgICAgY2FzZSBcIkRhdGFUeXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS10ZXh0LXdpZHRoXCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1xdWVzdGlvblwiLCBjb2xvcjogXCJncmV5XCIgfTtcbiAgICB9O1xuXG4gICAgY29uc3QgYnJvd3NlID0gKF9hLCBub2RlSWRfMSwgdGVtcGxhdGVfMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBub2RlSWRfMSwgdGVtcGxhdGVfMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbm9kZUlkLCB0ZW1wbGF0ZSkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vYnJvd3NlYDtcbiAgICAgICAgY29uc3QgYnJvd3NlRGVzY3JpcHRpb24gPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIHRlbXBsYXRlKSwgeyBub2RlSWQsIHJlc3VsdE1hc2s6IDYzIH0pO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBicm93c2VEZXNjcmlwdGlvbixcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgaGVhZGVyczogeyBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzOiBbXSB9O1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKFwiYnJvd3NlIGZldGNoZWQgOiBcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSByZXNwb25zZS5icm93c2VSZXN1bHQucmVmZXJlbmNlcyB8fCBbXTtcbiAgICAgICAgcmV0dXJuIHsgcmVmZXJlbmNlcyB9O1xuICAgIH0pO1xuXG4gICAgY29uc3QgdGVtcGxhdGUxID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJIYXNDaGlsZFwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuVmFyaWFibGUgfCBOb2RlQ2xhc3MuT2JqZWN0IHwgTm9kZUNsYXNzLk1ldGhvZCxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5PYmplY3RUeXBlIHxcbiAgICAgICAgLy8gIE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5EYXRhVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5WaWV3LFxuICAgICAgICByZXN1bHRNYXNrOiA2MyxcbiAgICB9O1xuICAgIGNvbnN0IHRlbXBsYXRlMiA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiT3JnYW5pemVzXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3Qgd2Fsa0JhY2t3YXJkID0gKF9hLCBfYikgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBfYl0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgeyBub2RlSWQsIHJvb3ROb2RlSWQsIGlzVHlwZSB9KSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS93YWxrLWJhY2t3YXJkYDtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIHJvb3ROb2RlSWQsXG4gICAgICAgICAgICAgICAgaXNUeXBlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QganNvbiA9ICh5aWVsZCBkYXRhLmpzb24oKSk7XG4gICAgICAgIHJldHVybiBqc29uLmJyb3dzZVBhdGg7XG4gICAgfSk7XG4gICAgY29uc3QgY2hvb3NlTm9kZUlkID0gKGRhdGEsIG1vZGUpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhLnJlcXVlc3RlZE5vZGVJZDtcbiAgICAgICAgfVxuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnBfaW5kZXhlZDtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLmJwX2FsaWFzZWQgfHwgZGF0YS5icF9pbmRleGVkO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWRfYWxpYXNlZCB8fCBkYXRhLm5vZGVJZF9uc3U7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkX25zdTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEubm9kZUlkO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBtYWtlVG9vbHRpcCA9IChkYXRhKSA9PiB7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1c0NvZGUgIT09IFwiR29vZFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gYHN0YXR1c0NvZGU6ICR7ZGF0YS5zdGF0dXNDb2RlfWA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgc3RyID0gW107XG4gICAgICAgICAgICBzdHIucHVzaChgbm9kZUlkOiAke2RhdGEubm9kZUlkfWApO1xuICAgICAgICAgICAgc3RyLnB1c2goYGJyb3dzZSBwYXRoOiAke2RhdGEuYnBfaW5kZXhlZH1gKTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBub2RlIGNsYXNzOiAke05vZGVDbGFzc1tkYXRhLm5vZGVDbGFzc119YCk7XG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlSWRfbnN1KSB7XG4gICAgICAgICAgICAgICAgc3RyLnB1c2goYG5zdSBub2RlSWQ6ICR7ZGF0YS5ub2RlSWRfbnN1fWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEubm9kZUlkX2FsaWFzZWQpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgYWxpYXNlZCBOb2RlSWQ6ICR7ZGF0YS5ub2RlSWRfYWxpYXNlZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChkYXRhLmJwX2luZGV4ZWQpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgYWxpYXNlZCBicm93c2VQYXRoOiAke2RhdGEuYnBfYWxpYXNlZH1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHIuam9pbihcIlxcblwiKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgZnVuY3Rpb24gZmlndXJlT3V0TW9kZShlbmhhbmNlZE5vZGVJZCkge1xuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL15uc3U9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcIm5zdU5vZGVJRFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXihucz0uKjspPyhpfGJ8c3xnKT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwibm9kZUlkXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9ebnNhPS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJhbGlhc2VkTm9kZUlkXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKFxcL3xcXC4pWzAtOV0rOi8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJicm93c2VQYXRoXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKFxcL3xcXC4pLio6LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBmaWd1cmVPdXRNZW5VSXRlbVZhbHVlKHN0cikge1xuICAgICAgICBjb25zdCBtb2RlID0gZmlndXJlT3V0TW9kZShzdHIpO1xuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5hXCI7XG4gICAgICAgICAgICBjYXNlIFwibnN1Tm9kZUlEXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibnN1XCI7XG4gICAgICAgICAgICBjYXNlIFwiYnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImJcIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkQnJvd3NlUGF0aFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcImFiXCI7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBcInRcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiB0b01vZGUodikge1xuICAgICAgICBsZXQgbW9kZTtcbiAgICAgICAgc3dpdGNoICh2KSB7XG4gICAgICAgICAgICBjYXNlIFwiblwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5vZGVJZFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm5hXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwiYWxpYXNlZE5vZGVJZFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm5zdVwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5zdU5vZGVJRFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcImJcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJicm93c2VQYXRoXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiYWJcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJhbGlhc2VkQnJvd3NlUGF0aFwiO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtb2RlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmcm9tTW9kZShtb2RlKSB7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibmFcIjtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuc3VcIjtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYlwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYWJcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwidFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IF9jYWxsQ2hlY2tOb2RlSWQgPSAoX2EsIG5vZGVJZF8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQpIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2NoZWNrTm9kZUlkYDtcbiAgICAgICAgY29uc3QgZUlkID0gZW5kcG9pbnROb2RlLmlkO1xuICAgICAgICBjb25zdCBuID0gUkVELm5vZGVzLm5vZGUoZUlkKTtcbiAgICAgICAgY29uc29sZS5sb2cobi5uYW1lc3BhY2VBbGlhc2VzKTtcbiAgICAgICAgbi5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICBjb25zdCBuYW1lc3BhY2VBbGlhc2VzID0gZW5kcG9pbnROb2RlLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgICAgICBuYW1lc3BhY2VBbGlhc2VzLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIHsganNvbiwgZGF0YSB9O1xuICAgIH0pO1xuICAgIGNvbnN0IGludGVybmFsVmVyaWZ5ID0gKF9hLCBtb2RlXzEsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgW19hLCBtb2RlXzEsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbW9kZSwgJGlucHV0RWxlbWVudCwgJGluZm8pIHtcbiAgICAgICAgY29uc3QgZW5oYW5jZWROb2RlSWQgPSAkaW5wdXRFbGVtZW50LnZhbCgpO1xuICAgICAgICBjb25zdCB7IGpzb24sIGRhdGEgfSA9IHlpZWxkIF9jYWxsQ2hlY2tOb2RlSWQoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIGVuaGFuY2VkTm9kZUlkKTtcbiAgICAgICAgY29uc3Qgc2V0Tm90aWZpY2F0aW9uID0gKHRleHQsIGNsYXNzTmFtZSkgPT4ge1xuICAgICAgICAgICAgJGluZm8udGV4dCh0ZXh0KS5hZGRDbGFzcyhcInN0ZXJmaXZlLWluZm9cIikuYWRkQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICRpbmZvLnNob3coKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICRpbmZvLnJlbW92ZUNsYXNzKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgJGluZm8uaGlkZSgpO1xuICAgICAgICAgICAgfSwgMzAwMCk7XG4gICAgICAgIH07XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAvLyBkbyBzb21ldGhpbmc7XG4gICAgICAgICAgICBzZXROb3RpZmljYXRpb24oXCIhIWZhaWx1cmUhIVwiICsgZW5oYW5jZWROb2RlSWQsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChqc29uLnN0YXR1c0NvZGUubWF0Y2goL0dvb2QvKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRvb2x0aXAgPSBtYWtlVG9vbHRpcChqc29uKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LmF0dHIoXCJ0aXRsZVwiLCB0b29sdGlwKTtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVJZCA9IGNob29zZU5vZGVJZChqc29uLCBtb2RlKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnZhbChzZWxlY3RlZE5vZGVJZCk7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihcIkdvb2RcIiwgXCJva1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudmFsKGAke2VuaGFuY2VkTm9kZUlkfWApO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihgJHtqc29uLnN0YXR1c0NvZGV9ICR7ZGF0YS5zdGF0dXNUZXh0fWAsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBmdW5jdGlvbiBmZXRjaENoaWxkcmVuKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGUxKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDIgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTIpO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZWZlcmVuY2VzOiBbLi4uYnJvd3NlUmVzdWx0MS5yZWZlcmVuY2VzLCAuLi5icm93c2VSZXN1bHQyLnJlZmVyZW5jZXNdLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHRlbXBsYXRlU1QgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc1N1YnR5cGVcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfCBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8IE5vZGVDbGFzcy5EYXRhVHlwZSB8IE5vZGVDbGFzcy5WYXJpYWJsZVR5cGUsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgZnVuY3Rpb24gZmV0Y2hTdWJ0eXBlcygkbm9kZSwgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZUlkID0gJG5vZGUuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MSA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlU1QpO1xuICAgICAgICAgICAgcmV0dXJuIGJyb3dzZVJlc3VsdDE7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBtYWtlRWxlbWVudCA9IChyZWZlcmVuY2UpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICAgICAgICBpZiAoIXJlZmVyZW5jZSB8fCAhcmVmZXJlbmNlLm5vZGVJZCkge1xuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSAkKGA8bGk+PGkgY2xhc3M9XCJmYSBmYS1lcnJvclwiIHN0eWxlPVwiY29sb3I6cmVkO1wiPjwvaT5ubyByZWZlcmVuY2UgITx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICAgICByZXR1cm4gJGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbiA9IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgdCA9ICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHsgaWNvbiwgY29sb3IgfSA9IGdldEljb24ocmVmZXJlbmNlKTtcbiAgICAgICAgY29uc3QgdGl0bGUgPSBgKCR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfSkgJHsoKF9jID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9jID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYy5uYW1lKSB8fCAoKF9kID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2QudGV4dCkgfHwgXCJcIn1gO1xuICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaSBrZXk9XCIke3JlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKX1cIn0+PHNwYW4gY2xhc3M9XCJ0cmVlLXRleHRcIiB0aXRsZT0ke3RpdGxlfT48aSBjbGFzcz1cImZhICR7aWNvbn1cIiBzdHlsZT1cImNvbG9yOiR7Y29sb3J9O1wiPjwvaT4gJHt0fTwvc3Bhbj48dWw+PC91bD48L2xpPmApO1xuICAgICAgICAkZWxlbWVudC5hZGRDbGFzcyhcImV4cGFuZGFibGVcIik7XG4gICAgICAgICRlbGVtZW50LmRhdGEoXCJ2YWx1ZVwiLCBuKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInJlZmVyZW5jZVwiLCByZWZlcmVuY2UpO1xuICAgICAgICByZXR1cm4gJGVsZW1lbnQ7XG4gICAgfTtcbiAgICBjb25zdCBmaW5kRWxlbWVudCA9IChub2RlSWQsICR0cmVlKSA9PiB7XG4gICAgICAgIHJldHVybiAkdHJlZS5maW5kKGBsaVtrZXk9XCIke25vZGVJZH1cIl1gKTtcbiAgICB9O1xuICAgIGNvbnN0IHNlbGVjdFNpbmdsZSA9ICh0aGF0LCAkbGkpID0+IHtcbiAgICAgICAgdGhhdC4kdHJlZS5maW5kKFwibGkgPiAudHJlZS10ZXh0XCIpLnJlbW92ZUNsYXNzKFwic2VsZWN0ZWRcIik7XG4gICAgICAgIC8vIGNsZWFyIGFsbCBzZWxlY3RlZCBpdGVtc1xuICAgICAgICAkbGkuZmluZChcIi50cmVlLXRleHQ6Zmlyc3RcIikuYWRkQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICB9O1xuICAgIGNvbnN0IGF1dG9FeHBhbmQgPSAodGhhdCwgYnJvd3NlUGF0aCwgJHRyZWUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAvLyBleHBhbmQgdGhlIHRyZWUgdG8gc2hvdyB0aGUgbm9kZUlkXG4gICAgICAgIGxldCAkY3VycmVudCA9ICR0cmVlLmNoaWxkcmVuKFwiOmZpcnN0XCIpO1xuICAgICAgICBicm93c2VQYXRoLnJlbGF0aXZlUGF0aC5lbGVtZW50cyB8fCBbXTtcbiAgICAgICAgY29uc3Qgbm9kZUlkcyA9IGJyb3dzZVBhdGgubm9kZUlkcyB8fCBbXTtcbiAgICAgICAgaWYgKG5vZGVJZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBuIG9mIG5vZGVJZHMpIHtcbiAgICAgICAgICAgIGlmICgkY3VycmVudC5oYXNDbGFzcyhcImV4cGFuZGFibGVcIikpIHtcbiAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIGV4cGFuZCBhbmQgc2VsZWN0IHRoZSByaWdodCBlbGVtZW50XG4gICAgICAgICAgICAgICAgeWllbGQgX2V4cGFuZExpKHRoYXQsICRjdXJyZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gZmluZEVsZW1lbnQobiwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgaWYgKCRlbGVtZW50Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRjdXJyZW50ID0gJGVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgc2VsZWN0U2luZ2xlKHRoYXQsICRjdXJyZW50KTtcbiAgICAgICAgc2Nyb2xsVG9MaSh0aGF0LiRkcm9wZG93biwgJGN1cnJlbnQpO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIHNjcm9sbFRvTGkoJGNvbnRhaW5lciwgJHRhcmdldExpKSB7XG4gICAgICAgIC8vIEdldCB0aGUgcG9zaXRpb24gb2YgdGhlIHRhcmdldCBpdGVtIHJlbGF0aXZlIHRvIGl0cyBjb250YWluZXJcbiAgICAgICAgY29uc3QgbGlQb3MgPSAkdGFyZ2V0TGkucG9zaXRpb24oKS50b3A7XG4gICAgICAgIC8vIEdldCB0aGUgY3VycmVudCBzY3JvbGwgcG9zaXRpb24gb2YgdGhlIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBjb250YWluZXJTY3JvbGxUb3AgPSAkY29udGFpbmVyLnNjcm9sbFRvcCgpO1xuICAgICAgICBpZiAoY29udGFpbmVyU2Nyb2xsVG9wID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgcG9zaXRpb24gdG8gc2Nyb2xsIHRvIChjdXJyZW50IHNjcm9sbCArIGl0ZW0ncyBwb3NpdGlvbilcbiAgICAgICAgLy8gQWRqdXN0IHRoaXMgY2FsY3VsYXRpb24gYmFzZWQgb24geW91ciBuZWVkc1xuICAgICAgICBjb25zdCBzY3JvbGxUbyA9IGNvbnRhaW5lclNjcm9sbFRvcCArIGxpUG9zIC0gJGNvbnRhaW5lci5oZWlnaHQoKSAvIDIgKyAkdGFyZ2V0TGkuaGVpZ2h0KCkgLyAyO1xuICAgICAgICAvLyBTY3JvbGwgdGhlIGNvbnRhaW5lciB0byBlbnN1cmUgdGhlIGl0ZW0gaXMgdmlzaWJsZVxuICAgICAgICAkY29udGFpbmVyLmFuaW1hdGUoe1xuICAgICAgICAgICAgc2Nyb2xsVG9wOiBzY3JvbGxUbyxcbiAgICAgICAgfSwgNTAwKTsgLy8gQWRqdXN0IHRoZSBkdXJhdGlvbiAoNTAwbXMpIGFzIG5lZWRlZFxuICAgIH1cbiAgICBjb25zdCByZWFjaFNlbGVjdGlvbiA9ICh0aGF0LCBwYXJlbnROb2RlKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgY29uc3Qgbm9kZUlkID0gdGhhdC4kaW5wdXQudmFsKCk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICByb290Tm9kZUlkOiBwYXJlbnROb2RlLm5vZGVJZCxcbiAgICAgICAgICAgIGlzVHlwZTogdGhhdC5vcHRpb25zLmlzVHlwZVJlZiB8fCBmYWxzZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICBjb25zdCBicm93c2VQYXRoID0geWllbGQgd2Fsa0JhY2t3YXJkKGRhdGEsIG9wdGlvbnMpO1xuICAgICAgICBpZiAoIWJyb3dzZVBhdGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB5aWVsZCBhdXRvRXhwYW5kKHRoYXQsIGJyb3dzZVBhdGgsIHRoYXQuJHRyZWUpO1xuICAgIH0pO1xuICAgIGZ1bmN0aW9uIF9mZXRjaERhdGFGb3JOb2RlKHRoYXQsICRub2RlLCBmZXRjaEZ1bmMsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImZldGNoZWRcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgZmV0Y2hlZFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoJG5vZGUuaGFzQ2xhc3MoXCJsb2FkaW5nXCIpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJhbHJlYWR5IGxvYWRpbmdcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJsb2FkaW5nXCIpO1xuICAgICAgICAgICAgJG5vZGUuYXBwZW5kKCc8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPjwvZGl2PicpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAkbm9kZS5jaGlsZHJlbihcInVsXCIpLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgeyByZWZlcmVuY2VzIH0gPSB5aWVsZCBmZXRjaEZ1bmMoJG5vZGUsIGRhdGEpO1xuICAgICAgICAgICAgICAgIC8vIHNvcnQgcmVmZXJlbmNlICAgYnkgYnJvd3NlTmFtZVxuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXMuc29ydCgoYSwgYikgPT4geyB2YXIgX2EsIF9iOyByZXR1cm4gKCgoX2EgPSBhLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5uYW1lKSB8fCBcIlwiKS5sb2NhbGVDb21wYXJlKCgoX2IgPSBiLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCBcIlwiKTsgfSk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCByZWZlcmVuY2Ugb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmZpbHRlciAmJiAhdGhhdC5vcHRpb25zLmZpbHRlcihyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJmZXRjaGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKGA8bGk+ZXJyb3IgJHtlcnIubWVzc2FnZX08L2xpPmApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5maW5kKFwiLnNwaW5uZXJcIikucmVtb3ZlKCk7XG4gICAgICAgICAgICAkbm9kZS5yZW1vdmVDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBtYWtlQ29ubmVjdGlvbih0aGF0KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBiYXNlVXJsOiB0aGF0Lm9wdGlvbnMuYmFzZVVybCxcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUsXG4gICAgICAgICAgICBlbmRwb2ludDogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludCA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50KCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBmdW5jdGlvbiBfZXhwYW5kTGkodGhhdCwgJGxpKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICBjb25zdCBmID0gIXRoYXQub3B0aW9ucy5pc1R5cGVSZWYgPyBmZXRjaENoaWxkcmVuIDogZmV0Y2hTdWJ0eXBlcztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgeWllbGQgX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJGxpLCBmLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBtYXJrIGFzIGV4cGFuZGVkXG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0UGFyZW50Tm9kZSA9IHtcbiAgICAgICAgYnJvd3NlTmFtZTogeyBuYW1lc3BhY2VJbmRleDogMCwgbmFtZTogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgbm9kZUNsYXNzOiBcIk9iamVjdFwiLFxuICAgICAgICBub2RlSWQ6IFwibnM9MDtpPTg1XCIsXG4gICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgIHR5cGVEZWZpbml0aW9uOiBGb2xkZXJUeXBlLFxuICAgIH07XG4gICAgY29uc3QgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0ID0gKCkgPT4ge1xuICAgICAgICAvKipcbiAgICAgICAgICogWyBUZW1wZXJhdHVyZSAgXVxuICAgICAgICAgKiAgICggdG9vbHRpcCA6ICgvT2JqZWN0cy9NeVNlbnNvcikgKG5zPTE7cz1UZW1wZXJhdHVyZSkpXG4gICAgICAgICAqIFsgKyBbRm9sZGVyXSBPYmplY3RzXVxuICAgICAgICAgKiBbICAgICBbT2JqZWN0XSBNeVNlbnNvcl1cbiAgICAgICAgICogWyAgICAgKCApIFtWYXJpYWJsZV0gVGVtcGVyYXR1cmVdXG4gICAgICAgICAqL1xuICAgICAgICAkLndpZGdldChcInN0ZXJmaXZlLm5vZGVCcm93c2VyXCIsIHtcbiAgICAgICAgICAgIC8qIGRlZmF1bHQgb3B0aW9ucyAqL1xuICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogKCkgPT4gKHsgZW5kcG9pbnQ6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDNcIiB9KSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludDogKCkgPT4gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHBhcmVudE5vZGU6ICgpID0+IGRlZmF1bHRQYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgICAgIGlzVHlwZVJlZjogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzb2x2ZVBhcmVudE5vZGUoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Ll9fcGFyZW50Tm9kZSA9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0eXBlb2YgdGhhdC5vcHRpb25zLnBhcmVudE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlLmNhbGwodGhhdCkgOiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlc2MgPSB5aWVsZCBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gZGVzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhhdC5fX3BhcmVudE5vZGUgfHwgZGVmYXVsdFBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsc28gcmVzZXQgcGFyZW50IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHRoYXQ7XG4gICAgICAgICAgICAgICAgICAgIGEuX19wYXJlbnROb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB5aWVsZCB0aGlzLnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocGFyZW50Tm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5jdXJyZW50UGFyZW50ID0gcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2ZXJpZnkobW9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICAgICAgaW50ZXJuYWxWZXJpZnkoZGF0YSwgbW9kZSwgdGhhdC4kaW5wdXQsIHRoYXQuJGluZm8pLnRoZW4oKHN1Y2Nlc3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWVycm9yXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kY29tYm8ucmVtb3ZlQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1lcnJvclwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9oaWRlTWVudShtZW51KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkub2ZmKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWNsb3NlLXByb3BlcnR5LXNlbGVjdFwiKTtcbiAgICAgICAgICAgICAgICBtZW51LmhpZGUoKTtcbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCJhdXRvXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKG1lbnUub3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWQgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnByb3AoXCJjaGVja2VkXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQucHVzaCgkKHRoaXMpLmRhdGEoXCJ2YWx1ZVwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBtZW51LmNhbGxiYWNrKHNlbGVjdGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoYXQuJGVsZW1lbnREaXYuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIC8veHggfSBlbHNlIGlmICh0aGlzLiRvcHRpb25TZWxlY3RUcmlnZ2VyLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgLy94eCAgICAgdGhhdC4kb3B0aW9uU2VsZWN0VHJpZ2dlci50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZU1lbnUobWVudU9wdGlvbnMsIG9wdHMsIGNhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lbnUgPSAkKFwiPGRpdj5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS10eXBlZElucHV0LW9wdGlvbnMgc3RlcmZpdmUtb25saW5lLW1lbnVcIik7XG4gICAgICAgICAgICAgICAgbWVudS5vcHRzID0gb3B0cztcbiAgICAgICAgICAgICAgICBtZW51LmNhbGxiYWNrID0gY2FsbGJhY2s7XG4gICAgICAgICAgICAgICAgbWVudU9wdGlvbnMuZm9yRWFjaCgob3B0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcHQgPSB7IHZhbHVlOiBvcHQsIGxhYmVsOiBvcHQgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgb3AgPSAkKCc8YSBocmVmPVwiI1wiPjwvYT4nKS5hdHRyKFwidmFsdWVcIiwgb3B0LnZhbHVlKS5hcHBlbmRUbyhtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5sYWJlbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AudGV4dChvcHQubGFiZWwpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQudGl0bGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnByb3AoXCJ0aXRsZVwiLCBvcHQudGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHQuaWNvbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5pY29uLmluZGV4T2YoXCI8XCIpID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChvcHQuaWNvbikucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9wdC5pY29uLmluZGV4T2YoXCIvXCIpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCI8aT5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzczogXCJyZWQtdWktdHlwZWRJbnB1dC1pY29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBcIm1hc2staW1hZ2U6IHVybChcIiArIG9wdC5pY29uICsgXCIpOyAtd2Via2l0LW1hc2staW1hZ2U6IHVybChcIiArIG9wdC5pY29uICsgXCIpO1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiPGk+XCIsIHsgY2xhc3M6IFwicmVkLXVpLXR5cGVkSW5wdXQtaWNvbiBcIiArIG9wdC5pY29uIH0pLnByZXBlbmRUbyhvcCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC5jc3MoeyBwYWRkaW5nTGVmdDogXCIxOHB4XCIgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHQuaWNvbiAmJiAhb3B0LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC50ZXh0KG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIGNiO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2IgPSAkKCc8aW5wdXQgdHlwZT1cImNoZWNrYm94XCI+JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3NzKFwicG9pbnRlci1ldmVudHNcIiwgXCJub25lXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRhdGEoXCJ2YWx1ZVwiLCBvcHQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnByZXBlbmRUbyhvcClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAub24oXCJtb3VzZWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgb3Aub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb3B0cy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKG9wdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYi5wcm9wKFwiY2hlY2tlZFwiLCAhY2IucHJvcChcImNoZWNrZWRcIikpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUub24oXCJrZXlkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2dC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBET1dOXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKFwiOmZvY3VzXCIpLm5leHQoKS50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZ0LmtleUNvZGUgPT09IDM4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVQXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKFwiOmZvY3VzXCIpLnByZXYoKS50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZXZ0LmtleUNvZGUgPT09IDI3KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFU0NBUEVcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5faGlkZU1lbnUobWVudSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiBtZW51O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRpc2FybUNsaWNrOiBmYWxzZSxcbiAgICAgICAgICAgIF9zaG93TWVudShtZW51LCByZWxhdGl2ZVRvKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlzYXJtQ2xpY2spIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXNhcm1DbGljayA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB2YXIgcG9zID0gcmVsYXRpdmVUby5vZmZzZXQoKTtcbiAgICAgICAgICAgICAgICB2YXIgaGVpZ2h0ID0gcmVsYXRpdmVUby5oZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB2YXIgbWVudUhlaWdodCA9IG1lbnUuaGVpZ2h0KCk7XG4gICAgICAgICAgICAgICAgdmFyIHRvcCA9IGhlaWdodCArIHBvcy50b3A7XG4gICAgICAgICAgICAgICAgaWYgKHRvcCArIG1lbnVIZWlnaHQgLSAkKGRvY3VtZW50KS5zY3JvbGxUb3AoKSA+ICQod2luZG93KS5oZWlnaHQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0b3AgLT0gdG9wICsgbWVudUhlaWdodCAtICQod2luZG93KS5oZWlnaHQoKSArIDU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0b3AgPCAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuaGVpZ2h0KG1lbnVIZWlnaHQgKyB0b3ApO1xuICAgICAgICAgICAgICAgICAgICB0b3AgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBtZW51LmNzcyh7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogdG9wICsgXCJweFwiLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBwb3MubGVmdCArIFwicHhcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtZW51LnNsaWRlRG93bigxMDApO1xuICAgICAgICAgICAgICAgIHRoaXMuX2RlbGF5KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdWlTZWxlY3QuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dC1mb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgJChkb2N1bWVudCkub24oXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtY2xvc2UtcHJvcGVydHktc2VsZWN0XCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGV2ZW50LnRhcmdldCkuY2xvc2VzdChtZW51KS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKGV2ZW50LnRhcmdldCkuY2xvc2VzdChyZWxhdGl2ZVRvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LmRpc2FybUNsaWNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfc2hvd1R5cGVNZW51KCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dNZW51KHRoYXQuJG1lbnUsIHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IHRoYXQuc2VsZWN0ZWRNZW51SXRlbTtcbiAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWQgPSB0aGF0LiRtZW51LmZpbmQoXCJbdmFsdWU9J1wiICsgdHlwZSArIFwiJ1wiKTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH0sIDEyMCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2luaXRNZW51KCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIuYXR0cihcInRhYmluZGV4XCIsIC0xKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLm9uKFwibW91c2Vkb3duLnJlZC11aS10eXBlZElucHV0LWZvY3VzLWJsb2NrXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHRoYXQuJG1lbnUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kbWVudS5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gZmEtaWQtY2FyZFxuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVMaXN0ID0gW1xuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcInRleHRcIiwgdmFsdWU6IFwidFwiLCB0aXRsZTogXCJWYWx1ZSBpcyBub3QgdmVyaWZpZWRcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtZm9udFwiL2k+ICcgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwibXNnLlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwibXNnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCJub2RlIGlkIG9yICBicm93c2UgcGF0aCBjb21lcyBmcm9tIGluamVjdGVkIG1zZyBwYXJhbWV0ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWVudmVsb3BlLW9wZW4tb1wiLz4nLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIk5vZGVJZFwiLCB2YWx1ZTogXCJuXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLXRhZ1wiLz4xICZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiQWxpYXNlZCBOb2RlSWRcIiwgdmFsdWU6IFwibmFcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIi8+Jm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJOb2RlSWQgd2l0aCBuYW1lc3BhY2UgVXJuXCIsIHZhbHVlOiBcIm5zdVwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1pZC1jYXJkXCIvPiZuYnNwOyAnIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiQnJvd3NlUGF0aFwiLCB2YWx1ZTogXCJiXCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLXRhZ1wiLz48aSBjbGFzcz1cImZhIGZhLWZpZ2h0ZXItamV0XCIvPiZuYnNwOycgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwiQWxpYXNlZCBCcm93c2UgUGF0aFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwiYWJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWJvb2ttYXJrXCIvPjxpIGNsYXNzPVwiZmEgZmEtZmlnaHRlci1qZXRcIi8+Jm5ic3A7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSBmaWd1cmVPdXRNZW5VSXRlbVZhbHVlKHRoYXQuJGlucHV0LnZhbCgpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlID0gdHlwZUxpc3QuZmluZCgoeCkgPT4geC52YWx1ZSA9PT0gYSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwuZW1wdHkoKS5hcHBlbmQoYDxzcGFuIHRpdGxlPSR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50aXRsZSkgfHwgXCJcIn0+Jm5ic3A7ICR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5pY29uKSB8fCBcIlwifTwvc3Bhbj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSBhO1xuICAgICAgICAgICAgICAgIGNvbnN0IHR0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51ID0gdGhpcy5fY3JlYXRlTWVudSh0eXBlTGlzdCwge30sICh2KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSB0b01vZGUodik7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbiBNZW51IHNlbGVjdGVkICFcbiAgICAgICAgICAgICAgICAgICAgICAgIHR0LnZlcmlmeShtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlID0gdHlwZUxpc3QuZmluZCgoeCkgPT4geC52YWx1ZSA9PT0gdik7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IHY7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdExhYmVsLmVtcHR5KCkuYXBwZW5kKGA8c3BhbiB0aXRsZT0keyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUudGl0bGUpIHx8IFwiXCJ9PiZuYnNwOyAkeyhlID09PSBudWxsIHx8IGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGUuaWNvbikgfHwgXCJcIn08L3NwYW4+YCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kbWVudS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51LmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLnNob3coKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtb2RlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHJldHVybiB0b01vZGUodGhhdC5zZWxlY3RlZE1lbnVJdGVtKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXRNb2RlKG1vZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICBjb25zdCBzID0gZnJvbU1vZGUobW9kZSk7XG4gICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gcztcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0ID0gdGhpcy5lbGVtZW50O1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmNzcyhcImJvcmRlclwiLCBcIm5vbmVcIik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQuYWRkQ2xhc3MoXCJyZWQtdWktdHlwZWRJbnB1dFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRlbGVtZW50RGl2ID0gdGhhdC4kaW5wdXQud3JhcChcIjxkaXY+XCIpLnBhcmVudCgpLmFkZENsYXNzKFwibWFpbi13cmFwcGVyXCIpO1xuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gQ29tYm8gYnJvd3NlclxuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvID0gJChcIjxkaXYvPlwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hZGRDbGFzcyhcInN0ZXJmaXZlLWNvbWJvLWJveFwiKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRjb21iby5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWlucHV0LXdyYXBcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQucmVwbGFjZVdpdGgodGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAgPSAkKFwiPGRpdi8+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5wdXQtZ3JvdXBcIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGlucHV0R3JvdXApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAuYXBwZW5kKHRoYXQuJGlucHV0KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBhZGQgYnV0dG9uIG9uIHRoZSByaWdodCBzaWRlXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB0b2dnbGVUcmVlQnRuXG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0biA9ICQoYDxidXR0b24gdGl0bGU9XCJvcGVuIE9QQ1VBIEFkZHJlc3NTcGFjZSBCcm93c2VyXCI+PGkgY2xhc3M9XCJmYSBmYS1zaXRlbWFwXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmFmdGVyKHRoYXQuJHRvZ2dsZVRyZWVCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4ub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRkcm9wZG93bi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJlZSB3aWRnZXQgaXMgZ29pbmcgdG8gYmVjb21lIHZpc2libGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnROb2RlID0geWllbGQgdGhhdC5yZXNvbHZlUGFyZW50Tm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnROb2RlICE9PSB0aGF0LmN1cnJlbnRQYXJlbnQgfHwgKChfYSA9IHRoYXQuY3VycmVudFBhcmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5vZGVJZCkgIT09IHBhcmVudE5vZGUubm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoYXQucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24udG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiAmJiAoeWllbGQgcmVhY2hTZWxlY3Rpb24odGhhdCwgcGFyZW50Tm9kZSkpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB2ZXJpZnlCdG5cbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4gPSAkKGA8YnV0dG9uIHRpdGxlPVwidmVyaWZ5IG5vZGVJZCBvciBicm93c2VQYXRoXCI+PGkgY2xhc3M9XCJmYSBmYS1yZWZyZXNoXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LmFmdGVyKHRoYXQuJHZlcmlmeUJ0bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdmVyaWZ5QnRuLm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5KG1vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplSW5wdXQgPSAoaW5wdXQpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29ubmVjdGlvbkRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBkYXRhLCBqc29uIH0gPSB5aWVsZCBfY2FsbENoZWNrTm9kZUlkKGNvbm5lY3Rpb25EYXRhLCBpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKGpzb24uc3RhdHVzQ29kZS5tYXRjaCgvR29vZC8pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3RlZE5vZGVJZCA9IGNob29zZU5vZGVJZChqc29uLCBtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnZhbChzZWxlY3RlZE5vZGVJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gY3JlYXRlIHRoZSBwcmVwZW5kZWQgYnV0dG9uXG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdCA9ICQoXCI8ZGl2PlwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYmVmb3JlKHRoYXQuJHVpU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlciA9ICQoJzxidXR0b24gdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiPjwvYnV0dG9uPicpLnByZXBlbmRUbyh0aGF0LiR1aVNlbGVjdCk7XG4gICAgICAgICAgICAgICAgICAgICQoJzxpIGNsYXNzPVwicmVkLXVpLXR5cGVkSW5wdXQtaWNvbiBmYSBmYS1jYXJldC1kb3duXCI+PC9pPicpLnRvZ2dsZSh0cnVlKS5hcHBlbmRUbyh0aGF0LiRzZWxlY3RUcmlnZ2VyKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fc2hvd1R5cGVNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJrZXlkb3duXCIsIGZ1bmN0aW9uIChldnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChldnQua2V5Q29kZSA9PT0gNDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBEb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fc2hvd1R5cGVNZW51KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJmb2N1c1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLm9uKFwiYmx1clwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB2YXIgb3B0ID0gdGhhdC50eXBlTWFwW3RoYXQucHJvcGVydHlUeXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIChvcHQuaGFzVmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5yZW1vdmVDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwgPSAkKCc8c3BhbiBjbGFzcz1cInJlZC11aS10eXBlZElucHV0LXR5cGUtbGFiZWxcIj48L3NwYW4+JykuYXBwZW5kVG8odGhhdC4kc2VsZWN0VHJpZ2dlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX2luaXRNZW51KCk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYXR0cihcInBsYWNlaG9sZGVyXCIsIFwiZW50ZXIgYSBub2RlSWQgb3IgYSBicm93c2VQYXRoIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiB0ZW1wb3JhdHkgaW5mbyBwYW5lbFxuICAgICAgICAgICAgICAgIHRoYXQuJGluZm8gPSAkKGA8ZGl2IGNsYXNzPVwic3RlcmZpdmUtaW5mby10ZXh0XCI+PC9kaXY+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGluZm8pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIGRyb3AgZG93biB0cmVlXG4gICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24gPSAkKFwiPGRpdi8+XCIpLmFkZENsYXNzKFwic3RlcmZpdmUtZHJvcGRvd25cIikuaGlkZSgpLmFwcGVuZFRvKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlID0gJChgPHVsIGNsYXNzPVwic3RlcmZpdmUtdHJlZVwiPjwvdWw+YCkuYXBwZW5kVG8odGhhdC4kZHJvcGRvd24pO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGRyb3Bkb3duLnNob3coKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIGNvbnN0IGlzT25MZWZ0U2l6ZSA9ICgkbGksIGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZVdpZHRoID0gMjA7IC8vIFNldCB3aWR0aCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBiZWZvcmVIZWlnaHQgPSAyMDsgLy8gU2V0IGhlaWdodCBvZiB0aGUgOjpiZWZvcmUgY29udGVudFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50UG9zID0gJGxpLm9mZnNldCgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlID0gZXZlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlLnBhZ2VYID49IGVsZW1lbnRQb3MubGVmdCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWCA8PSBlbGVtZW50UG9zLmxlZnQgKyBiZWZvcmVXaWR0aCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWSA+PSBlbGVtZW50UG9zLnRvcCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZS5wYWdlWSA8PSBlbGVtZW50UG9zLnRvcCArIGJlZm9yZUhlaWdodCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgdG9nZ2xlRXhwYW5zaW9uID0gKCRsaSkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgX2V4cGFuZExpKHRoYXQsICRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoJGxpLmhhc0NsYXNzKFwiZXhwYW5kZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvZ2dsZSBpdHMgZXhwYW5kZWQvY29sbGFwc2VkIHN0YXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN3YXAgZXhwYW5kYWJsZSBhbmQgZXhwYW5kZWQgY2xhc3Nlc1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLnRvZ2dsZUNsYXNzKFwiZXhwYW5kYWJsZSBleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuY2hpbGRyZW4oXCJ1bFwiKS5jaGlsZHJlbigpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJkYmxjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2EsIF9iO1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAkbGkuZGF0YShcInZhbHVlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmZXJlbmNlID0gJGxpLmRhdGEoXCJyZWZlcmVuY2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmlzU2VsZWN0YWJsZSAmJiAhdGhhdC5vcHRpb25zLmlzU2VsZWN0YWJsZShyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuZGF0YShcInJlZmVyZW5jZVwiLCByZWZlcmVuY2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnN0IGlucHV0ID0gYFske2Rpc3BsYXlOYW1lfV0oJHt2YWx1ZX0pYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBtb2RlID0gdGhhdC5tb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIW1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RlID0gXCJub2RlSWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LnNldE1vZGUobW9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBub3JtYWxpemVJbnB1dCh2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudmFsKGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC50cmlnZ2VyKFwiY2hhbmdlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLm9uKFwiY2xpY2tcIiwgXCJsaVwiLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIGxldCAkbGkgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNPbkxlZnRTaXplKCRsaSwgZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b2dnbGVFeHBhbnNpb24oJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBjbGlja2luZyBvdXRzaWRlIHRoZSBwYWdlIHdpbGwgaGlkZSB0aGUgZHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgaWYgKCEkKGV2ZW50LnRhcmdldCkuY2xvc2VzdCh0aGF0LiRjb21ibykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBpbnN0YWxsU3Vic2NyaXB0aW9uU2VsZWN0b3IoUkVELCBub2RlKSB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgJHN1YnNjcmlwdGlvbiA9ICQoXCIjbm9kZS1pbnB1dC1zdWJzY3JpcHRpb25cIik7XG4gICAgICAgIC8vIGRlYnVnZ2VyO1xuICAgICAgICBjb25zdCBpbnN0YWxsU3Vic2NyaXB0aW9uT3B0aW9ucyA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVuZHBvaW50ID0gUkVELm5vZGVzLm5vZGUoJGVuZHBvaW50LnZhbCgpKTtcbiAgICAgICAgICAgICRzdWJzY3JpcHRpb24uZW1wdHkoKTtcbiAgICAgICAgICAgIGlmICghZW5kcG9pbnQgfHwgIWVuZHBvaW50LnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHMgb2YgZW5kcG9pbnQuc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gcy5uYW1lIHx8IHMuaWQ7XG4gICAgICAgICAgICAgICAgJChcIjxvcHRpb24vPlwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzLmlkLFxuICAgICAgICAgICAgICAgICAgICBsYWJlbDogbGFiZWwsXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBzLmlkID09PSBub2RlLnN1YnNjcmlwdGlvbixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAudGV4dChsYWJlbClcbiAgICAgICAgICAgICAgICAgICAgLmFwcGVuZFRvKCRzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpbnN0YWxsU3Vic2NyaXB0aW9uT3B0aW9ucygpO1xuICAgICAgICAvLyBoYWNrXG4gICAgICAgIC8vICRpbnB1dEFjdGlvbi5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgIC8vICAgICAkZW5kcG9pbnQub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAvLyAgICAgICAgIGluc3RhbGxTdWJzY3JpcHRpb25PcHRpb25zKCk7XG4gICAgICAgIC8vICAgICB9KTtcbiAgICAgICAgLy8gfSk7XG4gICAgICAgICRzdWJzY3JpcHRpb24ub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgbm9kZS5zdWJzY3JpcHRpb24gPSAkc3Vic2NyaXB0aW9uLnZhbCgpO1xuICAgICAgICAgICAgLy8gICAgaW5zdGFsbFN1YnNjcmlwdGlvbk9wdGlvbnMoKTtcbiAgICAgICAgfSk7XG4gICAgICAgICRlbmRwb2ludC5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICBpbnN0YWxsU3Vic2NyaXB0aW9uT3B0aW9ucygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIGNvbnRhaW5pbmc6XG4gICAgICogIC0gdGhlIGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LFxuICAgICAqICAtIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICogIC0gY3JlZGVudGlhbHNcbiAgICAgKiAgLSBuYW1lc3BhY2VBbGlhc2VzXG4gICAgICpcbiAgICAgKiBleHRyYWN0ZWQgZnJvbSB0aGUgdWkgd2lkZ2V0ICNub2RlLWlucHV0LWVuZHBvaW50XG4gICAgICovXG4gICAgY29uc3QgZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHJlZE5vZGUgPSBSRUQubm9kZXMubm9kZShlbmRwb2ludElkKTtcbiAgICAgICAgaWYgKCFyZWROb2RlKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgLy8gY29uc3QgY3JlZGVudGlhbHMgPSBSRUQuKGVuZHBvaW50SWQpO1xuICAgICAgICAvLyB3ZSBuZWVkIHRvIHNhbml0aXplIGFuZCBleHRyYWN0IHRoZSBlbmRwb2ludCBhdHRyaWJ1dGVzIG9ubHkgKCBub3QgdGhlIG5vZGUtcmVkIHN0dWZmKVxuICAgICAgICBjb25zdCB7IGVuZHBvaW50LCBzZWN1cml0eU1vZGUsIHNlY3VyaXR5UG9saWN5LCB1c2VySWRlbnRpdHlUeXBlLCBjcmVkZW50aWFscywgbmFtZXNwYWNlQWxpYXNlcyB9ID0gcmVkTm9kZTtcbiAgICAgICAgY29uc3QgcmV0VmFsdWUgPSB7XG4gICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5LFxuICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSxcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzLFxuICAgICAgICAgICAgbmFtZXNwYWNlQWxpYXNlcyxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHJldFZhbHVlO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCAkZW5kcG9pbnQgPSAkKFwiI25vZGUtaW5wdXQtZW5kcG9pbnRcIik7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50SWQgPSAkZW5kcG9pbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IGVuZHBvaW50TnIgPSBnZXRFbmRQb2ludEF0dHJpYnV0ZXMoKTtcbiAgICAgICAgaWYgKCFlbmRwb2ludE5yKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5yLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHsgbmFtZXNwYWNlQWxpYXNlcywgaWQ6IGVuZHBvaW50SWQgfSwgZW5kcG9pbnROcik7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiBnZXRFbmRwb2ludFBhcmFtZXRlcnMsXG4gICAgICAgIH07XG4gICAgfTtcblxuICAgIGNvbnN0IGluc3RhbGxGZWVkYmFja1dpZGdldCA9ICgpID0+IHtcbiAgICAgICAgLy8gcmV0dXJuO1xuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgY29uc3QgdHJheUNvbnRlbnQgPSAkKFwiLnJlZC11aS10cmF5LWJvZHlcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbEZlZWRiYWNrV2lkZ2V0IFwiLCB0cmF5Q29udGVudC5sZW5ndGgpO1xuICAgICAgICBpZiAodHJheUNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImluc3RhbGxpbmcgaWZyYW1lXCIpO1xuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBpZnJhbWUgZWxlbWVudFxuICAgICAgICAgICAgY29uc3QgaWZyYW1lID0gJChcIjxpZnJhbWU+PC9pZnJhbWU+XCIsIHtcbiAgICAgICAgICAgICAgICBzcmM6IFwiL29wY3VhLWZvci1ub2RlLXJlZC9zdXBwb3J0LWZyYW1lLmh0bWxcIixcbiAgICAgICAgICAgICAgICBzY3JvbGxpbmc6IFwibm9cIixcbiAgICAgICAgICAgICAgICBzdHlsZTogXCJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O292ZXJmbG93OmhpZGRlbjtib3JkZXI6M3B4XCIsXG4gICAgICAgICAgICAgICAgYWxsb3d0cmFuc3BhcmVuY3k6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBcIjE4MHB4XCIsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjMwcHhcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBpZnJhbWUgdG8gdGhlIGZlZWRiYWNrIGVsZW1lbnRcbiAgICAgICAgICAgIHRyYXlDb250ZW50LmFwcGVuZChpZnJhbWUpO1xuICAgICAgICAgICAgLy8gUG9zaXRpb24gdGhlIGZlZWRiYWNrIGVsZW1lbnQgYXQgdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgdHJheSBjb250ZW50XG4gICAgICAgICAgICBpZnJhbWUuY3NzKHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICBib3R0b206IFwiMTZweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUNsaWVudDItTW9uaXRvclwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcIm9wY3VhXCIsXG4gICAgICAgIGNvbG9yOiBcIiNDMERFRURcIixcbiAgICAgICAgYWxpZ246IFwicmlnaHRcIixcbiAgICAgICAgaWNvbjogXCIuLi8uLi9pY29ucy9vcGN1YW5vZGVMb2dvLnBuZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwibW9uaXRvciB2YXJpYWJsZVwiLFxuICAgICAgICBkZWZhdWx0czoge1xuICAgICAgICAgICAgaW5wdXRzOiB7IHZhbHVlOiAxIH0sXG4gICAgICAgICAgICBvdXRwdXQ6IHsgdmFsdWU6IDIgfSxcbiAgICAgICAgICAgIC8vIENvbW1vblxuICAgICAgICAgICAgbmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHsgdmFsdWU6IFwiXCIsIHJlcXVpcmVkOiB0cnVlLCB0eXBlOiBcIk9wY1VhLUVuZHBvaW50MlwiIH0sXG4gICAgICAgICAgICAvLyBmb3IgYWN0aW9uIG1vbml0b3JcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbjoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWwgPT09IFwiXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RhcnRJbW1lZGlhdGVseTogeyB2YWx1ZTogdHJ1ZSwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIC8vIHdlIHVzZSBhIGRpZmZlcmVudCB3aWRnZXQgZm9yIGVkaXRpbmcgdGhlIG5vZGVJZCwgYmVjYXVzZSB0aGUgYmVoYXZpb3JcbiAgICAgICAgICAgIC8vIGlzIHNwZWNpZmljIHRvIG1vbml0b3IsIGhvd2V2ZXIgcHJvcGVydHkgd2lsbCBiZSBzdG9yZWQgaW4gbm9kZUlkXG4gICAgICAgICAgICBub2RlSWQ6IHsgdmFsdWU6IFwiL1NlcnZlci9TZXJ2ZXJTdGF0dXMvQ3VycmVudFRpbWVcIiwgcmVxdWlyZWQ6IGZhbHNlLCB2YWxpZGF0ZTogKCkgPT4gdHJ1ZSB9LFxuICAgICAgICAgICAgc2FtcGxpbmdJbnRlcnZhbDogeyB2YWx1ZTogMTAwMCwgcmVxdWlyZWQ6IHRydWUgfSxcbiAgICAgICAgICAgIGRpc2NhcmRPbGRlc3Q6IHsgdmFsdWU6IHRydWUsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICBxdWV1ZVNpemU6IHsgdmFsdWU6IDEwLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgICAvLyBpbnB1dHM6LFxuICAgICAgICBvdXRwdXRzOiAxLCAvL3h4XG4gICAgICAgIC8vIDIgb3V0cHV0LCBzZWNvbmQgZm9yIHJhdyBub2RlLW9wY3VhIGRpYWdub3N0aWNzIG9yIG1vcmUgY29tcGxldGUgbWVzc2FnZVxuICAgICAgICBsYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgfHwgXCJPUENVQSBDbGllbnQgTW9uaXRvciBcIjtcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWxTdHlsZSgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgPyBcIm5vZGVfbGFiZWxfaXRhbGljXCIgOiBcIlwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQoKTtcbiAgICAgICAgICAgIGluc3RhbGxGZWVkYmFja1dpZGdldCgpO1xuICAgICAgICAgICAgY29uc3QgaXNJbW1lZGlhdGUgPSBub2RlLnN0YXJ0SW1tZWRpYXRlbHk7XG4gICAgICAgICAgICBub2RlLmlucHV0cyA9IGlzSW1tZWRpYXRlID8gMCA6IDE7XG4gICAgICAgICAgICBpbnN0YWxsU3Vic2NyaXB0aW9uU2VsZWN0b3IoUkVELCB0aGlzKTtcbiAgICAgICAgICAgICQoXCJub2RlLWlucHV0LXN0YXJ0SW1tZWRpYXRlbHlcIikub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoZWNrZWQgPSAkKFwiI25vZGUtaW5wdXQtc3RhcnRJbW1lZGlhdGVseVwiKS5wcm9wKFwiY2hlY2tlZFwiKTtcbiAgICAgICAgICAgICAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtaW5wdXRzXCIpLnZhbCgwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1pbnB1dHNcIikudmFsKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBBY3Rpb24gTW9uaXRvclxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIGNvbnN0ICRub2RlSWQgPSAkKFwiI25vZGUtaW5wdXQtbm9kZUlkXCIpO1xuICAgICAgICAgICAgJG5vZGVJZC5ub2RlQnJvd3NlcihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGdldEVuZHBvaW50UGFyYW1ldGVyc0hhbmRsZXIoKSksIHsgZmlsdGVyKG5vZGVEZXNjKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiVmFyaWFibGVcIiB8fCBub2RlRGVzYy5ub2RlQ2xhc3MgPT09IFwiT2JqZWN0XCI7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBpc1NlbGVjdGFibGUobm9kZURlc2MpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJWYXJpYWJsZVwiO1xuICAgICAgICAgICAgICAgIH0gfSkpO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnRJbW1lZGlhdGVseSA9ICQoXCIjbm9kZS1pbnB1dC1zdGFydEltbWVkaWF0ZWx5XCIpLnByb3AoXCJjaGVja2VkXCIpO1xuICAgICAgICAgICAgaWYgKHN0YXJ0SW1tZWRpYXRlbHkpIHtcbiAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtc3RhcnRJbW1lZGlhdGVseVwiKS52YWwoc3RhcnRJbW1lZGlhdGVseSA/IDAgOiAxKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0cyA9IHN0YXJ0SW1tZWRpYXRlbHkgPyAwIDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1zdGFydEltbWVkaWF0ZWx5XCIpLnZhbCgxKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0cyA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
|
7
|
+
(function(_0x2e5fbd,_0x3e495b){const _0x169b86=_0x1d63,_0x116cdf=_0x2e5fbd();while(!![]){try{const _0x568844=-parseInt(_0x169b86(0x1cd))/0x1*(parseInt(_0x169b86(0xfb))/0x2)+-parseInt(_0x169b86(0x1ef))/0x3+-parseInt(_0x169b86(0x11c))/0x4+parseInt(_0x169b86(0x1d5))/0x5+parseInt(_0x169b86(0x107))/0x6+parseInt(_0x169b86(0x16e))/0x7*(parseInt(_0x169b86(0x18d))/0x8)+-parseInt(_0x169b86(0x222))/0x9*(-parseInt(_0x169b86(0x10c))/0xa);if(_0x568844===_0x3e495b)break;else _0x116cdf['push'](_0x116cdf['shift']());}catch(_0x3b019f){_0x116cdf['push'](_0x116cdf['shift']());}}}(_0x3765,0x9cbe7),(function(){'use strict';const _0x242bdf=_0x1d63;function _0xbd58ad(_0x44a3b8,_0x3a54b0,_0x4efea5,_0x2cda5c){function _0x9b94ee(_0x49a362){return _0x49a362 instanceof _0x4efea5?_0x49a362:new _0x4efea5(function(_0x3263a5){_0x3263a5(_0x49a362);});}return new(_0x4efea5||(_0x4efea5=Promise))(function(_0x5d3898,_0x1ab3b2){const _0x58b000=_0x1d63;function _0x2a2a2e(_0x5882bb){try{_0x1dbaf7(_0x2cda5c['next'](_0x5882bb));}catch(_0x5bcff6){_0x1ab3b2(_0x5bcff6);}}function _0x53c280(_0x500a96){const _0x2963de=_0x1d63;try{_0x1dbaf7(_0x2cda5c[_0x2963de(0x1a8)](_0x500a96));}catch(_0x17e0dd){_0x1ab3b2(_0x17e0dd);}}function _0x1dbaf7(_0x470643){const _0x5ed4c0=_0x1d63;_0x470643['done']?_0x5d3898(_0x470643['value']):_0x9b94ee(_0x470643[_0x5ed4c0(0x1d4)])[_0x5ed4c0(0x156)](_0x2a2a2e,_0x53c280);}_0x1dbaf7((_0x2cda5c=_0x2cda5c[_0x58b000(0x1a1)](_0x44a3b8,_0x3a54b0||[]))[_0x58b000(0x11e)]());});}typeof SuppressedError===_0x242bdf(0x209)?SuppressedError:function(_0x4bb135,_0x26fbd8,_0x548e9b){const _0x5c961a=_0x242bdf;var _0x559398=new Error(_0x548e9b);return _0x559398['name']='SuppressedError',_0x559398[_0x5c961a(0x1e4)]=_0x4bb135,_0x559398[_0x5c961a(0x19a)]=_0x26fbd8,_0x559398;};const _0x5d3376=_0x242bdf(0x169),_0x578002=_0x242bdf(0x1f0),_0x56b7aa=_0x242bdf(0x161),_0xcd6add=_0x242bdf(0x1f9),_0x1f41c2=_0x242bdf(0x14e),_0x98c2eb='ns=0;i=45',_0x5a40ba=_0x242bdf(0x1bc);var _0x225e8e;(function(_0xdee6b7){const _0xfbd869=_0x242bdf;_0xdee6b7[_0xdee6b7[_0xfbd869(0x1a0)]=0x0]=_0xfbd869(0x1a0),_0xdee6b7[_0xdee6b7[_0xfbd869(0x123)]=0x1]='Inverse',_0xdee6b7[_0xdee6b7[_0xfbd869(0x133)]=0x2]=_0xfbd869(0x133),_0xdee6b7[_0xdee6b7[_0xfbd869(0x1f7)]=0x3]=_0xfbd869(0x1f7);}(_0x225e8e||(_0x225e8e={})));var _0x5b31ef;(function(_0x1f3c7b){const _0x820acb=_0x242bdf;_0x1f3c7b[_0x1f3c7b[_0x820acb(0x210)]=0x0]='Unspecified',_0x1f3c7b[_0x1f3c7b[_0x820acb(0x166)]=0x1]=_0x820acb(0x166),_0x1f3c7b[_0x1f3c7b[_0x820acb(0x1ad)]=0x2]=_0x820acb(0x1ad),_0x1f3c7b[_0x1f3c7b[_0x820acb(0x16f)]=0x4]='Method',_0x1f3c7b[_0x1f3c7b['ObjectType']=0x8]='ObjectType',_0x1f3c7b[_0x1f3c7b[_0x820acb(0x194)]=0x10]=_0x820acb(0x194),_0x1f3c7b[_0x1f3c7b['ReferenceType']=0x20]=_0x820acb(0x16c),_0x1f3c7b[_0x1f3c7b['DataType']=0x40]='DataType',_0x1f3c7b[_0x1f3c7b[_0x820acb(0x121)]=0x80]=_0x820acb(0x121);}(_0x5b31ef||(_0x5b31ef={})));var _0x12ccbb;(function(_0x64546f){const _0x411502=_0x242bdf;_0x64546f[_0x64546f[_0x411502(0x166)]=0x1]='Object',_0x64546f[_0x64546f['Variable']=0x2]=_0x411502(0x1ad),_0x64546f[_0x64546f[_0x411502(0x16f)]=0x4]=_0x411502(0x16f),_0x64546f[_0x64546f[_0x411502(0x1e0)]=0x8]='ObjectType',_0x64546f[_0x64546f['VariableType']=0x10]=_0x411502(0x194),_0x64546f[_0x64546f[_0x411502(0x16c)]=0x20]=_0x411502(0x16c),_0x64546f[_0x64546f[_0x411502(0x140)]=0x40]=_0x411502(0x140),_0x64546f[_0x64546f[_0x411502(0x121)]=0x80]='View';}(_0x12ccbb||(_0x12ccbb={})));var _0x152423;(function(_0x4c94d9){const _0x420f3f=_0x242bdf;_0x4c94d9[_0x4c94d9[_0x420f3f(0x16c)]=0x1]=_0x420f3f(0x16c),_0x4c94d9[_0x4c94d9[_0x420f3f(0x17e)]=0x2]=_0x420f3f(0x17e),_0x4c94d9[_0x4c94d9['NodeClass']=0x4]=_0x420f3f(0x13e),_0x4c94d9[_0x4c94d9[_0x420f3f(0xf9)]=0x8]=_0x420f3f(0xf9),_0x4c94d9[_0x4c94d9[_0x420f3f(0x1ac)]=0x10]=_0x420f3f(0x1ac),_0x4c94d9[_0x4c94d9[_0x420f3f(0x13f)]=0x20]='TypeDefinition';}(_0x152423||(_0x152423={})));function _0xc83f2d(_0x1ddd2d){const _0x566e00=_0x242bdf;switch(_0x1ddd2d){case'Organizes':return _0x5d3376;case _0x566e00(0x120):return _0xcd6add;case _0x566e00(0x12f):return _0x56b7aa;case _0x566e00(0x184):return _0x1f41c2;case _0x566e00(0x106):return _0x98c2eb;case _0x566e00(0x14f):return _0x5a40ba;}}const _0x2604c7=_0xfcf82c=>{const _0x4bf6f7=_0x242bdf;switch(_0xfcf82c[_0x4bf6f7(0x197)]){case _0x4bf6f7(0x166):if(_0xfcf82c['referenceTypeId']===_0x5d3376);if(_0xfcf82c[_0x4bf6f7(0x138)]===_0x578002||_0xfcf82c[_0x4bf6f7(0x18a)]===_0x4bf6f7(0x18b))return{'icon':_0x4bf6f7(0x126),'color':_0x4bf6f7(0x157)};return{'icon':_0x4bf6f7(0x154),'color':'SeaGreen'};case'Variable':if(_0xfcf82c['referenceTypeId']===_0x56b7aa)return{'icon':_0x4bf6f7(0x141),'color':_0x4bf6f7(0x1f3)};else return _0xfcf82c[_0x4bf6f7(0x18a)]===_0xcd6add?{'icon':'fa-list-alt','color':_0x4bf6f7(0x188)}:{'icon':'fa-list-alt','color':_0x4bf6f7(0x1db)};case _0x4bf6f7(0x16f):return{'icon':_0x4bf6f7(0x172),'color':_0x4bf6f7(0x190)};case _0x4bf6f7(0x1e0):return{'icon':_0x4bf6f7(0x154),'color':_0x4bf6f7(0x17b)};case _0x4bf6f7(0x194):return{'icon':'fa-sliders','color':_0x4bf6f7(0x17b)};case'DataType':return{'icon':_0x4bf6f7(0x14d),'color':_0x4bf6f7(0x1db)};}return{'icon':_0x4bf6f7(0x1a7),'color':_0x4bf6f7(0x212)};},_0x462479=(_0x14e4f7,_0x5c312a,_0x139edf)=>_0xbd58ad(void 0x0,[_0x14e4f7,_0x5c312a,_0x139edf],void 0x0,function*({endpointNode:_0x5522e3,endpoint:_0x3ff520,baseUrl:_0xaf138a},_0x27ce08,_0x344910){const _0x5c0d4a=_0x242bdf,_0x13eb76=_0xaf138a+'/opcua-for-node-red',_0x422d39=_0x13eb76+_0x5c0d4a(0x1d8),_0x1868ac=Object['assign'](Object[_0x5c0d4a(0x1a9)]({},_0x344910),{'nodeId':_0x27ce08,'resultMask':0x3f}),_0x20f5b2=yield fetch(_0x422d39,{'method':_0x5c0d4a(0x21b),'body':JSON[_0x5c0d4a(0x1d9)]({'endpointNode':_0x5522e3,'endpoint':_0x3ff520,'browseDescription':_0x1868ac}),'headers':{'Content-Type':_0x5c0d4a(0x19e)}});if(_0x20f5b2[_0x5c0d4a(0x1d6)]!==0xc8)return console[_0x5c0d4a(0x11d)](_0x5c0d4a(0x1dc),_0x20f5b2[_0x5c0d4a(0x1d6)],_0x20f5b2[_0x5c0d4a(0x1ae)]),{'references':[]};const _0x3a0f09=yield _0x20f5b2['json'](),_0x536182=_0x3a0f09['browseResult'][_0x5c0d4a(0x1f5)]||[];return{'references':_0x536182};}),_0x3a1f81={'referenceTypeId':_0xc83f2d(_0x242bdf(0x184)),'includeSubtypes':!![],'browseDirection':_0x225e8e[_0x242bdf(0x1a0)],'nodeClassMask':_0x5b31ef['Variable']|_0x5b31ef['Object']|_0x5b31ef['Method'],'resultMask':0x3f},_0xc85344={'referenceTypeId':_0xc83f2d(_0x242bdf(0x1b5)),'includeSubtypes':!![],'browseDirection':_0x225e8e[_0x242bdf(0x1a0)],'nodeClassMask':_0x5b31ef['Variable']|_0x5b31ef[_0x242bdf(0x166)]|_0x5b31ef[_0x242bdf(0x16f)],'resultMask':0x3f},_0x44cd11=(_0x3effc3,_0x379ad5)=>_0xbd58ad(void 0x0,[_0x3effc3,_0x379ad5],void 0x0,function*({endpointNode:_0x195dae,endpoint:_0xe60bfc,baseUrl:_0x171f31},{nodeId:_0x1aeec,rootNodeId:_0x1ca102,isType:_0x106fdf}){const _0x204127=_0x242bdf,_0x4817f4=_0x171f31+_0x204127(0xf8),_0x56cc88=_0x4817f4+_0x204127(0x103),_0x5bfa9c=yield fetch(_0x56cc88,{'method':_0x204127(0x21b),'body':JSON[_0x204127(0x1d9)]({'endpointNode':_0x195dae,'endpoint':_0xe60bfc,'nodeId':_0x1aeec,'rootNodeId':_0x1ca102,'isType':_0x106fdf}),'headers':{'Content-Type':_0x204127(0x19e)}});if(_0x5bfa9c['status']!==0xc8)return null;const _0x36a329=yield _0x5bfa9c[_0x204127(0x15f)]();return _0x36a329['browsePath'];}),_0x25956a=(_0x43e360,_0x49d5fd)=>{const _0x30bbda=_0x242bdf;if(_0x43e360[_0x30bbda(0x1ce)]!==_0x30bbda(0x217))return _0x43e360[_0x30bbda(0x164)];switch(_0x49d5fd){case _0x30bbda(0x1e8):return _0x43e360[_0x30bbda(0x1b9)];case'aliasedBrowsePath':return _0x43e360[_0x30bbda(0x148)]||_0x43e360[_0x30bbda(0x1b9)];case'aliasedNodeId':return _0x43e360['nodeId_aliased']||_0x43e360[_0x30bbda(0x221)];case'nsuNodeID':return _0x43e360[_0x30bbda(0x221)];default:case _0x30bbda(0x16b):return _0x43e360['nodeId'];}},_0x52df09=_0x1bdaaf=>{const _0x811a49=_0x242bdf;if(_0x1bdaaf[_0x811a49(0x1ce)]!==_0x811a49(0x217))return _0x811a49(0x1ca)+_0x1bdaaf[_0x811a49(0x1ce)];else{let _0x4fbba8=[];return _0x4fbba8[_0x811a49(0x101)]('nodeId:\x20'+_0x1bdaaf[_0x811a49(0x16b)]),_0x4fbba8['push'](_0x811a49(0x1bd)+_0x1bdaaf[_0x811a49(0x1b9)]),_0x4fbba8[_0x811a49(0x101)]('node\x20class:\x20'+_0x5b31ef[_0x1bdaaf[_0x811a49(0x197)]]),_0x1bdaaf[_0x811a49(0x221)]&&_0x4fbba8['push'](_0x811a49(0x1af)+_0x1bdaaf['nodeId_nsu']),_0x1bdaaf['nodeId_aliased']&&_0x4fbba8['push'](_0x811a49(0x173)+_0x1bdaaf['nodeId_aliased']),_0x1bdaaf[_0x811a49(0x1b9)]&&_0x4fbba8[_0x811a49(0x101)]('aliased\x20browsePath:\x20'+_0x1bdaaf[_0x811a49(0x148)]),_0x4fbba8[_0x811a49(0x170)]('\x0a');}};function _0x2f34a2(_0x5f0024){const _0x26fc1b=_0x242bdf;if(_0x5f0024[_0x26fc1b(0x1b8)](/^nsu=/))return _0x26fc1b(0x20a);if(_0x5f0024[_0x26fc1b(0x1b8)](/^(ns=.*;)?(i|b|s|g)=/))return'nodeId';if(_0x5f0024[_0x26fc1b(0x1b8)](/^nsa=/))return'aliasedNodeId';if(_0x5f0024['match'](/^(\/|\.)[0-9]+:/))return _0x26fc1b(0x1e8);if(_0x5f0024['match'](/^(\/|\.).*:/))return'browsePath';}function _0x4a4c51(_0x227ac5){const _0x42982d=_0x242bdf,_0x4b553b=_0x2f34a2(_0x227ac5);switch(_0x4b553b){case _0x42982d(0x16b):return'n';case _0x42982d(0x1c3):return'na';case _0x42982d(0x20a):return'nsu';case _0x42982d(0x1e8):return'b';case _0x42982d(0x12b):return'ab';default:return't';}}function _0x272628(_0x2d65c9){const _0x2c5c0c=_0x242bdf;let _0x539d9a;switch(_0x2d65c9){case'n':_0x539d9a=_0x2c5c0c(0x16b);break;case'na':_0x539d9a=_0x2c5c0c(0x1c3);break;case'nsu':_0x539d9a=_0x2c5c0c(0x20a);break;case'b':_0x539d9a='browsePath';break;case'ab':_0x539d9a=_0x2c5c0c(0x12b);break;}return _0x539d9a;}function _0x1bd996(_0x1c0e24){const _0x2e13c8=_0x242bdf;switch(_0x1c0e24){case _0x2e13c8(0x16b):return'n';case _0x2e13c8(0x1c3):return'na';case _0x2e13c8(0x20a):return'nsu';case _0x2e13c8(0x1e8):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x20c0bc=(_0x49730e,_0x19cff9)=>_0xbd58ad(void 0x0,[_0x49730e,_0x19cff9],void 0x0,function*({endpointNode:_0x492991,endpoint:_0x306d30,baseUrl:_0x37b7da},_0x32b997){const _0x69b93b=_0x242bdf,_0x1dbd10=_0x37b7da+_0x69b93b(0xf8),_0x3dbe78=_0x1dbd10+'/checkNodeId',_0x59a32b=_0x492991['id'],_0x2137bb=RED[_0x69b93b(0x139)]['node'](_0x59a32b);console[_0x69b93b(0x11d)](_0x2137bb[_0x69b93b(0x10e)]),_0x2137bb[_0x69b93b(0x10e)];const _0xb33071=_0x492991[_0x69b93b(0x10e)],_0x2b5412=yield fetch(_0x3dbe78,{'method':'POST','body':JSON[_0x69b93b(0x1d9)]({'endpointNode':_0x492991,'endpoint':_0x306d30,'nodeId':_0x32b997,'namespaceAliases':_0xb33071}),'headers':{'Content-Type':_0x69b93b(0x19e)}}),_0x4c14d4=yield _0x2b5412['json']();return{'json':_0x4c14d4,'data':_0x2b5412};}),_0x340781=(_0x2f6c42,_0x31bdc1,_0x5a73e4,_0x59015f)=>_0xbd58ad(void 0x0,[_0x2f6c42,_0x31bdc1,_0x5a73e4,_0x59015f],void 0x0,function*({endpointNode:_0x44669b,endpoint:_0x5cb73d,baseUrl:_0x287047},_0x5302c6,_0x10f6af,_0x23816d){const _0x11879c=_0x242bdf,_0x4020dc=_0x10f6af['val'](),{json:_0x5a210a,data:_0x113a9c}=yield _0x20c0bc({'endpointNode':_0x44669b,'endpoint':_0x5cb73d,'baseUrl':_0x287047},_0x4020dc),_0x38b263=(_0x22e885,_0x490136)=>{const _0x28fcb2=_0x1d63;_0x23816d['text'](_0x22e885)[_0x28fcb2(0x1eb)](_0x28fcb2(0x17d))[_0x28fcb2(0x1eb)](_0x490136),_0x23816d[_0x28fcb2(0x1c0)](),setTimeout(()=>{const _0x413822=_0x28fcb2;_0x23816d[_0x413822(0x1e6)](_0x490136),_0x23816d['hide']();},0xbb8);};if(_0x113a9c['status']!==0xc8)return _0x38b263('!!failure!!'+_0x4020dc,_0x11879c(0x20f)),![];else{if(_0x5a210a[_0x11879c(0x1ce)][_0x11879c(0x1b8)](/Good/)){const _0x4f0138=_0x52df09(_0x5a210a);_0x10f6af[_0x11879c(0x1fa)](_0x11879c(0x204),_0x4f0138);const _0x73f3d2=_0x25956a(_0x5a210a,_0x5302c6);return _0x10f6af[_0x11879c(0x1f6)](_0x73f3d2),_0x10f6af[_0x11879c(0x13a)](_0x11879c(0x1fe)),_0x38b263('Good','ok'),!![];}else return _0x10f6af[_0x11879c(0x1f6)](''+_0x4020dc),_0x38b263(_0x5a210a[_0x11879c(0x1ce)]+'\x20'+_0x113a9c[_0x11879c(0x1ae)],_0x11879c(0x20f)),![];}});function _0x432829(_0x2f511d,_0x1651b6){return _0xbd58ad(this,void 0x0,void 0x0,function*(){const _0x5de3cb=_0x1d63,_0x2b7557=_0x2f511d[_0x5de3cb(0xfe)](_0x5de3cb(0x1d4)),_0x3b8ca0=yield _0x462479(_0x1651b6,_0x2b7557,_0x3a1f81),_0x184631=yield _0x462479(_0x1651b6,_0x2b7557,_0xc85344);return{'references':[..._0x3b8ca0[_0x5de3cb(0x1f5)],..._0x184631[_0x5de3cb(0x1f5)]]};});}const _0x562e7f={'referenceTypeId':_0xc83f2d('HasSubtype'),'includeSubtypes':!![],'browseDirection':_0x225e8e['Forward'],'nodeClassMask':_0x5b31ef[_0x242bdf(0x16c)]|_0x5b31ef[_0x242bdf(0x1e0)]|_0x5b31ef[_0x242bdf(0x140)]|_0x5b31ef[_0x242bdf(0x194)],'resultMask':0x3f};function _0x5a1aa9(_0x1b5b7b,_0x241a24){return _0xbd58ad(this,void 0x0,void 0x0,function*(){const _0x9a810f=_0x1d63,_0x932786=_0x1b5b7b[_0x9a810f(0xfe)](_0x9a810f(0x1d4)),_0x6c8a2=yield _0x462479(_0x241a24,_0x932786,_0x562e7f);return _0x6c8a2;});}const _0x48a9e8=_0x511cac=>{const _0x5b6d02=_0x242bdf;var _0x186e8d,_0xa4a605,_0xe39d69,_0x2e8caf;if(!_0x511cac||!_0x511cac[_0x5b6d02(0x16b)]){const _0x39ce0e=$(_0x5b6d02(0x104));return _0x39ce0e;}const _0x223a4b=_0x511cac[_0x5b6d02(0x16b)][_0x5b6d02(0x105)](),_0x20618c=((_0x186e8d=_0x511cac[_0x5b6d02(0x206)])===null||_0x186e8d===void 0x0?void 0x0:_0x186e8d[_0x5b6d02(0x127)])||((_0xa4a605=_0x511cac['browseName'])===null||_0xa4a605===void 0x0?void 0x0:_0xa4a605[_0x5b6d02(0x215)])||_0x511cac['nodeId'][_0x5b6d02(0x105)](),{icon:_0x4d20ca,color:_0x3f4fe4}=_0x2604c7(_0x511cac),_0x55fe74='('+_0x511cac[_0x5b6d02(0x16b)][_0x5b6d02(0x105)]()+')\x20'+(((_0xe39d69=_0x511cac[_0x5b6d02(0x1de)])===null||_0xe39d69===void 0x0?void 0x0:_0xe39d69[_0x5b6d02(0x215)])||((_0x2e8caf=_0x511cac[_0x5b6d02(0x206)])===null||_0x2e8caf===void 0x0?void 0x0:_0x2e8caf['text'])||''),_0x32aa33=$(_0x5b6d02(0x213)+_0x511cac[_0x5b6d02(0x16b)][_0x5b6d02(0x105)]()+_0x5b6d02(0x1ed)+_0x55fe74+'><i\x20class=\x22fa\x20'+_0x4d20ca+_0x5b6d02(0x165)+_0x3f4fe4+';\x22></i>\x20'+_0x20618c+_0x5b6d02(0x183));return _0x32aa33[_0x5b6d02(0x1eb)]('expandable'),_0x32aa33['data'](_0x5b6d02(0x1d4),_0x223a4b),_0x32aa33[_0x5b6d02(0xfe)](_0x5b6d02(0x17a),_0x511cac),_0x32aa33;},_0x38c035=(_0x143511,_0x5d4196)=>{const _0x2a6ec5=_0x242bdf;return _0x5d4196[_0x2a6ec5(0x19d)](_0x2a6ec5(0x128)+_0x143511+'\x22]');},_0x1aaab8=(_0x1bff62,_0x31641b)=>{const _0x3e0b6e=_0x242bdf;_0x1bff62[_0x3e0b6e(0x1ff)][_0x3e0b6e(0x19d)](_0x3e0b6e(0x110))[_0x3e0b6e(0x1e6)](_0x3e0b6e(0x150)),_0x31641b[_0x3e0b6e(0x19d)](_0x3e0b6e(0x19f))[_0x3e0b6e(0x1eb)](_0x3e0b6e(0x150));},_0x49dc59=(_0x215d1e,_0x4e6132,_0x4b4146)=>_0xbd58ad(void 0x0,void 0x0,void 0x0,function*(){const _0xeccc7=_0x242bdf;let _0x2e79e6=_0x4b4146['children'](_0xeccc7(0x1df));_0x4e6132[_0xeccc7(0x174)][_0xeccc7(0x1ba)]||[];const _0x3425e6=_0x4e6132[_0xeccc7(0x21d)]||[];if(_0x3425e6[_0xeccc7(0x17f)]===0x0)return;for(const _0x48bae7 of _0x3425e6){_0x2e79e6[_0xeccc7(0x15e)](_0xeccc7(0x1d7))&&(yield _0xea675f(_0x215d1e,_0x2e79e6));const _0x43c0bf=_0x38c035(_0x48bae7,_0x2e79e6);if(_0x43c0bf[_0xeccc7(0x17f)]===0x0)return;_0x2e79e6=_0x43c0bf;}_0x1aaab8(_0x215d1e,_0x2e79e6),_0x507c2b(_0x215d1e[_0xeccc7(0x181)],_0x2e79e6);});function _0x507c2b(_0x31c311,_0x4571b4){const _0x46ae04=_0x242bdf,_0x5ac7ae=_0x4571b4[_0x46ae04(0x1b7)]()[_0x46ae04(0x18f)],_0x1e94a2=_0x31c311[_0x46ae04(0x10f)]();if(_0x1e94a2==undefined)return;const _0x30b651=_0x1e94a2+_0x5ac7ae-_0x31c311[_0x46ae04(0xfc)]()/0x2+_0x4571b4[_0x46ae04(0xfc)]()/0x2;_0x31c311[_0x46ae04(0x200)]({'scrollTop':_0x30b651},0x1f4);}const _0x2b92ce=(_0x1899a9,_0x866973)=>_0xbd58ad(void 0x0,void 0x0,void 0x0,function*(){const _0x1c5cb3=_0x242bdf,_0x2c286d=_0x1899a9[_0x1c5cb3(0x1b4)][_0x1c5cb3(0x1f6)](),_0x5057bb={'nodeId':_0x2c286d,'rootNodeId':_0x866973[_0x1c5cb3(0x16b)],'isType':_0x1899a9[_0x1c5cb3(0x1e9)]['isTypeRef']||![]},_0x629993=_0x384917(_0x1899a9),_0x4dee09=yield _0x44cd11(_0x629993,_0x5057bb);if(!_0x4dee09)return;yield _0x49dc59(_0x1899a9,_0x4dee09,_0x1899a9[_0x1c5cb3(0x1ff)]);});function _0x327a55(_0x27f7f6,_0x5e303e,_0x59f341,_0x571912){return _0xbd58ad(this,void 0x0,void 0x0,function*(){const _0x1afe6f=_0x1d63;if(_0x5e303e['hasClass'](_0x1afe6f(0x102))){console[_0x1afe6f(0x11d)](_0x1afe6f(0x1ab));return;}if(_0x5e303e[_0x1afe6f(0x15e)]('loading')){console[_0x1afe6f(0x11d)](_0x1afe6f(0x185));return;}_0x5e303e[_0x1afe6f(0x1eb)](_0x1afe6f(0x1b6)),_0x5e303e['append'](_0x1afe6f(0x1c7));try{_0x5e303e[_0x1afe6f(0x13d)]('ul')['empty']();const {references:_0x249834}=yield _0x59f341(_0x5e303e,_0x571912);_0x249834['sort']((_0x22b82b,_0x29efe7)=>{const _0x250b96=_0x1afe6f;var _0x49983e,_0x5109e9;return(((_0x49983e=_0x22b82b[_0x250b96(0x1de)])===null||_0x49983e===void 0x0?void 0x0:_0x49983e[_0x250b96(0x215)])||'')['localeCompare'](((_0x5109e9=_0x29efe7['browseName'])===null||_0x5109e9===void 0x0?void 0x0:_0x5109e9[_0x250b96(0x215)])||'');});for(const _0x50956f of _0x249834){if(_0x27f7f6[_0x1afe6f(0x1e9)]['filter']&&!_0x27f7f6[_0x1afe6f(0x1e9)][_0x1afe6f(0x196)](_0x50956f))continue;const _0x2f5422=_0x48a9e8(_0x50956f);_0x5e303e['children']('ul')[_0x1afe6f(0x119)](_0x2f5422);}_0x5e303e['addClass'](_0x1afe6f(0x102));}catch(_0x473fdd){_0x5e303e[_0x1afe6f(0x13d)]('ul')[_0x1afe6f(0x119)](_0x1afe6f(0x124)+_0x473fdd[_0x1afe6f(0x1be)]+_0x1afe6f(0x182)),console[_0x1afe6f(0x11d)]('err',_0x473fdd);}_0x5e303e[_0x1afe6f(0x19d)](_0x1afe6f(0x1e7))[_0x1afe6f(0x1cb)](),_0x5e303e[_0x1afe6f(0x1e6)]('loading');});}function _0x384917(_0x112202){const _0x220f40=_0x242bdf,_0x50db68={'baseUrl':_0x112202[_0x220f40(0x1e9)][_0x220f40(0x15d)],'endpointNode':typeof _0x112202[_0x220f40(0x1e9)][_0x220f40(0x163)]==='function'?_0x112202[_0x220f40(0x1e9)]['endpointNode']():_0x112202['options'][_0x220f40(0x163)],'endpoint':typeof _0x112202[_0x220f40(0x1e9)][_0x220f40(0x20b)]===_0x220f40(0x209)?_0x112202[_0x220f40(0x1e9)][_0x220f40(0x20b)]():_0x112202[_0x220f40(0x1e9)][_0x220f40(0x20b)]};return _0x50db68;}function _0xea675f(_0x1e8eb1,_0x5e3eef){return _0xbd58ad(this,void 0x0,void 0x0,function*(){const _0x298d27=_0x1d63;if(_0x5e3eef['hasClass'](_0x298d27(0x102))){_0x5e3eef[_0x298d27(0x1e6)](_0x298d27(0x1d7))[_0x298d27(0x1eb)](_0x298d27(0x1cf)),_0x5e3eef[_0x298d27(0x13d)]('ul')[_0x298d27(0x1f4)]();return;}const _0x20d529=_0x384917(_0x1e8eb1),_0x16c3c4=!_0x1e8eb1[_0x298d27(0x1e9)][_0x298d27(0x203)]?_0x432829:_0x5a1aa9;try{yield _0x327a55(_0x1e8eb1,_0x5e3eef,_0x16c3c4,_0x20d529),_0x5e3eef[_0x298d27(0x1e6)](_0x298d27(0x1d7))['addClass'](_0x298d27(0x1cf));}catch(_0x1b6c42){_0x5e3eef[_0x298d27(0x1e6)](_0x298d27(0x1d7))[_0x298d27(0x1eb)](_0x298d27(0x1cf)),console[_0x298d27(0x11d)]('error',_0x1b6c42);}});}const _0x2abf62={'browseName':{'namespaceIndex':0x0,'name':_0x242bdf(0x162)},'nodeClass':_0x242bdf(0x166),'nodeId':_0x242bdf(0x12a),'displayName':{'text':_0x242bdf(0x162)},'typeDefinition':_0x578002},_0x2e3d4d=()=>{const _0x2131e0=_0x242bdf;$[_0x2131e0(0x142)](_0x2131e0(0x11a),{'options':{'endpointNode':()=>({'endpoint':_0x2131e0(0x1e1)}),'endpoint':()=>undefined,'parentNode':()=>_0x2abf62,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0xbd58ad(this,void 0x0,void 0x0,function*(){const _0x316e3c=_0x1d63,_0x1024bc=this;if(_0x1024bc[_0x316e3c(0x171)]==undefined){const _0x4036c8=typeof _0x1024bc[_0x316e3c(0x1e9)][_0x316e3c(0xfd)]==='function'?_0x1024bc[_0x316e3c(0x1e9)][_0x316e3c(0xfd)][_0x316e3c(0x109)](_0x1024bc):_0x1024bc['options']['parentNode'];if(_0x4036c8 instanceof Promise){const _0x356762=yield _0x4036c8;_0x1024bc[_0x316e3c(0x171)]=_0x356762;}else _0x1024bc['__parentNode']=_0x4036c8;}return _0x1024bc[_0x316e3c(0x171)]||_0x2abf62;});},'reset'(){return _0xbd58ad(this,void 0x0,void 0x0,function*(){const _0x332485=_0x1d63,_0x1a2487=this,_0x3d8302=_0x1a2487;_0x3d8302[_0x332485(0x171)]=undefined,_0x1a2487[_0x332485(0x1ff)]['empty']();const _0x515e66=yield this[_0x332485(0x1ea)](),_0x541f51=_0x48a9e8(_0x515e66);_0x1a2487[_0x332485(0x1ff)]['append'](_0x541f51),_0x1a2487[_0x332485(0x207)]=_0x515e66;});},'verify'(_0x52cd0a){const _0xa48877=_0x2131e0,_0x775446=this,_0x589bf4=_0x384917(_0x775446);_0x340781(_0x589bf4,_0x52cd0a,_0x775446[_0xa48877(0x1b4)],_0x775446[_0xa48877(0x115)])[_0xa48877(0x156)](_0x5418cd=>{const _0x155cf0=_0xa48877;!_0x5418cd?_0x775446[_0x155cf0(0x14a)][_0x155cf0(0x1eb)]('sterfive-input-error'):_0x775446[_0x155cf0(0x14a)]['removeClass'](_0x155cf0(0x135));});},'_hideMenu'(_0x926df3){const _0x226bfe=_0x2131e0,_0x435866=this;$(document)[_0x226bfe(0x179)](_0x226bfe(0x12e)),_0x926df3[_0x226bfe(0x144)](),_0x926df3[_0x226bfe(0x211)]({'height':_0x226bfe(0x224)});if(_0x926df3[_0x226bfe(0x19c)][_0x226bfe(0x125)]){var _0x4962ba=[];_0x926df3[_0x226bfe(0x19d)](_0x226bfe(0x132))[_0x226bfe(0x15c)](function(){const _0x45625b=_0x226bfe;$(this)['prop']('checked')&&_0x4962ba[_0x45625b(0x101)]($(this)[_0x45625b(0xfe)](_0x45625b(0x1d4)));}),_0x926df3[_0x226bfe(0x1c5)](_0x4962ba);}_0x435866[_0x226bfe(0x192)]['is'](_0x226bfe(0x223))?_0x435866['$input']['trigger']('focus'):_0x435866[_0x226bfe(0x176)][_0x226bfe(0x13a)](_0x226bfe(0x21e));},'_createMenu'(_0x158ae8,_0x5d63f1,_0x276d69){const _0x1ed7c3=_0x2131e0;var _0x115569=this;const _0x369819=$('<div>')[_0x1ed7c3(0x1eb)](_0x1ed7c3(0x117));return _0x369819['opts']=_0x5d63f1,_0x369819[_0x1ed7c3(0x1c5)]=_0x276d69,_0x158ae8['forEach'](_0x2411ba=>{const _0x18d1fc=_0x1ed7c3;typeof _0x2411ba==='string'&&(_0x2411ba={'value':_0x2411ba,'label':_0x2411ba});var _0x94c614=$(_0x18d1fc(0xf5))[_0x18d1fc(0x1fa)](_0x18d1fc(0x1d4),_0x2411ba[_0x18d1fc(0x1d4)])[_0x18d1fc(0x147)](_0x369819);_0x2411ba['label']&&_0x94c614[_0x18d1fc(0x127)](_0x2411ba['label']);_0x2411ba[_0x18d1fc(0x204)]&&_0x94c614[_0x18d1fc(0x1c8)](_0x18d1fc(0x204),_0x2411ba[_0x18d1fc(0x204)]);if(_0x2411ba['icon']){if(_0x2411ba[_0x18d1fc(0x1d3)]['indexOf']('<')===0x0)$(_0x2411ba[_0x18d1fc(0x1d3)])[_0x18d1fc(0xf7)](_0x94c614);else _0x2411ba[_0x18d1fc(0x1d3)]['indexOf']('/')!==-0x1?$('<i>',{'class':_0x18d1fc(0x1e5),'style':_0x18d1fc(0x1bf)+_0x2411ba[_0x18d1fc(0x1d3)]+_0x18d1fc(0x1da)+_0x2411ba['icon']+');'})['prependTo'](_0x94c614):$(_0x18d1fc(0x159),{'class':'red-ui-typedInput-icon\x20'+_0x2411ba[_0x18d1fc(0x1d3)]})[_0x18d1fc(0xf7)](_0x94c614);}else _0x94c614[_0x18d1fc(0x211)]({'paddingLeft':_0x18d1fc(0x1f1)});!_0x2411ba[_0x18d1fc(0x1d3)]&&!_0x2411ba[_0x18d1fc(0x152)]&&_0x94c614[_0x18d1fc(0x127)](_0x2411ba[_0x18d1fc(0x1d4)]);var _0x1f15c2;_0x5d63f1[_0x18d1fc(0x125)]&&(_0x1f15c2=$(_0x18d1fc(0x186))['css'](_0x18d1fc(0x205),'none')[_0x18d1fc(0xfe)](_0x18d1fc(0x1d4),_0x2411ba[_0x18d1fc(0x1d4)])[_0x18d1fc(0xf7)](_0x94c614)['on'](_0x18d1fc(0x131),function(_0x3fc460){const _0x328b6a=_0x18d1fc;_0x3fc460[_0x328b6a(0x1c1)]();})),_0x94c614['on'](_0x18d1fc(0x208),function(_0x395c3f){const _0x21d18b=_0x18d1fc;_0x395c3f[_0x21d18b(0x1c1)](),_0x395c3f[_0x21d18b(0x202)](),!_0x5d63f1[_0x21d18b(0x125)]?(_0x276d69(_0x2411ba['value']),_0x115569[_0x21d18b(0x14c)](_0x369819)):_0x1f15c2[_0x21d18b(0x1c8)](_0x21d18b(0x1fb),!_0x1f15c2[_0x21d18b(0x1c8)]('checked'));});}),_0x369819[_0x1ed7c3(0x211)]({'display':_0x1ed7c3(0x13c)}),_0x369819['on']('keydown',function(_0x39d995){const _0x35328c=_0x1ed7c3;if(_0x39d995[_0x35328c(0x143)]===0x28)_0x39d995[_0x35328c(0x1c1)](),$(this)[_0x35328c(0x13d)](_0x35328c(0x193))['next']()[_0x35328c(0x13a)](_0x35328c(0x21e));else{if(_0x39d995[_0x35328c(0x143)]===0x26)_0x39d995[_0x35328c(0x1c1)](),$(this)['children'](_0x35328c(0x193))[_0x35328c(0x167)]()['trigger'](_0x35328c(0x21e));else _0x39d995[_0x35328c(0x143)]===0x1b&&(_0x39d995['preventDefault'](),_0x115569['_hideMenu'](_0x369819));}_0x39d995['stopPropagation']();}),_0x369819;},'disarmClick':![],'_showMenu'(_0x5d156a,_0x54d669){const _0x119930=_0x2131e0;if(this['disarmClick']){this[_0x119930(0x1d2)]=![];return;}var _0x1d26bb=this,_0x58c2c7=_0x54d669['offset'](),_0x1ff1a3=_0x54d669[_0x119930(0xfc)](),_0x14a3d0=_0x5d156a[_0x119930(0xfc)](),_0x589769=_0x1ff1a3+_0x58c2c7[_0x119930(0x18f)];_0x589769+_0x14a3d0-$(document)['scrollTop']()>$(window)['height']()&&(_0x589769-=_0x589769+_0x14a3d0-$(window)[_0x119930(0xfc)]()+0x5),_0x589769<0x0&&(_0x5d156a['height'](_0x14a3d0+_0x589769),_0x589769=0x0),_0x5d156a[_0x119930(0x211)]({'top':_0x589769+'px','left':_0x58c2c7['left']+'px'}),_0x5d156a[_0x119930(0x1a4)](0x64),this[_0x119930(0x15a)](function(){const _0x3c61c4=_0x119930;_0x1d26bb[_0x3c61c4(0x158)]['addClass'](_0x3c61c4(0x136)),$(document)['on']('mousedown.red-ui-typedInput-close-property-select',function(_0x341e13){const _0x34ed16=_0x3c61c4;!$(_0x341e13[_0x34ed16(0x15b)])[_0x34ed16(0x111)](_0x5d156a)[_0x34ed16(0x17f)]&&_0x1d26bb[_0x34ed16(0x14c)](_0x5d156a),$(_0x341e13[_0x34ed16(0x15b)])['closest'](_0x54d669)[_0x34ed16(0x17f)]&&(_0x1d26bb[_0x34ed16(0x1d2)]=!![],_0x341e13[_0x34ed16(0x1c1)]());});});},'_showTypeMenu'(){const _0x3118db=_0x2131e0,_0x11b038=this;this[_0x3118db(0x1b1)](_0x11b038[_0x3118db(0x1bb)],_0x11b038[_0x3118db(0x14a)]),_0x11b038['$dropdown'][_0x3118db(0x144)]();const _0x5529f6=_0x11b038[_0x3118db(0x21c)];var _0xb446cf=_0x11b038[_0x3118db(0x1bb)][_0x3118db(0x19d)](_0x3118db(0x149)+_0x5529f6+'\x27');setTimeout(function(){const _0xf2427c=_0x3118db;_0xb446cf[_0xf2427c(0x13a)](_0xf2427c(0x21e));},0x78);},'_initMenu'(){const _0x512758=_0x2131e0,_0x3b1e74=this;_0x3b1e74[_0x512758(0x176)]['attr'](_0x512758(0x155),-0x1),_0x3b1e74[_0x512758(0x176)]['on'](_0x512758(0x1b2),function(_0x3c604f){const _0x485f8d=_0x512758;_0x3c604f[_0x485f8d(0x1c1)]();});_0x3b1e74[_0x512758(0x1bb)]&&_0x3b1e74['$menu']['remove']();const _0x3498bb=[{'label':_0x512758(0x127),'value':'t','title':_0x512758(0x175),'icon':_0x512758(0x145)},{'label':_0x512758(0x1b3),'value':'msg','title':'node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','icon':'<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>'},{'label':'NodeId','value':'n','icon':_0x512758(0x1f8)},{'label':_0x512758(0x218),'value':'na','icon':_0x512758(0x21f)},{'label':_0x512758(0x189),'value':_0x512758(0x1e2),'icon':_0x512758(0x1a5)},{'label':_0x512758(0x20c),'value':'b','icon':_0x512758(0x21a)},{'label':'Aliased\x20Browse\x20Path','value':'ab','icon':_0x512758(0x116)}],_0x4be6d6=_0x4a4c51(_0x3b1e74[_0x512758(0x1b4)][_0x512758(0x1f6)]()),_0x206a92=_0x3498bb[_0x512758(0x19d)](_0x9440bf=>_0x9440bf[_0x512758(0x1d4)]===_0x4be6d6);_0x3b1e74[_0x512758(0x1ec)][_0x512758(0x18e)]()['append']('<span\x20title='+((_0x206a92===null||_0x206a92===void 0x0?void 0x0:_0x206a92[_0x512758(0x204)])||'')+'> \x20'+((_0x206a92===null||_0x206a92===void 0x0?void 0x0:_0x206a92[_0x512758(0x1d3)])||'')+_0x512758(0x220)),_0x3b1e74['selectedMenuItem']=_0x4be6d6;const _0x39cd5b=this;_0x3b1e74[_0x512758(0x1bb)]=this['_createMenu'](_0x3498bb,{},_0x5748d4=>{const _0x3a26e0=_0x512758,_0x1b3397=_0x272628(_0x5748d4);_0x1b3397&&_0x39cd5b['verify'](_0x1b3397);const _0x5d3997=_0x3498bb[_0x3a26e0(0x19d)](_0x266d15=>_0x266d15['value']===_0x5748d4);_0x3b1e74[_0x3a26e0(0x21c)]=_0x5748d4,_0x3b1e74['$selectLabel']['empty']()['append'](_0x3a26e0(0x1c6)+((_0x5d3997===null||_0x5d3997===void 0x0?void 0x0:_0x5d3997[_0x3a26e0(0x204)])||'')+_0x3a26e0(0x1f2)+((_0x5d3997===null||_0x5d3997===void 0x0?void 0x0:_0x5d3997['icon'])||'')+'</span>');}),_0x3b1e74[_0x512758(0x1bb)][_0x512758(0x147)](document[_0x512758(0x214)]),_0x3b1e74[_0x512758(0x1bb)][_0x512758(0x144)](),_0x3b1e74['$selectTrigger'][_0x512758(0x1c0)]();},'mode'(){const _0x3bd87d=_0x2131e0,_0x411162=this;return _0x272628(_0x411162[_0x3bd87d(0x21c)]);},'setMode'(_0x3b9af3){const _0x2d1caf=_0x2131e0,_0xe5a64a=this,_0x196f16=_0x1bd996(_0x3b9af3);_0xe5a64a[_0x2d1caf(0x21c)]=_0x196f16;},'_create'(){const _0x1f7957=_0x2131e0,_0x30b85c=this;_0x30b85c[_0x1f7957(0x1b4)]=this[_0x1f7957(0x1e3)],_0x30b85c[_0x1f7957(0x1b4)]['css']('border',_0x1f7957(0x13c)),_0x30b85c[_0x1f7957(0x192)]=_0x30b85c[_0x1f7957(0x1b4)]['wrap']('<div>')[_0x1f7957(0x114)]()[_0x1f7957(0x1eb)](_0x1f7957(0x1c4)),_0x30b85c[_0x1f7957(0x14a)]=$('<div/>'),_0x30b85c[_0x1f7957(0x14a)]['addClass'](_0x1f7957(0x1aa)),_0x30b85c[_0x1f7957(0x1b4)][_0x1f7957(0x1b0)](_0x30b85c['$combo']),_0x30b85c[_0x1f7957(0x219)]=$(_0x1f7957(0x11f))[_0x1f7957(0x1eb)]('sterfive-input-group'),_0x30b85c['$combo'][_0x1f7957(0x119)](_0x30b85c[_0x1f7957(0x219)]),_0x30b85c[_0x1f7957(0x219)][_0x1f7957(0x119)](_0x30b85c[_0x1f7957(0x1b4)]),_0x30b85c[_0x1f7957(0x10d)]=$(_0x1f7957(0x113)),_0x30b85c[_0x1f7957(0x1b4)]['after'](_0x30b85c['$toggleTreeBtn']),_0x30b85c['$toggleTreeBtn']['on']('click',function(){return _0xbd58ad(this,void 0x0,void 0x0,function*(){const _0x37fc50=_0x1d63;var _0x3b818c;let _0x325eaa=![],_0x3cffd6;!_0x30b85c[_0x37fc50(0x181)]['is'](_0x37fc50(0x223))&&(_0x30b85c[_0x37fc50(0x115)][_0x37fc50(0x144)](),_0x3cffd6=yield _0x30b85c[_0x37fc50(0x1ea)](),(_0x3cffd6!==_0x30b85c[_0x37fc50(0x207)]||((_0x3b818c=_0x30b85c['currentParent'])===null||_0x3b818c===void 0x0?void 0x0:_0x3b818c[_0x37fc50(0x16b)])!==_0x3cffd6[_0x37fc50(0x16b)])&&(yield _0x30b85c[_0x37fc50(0x1d1)]()),_0x325eaa=!![]),_0x30b85c['$dropdown'][_0x37fc50(0x1f4)](),_0x325eaa&&(yield _0x2b92ce(_0x30b85c,_0x3cffd6));});}),_0x30b85c[_0x1f7957(0x198)]=$(_0x1f7957(0x1a6)),_0x30b85c[_0x1f7957(0x1b4)][_0x1f7957(0x16d)](_0x30b85c[_0x1f7957(0x198)]),_0x30b85c[_0x1f7957(0x198)]['on']('click',()=>{const _0x2d39bb=_0x1f7957,_0x5d05db=_0x30b85c[_0x2d39bb(0x1fc)]();if(!_0x5d05db)return;this[_0x2d39bb(0x201)](_0x5d05db);});const _0x1a1898=_0x3bb2a3=>_0xbd58ad(this,void 0x0,void 0x0,function*(){const _0x1d711f=_0x1f7957,_0x5704a0=this;let _0x871393=_0x5704a0['mode']();if(!_0x871393)return;const _0x522011=_0x384917(_0x5704a0),{data:_0x2096e1,json:_0x87d87c}=yield _0x20c0bc(_0x522011,_0x3bb2a3);if(_0x2096e1[_0x1d711f(0x1d6)]!==0xc8)return;if(_0x87d87c['statusCode'][_0x1d711f(0x1b8)](/Good/)){const _0x5ccda9=_0x25956a(_0x87d87c,_0x871393);_0x5704a0[_0x1d711f(0x1b4)][_0x1d711f(0x1f6)](_0x5ccda9),_0x5704a0[_0x1d711f(0x1b4)]['trigger'](_0x1d711f(0x1fe));}});{_0x30b85c[_0x1f7957(0x158)]=$(_0x1f7957(0x177)),_0x30b85c[_0x1f7957(0x1b4)]['before'](_0x30b85c[_0x1f7957(0x158)]),_0x30b85c[_0x1f7957(0x176)]=$('<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>')[_0x1f7957(0xf7)](_0x30b85c[_0x1f7957(0x158)]),$('<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>')['toggle'](!![])[_0x1f7957(0x147)](_0x30b85c['$selectTrigger']),_0x30b85c['$selectTrigger']['on'](_0x1f7957(0x208),function(_0x50b136){const _0x131c4b=_0x1f7957;_0x50b136['preventDefault'](),_0x50b136[_0x131c4b(0x202)](),_0x30b85c[_0x131c4b(0x118)]();}),_0x30b85c[_0x1f7957(0x176)]['on'](_0x1f7957(0x178),function(_0x3e7e00){const _0x2d4069=_0x1f7957;_0x3e7e00[_0x2d4069(0x143)]===0x28&&_0x30b85c['_showTypeMenu'](),_0x3e7e00[_0x2d4069(0x202)]();})['on'](_0x1f7957(0x21e),function(){const _0x1bba16=_0x1f7957;_0x30b85c[_0x1bba16(0x158)][_0x1bba16(0x1eb)](_0x1bba16(0x136));})['on'](_0x1f7957(0x18c),function(){const _0xca8d5b=_0x1f7957;_0x30b85c[_0xca8d5b(0x158)][_0xca8d5b(0x1e6)](_0xca8d5b(0x136));}),_0x30b85c['$selectLabel']=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')['appendTo'](_0x30b85c[_0x1f7957(0x176)]);}this[_0x1f7957(0x100)]();!_0x30b85c[_0x1f7957(0x1b4)][_0x1f7957(0x1fa)](_0x1f7957(0x17c))&&_0x30b85c[_0x1f7957(0x1b4)][_0x1f7957(0x1fa)]('placeholder',_0x1f7957(0x112));_0x30b85c[_0x1f7957(0x115)]=$(_0x1f7957(0x14b)),_0x30b85c[_0x1f7957(0x115)]['hide'](),_0x30b85c['$combo'][_0x1f7957(0x119)](_0x30b85c['$info']),_0x30b85c[_0x1f7957(0x181)]=$(_0x1f7957(0x11f))[_0x1f7957(0x1eb)](_0x1f7957(0x1d0))['hide']()[_0x1f7957(0x147)](_0x30b85c['$combo']),_0x30b85c[_0x1f7957(0x1ff)]=$(_0x1f7957(0x10b))['appendTo'](_0x30b85c[_0x1f7957(0x181)]),this[_0x1f7957(0x1d1)]();const _0x4b60c4=(_0x5739bc,_0x3b13ed)=>{const _0x4b96aa=_0x1f7957,_0x32ce46=0x14,_0x512547=0x14,_0x320fe9=_0x5739bc['offset'](),_0x600035=_0x3b13ed;if(_0x600035[_0x4b96aa(0x160)]>=_0x320fe9[_0x4b96aa(0x216)]&&_0x600035[_0x4b96aa(0x160)]<=_0x320fe9['left']+_0x32ce46&&_0x600035[_0x4b96aa(0x10a)]>=_0x320fe9[_0x4b96aa(0x18f)]&&_0x600035['pageY']<=_0x320fe9[_0x4b96aa(0x18f)]+_0x512547)return!![];return![];},_0x52ad07=_0x11cdec=>_0xbd58ad(this,void 0x0,void 0x0,function*(){const _0x2da939=_0x1f7957;if(_0x11cdec[_0x2da939(0x15e)]('expandable'))_0xea675f(_0x30b85c,_0x11cdec);else{if(_0x11cdec[_0x2da939(0x15e)]('expanded'))_0x11cdec[_0x2da939(0x13d)]('ul')[_0x2da939(0x1f4)](),_0x11cdec[_0x2da939(0x168)](_0x2da939(0x137));else{if(_0x11cdec[_0x2da939(0x13d)]('ul')['children']()[_0x2da939(0x17f)]>0x0)_0x11cdec[_0x2da939(0x13d)]('ul')['toggle'](),_0x11cdec[_0x2da939(0x168)](_0x2da939(0x137));else;}}});_0x30b85c[_0x1f7957(0x1ff)]['on']('dblclick','li',function(_0x5ef275){const _0x378f3e=_0x1f7957;var _0x439a06,_0x27f22e;_0x5ef275['stopPropagation']();let _0x48bdaa=$(this);if(_0x4b60c4(_0x48bdaa,_0x5ef275))_0x52ad07(_0x48bdaa);else{const _0x2dde97=_0x48bdaa['data'](_0x378f3e(0x1d4)),_0x55acb6=_0x48bdaa['data'](_0x378f3e(0x17a));if(_0x30b85c[_0x378f3e(0x1e9)][_0x378f3e(0x1ee)]&&!_0x30b85c[_0x378f3e(0x1e9)][_0x378f3e(0x1ee)](_0x55acb6))return;_0x30b85c['$input'][_0x378f3e(0xfe)](_0x378f3e(0x17a),_0x55acb6),((_0x439a06=_0x55acb6[_0x378f3e(0x206)])===null||_0x439a06===void 0x0?void 0x0:_0x439a06[_0x378f3e(0x127)])||((_0x27f22e=_0x55acb6[_0x378f3e(0x1de)])===null||_0x27f22e===void 0x0?void 0x0:_0x27f22e[_0x378f3e(0x215)])||_0x55acb6[_0x378f3e(0x16b)][_0x378f3e(0x105)]();let _0x79b76e=_0x30b85c[_0x378f3e(0x1fc)]();!_0x79b76e&&(_0x79b76e=_0x378f3e(0x16b),_0x30b85c[_0x378f3e(0x191)](_0x79b76e)),_0x1a1898(_0x2dde97)[_0x378f3e(0x156)](()=>{const _0x2d9b99=_0x378f3e;_0x30b85c[_0x2d9b99(0x181)]['hide']();})[_0x378f3e(0x146)](_0x2d0b5d=>{const _0x3afb5b=_0x378f3e;_0x30b85c['$dropdown'][_0x3afb5b(0x144)]();});}}),_0x30b85c[_0x1f7957(0x1ff)]['on'](_0x1f7957(0x208),'li',function(_0x151d77){_0x151d77['stopPropagation']();let _0x312034=$(this);_0x4b60c4(_0x312034,_0x151d77)&&_0x52ad07(_0x312034),_0x1aaab8(_0x30b85c,_0x312034);}),$(document)['on'](_0x1f7957(0x208),function(_0xb5220a){const _0x11616e=_0x1f7957;!$(_0xb5220a[_0x11616e(0x15b)])['closest'](_0x30b85c[_0x11616e(0x14a)])[_0x11616e(0x17f)]&&_0x30b85c[_0x11616e(0x181)][_0x11616e(0x144)]();});}});};function _0x2a0cd3(_0x407c77,_0x29cc1f){const _0xe3b4c2=_0x242bdf,_0x57cf2e=$(_0xe3b4c2(0x134)),_0x7b9479=$(_0xe3b4c2(0x195)),_0x88cc58=()=>{const _0x29c824=_0xe3b4c2,_0x2aeb4c=_0x407c77[_0x29c824(0x139)][_0x29c824(0x199)](_0x57cf2e[_0x29c824(0x1f6)]());_0x7b9479[_0x29c824(0x18e)]();if(!_0x2aeb4c||!_0x2aeb4c[_0x29c824(0x108)])return;for(const _0x453a88 of _0x2aeb4c['subscriptions']){const _0x4821fd=_0x453a88[_0x29c824(0x215)]||_0x453a88['id'];$(_0x29c824(0xfa),{'value':_0x453a88['id'],'label':_0x4821fd,'selected':_0x453a88['id']===_0x29cc1f[_0x29c824(0x122)]})[_0x29c824(0x127)](_0x4821fd)[_0x29c824(0x147)](_0x7b9479);}};_0x88cc58(),_0x7b9479['on'](_0xe3b4c2(0x1fe),()=>{const _0x504a55=_0xe3b4c2;_0x29cc1f['subscription']=_0x7b9479[_0x504a55(0x1f6)]();}),_0x57cf2e['on']('change',()=>{_0x88cc58();});}const _0x2a1e6f=()=>{const _0x406c02=_0x242bdf,_0x47e88d=$(_0x406c02(0x134)),_0x5f0611=_0x47e88d[_0x406c02(0x1f6)](),_0x1fd682=RED[_0x406c02(0x139)]['node'](_0x5f0611);if(!_0x1fd682)return undefined;const {endpoint:_0x486fd2,securityMode:_0x2f40d3,securityPolicy:_0x551f1e,userIdentityType:_0x41598e,credentials:_0x3c12f9,namespaceAliases:_0x521aa2}=_0x1fd682,_0x276eed={'endpoint':_0x486fd2,'securityMode':_0x2f40d3,'securityPolicy':_0x551f1e,'userIdentityType':_0x41598e,'credentials':_0x3c12f9,'namespaceAliases':_0x521aa2};return _0x276eed;},_0xa6151a=()=>{const _0x1d6b1b=_0x242bdf,_0x20294e=$('#node-input-endpoint'),_0x774828=_0x20294e['val'](),_0x2a1679=_0x2a1e6f();if(!_0x2a1679)return undefined;const _0x219c5f=_0x2a1679[_0x1d6b1b(0x10e)];return Object['assign']({'namespaceAliases':_0x219c5f,'id':_0x774828},_0x2a1679);},_0x32bc5a=()=>{return{'endpointNode':_0xa6151a};},_0x116d10=()=>{const _0xc112d9=_0x242bdf,_0x388a75=$(_0xc112d9(0x153));if(_0x388a75[_0xc112d9(0x17f)]){const _0x3c9977=$(_0xc112d9(0x1a2),{'src':_0xc112d9(0x1cc),'scrolling':'no','style':_0xc112d9(0xf6),'allowtransparency':'true','width':_0xc112d9(0x11b),'height':_0xc112d9(0x12d)});_0x388a75[_0xc112d9(0x119)](_0x3c9977),_0x3c9977[_0xc112d9(0x211)]({'position':_0xc112d9(0x19b),'right':_0xc112d9(0x20d),'bottom':_0xc112d9(0x1fd)});}};RED[_0x242bdf(0x139)][_0x242bdf(0x129)](_0x242bdf(0x13b),{'category':_0x242bdf(0x151),'color':_0x242bdf(0x1a3),'align':_0x242bdf(0x20e),'icon':_0x242bdf(0x180),'paletteLabel':_0x242bdf(0x12c),'defaults':{'inputs':{'value':0x1},'output':{'value':0x2},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x242bdf(0x1dd)},'subscription':{'value':'','required':!![],'validate':_0x9c3733=>{if(_0x9c3733==='')return![];return!![];}},'startImmediately':{'value':!![],'required':!![]},'nodeId':{'value':'/Server/ServerStatus/CurrentTime','required':![],'validate':()=>!![]},'samplingInterval':{'value':0x3e8,'required':!![]},'discardOldest':{'value':!![],'required':!![]},'queueSize':{'value':0xa,'required':!![]}},'outputs':0x1,'label'(){const _0x28a6cf=_0x242bdf;return this[_0x28a6cf(0x215)]||_0x28a6cf(0x130);},'labelStyle'(){const _0x78bb60=_0x242bdf;return this['name']?_0x78bb60(0xff):'';},'oneditprepare'(){const _0x4198d5=_0x242bdf,_0x265643=this;_0x2e3d4d(),_0x116d10();const _0x4a43cb=_0x265643['startImmediately'];_0x265643[_0x4198d5(0x16a)]=_0x4a43cb?0x0:0x1,_0x2a0cd3(RED,this),$(_0x4198d5(0x187))['on'](_0x4198d5(0x1fe),()=>{const _0xdb24c3=_0x4198d5,_0x397df3=$(_0xdb24c3(0x1c2))[_0xdb24c3(0x1c8)](_0xdb24c3(0x1fb));_0x397df3?$(_0xdb24c3(0x1c9))['val'](0x0):$(_0xdb24c3(0x1c9))[_0xdb24c3(0x1f6)](0x1);});const _0x1bb08f=$('#node-input-nodeId');_0x1bb08f['nodeBrowser'](Object[_0x4198d5(0x1a9)](Object[_0x4198d5(0x1a9)]({},_0x32bc5a()),{'filter'(_0xb8f531){const _0x25aabf=_0x4198d5;return _0xb8f531[_0x25aabf(0x197)]===_0x25aabf(0x1ad)||_0xb8f531['nodeClass']==='Object';},'isSelectable'(_0x405911){const _0x2702b2=_0x4198d5;return _0x405911['nodeClass']===_0x2702b2(0x1ad);}}));},'oneditsave'(){const _0x4a7dd7=_0x242bdf,_0x285e0d=$(_0x4a7dd7(0x1c2))[_0x4a7dd7(0x1c8)]('checked');_0x285e0d?($(_0x4a7dd7(0x1c2))['val'](_0x285e0d?0x0:0x1),this[_0x4a7dd7(0x16a)]=_0x285e0d?0x0:0x1):($(_0x4a7dd7(0x1c2))['val'](0x1),this[_0x4a7dd7(0x16a)]=0x1);}});}()));function _0x1d63(_0x2c023c,_0x18a229){const _0x3765db=_0x3765();return _0x1d63=function(_0x1d631e,_0x28353b){_0x1d631e=_0x1d631e-0xf5;let _0x6cc4c1=_0x3765db[_0x1d631e];return _0x6cc4c1;},_0x1d63(_0x2c023c,_0x18a229);}function _0x3765(){const _0x73490c=['throw','assign','sterfive-combo-box','already\x20fetched','DisplayName','Variable','statusText','nsu\x20nodeId:\x20','replaceWith','_showMenu','mousedown.red-ui-typedInput-focus-block','msg.','$input','Organizes','loading','position','match','bp_indexed','elements','$menu','ns=0;i=40','browse\x20path:\x20','message','mask-image:\x20url(','show','preventDefault','#node-input-startImmediately','aliasedNodeId','main-wrapper','callback','<span\x20title=','<div\x20class=\x22spinner\x22></div>','prop','#node-input-inputs','statusCode:\x20','remove','/opcua-for-node-red/support-frame.html','145QnqsRk','statusCode','expanded','sterfive-dropdown','reset','disarmClick','icon','value','2630775TQsWQg','status','expandable','/browse','stringify',');\x20-webkit-mask-image:\x20url(','CadetBlue','fetching\x20failed\x20with\x20error','OpcUa-Endpoint2','browseName',':first','ObjectType','opc.tcp://opcuademo.sterfive.com:26543','nsu','element','error','red-ui-typedInput-icon','removeClass','.spinner','browsePath','options','resolveParentNode','addClass','$selectLabel','\x22}><span\x20class=\x22tree-text\x22\x20title=','isSelectable','2138928WXjIjE','ns=0;i=61','18px','> \x20','SteelBlue','toggle','references','val','Invalid','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20 \x20','ns=0;i=46','attr','checked','mode','16px','change','$tree','animate','verify','stopPropagation','isTypeRef','title','pointer-events','displayName','currentParent','click','function','nsuNodeID','endpoint','BrowsePath','20px','right','failure','Unspecified','css','grey','<li\x20key=\x22','body','name','left','Good','Aliased\x20NodeId','$inputGroup','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','POST','selectedMenuItem','nodeIds','focus','<i\x20class=\x22fa\x20fa-bookmark\x22/> \x20','</span>','nodeId_nsu','14589FaFwGR',':visible','auto','<a\x20href=\x22#\x22></a>','background-color:transparent;overflow:hidden;border:3px','prependTo','/opcua-for-node-red','BrowseName','<option/>','7332CEgEdc','height','parentNode','data','node_label_italic','_initMenu','push','fetched','/walk-backward','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','toString','HasSubtype','6868800CJEwos','subscriptions','call','pageY','<ul\x20class=\x22sterfive-tree\x22></ul>','10xYsrhw','$toggleTreeBtn','namespaceAliases','scrollTop','li\x20>\x20.tree-text','closest','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','parent','$info','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/> ','sterfive-typedInput-options\x20sterfive-online-menu','_showTypeMenu','append','sterfive.nodeBrowser','180px','384684IGVcLr','log','next','<div/>','HasProperty','View','subscription','Inverse','<li>error\x20','multiple','fa-folder','text','li[key=\x22','registerType','ns=0;i=85','aliasedBrowsePath','monitor\x20variable','30px','mousedown.red-ui-typedInput-close-property-select','HasComponent','OPCUA\x20Client\x20Monitor\x20','mousedown','input[type=\x22checkbox\x22]','Both','#node-input-endpoint','sterfive-input-error','red-ui-typedInput-focus','expandable\x20expanded','typeDefinition','nodes','trigger','OpcUa-Client2-Monitor','none','children','NodeClass','TypeDefinition','DataType','fa-list-alt','widget','keyCode','hide','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','catch','appendTo','bp_aliased','[value=\x27','$combo','<div\x20class=\x22sterfive-info-text\x22></div>','_hideMenu','fa-text-width','ns=0;i=34','HasTypeDefinition','selected','opcua','label','.red-ui-tray-body','fa-object-group','tabindex','then','rgba(61,\x2060,\x204,\x200.525)','$uiSelect','<i>','_delay','target','each','baseUrl','hasClass','json','pageX','ns=0;i=47','Objects','endpointNode','requestedNodeId','\x22\x20style=\x22color:','Object','prev','toggleClass','ns=0;i=35','inputs','nodeId','ReferenceType','after','542787SlmejW','Method','join','__parentNode','fa-cog','aliased\x20NodeId:\x20','relativePath','Value\x20is\x20not\x20verified','$selectTrigger','<div>','keydown','off','reference','DarkOrange','placeholder','sterfive-info','IsForward','length','../../icons/opcuanodeLogo.png','$dropdown','</li>','</span><ul></ul></li>','HasChild','already\x20loading','<input\x20type=\x22checkbox\x22>','node-input-startImmediately','DodgerBlue','NodeId\x20with\x20namespace\x20Urn','referenceTypeId','i=61','blur','32ZJXsdN','empty','top','SandyBrown','setMode','$elementDiv',':focus','VariableType','#node-input-subscription','filter','nodeClass','$verifyBtn','node','suppressed','absolute','opts','find','application/json','.tree-text:first','Forward','apply','<iframe></iframe>','#C0DEED','slideDown','<i\x20class=\x22fa\x20fa-id-card\x22/> \x20','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','fa-question'];_0x3765=function(){return _0x73490c;};return _0x3765();}
|
9
8
|
</script>
|
10
9
|
<script type="text/x-red" data-template-name="OpcUa-Client2-Monitor">
|
11
10
|
<style>
|