@opcua/for-node-red 3.9.0 → 3.11.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.
@@ -4,10 +4,15 @@
4
4
  </style>
5
5
 
6
6
  <script type="text/javascript">
7
- function _0x5d82(){const _0x12c72f=['Aliased\x20Browse\x20Path','18px','failure','25182KrAFhp','element','data','#node-input-endpoint','rgba(61,\x2060,\x204,\x200.525)','sterfive-input-group','$combo','20px','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','sort','-failure','browsePath','extra','#method-output-argument-definition','bp_indexed','map','$tree','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','#node-input-objectId','<div\x20class=\x22spinner\x22></div>','description','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','<div>','references','fetched\x20:\x20','180px','Organizes','_hideMenu','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','red-ui-typedInput-focus','node_label_italic','OpcUa-Endpoint2','5816HNGVks','Forward','click','expandable\x20expanded','90snRXnP','936NBTSmA','html','inputs','inputArguments','_showTypeMenu','clipboard','SuppressedError','name','VariableType','checked','ns=0;i=35','ns=0;i=34','ns=0;i=45','statusText','label','selectedMenuItem','$input','aliased\x20browsePath:\x20','string','li\x20>\x20.tree-text','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','forEach','DodgerBlue','right','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','currentParent','options','pageX','BrowseName','auto','<li\x20key=\x22','$info','match','ReferenceType','OpcUa-Client2-Call','\x22\x20style=\x22color:','focus','absolute','assign','Invalid','toggleClass','Objects','fetched','<br>','../../icons/opcuanodeLogo.png','sterfive.nodeBrowser','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','IsForward','browseResult','<span\x20title=','<i>','nsuNodeID','log','opcua','msg','>&nbsp;\x20','217865Vcjltx','.tree-text:first','#method-input-argument-definition','join','li[key=\x22','Variable','toggle','input[type=\x22checkbox\x22]','message','result','Aliased\x20NodeId','red-ui-typedInput-icon','already\x20loading','$dropdown','</span><ul></ul></li>','widget','validate','isTypeRef','nsu','preventDefault','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','aliasedBrowsePath','mode','resolveParentNode','function','HasChild','wrap','apply','replace','elements','View','setMode','error','ns=0;i=47','Inverse','DataType','fa-text-width','disarmClick','fa-sliders','pointer-events','background-color:transparent;overflow:hidden;border:3px','multiple','nodeId:\x20','nsu\x20nodeId:\x20','argumentDefinition','Method','opc.tcp://opcuademo.sterfive.com:26543','localeCompare','main-wrapper','catch','next','off','/browse','<input\x20type=\x22text\x22>','endpoint','removeClass','nodes','displayName','POST','json','done','SteelBlue','sterfive-combo-box','trigger','change','Object','510FWQPwK','border','statusCode:\x20','tabindex','.red-ui-tray-body','push','dataType','title','Testing\x20Connection\x20...','hide','inputArgumentsExampleAsJson','$menu','2wSwGji','Unspecified','fetching\x20failed\x20with\x20error','HasTypeDefinition','attr','stringify','reset','loading','endpointNode','#node-input-methodId','dblclick','.spinner','ns=0;i=85','i=61','children','appendTo','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','opts','nodeId','filter','nodeId_aliased','typeDefinition','msg.','100%','remove','5949601WCFpYs','</li>','relativePath','icon','Both','suppressed','<ul\x20class=\x22sterfive-tree\x22></ul>','sterfive-info','$selectLabel','mousedown.red-ui-typedInput-close-property-select','ns=0;i=40','statusCode','DarkOrange','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','namespaceAliases','2672MHSqGr','status','toString','SandyBrown','309280qxwboN','</span>','\x22}><span\x20class=\x22tree-text\x22\x20title=','placeholder','bp_aliased','arguments','append','NodeClass','sterfive-input-error','/checkNodeId','editableList','left','nodeBrowser','registerType','ns=0;i=46','true','scrollTop','ObjectType','parent','<iframe></iframe>','_initMenu','16px','value','val','Good','expanded','aliased\x20NodeId:\x20','addItem','_createMenu','$verifyBtn','105721DTSxqt','target','then','-messages','NodeId\x20with\x20namespace\x20Urn','expandable','stopPropagation','nodeClass','isArray','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20',');\x20-webkit-mask-image:\x20url(','$inputGroup','addClass','before','call','_delay','height','HasSubtype','hasClass','BrowsePath','slideDown',':first','prependTo','show','find','browseName','$elementDiv','text','css','internal\x20error\x20','$toggleTreeBtn','/opcua-for-node-red/support-frame.html','ns=0;i=61',':visible','/walk-backward','pageY','<li>error\x20','fa-question','keyCode','#C0DEED','$selectTrigger',':focus','fa-folder','already\x20fetched','<div/>','blur','aliasedNodeId','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','/opcua-for-node-red','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','writeText','baseUrl','dataTypes','<a\x20href=\x22#\x22></a>','!!failure!!','</p>','prop','top','mask-image:\x20url(','_showMenu','replaceWith','err','$uiSelect','split','red-ui-typedInput-icon\x20','length','TypeDefinition','after','fa-object-group','OPCUA-Call','node',';\x22></i>\x20','643307PzYvLE','empty','<p>','selected','none','<input\x20type=\x22checkbox\x22>','reference','application/json','indexOf','-pending','callback','sterfive-typedInput-options\x20sterfive-online-menu','parentNode','__parentNode','DisplayName','referenceTypeId','position','installing\x20iframe','nodeId_nsu','closest'];_0x5d82=function(){return _0x12c72f;};return _0x5d82();}function _0x2d90(_0x2b9009,_0x26e5ff){const _0x5d82e4=_0x5d82();return _0x2d90=function(_0x2d9019,_0x1a6f33){_0x2d9019=_0x2d9019-0xdb;let _0x1a29ca=_0x5d82e4[_0x2d9019];return _0x1a29ca;},_0x2d90(_0x2b9009,_0x26e5ff);}(function(_0x41ff7f,_0x20d13d){const _0xac865d=_0x2d90,_0x31a183=_0x41ff7f();while(!![]){try{const _0x4d261e=parseInt(_0xac865d(0x197))/0x1*(parseInt(_0xac865d(0x105))/0x2)+parseInt(_0xac865d(0xf9))/0x3*(-parseInt(_0xac865d(0x1ce))/0x4)+-parseInt(_0xac865d(0x20b))/0x5*(parseInt(_0xac865d(0x1d2))/0x6)+parseInt(_0xac865d(0x11e))/0x7+-parseInt(_0xac865d(0x12d))/0x8*(-parseInt(_0xac865d(0x1ae))/0x9)+-parseInt(_0xac865d(0x131))/0xa+parseInt(_0xac865d(0x14f))/0xb*(-parseInt(_0xac865d(0x1d3))/0xc);if(_0x4d261e===_0x20d13d)break;else _0x31a183['push'](_0x31a183['shift']());}catch(_0x5247ba){_0x31a183['push'](_0x31a183['shift']());}}}(_0x5d82,0xb63b5),(function(){'use strict';const _0xb3d308=_0x2d90;function _0x525826(_0xce9280,_0x545c1d,_0x3d2f9f,_0x34f02b){function _0x2ed721(_0x57ef17){return _0x57ef17 instanceof _0x3d2f9f?_0x57ef17:new _0x3d2f9f(function(_0x3a6425){_0x3a6425(_0x57ef17);});}return new(_0x3d2f9f||(_0x3d2f9f=Promise))(function(_0x4f4828,_0x46bc16){const _0x35e2e9=_0x2d90;function _0x2e0dc2(_0x1cee83){const _0x1de663=_0x2d90;try{_0x37f0ad(_0x34f02b[_0x1de663(0xe9)](_0x1cee83));}catch(_0x26b2a7){_0x46bc16(_0x26b2a7);}}function _0x40c69f(_0x15c666){try{_0x37f0ad(_0x34f02b['throw'](_0x15c666));}catch(_0x241ed8){_0x46bc16(_0x241ed8);}}function _0x37f0ad(_0x29841d){const _0x5b7c56=_0x2d90;_0x29841d[_0x5b7c56(0xf3)]?_0x4f4828(_0x29841d['value']):_0x2ed721(_0x29841d['value'])[_0x5b7c56(0x151)](_0x2e0dc2,_0x40c69f);}_0x37f0ad((_0x34f02b=_0x34f02b[_0x35e2e9(0x226)](_0xce9280,_0x545c1d||[]))[_0x35e2e9(0xe9)]());});}typeof SuppressedError==='function'?SuppressedError:function(_0x53194b,_0x4d01d7,_0x33e011){const _0x1f5871=_0x2d90;var _0x31887f=new Error(_0x33e011);return _0x31887f[_0x1f5871(0x1da)]=_0x1f5871(0x1d9),_0x31887f[_0x1f5871(0x22b)]=_0x53194b,_0x31887f[_0x1f5871(0x123)]=_0x4d01d7,_0x31887f;};const _0x36bdb1=_0xb3d308(0x1dd),_0x51b3b6=_0xb3d308(0x16f),_0x3f0d98=_0xb3d308(0x22c),_0x4beb02=_0xb3d308(0x13f),_0x410923=_0xb3d308(0x1de),_0x57293e=_0xb3d308(0x1df),_0x5a8535=_0xb3d308(0x128);var _0x133bd5;(function(_0x46a973){const _0x198431=_0xb3d308;_0x46a973[_0x46a973[_0x198431(0x1cf)]=0x0]=_0x198431(0x1cf),_0x46a973[_0x46a973[_0x198431(0x22d)]=0x1]=_0x198431(0x22d),_0x46a973[_0x46a973['Both']=0x2]=_0x198431(0x122),_0x46a973[_0x46a973[_0x198431(0x1fa)]=0x3]=_0x198431(0x1fa);}(_0x133bd5||(_0x133bd5={})));var _0x2bf417;(function(_0x2e32ed){const _0x4e2e16=_0xb3d308;_0x2e32ed[_0x2e32ed['Unspecified']=0x0]=_0x4e2e16(0x106),_0x2e32ed[_0x2e32ed[_0x4e2e16(0xf8)]=0x1]=_0x4e2e16(0xf8),_0x2e32ed[_0x2e32ed[_0x4e2e16(0x210)]=0x2]=_0x4e2e16(0x210),_0x2e32ed[_0x2e32ed['Method']=0x4]=_0x4e2e16(0xe4),_0x2e32ed[_0x2e32ed[_0x4e2e16(0x142)]=0x8]=_0x4e2e16(0x142),_0x2e32ed[_0x2e32ed[_0x4e2e16(0x1db)]=0x10]=_0x4e2e16(0x1db),_0x2e32ed[_0x2e32ed[_0x4e2e16(0x1f4)]=0x20]=_0x4e2e16(0x1f4),_0x2e32ed[_0x2e32ed[_0x4e2e16(0x22e)]=0x40]=_0x4e2e16(0x22e),_0x2e32ed[_0x2e32ed['View']=0x80]='View';}(_0x2bf417||(_0x2bf417={})));var _0x55abbc;(function(_0x3d5ea8){const _0x3e8a34=_0xb3d308;_0x3d5ea8[_0x3d5ea8[_0x3e8a34(0xf8)]=0x1]=_0x3e8a34(0xf8),_0x3d5ea8[_0x3d5ea8['Variable']=0x2]=_0x3e8a34(0x210),_0x3d5ea8[_0x3d5ea8[_0x3e8a34(0xe4)]=0x4]=_0x3e8a34(0xe4),_0x3d5ea8[_0x3d5ea8['ObjectType']=0x8]=_0x3e8a34(0x142),_0x3d5ea8[_0x3d5ea8[_0x3e8a34(0x1db)]=0x10]=_0x3e8a34(0x1db),_0x3d5ea8[_0x3d5ea8[_0x3e8a34(0x1f4)]=0x20]='ReferenceType',_0x3d5ea8[_0x3d5ea8['DataType']=0x40]=_0x3e8a34(0x22e),_0x3d5ea8[_0x3d5ea8[_0x3e8a34(0x229)]=0x80]='View';}(_0x55abbc||(_0x55abbc={})));var _0xe9a3de;(function(_0x252a98){const _0x4f29cd=_0xb3d308;_0x252a98[_0x252a98[_0x4f29cd(0x1f4)]=0x1]=_0x4f29cd(0x1f4),_0x252a98[_0x252a98['IsForward']=0x2]=_0x4f29cd(0x202),_0x252a98[_0x252a98[_0x4f29cd(0x138)]=0x4]=_0x4f29cd(0x138),_0x252a98[_0x252a98[_0x4f29cd(0x1ef)]=0x8]='BrowseName',_0x252a98[_0x252a98[_0x4f29cd(0x1a5)]=0x10]=_0x4f29cd(0x1a5),_0x252a98[_0x252a98[_0x4f29cd(0x191)]=0x20]=_0x4f29cd(0x191);}(_0xe9a3de||(_0xe9a3de={})));function _0x51db39(_0x4964dc){const _0x434315=_0xb3d308;switch(_0x4964dc){case _0x434315(0x1c8):return _0x36bdb1;case'HasProperty':return _0x4beb02;case'HasComponent':return _0x3f0d98;case _0x434315(0x224):return _0x410923;case _0x434315(0x160):return _0x57293e;case _0x434315(0x108):return _0x5a8535;}}const _0xbe278c=_0x2613b1=>{const _0x3eb042=_0xb3d308;switch(_0x2613b1['nodeClass']){case _0x3eb042(0xf8):if(_0x2613b1[_0x3eb042(0x1a6)]===_0x36bdb1);if(_0x2613b1[_0x3eb042(0x11a)]===_0x51b3b6||_0x2613b1[_0x3eb042(0x1a6)]===_0x3eb042(0x112))return{'icon':_0x3eb042(0x179),'color':_0x3eb042(0x1b2)};return{'icon':_0x3eb042(0x193),'color':'SeaGreen'};case _0x3eb042(0x210):if(_0x2613b1[_0x3eb042(0x1a6)]===_0x3f0d98)return{'icon':'fa-list-alt','color':_0x3eb042(0xf4)};else return _0x2613b1['referenceTypeId']===_0x4beb02?{'icon':'fa-list-alt','color':_0x3eb042(0x1e9)}:{'icon':'fa-list-alt','color':'CadetBlue'};case'Method':return{'icon':'fa-cog','color':_0x3eb042(0x130)};case _0x3eb042(0x142):return{'icon':_0x3eb042(0x193),'color':'DarkOrange'};case _0x3eb042(0x1db):return{'icon':_0x3eb042(0xdd),'color':_0x3eb042(0x12a)};case'DataType':return{'icon':_0x3eb042(0xdb),'color':'CadetBlue'};}return{'icon':_0x3eb042(0x174),'color':'grey'};},_0x977c23=(_0x2b1b5d,_0x4804e3,_0x4f8931)=>_0x525826(void 0x0,[_0x2b1b5d,_0x4804e3,_0x4f8931],void 0x0,function*({endpointNode:_0x50ee81,endpoint:_0x467983,baseUrl:_0x4bf927},_0x2bdc4e,_0x490f90){const _0x59f60a=_0xb3d308,_0xfb85f3=_0x4bf927+_0x59f60a(0x17f),_0x493e7c=_0xfb85f3+_0x59f60a(0xeb),_0x1af256=Object[_0x59f60a(0x1f9)](Object[_0x59f60a(0x1f9)]({},_0x490f90),{'nodeId':_0x2bdc4e,'resultMask':0x3f}),_0x12e18c=yield fetch(_0x493e7c,{'method':_0x59f60a(0xf1),'body':JSON[_0x59f60a(0x10a)]({'endpointNode':_0x50ee81,'endpoint':_0x467983,'browseDescription':_0x1af256}),'headers':{'Content-Type':_0x59f60a(0x19e)}});if(_0x12e18c['status']!==0xc8)return console[_0x59f60a(0x207)](_0x59f60a(0x107),_0x12e18c['status'],_0x12e18c[_0x59f60a(0x1e0)]),{'references':[]};const _0x3c61ba=yield _0x12e18c[_0x59f60a(0xf2)](),_0x522134=_0x3c61ba[_0x59f60a(0x203)][_0x59f60a(0x1c5)]||[];return{'references':_0x522134};}),_0x5b41f5={'referenceTypeId':_0x51db39(_0xb3d308(0x224)),'includeSubtypes':!![],'browseDirection':_0x133bd5['Forward'],'nodeClassMask':_0x2bf417[_0xb3d308(0x210)]|_0x2bf417[_0xb3d308(0xf8)]|_0x2bf417['Method'],'resultMask':0x3f},_0x2c5bb2={'referenceTypeId':_0x51db39(_0xb3d308(0x1c8)),'includeSubtypes':!![],'browseDirection':_0x133bd5[_0xb3d308(0x1cf)],'nodeClassMask':_0x2bf417[_0xb3d308(0x210)]|_0x2bf417['Object']|_0x2bf417[_0xb3d308(0xe4)],'resultMask':0x3f},_0x4d13f7=(_0x74212f,_0x163b74)=>_0x525826(void 0x0,[_0x74212f,_0x163b74],void 0x0,function*({endpointNode:_0x385317,endpoint:_0x4694fd,baseUrl:_0x5d868a},{nodeId:_0x34a376,rootNodeId:_0x4d3aee,isType:_0x19a12e}){const _0x2dc04e=_0xb3d308,_0x19d3dd=_0x5d868a+'/opcua-for-node-red',_0x50e159=_0x19d3dd+_0x2dc04e(0x171),_0xcf70f=yield fetch(_0x50e159,{'method':'POST','body':JSON[_0x2dc04e(0x10a)]({'endpointNode':_0x385317,'endpoint':_0x4694fd,'nodeId':_0x34a376,'rootNodeId':_0x4d3aee,'isType':_0x19a12e}),'headers':{'Content-Type':'application/json'}});if(_0xcf70f['status']!==0xc8)return null;const _0x50f662=yield _0xcf70f[_0x2dc04e(0xf2)]();return _0x50f662[_0x2dc04e(0x1b9)];}),_0xd36961=(_0x35557a,_0x5b9733)=>{const _0x21fd6b=_0xb3d308;if(_0x35557a[_0x21fd6b(0x129)]!==_0x21fd6b(0x149))return _0x35557a['requestedNodeId'];switch(_0x5b9733){case _0x21fd6b(0x1b9):return _0x35557a[_0x21fd6b(0x1bc)];case _0x21fd6b(0x220):return _0x35557a['bp_aliased']||_0x35557a[_0x21fd6b(0x1bc)];case _0x21fd6b(0x17d):return _0x35557a[_0x21fd6b(0x119)]||_0x35557a[_0x21fd6b(0x1a9)];case _0x21fd6b(0x206):return _0x35557a[_0x21fd6b(0x1a9)];default:case _0x21fd6b(0x117):return _0x35557a[_0x21fd6b(0x117)];}},_0x266983=_0x3aafaa=>{const _0xa87fb4=_0xb3d308;if(_0x3aafaa[_0xa87fb4(0x129)]!==_0xa87fb4(0x149))return _0xa87fb4(0xfb)+_0x3aafaa[_0xa87fb4(0x129)];else{let _0x3882f6=[];return _0x3882f6[_0xa87fb4(0xfe)](_0xa87fb4(0xe1)+_0x3aafaa[_0xa87fb4(0x117)]),_0x3882f6[_0xa87fb4(0xfe)]('browse\x20path:\x20'+_0x3aafaa[_0xa87fb4(0x1bc)]),_0x3882f6[_0xa87fb4(0xfe)]('node\x20class:\x20'+_0x2bf417[_0x3aafaa[_0xa87fb4(0x156)]]),_0x3aafaa['nodeId_nsu']&&_0x3882f6[_0xa87fb4(0xfe)](_0xa87fb4(0xe2)+_0x3aafaa[_0xa87fb4(0x1a9)]),_0x3aafaa[_0xa87fb4(0x119)]&&_0x3882f6[_0xa87fb4(0xfe)](_0xa87fb4(0x14b)+_0x3aafaa['nodeId_aliased']),_0x3aafaa['bp_indexed']&&_0x3882f6['push'](_0xa87fb4(0x1e4)+_0x3aafaa[_0xa87fb4(0x135)]),_0x3882f6[_0xa87fb4(0x20e)]('\x0a');}};function _0x52ec36(_0xb12be8){const _0x170777=_0xb3d308;if(_0xb12be8['match'](/^nsu=/))return'nsuNodeID';if(_0xb12be8[_0x170777(0x1f3)](/^(ns=.*;)?(i|b|s|g)=/))return _0x170777(0x117);if(_0xb12be8[_0x170777(0x1f3)](/^nsa=/))return _0x170777(0x17d);if(_0xb12be8['match'](/^(\/|\.)[0-9]+:/))return'browsePath';if(_0xb12be8['match'](/^(\/|\.).*:/))return _0x170777(0x1b9);}function _0x20e448(_0x2e0f7f){const _0x32972e=_0xb3d308,_0xbbfc5=_0x52ec36(_0x2e0f7f);switch(_0xbbfc5){case _0x32972e(0x117):return'n';case'aliasedNodeId':return'na';case _0x32972e(0x206):return _0x32972e(0x21d);case _0x32972e(0x1b9):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}function _0x4e9787(_0x5ee636){const _0xcf504f=_0xb3d308;let _0x560342;switch(_0x5ee636){case'n':_0x560342=_0xcf504f(0x117);break;case'na':_0x560342=_0xcf504f(0x17d);break;case _0xcf504f(0x21d):_0x560342='nsuNodeID';break;case'b':_0x560342=_0xcf504f(0x1b9);break;case'ab':_0x560342='aliasedBrowsePath';break;}return _0x560342;}function _0x29ad46(_0x583565){const _0x30fb52=_0xb3d308;switch(_0x583565){case _0x30fb52(0x117):return'n';case _0x30fb52(0x17d):return'na';case _0x30fb52(0x206):return _0x30fb52(0x21d);case _0x30fb52(0x1b9):return'b';case'aliasedBrowsePath':return'ab';default:return't';}}const _0x200ce3=(_0x25649a,_0x1c3a5d)=>_0x525826(void 0x0,[_0x25649a,_0x1c3a5d],void 0x0,function*({endpointNode:_0xf369cb,endpoint:_0x3ab523,baseUrl:_0x2d9022},_0x425117){const _0x2baa4e=_0xb3d308,_0x48287b=_0x2d9022+_0x2baa4e(0x17f),_0x302b2b=_0x48287b+_0x2baa4e(0x13a),_0xe02e0=_0xf369cb['id'],_0x337fef=RED[_0x2baa4e(0xef)]['node'](_0xe02e0);console[_0x2baa4e(0x207)](_0x337fef[_0x2baa4e(0x12c)]),_0x337fef[_0x2baa4e(0x12c)];const _0x32588e=_0xf369cb['namespaceAliases'],_0x1f5b6c=yield fetch(_0x302b2b,{'method':_0x2baa4e(0xf1),'body':JSON['stringify']({'endpointNode':_0xf369cb,'endpoint':_0x3ab523,'nodeId':_0x425117,'namespaceAliases':_0x32588e}),'headers':{'Content-Type':_0x2baa4e(0x19e)}}),_0x3245ae=yield _0x1f5b6c[_0x2baa4e(0xf2)]();return{'json':_0x3245ae,'data':_0x1f5b6c};}),_0x59410d=(_0x4a507b,_0x209caa,_0x461e90,_0x10fb28)=>_0x525826(void 0x0,[_0x4a507b,_0x209caa,_0x461e90,_0x10fb28],void 0x0,function*({endpointNode:_0x43e7e5,endpoint:_0x2319b6,baseUrl:_0x5b1fcf},_0x5b02e5,_0x843f7d,_0x56c5be){const _0x27588b=_0xb3d308,_0x5bf27f=_0x843f7d[_0x27588b(0x148)](),{json:_0x58fe96,data:_0x557dfb}=yield _0x200ce3({'endpointNode':_0x43e7e5,'endpoint':_0x2319b6,'baseUrl':_0x5b1fcf},_0x5bf27f),_0x1aa798=(_0x81deb7,_0x756ab5)=>{const _0xf02d41=_0x27588b;_0x56c5be[_0xf02d41(0x16a)](_0x81deb7)[_0xf02d41(0x15b)](_0xf02d41(0x125))[_0xf02d41(0x15b)](_0x756ab5),_0x56c5be[_0xf02d41(0x166)](),setTimeout(()=>{const _0x21fcda=_0xf02d41;_0x56c5be['removeClass'](_0x756ab5),_0x56c5be[_0x21fcda(0x102)]();},0xbb8);};if(_0x557dfb[_0x27588b(0x12e)]!==0xc8)return _0x1aa798(_0x27588b(0x185)+_0x5bf27f,_0x27588b(0x1ad)),![];else{if(_0x58fe96['statusCode']['match'](/Good/)){const _0x442a9d=_0x266983(_0x58fe96);_0x843f7d['attr'](_0x27588b(0x100),_0x442a9d);const _0x161dbd=_0xd36961(_0x58fe96,_0x5b02e5);return _0x843f7d['val'](_0x161dbd),_0x843f7d[_0x27588b(0xf6)]('change'),_0x1aa798('Good','ok'),!![];}else return _0x843f7d['val'](''+_0x5bf27f),_0x1aa798(_0x58fe96[_0x27588b(0x129)]+'\x20'+_0x557dfb['statusText'],_0x27588b(0x1ad)),![];}});function _0xf8da42(_0x2990eb,_0x106e7f){return _0x525826(this,void 0x0,void 0x0,function*(){const _0x50ee98=_0x2d90,_0x5eda58=_0x2990eb['data'](_0x50ee98(0x147)),_0x5757b4=yield _0x977c23(_0x106e7f,_0x5eda58,_0x5b41f5),_0x9e1675=yield _0x977c23(_0x106e7f,_0x5eda58,_0x2c5bb2);return{'references':[..._0x5757b4[_0x50ee98(0x1c5)],..._0x9e1675[_0x50ee98(0x1c5)]]};});}const _0x5d324a={'referenceTypeId':_0x51db39(_0xb3d308(0x160)),'includeSubtypes':!![],'browseDirection':_0x133bd5[_0xb3d308(0x1cf)],'nodeClassMask':_0x2bf417[_0xb3d308(0x1f4)]|_0x2bf417[_0xb3d308(0x142)]|_0x2bf417['DataType']|_0x2bf417[_0xb3d308(0x1db)],'resultMask':0x3f};function _0x1dd9ae(_0x12c12e,_0xe3b861){return _0x525826(this,void 0x0,void 0x0,function*(){const _0x2be54c=_0x12c12e['data']('value'),_0x1a4941=yield _0x977c23(_0xe3b861,_0x2be54c,_0x5d324a);return _0x1a4941;});}const _0x4fd106=_0x1adc05=>{const _0x2ba9e3=_0xb3d308;var _0x556a59,_0x1bb4c2,_0x4931e4,_0x2e424e;if(!_0x1adc05||!_0x1adc05['nodeId']){const _0x2f9ad2=$(_0x2ba9e3(0x1bf));return _0x2f9ad2;}const _0x455b1f=_0x1adc05[_0x2ba9e3(0x117)]['toString'](),_0x5ad6ad=((_0x556a59=_0x1adc05[_0x2ba9e3(0xf0)])===null||_0x556a59===void 0x0?void 0x0:_0x556a59[_0x2ba9e3(0x16a)])||((_0x1bb4c2=_0x1adc05['browseName'])===null||_0x1bb4c2===void 0x0?void 0x0:_0x1bb4c2[_0x2ba9e3(0x1da)])||_0x1adc05[_0x2ba9e3(0x117)][_0x2ba9e3(0x12f)](),{icon:_0xc82312,color:_0x2a611a}=_0xbe278c(_0x1adc05),_0x231056='('+_0x1adc05[_0x2ba9e3(0x117)][_0x2ba9e3(0x12f)]()+')\x20'+(((_0x4931e4=_0x1adc05['browseName'])===null||_0x4931e4===void 0x0?void 0x0:_0x4931e4[_0x2ba9e3(0x1da)])||((_0x2e424e=_0x1adc05[_0x2ba9e3(0xf0)])===null||_0x2e424e===void 0x0?void 0x0:_0x2e424e[_0x2ba9e3(0x16a)])||''),_0x4a1055=$(_0x2ba9e3(0x1f1)+_0x1adc05[_0x2ba9e3(0x117)]['toString']()+_0x2ba9e3(0x133)+_0x231056+'><i\x20class=\x22fa\x20'+_0xc82312+_0x2ba9e3(0x1f6)+_0x2a611a+_0x2ba9e3(0x196)+_0x5ad6ad+_0x2ba9e3(0x219));return _0x4a1055[_0x2ba9e3(0x15b)](_0x2ba9e3(0x154)),_0x4a1055[_0x2ba9e3(0x1b0)](_0x2ba9e3(0x147),_0x455b1f),_0x4a1055[_0x2ba9e3(0x1b0)](_0x2ba9e3(0x19d),_0x1adc05),_0x4a1055;},_0x5d1133=(_0x3dbd00,_0x3f2565)=>{const _0x1f03ba=_0xb3d308;return _0x3f2565[_0x1f03ba(0x167)](_0x1f03ba(0x20f)+_0x3dbd00+'\x22]');},_0x576d5c=(_0xeae512,_0x86ff72)=>{const _0x3e50c0=_0xb3d308;_0xeae512[_0x3e50c0(0x1be)][_0x3e50c0(0x167)](_0x3e50c0(0x1e6))[_0x3e50c0(0xee)](_0x3e50c0(0x19a)),_0x86ff72['find'](_0x3e50c0(0x20c))[_0x3e50c0(0x15b)](_0x3e50c0(0x19a));},_0x387dbc=(_0x4f9471,_0xb94b0f,_0x254cfc)=>_0x525826(void 0x0,void 0x0,void 0x0,function*(){const _0x5af0b5=_0xb3d308;let _0x4214f9=_0x254cfc['children'](_0x5af0b5(0x164));_0xb94b0f[_0x5af0b5(0x120)][_0x5af0b5(0x228)]||[];const _0x36d6dc=_0xb94b0f['nodeIds']||[];if(_0x36d6dc[_0x5af0b5(0x190)]===0x0)return;for(const _0x45b7a2 of _0x36d6dc){_0x4214f9[_0x5af0b5(0x161)](_0x5af0b5(0x154))&&(yield _0x4ae761(_0x4f9471,_0x4214f9));const _0x1aa24d=_0x5d1133(_0x45b7a2,_0x4214f9);if(_0x1aa24d[_0x5af0b5(0x190)]===0x0)return;_0x4214f9=_0x1aa24d;}_0x576d5c(_0x4f9471,_0x4214f9),_0x5ab0e1(_0x4f9471[_0x5af0b5(0x218)],_0x4214f9);});function _0x5ab0e1(_0x591bfd,_0x3f30b0){const _0x5936ea=_0xb3d308,_0x2c48f5=_0x3f30b0[_0x5936ea(0x1a7)]()[_0x5936ea(0x188)],_0x2087c6=_0x591bfd[_0x5936ea(0x141)]();if(_0x2087c6==undefined)return;const _0x126ec1=_0x2087c6+_0x2c48f5-_0x591bfd[_0x5936ea(0x15f)]()/0x2+_0x3f30b0[_0x5936ea(0x15f)]()/0x2;_0x591bfd['animate']({'scrollTop':_0x126ec1},0x1f4);}const _0x495f8b=(_0x8e2cb9,_0x451faa)=>_0x525826(void 0x0,void 0x0,void 0x0,function*(){const _0x4c8389=_0xb3d308,_0x692453=_0x8e2cb9[_0x4c8389(0x1e3)][_0x4c8389(0x148)](),_0x417a33={'nodeId':_0x692453,'rootNodeId':_0x451faa[_0x4c8389(0x117)],'isType':_0x8e2cb9[_0x4c8389(0x1ed)][_0x4c8389(0x21c)]||![]},_0x24a054=_0xb7c192(_0x8e2cb9),_0x565045=yield _0x4d13f7(_0x24a054,_0x417a33);if(!_0x565045)return;yield _0x387dbc(_0x8e2cb9,_0x565045,_0x8e2cb9[_0x4c8389(0x1be)]);});function _0x188f2e(_0x57c4f1,_0x89b5a2,_0x5aab1,_0x53329f){return _0x525826(this,void 0x0,void 0x0,function*(){const _0x2d93bd=_0x2d90;if(_0x89b5a2[_0x2d93bd(0x161)](_0x2d93bd(0x1fd))){console[_0x2d93bd(0x207)](_0x2d93bd(0x17a));return;}if(_0x89b5a2[_0x2d93bd(0x161)](_0x2d93bd(0x10c))){console['log'](_0x2d93bd(0x217));return;}_0x89b5a2[_0x2d93bd(0x15b)](_0x2d93bd(0x10c)),_0x89b5a2[_0x2d93bd(0x137)](_0x2d93bd(0x1c1));try{_0x89b5a2[_0x2d93bd(0x113)]('ul')['empty']();const {references:_0x5169f7}=yield _0x5aab1(_0x89b5a2,_0x53329f);_0x5169f7[_0x2d93bd(0x1b7)]((_0xf955e8,_0x56d389)=>{const _0x43b954=_0x2d93bd;var _0x304f8b,_0x3dadf6;return(((_0x304f8b=_0xf955e8['browseName'])===null||_0x304f8b===void 0x0?void 0x0:_0x304f8b[_0x43b954(0x1da)])||'')[_0x43b954(0xe6)](((_0x3dadf6=_0x56d389['browseName'])===null||_0x3dadf6===void 0x0?void 0x0:_0x3dadf6[_0x43b954(0x1da)])||'');});for(const _0x1e67b1 of _0x5169f7){if(_0x57c4f1[_0x2d93bd(0x1ed)][_0x2d93bd(0x118)]&&!_0x57c4f1['options'][_0x2d93bd(0x118)](_0x1e67b1))continue;const _0x23be58=_0x4fd106(_0x1e67b1);_0x89b5a2[_0x2d93bd(0x113)]('ul')[_0x2d93bd(0x137)](_0x23be58);}_0x89b5a2['addClass'](_0x2d93bd(0x1fd));}catch(_0x1a1ce0){_0x89b5a2[_0x2d93bd(0x113)]('ul')[_0x2d93bd(0x137)](_0x2d93bd(0x173)+_0x1a1ce0[_0x2d93bd(0x213)]+_0x2d93bd(0x11f)),console[_0x2d93bd(0x207)](_0x2d93bd(0x18c),_0x1a1ce0);}_0x89b5a2[_0x2d93bd(0x167)](_0x2d93bd(0x110))[_0x2d93bd(0x11d)](),_0x89b5a2[_0x2d93bd(0xee)](_0x2d93bd(0x10c));});}function _0xb7c192(_0x5b07e3){const _0x59bcc8=_0xb3d308,_0xd76fa4={'baseUrl':_0x5b07e3[_0x59bcc8(0x1ed)][_0x59bcc8(0x182)],'endpointNode':typeof _0x5b07e3[_0x59bcc8(0x1ed)]['endpointNode']===_0x59bcc8(0x223)?_0x5b07e3[_0x59bcc8(0x1ed)][_0x59bcc8(0x10d)]():_0x5b07e3[_0x59bcc8(0x1ed)][_0x59bcc8(0x10d)],'endpoint':typeof _0x5b07e3[_0x59bcc8(0x1ed)][_0x59bcc8(0xed)]===_0x59bcc8(0x223)?_0x5b07e3['options'][_0x59bcc8(0xed)]():_0x5b07e3[_0x59bcc8(0x1ed)][_0x59bcc8(0xed)]};return _0xd76fa4;}function _0x4ae761(_0x7bed79,_0x436d52){return _0x525826(this,void 0x0,void 0x0,function*(){const _0x9e17e6=_0x2d90;if(_0x436d52[_0x9e17e6(0x161)]('fetched')){_0x436d52[_0x9e17e6(0xee)](_0x9e17e6(0x154))[_0x9e17e6(0x15b)](_0x9e17e6(0x14a)),_0x436d52['children']('ul')[_0x9e17e6(0x211)]();return;}const _0x16880c=_0xb7c192(_0x7bed79),_0x580528=!_0x7bed79['options']['isTypeRef']?_0xf8da42:_0x1dd9ae;try{yield _0x188f2e(_0x7bed79,_0x436d52,_0x580528,_0x16880c),_0x436d52[_0x9e17e6(0xee)](_0x9e17e6(0x154))[_0x9e17e6(0x15b)](_0x9e17e6(0x14a));}catch(_0x2966d5){_0x436d52[_0x9e17e6(0xee)](_0x9e17e6(0x154))[_0x9e17e6(0x15b)](_0x9e17e6(0x14a)),console[_0x9e17e6(0x207)]('error',_0x2966d5);}});}const _0x16e876={'browseName':{'namespaceIndex':0x0,'name':'Objects'},'nodeClass':_0xb3d308(0xf8),'nodeId':_0xb3d308(0x111),'displayName':{'text':_0xb3d308(0x1fc)},'typeDefinition':_0x51b3b6},_0x336f8f=()=>{const _0x1f76f2=_0xb3d308;$[_0x1f76f2(0x21a)](_0x1f76f2(0x200),{'options':{'endpointNode':()=>({'endpoint':_0x1f76f2(0xe5)}),'endpoint':()=>undefined,'parentNode':()=>_0x16e876,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x525826(this,void 0x0,void 0x0,function*(){const _0x212cfe=_0x2d90,_0x1a51ad=this;if(_0x1a51ad[_0x212cfe(0x1a4)]==undefined){const _0x170479=typeof _0x1a51ad['options']['parentNode']==='function'?_0x1a51ad[_0x212cfe(0x1ed)][_0x212cfe(0x1a3)][_0x212cfe(0x15d)](_0x1a51ad):_0x1a51ad[_0x212cfe(0x1ed)][_0x212cfe(0x1a3)];if(_0x170479 instanceof Promise){const _0x171914=yield _0x170479;_0x1a51ad['__parentNode']=_0x171914;}else _0x1a51ad['__parentNode']=_0x170479;}return _0x1a51ad[_0x212cfe(0x1a4)]||_0x16e876;});},'reset'(){return _0x525826(this,void 0x0,void 0x0,function*(){const _0x56e978=_0x2d90,_0x36406f=this,_0x54d5c1=_0x36406f;_0x54d5c1['__parentNode']=undefined,_0x36406f[_0x56e978(0x1be)]['empty']();const _0x34e8da=yield this[_0x56e978(0x222)](),_0x3d1b66=_0x4fd106(_0x34e8da);_0x36406f[_0x56e978(0x1be)][_0x56e978(0x137)](_0x3d1b66),_0x36406f['currentParent']=_0x34e8da;});},'verify'(_0x15ecd5){const _0x8d22b=_0x1f76f2,_0x247cc1=this,_0x167dbb=_0xb7c192(_0x247cc1);_0x59410d(_0x167dbb,_0x15ecd5,_0x247cc1[_0x8d22b(0x1e3)],_0x247cc1[_0x8d22b(0x1f2)])[_0x8d22b(0x151)](_0x50c21d=>{const _0x1e1ffa=_0x8d22b;!_0x50c21d?_0x247cc1[_0x1e1ffa(0x1b4)][_0x1e1ffa(0x15b)](_0x1e1ffa(0x139)):_0x247cc1[_0x1e1ffa(0x1b4)][_0x1e1ffa(0xee)]('sterfive-input-error');});},'_hideMenu'(_0x15998d){const _0x351272=_0x1f76f2,_0x2c5168=this;$(document)[_0x351272(0xea)](_0x351272(0x127)),_0x15998d[_0x351272(0x102)](),_0x15998d[_0x351272(0x16b)]({'height':_0x351272(0x1f0)});if(_0x15998d[_0x351272(0x116)]['multiple']){var _0x9c5da3=[];_0x15998d[_0x351272(0x167)](_0x351272(0x212))['each'](function(){const _0x33c028=_0x351272;$(this)[_0x33c028(0x187)](_0x33c028(0x1dc))&&_0x9c5da3['push']($(this)[_0x33c028(0x1b0)](_0x33c028(0x147)));}),_0x15998d[_0x351272(0x1a1)](_0x9c5da3);}_0x2c5168['$elementDiv']['is'](_0x351272(0x170))?_0x2c5168[_0x351272(0x1e3)]['trigger'](_0x351272(0x1f7)):_0x2c5168[_0x351272(0x177)][_0x351272(0xf6)](_0x351272(0x1f7));},'_createMenu'(_0x333251,_0x59ca82,_0x1629b0){const _0x4c862b=_0x1f76f2;var _0x49549a=this;const _0xb85c19=$(_0x4c862b(0x1c4))[_0x4c862b(0x15b)](_0x4c862b(0x1a2));return _0xb85c19[_0x4c862b(0x116)]=_0x59ca82,_0xb85c19['callback']=_0x1629b0,_0x333251[_0x4c862b(0x1e8)](_0x16ae42=>{const _0x36828b=_0x4c862b;typeof _0x16ae42===_0x36828b(0x1e5)&&(_0x16ae42={'value':_0x16ae42,'label':_0x16ae42});var _0x59d48f=$(_0x36828b(0x184))[_0x36828b(0x109)](_0x36828b(0x147),_0x16ae42[_0x36828b(0x147)])[_0x36828b(0x114)](_0xb85c19);_0x16ae42['label']&&_0x59d48f[_0x36828b(0x16a)](_0x16ae42['label']);_0x16ae42[_0x36828b(0x100)]&&_0x59d48f[_0x36828b(0x187)](_0x36828b(0x100),_0x16ae42[_0x36828b(0x100)]);if(_0x16ae42[_0x36828b(0x121)]){if(_0x16ae42['icon'][_0x36828b(0x19f)]('<')===0x0)$(_0x16ae42[_0x36828b(0x121)])[_0x36828b(0x165)](_0x59d48f);else _0x16ae42['icon'][_0x36828b(0x19f)]('/')!==-0x1?$('<i>',{'class':_0x36828b(0x216),'style':_0x36828b(0x189)+_0x16ae42['icon']+_0x36828b(0x159)+_0x16ae42[_0x36828b(0x121)]+');'})[_0x36828b(0x165)](_0x59d48f):$(_0x36828b(0x205),{'class':_0x36828b(0x18f)+_0x16ae42[_0x36828b(0x121)]})[_0x36828b(0x165)](_0x59d48f);}else _0x59d48f[_0x36828b(0x16b)]({'paddingLeft':_0x36828b(0x1ac)});!_0x16ae42[_0x36828b(0x121)]&&!_0x16ae42[_0x36828b(0x1e1)]&&_0x59d48f['text'](_0x16ae42[_0x36828b(0x147)]);var _0x3655b0;_0x59ca82['multiple']&&(_0x3655b0=$(_0x36828b(0x19c))[_0x36828b(0x16b)](_0x36828b(0xde),_0x36828b(0x19b))[_0x36828b(0x1b0)](_0x36828b(0x147),_0x16ae42[_0x36828b(0x147)])[_0x36828b(0x165)](_0x59d48f)['on']('mousedown',function(_0x1a3640){const _0x5b7456=_0x36828b;_0x1a3640[_0x5b7456(0x21e)]();})),_0x59d48f['on'](_0x36828b(0x1d0),function(_0x562320){const _0x48f89d=_0x36828b;_0x562320[_0x48f89d(0x21e)](),_0x562320[_0x48f89d(0x155)](),!_0x59ca82[_0x48f89d(0xe0)]?(_0x1629b0(_0x16ae42[_0x48f89d(0x147)]),_0x49549a['_hideMenu'](_0xb85c19)):_0x3655b0[_0x48f89d(0x187)](_0x48f89d(0x1dc),!_0x3655b0['prop'](_0x48f89d(0x1dc)));});}),_0xb85c19['css']({'display':_0x4c862b(0x19b)}),_0xb85c19['on']('keydown',function(_0x2571b4){const _0x70261f=_0x4c862b;if(_0x2571b4[_0x70261f(0x175)]===0x28)_0x2571b4[_0x70261f(0x21e)](),$(this)['children'](':focus')[_0x70261f(0xe9)]()['trigger'](_0x70261f(0x1f7));else{if(_0x2571b4[_0x70261f(0x175)]===0x26)_0x2571b4['preventDefault'](),$(this)[_0x70261f(0x113)](_0x70261f(0x178))['prev']()[_0x70261f(0xf6)]('focus');else _0x2571b4['keyCode']===0x1b&&(_0x2571b4[_0x70261f(0x21e)](),_0x49549a[_0x70261f(0x1c9)](_0xb85c19));}_0x2571b4[_0x70261f(0x155)]();}),_0xb85c19;},'disarmClick':![],'_showMenu'(_0x5d98fa,_0x527be3){const _0x1e3bdc=_0x1f76f2;if(this[_0x1e3bdc(0xdc)]){this[_0x1e3bdc(0xdc)]=![];return;}var _0x5f4972=this,_0x3ae3d6=_0x527be3['offset'](),_0xf8f8f2=_0x527be3[_0x1e3bdc(0x15f)](),_0x829fde=_0x5d98fa[_0x1e3bdc(0x15f)](),_0x17d8fe=_0xf8f8f2+_0x3ae3d6[_0x1e3bdc(0x188)];_0x17d8fe+_0x829fde-$(document)['scrollTop']()>$(window)[_0x1e3bdc(0x15f)]()&&(_0x17d8fe-=_0x17d8fe+_0x829fde-$(window)['height']()+0x5),_0x17d8fe<0x0&&(_0x5d98fa[_0x1e3bdc(0x15f)](_0x829fde+_0x17d8fe),_0x17d8fe=0x0),_0x5d98fa['css']({'top':_0x17d8fe+'px','left':_0x3ae3d6[_0x1e3bdc(0x13c)]+'px'}),_0x5d98fa[_0x1e3bdc(0x163)](0x64),this[_0x1e3bdc(0x15e)](function(){const _0x4fa093=_0x1e3bdc;_0x5f4972[_0x4fa093(0x18d)]['addClass'](_0x4fa093(0x1cb)),$(document)['on'](_0x4fa093(0x127),function(_0x214cac){const _0x290c4b=_0x4fa093;!$(_0x214cac[_0x290c4b(0x150)])[_0x290c4b(0x1aa)](_0x5d98fa)[_0x290c4b(0x190)]&&_0x5f4972[_0x290c4b(0x1c9)](_0x5d98fa),$(_0x214cac['target'])[_0x290c4b(0x1aa)](_0x527be3)[_0x290c4b(0x190)]&&(_0x5f4972[_0x290c4b(0xdc)]=!![],_0x214cac['preventDefault']());});});},'_showTypeMenu'(){const _0x8e5b25=_0x1f76f2,_0x3a75cf=this;this[_0x8e5b25(0x18a)](_0x3a75cf[_0x8e5b25(0x104)],_0x3a75cf['$combo']),_0x3a75cf[_0x8e5b25(0x218)]['hide']();const _0x5de52f=_0x3a75cf[_0x8e5b25(0x1e2)];var _0xc84f96=_0x3a75cf[_0x8e5b25(0x104)][_0x8e5b25(0x167)]('[value=\x27'+_0x5de52f+'\x27');setTimeout(function(){const _0x449ca7=_0x8e5b25;_0xc84f96['trigger'](_0x449ca7(0x1f7));},0x78);},'_initMenu'(){const _0x3828e8=_0x1f76f2,_0x5b086e=this;_0x5b086e['$selectTrigger']['attr'](_0x3828e8(0xfc),-0x1),_0x5b086e['$selectTrigger']['on']('mousedown.red-ui-typedInput-focus-block',function(_0x539d6a){const _0x36cf0b=_0x3828e8;_0x539d6a[_0x36cf0b(0x21e)]();});_0x5b086e[_0x3828e8(0x104)]&&_0x5b086e[_0x3828e8(0x104)][_0x3828e8(0x11d)]();const _0x3f3d5a=[{'label':_0x3828e8(0x16a),'value':'t','title':'Value\x20is\x20not\x20verified','icon':_0x3828e8(0x201)},{'label':_0x3828e8(0x11b),'value':_0x3828e8(0x209),'title':_0x3828e8(0x1ca),'icon':_0x3828e8(0x17e)},{'label':'NodeId','value':'n','icon':'<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20'},{'label':_0x3828e8(0x215),'value':'na','icon':_0x3828e8(0x158)},{'label':_0x3828e8(0x153),'value':'nsu','icon':_0x3828e8(0x115)},{'label':_0x3828e8(0x162),'value':'b','icon':_0x3828e8(0x1eb)},{'label':_0x3828e8(0x1ab),'value':'ab','icon':_0x3828e8(0x21f)}],_0x3bf2fe=_0x20e448(_0x5b086e[_0x3828e8(0x1e3)]['val']()),_0x16accb=_0x3f3d5a[_0x3828e8(0x167)](_0x329c15=>_0x329c15[_0x3828e8(0x147)]===_0x3bf2fe);_0x5b086e[_0x3828e8(0x126)][_0x3828e8(0x198)]()[_0x3828e8(0x137)]('<span\x20title='+((_0x16accb===null||_0x16accb===void 0x0?void 0x0:_0x16accb[_0x3828e8(0x100)])||'')+'>&nbsp;\x20'+((_0x16accb===null||_0x16accb===void 0x0?void 0x0:_0x16accb[_0x3828e8(0x121)])||'')+'</span>'),_0x5b086e[_0x3828e8(0x1e2)]=_0x3bf2fe;const _0x1dc14f=this;_0x5b086e[_0x3828e8(0x104)]=this[_0x3828e8(0x14d)](_0x3f3d5a,{},_0x5cb3de=>{const _0x5d4e98=_0x3828e8,_0x2c6377=_0x4e9787(_0x5cb3de);_0x2c6377&&_0x1dc14f['verify'](_0x2c6377);const _0xeede89=_0x3f3d5a['find'](_0x215c06=>_0x215c06[_0x5d4e98(0x147)]===_0x5cb3de);_0x5b086e[_0x5d4e98(0x1e2)]=_0x5cb3de,_0x5b086e[_0x5d4e98(0x126)][_0x5d4e98(0x198)]()[_0x5d4e98(0x137)](_0x5d4e98(0x204)+((_0xeede89===null||_0xeede89===void 0x0?void 0x0:_0xeede89[_0x5d4e98(0x100)])||'')+_0x5d4e98(0x20a)+((_0xeede89===null||_0xeede89===void 0x0?void 0x0:_0xeede89[_0x5d4e98(0x121)])||'')+_0x5d4e98(0x132));}),_0x5b086e['$menu']['appendTo'](document['body']),_0x5b086e['$menu'][_0x3828e8(0x102)](),_0x5b086e[_0x3828e8(0x177)][_0x3828e8(0x166)]();},'mode'(){const _0x310eef=_0x1f76f2,_0x3d6658=this;return _0x4e9787(_0x3d6658[_0x310eef(0x1e2)]);},'setMode'(_0x118873){const _0x229fb5=_0x1f76f2,_0xf0bc23=this,_0x10152d=_0x29ad46(_0x118873);_0xf0bc23[_0x229fb5(0x1e2)]=_0x10152d;},'_create'(){const _0x2d1686=_0x1f76f2,_0x1ba99d=this;_0x1ba99d[_0x2d1686(0x1e3)]=this[_0x2d1686(0x1af)],_0x1ba99d[_0x2d1686(0x1e3)][_0x2d1686(0x16b)](_0x2d1686(0xfa),_0x2d1686(0x19b)),_0x1ba99d[_0x2d1686(0x169)]=_0x1ba99d['$input'][_0x2d1686(0x225)](_0x2d1686(0x1c4))[_0x2d1686(0x143)]()[_0x2d1686(0x15b)](_0x2d1686(0xe7)),_0x1ba99d[_0x2d1686(0x1b4)]=$('<div/>'),_0x1ba99d[_0x2d1686(0x1b4)][_0x2d1686(0x15b)](_0x2d1686(0xf5)),_0x1ba99d[_0x2d1686(0x1e3)][_0x2d1686(0x18b)](_0x1ba99d['$combo']),_0x1ba99d[_0x2d1686(0x15a)]=$('<div/>')[_0x2d1686(0x15b)](_0x2d1686(0x1b3)),_0x1ba99d[_0x2d1686(0x1b4)][_0x2d1686(0x137)](_0x1ba99d[_0x2d1686(0x15a)]),_0x1ba99d[_0x2d1686(0x15a)]['append'](_0x1ba99d[_0x2d1686(0x1e3)]),_0x1ba99d[_0x2d1686(0x16d)]=$(_0x2d1686(0x1e7)),_0x1ba99d['$input']['after'](_0x1ba99d[_0x2d1686(0x16d)]),_0x1ba99d[_0x2d1686(0x16d)]['on'](_0x2d1686(0x1d0),function(){return _0x525826(this,void 0x0,void 0x0,function*(){const _0x579d5f=_0x2d90;var _0x3e5f79;let _0x36fed9=![],_0x4ade9c;!_0x1ba99d[_0x579d5f(0x218)]['is'](':visible')&&(_0x1ba99d[_0x579d5f(0x1f2)][_0x579d5f(0x102)](),_0x4ade9c=yield _0x1ba99d['resolveParentNode'](),(_0x4ade9c!==_0x1ba99d[_0x579d5f(0x1ec)]||((_0x3e5f79=_0x1ba99d[_0x579d5f(0x1ec)])===null||_0x3e5f79===void 0x0?void 0x0:_0x3e5f79['nodeId'])!==_0x4ade9c['nodeId'])&&(yield _0x1ba99d[_0x579d5f(0x10b)]()),_0x36fed9=!![]),_0x1ba99d[_0x579d5f(0x218)][_0x579d5f(0x211)](),_0x36fed9&&(yield _0x495f8b(_0x1ba99d,_0x4ade9c));});}),_0x1ba99d[_0x2d1686(0x14e)]=$(_0x2d1686(0x1c3)),_0x1ba99d[_0x2d1686(0x1e3)][_0x2d1686(0x192)](_0x1ba99d['$verifyBtn']),_0x1ba99d[_0x2d1686(0x14e)]['on'](_0x2d1686(0x1d0),()=>{const _0x4d2416=_0x2d1686,_0x3fb3f8=_0x1ba99d[_0x4d2416(0x221)]();if(!_0x3fb3f8)return;this['verify'](_0x3fb3f8);});const _0x481b95=_0x159d4a=>_0x525826(this,void 0x0,void 0x0,function*(){const _0x2f0bd8=_0x2d1686,_0x5c7311=this;let _0x5e9516=_0x5c7311['mode']();if(!_0x5e9516)return;const _0x23712e=_0xb7c192(_0x5c7311),{data:_0x2ad2b1,json:_0x518165}=yield _0x200ce3(_0x23712e,_0x159d4a);if(_0x2ad2b1[_0x2f0bd8(0x12e)]!==0xc8)return;if(_0x518165[_0x2f0bd8(0x129)][_0x2f0bd8(0x1f3)](/Good/)){const _0x10a3e5=_0xd36961(_0x518165,_0x5e9516);_0x5c7311[_0x2f0bd8(0x1e3)][_0x2f0bd8(0x148)](_0x10a3e5),_0x5c7311[_0x2f0bd8(0x1e3)]['trigger'](_0x2f0bd8(0xf7));}});{_0x1ba99d['$uiSelect']=$(_0x2d1686(0x1c4)),_0x1ba99d[_0x2d1686(0x1e3)][_0x2d1686(0x15c)](_0x1ba99d[_0x2d1686(0x18d)]),_0x1ba99d[_0x2d1686(0x177)]=$(_0x2d1686(0x1b6))[_0x2d1686(0x165)](_0x1ba99d[_0x2d1686(0x18d)]),$(_0x2d1686(0x12b))[_0x2d1686(0x211)](!![])[_0x2d1686(0x114)](_0x1ba99d['$selectTrigger']),_0x1ba99d['$selectTrigger']['on'](_0x2d1686(0x1d0),function(_0x3ffcb1){const _0x3117fb=_0x2d1686;_0x3ffcb1[_0x3117fb(0x21e)](),_0x3ffcb1['stopPropagation'](),_0x1ba99d[_0x3117fb(0x1d7)]();}),_0x1ba99d[_0x2d1686(0x177)]['on']('keydown',function(_0x54032d){const _0xa56964=_0x2d1686;_0x54032d[_0xa56964(0x175)]===0x28&&_0x1ba99d[_0xa56964(0x1d7)](),_0x54032d[_0xa56964(0x155)]();})['on']('focus',function(){const _0x5a80e7=_0x2d1686;_0x1ba99d[_0x5a80e7(0x18d)][_0x5a80e7(0x15b)]('red-ui-typedInput-focus');})['on'](_0x2d1686(0x17c),function(){const _0xbb048d=_0x2d1686;_0x1ba99d[_0xbb048d(0x18d)][_0xbb048d(0xee)](_0xbb048d(0x1cb));}),_0x1ba99d[_0x2d1686(0x126)]=$('<span\x20class=\x22red-ui-typedInput-type-label\x22></span>')['appendTo'](_0x1ba99d[_0x2d1686(0x177)]);}this[_0x2d1686(0x145)]();!_0x1ba99d[_0x2d1686(0x1e3)][_0x2d1686(0x109)](_0x2d1686(0x134))&&_0x1ba99d[_0x2d1686(0x1e3)]['attr'](_0x2d1686(0x134),_0x2d1686(0x180));_0x1ba99d[_0x2d1686(0x1f2)]=$('<div\x20class=\x22sterfive-info-text\x22></div>'),_0x1ba99d[_0x2d1686(0x1f2)]['hide'](),_0x1ba99d[_0x2d1686(0x1b4)][_0x2d1686(0x137)](_0x1ba99d[_0x2d1686(0x1f2)]),_0x1ba99d['$dropdown']=$(_0x2d1686(0x17b))[_0x2d1686(0x15b)]('sterfive-dropdown')[_0x2d1686(0x102)]()['appendTo'](_0x1ba99d[_0x2d1686(0x1b4)]),_0x1ba99d['$tree']=$(_0x2d1686(0x124))[_0x2d1686(0x114)](_0x1ba99d[_0x2d1686(0x218)]),this[_0x2d1686(0x10b)]();const _0x4414ef=(_0x45965c,_0x268c6f)=>{const _0x41f171=_0x2d1686,_0x4a3fd2=0x14,_0x2e2f89=0x14,_0x1ceac3=_0x45965c['offset'](),_0x4aca74=_0x268c6f;if(_0x4aca74[_0x41f171(0x1ee)]>=_0x1ceac3[_0x41f171(0x13c)]&&_0x4aca74[_0x41f171(0x1ee)]<=_0x1ceac3[_0x41f171(0x13c)]+_0x4a3fd2&&_0x4aca74[_0x41f171(0x172)]>=_0x1ceac3[_0x41f171(0x188)]&&_0x4aca74[_0x41f171(0x172)]<=_0x1ceac3[_0x41f171(0x188)]+_0x2e2f89)return!![];return![];},_0x376090=_0x34c55a=>_0x525826(this,void 0x0,void 0x0,function*(){const _0x30df86=_0x2d1686;if(_0x34c55a[_0x30df86(0x161)](_0x30df86(0x154)))_0x4ae761(_0x1ba99d,_0x34c55a);else{if(_0x34c55a[_0x30df86(0x161)](_0x30df86(0x14a)))_0x34c55a[_0x30df86(0x113)]('ul')[_0x30df86(0x211)](),_0x34c55a[_0x30df86(0x1fb)](_0x30df86(0x1d1));else{if(_0x34c55a['children']('ul')[_0x30df86(0x113)]()['length']>0x0)_0x34c55a[_0x30df86(0x113)]('ul')['toggle'](),_0x34c55a[_0x30df86(0x1fb)]('expandable\x20expanded');else;}}});_0x1ba99d['$tree']['on'](_0x2d1686(0x10f),'li',function(_0x4e202d){const _0x42f072=_0x2d1686;var _0x305609,_0x34c12e;_0x4e202d[_0x42f072(0x155)]();let _0x32afca=$(this);if(_0x4414ef(_0x32afca,_0x4e202d))_0x376090(_0x32afca);else{const _0xf86638=_0x32afca[_0x42f072(0x1b0)](_0x42f072(0x147)),_0x4c3304=_0x32afca[_0x42f072(0x1b0)](_0x42f072(0x19d));if(_0x1ba99d[_0x42f072(0x1ed)]['isSelectable']&&!_0x1ba99d[_0x42f072(0x1ed)]['isSelectable'](_0x4c3304))return;_0x1ba99d['$input'][_0x42f072(0x1b0)]('reference',_0x4c3304),((_0x305609=_0x4c3304['displayName'])===null||_0x305609===void 0x0?void 0x0:_0x305609[_0x42f072(0x16a)])||((_0x34c12e=_0x4c3304[_0x42f072(0x168)])===null||_0x34c12e===void 0x0?void 0x0:_0x34c12e['name'])||_0x4c3304['nodeId'][_0x42f072(0x12f)]();let _0x119f14=_0x1ba99d[_0x42f072(0x221)]();!_0x119f14&&(_0x119f14=_0x42f072(0x117),_0x1ba99d[_0x42f072(0x22a)](_0x119f14)),_0x481b95(_0xf86638)[_0x42f072(0x151)](()=>{const _0x12ddd7=_0x42f072;_0x1ba99d[_0x12ddd7(0x218)][_0x12ddd7(0x102)]();})[_0x42f072(0xe8)](_0x255430=>{const _0xc762c8=_0x42f072;_0x1ba99d[_0xc762c8(0x218)][_0xc762c8(0x102)]();});}}),_0x1ba99d[_0x2d1686(0x1be)]['on'](_0x2d1686(0x1d0),'li',function(_0x15b2c7){const _0x362fea=_0x2d1686;_0x15b2c7[_0x362fea(0x155)]();let _0x18f5f3=$(this);_0x4414ef(_0x18f5f3,_0x15b2c7)&&_0x376090(_0x18f5f3),_0x576d5c(_0x1ba99d,_0x18f5f3);}),$(document)['on'](_0x2d1686(0x1d0),function(_0x56da30){const _0x20831a=_0x2d1686;!$(_0x56da30[_0x20831a(0x150)])[_0x20831a(0x1aa)](_0x1ba99d[_0x20831a(0x1b4)])[_0x20831a(0x190)]&&_0x1ba99d[_0x20831a(0x218)][_0x20831a(0x102)]();});}});},_0x243949=()=>{const _0x429b67=_0xb3d308,_0x584957=$(_0x429b67(0xfd));console['log']('installFeedbackWidget\x20',_0x584957['length']);if(_0x584957['length']){console[_0x429b67(0x207)](_0x429b67(0x1a8));const _0x4c1f20=$(_0x429b67(0x144),{'src':_0x429b67(0x16e),'scrolling':'no','style':_0x429b67(0xdf),'allowtransparency':_0x429b67(0x140),'width':_0x429b67(0x1c7),'height':'30px'});_0x584957[_0x429b67(0x137)](_0x4c1f20),_0x4c1f20['css']({'position':_0x429b67(0x1f8),'right':_0x429b67(0x1b5),'bottom':_0x429b67(0x146)});}},_0x5b3434=(_0x22b52e,_0x444352,_0x4cc6e9)=>_0x525826(void 0x0,[_0x22b52e,_0x444352,_0x4cc6e9],void 0x0,function*({endpointNode:_0x42426f,endpoint:_0x5d2c5c,baseUrl:_0xb9ef73},_0xe83ab0,_0x1149c4){const _0x1f16de=_0xb3d308,_0x1bc6b1=_0xb9ef73+_0x1f16de(0x17f),_0xf459fe=_0x1bc6b1+_0x1f16de(0x13a),_0x551cb3=yield fetch(_0xf459fe,{'method':_0x1f16de(0xf1),'body':JSON[_0x1f16de(0x10a)]({'endpointNode':_0x42426f,'endpoint':_0x5d2c5c,'nodeId':_0xe83ab0,'namespaceAliases':_0x1149c4}),'headers':{'Content-Type':'application/json'}});if(_0x551cb3[_0x1f16de(0x12e)]!==0xc8){console[_0x1f16de(0x207)](_0x1f16de(0x107),_0x551cb3[_0x1f16de(0x12e)],_0x551cb3[_0x1f16de(0x1e0)]);const _0x2de3c2={'statusCode':'BadNoMatch','requestedNodeId':_0xe83ab0};return _0x2de3c2;}console['log'](_0x1f16de(0x1c6),_0x551cb3[_0x1f16de(0x12e)],_0x551cb3['statusText']);const _0x6d14bf=yield _0x551cb3[_0x1f16de(0xf2)]();return _0x6d14bf;});function _0x27bd56(_0x39d0b9,_0x46a52e,_0x1c8cca,_0x297f6e){const _0x2d78e3=_0xb3d308,_0x6637fa=$('#'+_0x39d0b9+'-success'),_0x3fb7c0=$('#'+_0x39d0b9+_0x2d78e3(0x1b8)),_0x20271c=$('#'+_0x39d0b9+_0x2d78e3(0x1a0)),_0x584340=$('#'+_0x39d0b9+_0x2d78e3(0x152));let _0x2b06b0=![];_0x6637fa[_0x2d78e3(0x102)](),_0x3fb7c0[_0x2d78e3(0x102)](),_0x20271c[_0x2d78e3(0x102)](),_0x46a52e['on'](_0x2d78e3(0x1d0),()=>{const _0x205595=_0x2d78e3;if(_0x2b06b0)return;_0x2b06b0=!![],_0x20271c['removeClass'](_0x205595(0x102)),_0x20271c[_0x205595(0x1d4)](_0x205595(0x101)),_0x6637fa[_0x205595(0x15b)](_0x205595(0x102)),_0x3fb7c0[_0x205595(0x15b)](_0x205595(0x102)),_0x584340[_0x205595(0x1d4)]('');const {body:_0x204f29,url:_0x39b6b3}=_0x1c8cca();fetch(_0x39b6b3,{'method':_0x205595(0xf1),'headers':{'Content-Type':'application/json'},'body':JSON[_0x205595(0x10a)](_0x204f29)})[_0x205595(0x151)](_0x1ab976=>_0x1ab976[_0x205595(0xf2)]())[_0x205595(0x151)](_0x32aa2a=>{const _0x272b45=_0x205595;_0x2b06b0=![],_0x20271c['hide'](),console[_0x272b45(0x207)](JSON[_0x272b45(0x10a)](_0x32aa2a,null,'\x20'));if(_0x32aa2a[_0x272b45(0x214)]==='ok')_0x6637fa[_0x272b45(0xee)](_0x272b45(0x102)),_0x3fb7c0[_0x272b45(0x15b)](_0x272b45(0x102)),_0x584340['html'](_0x32aa2a[_0x272b45(0x213)][_0x272b45(0x227)]('\x0a',_0x272b45(0x1fe))),_0x297f6e(null,_0x32aa2a);else{const _0x393dfc=_0xf925d2=>!_0xf925d2?'':_0xf925d2[_0x272b45(0x18e)]('\x0a')[_0x272b45(0x1bd)](_0x167e69=>_0x272b45(0x199)+_0x167e69+_0x272b45(0x186))['join']('\x0a'),_0x1de153=_0x59c2a0=>Array[_0x272b45(0x157)](_0x59c2a0)?_0x59c2a0['map'](_0x393dfc)[_0x272b45(0x20e)]('\x0a'):_0x393dfc(_0x59c2a0);_0x6637fa['addClass'](_0x272b45(0x102)),_0x3fb7c0['removeClass']('hide'),_0x584340[_0x272b45(0x1d4)](_0x1de153(_0x32aa2a[_0x272b45(0x213)])+_0x1de153(_0x32aa2a[_0x272b45(0x1ba)])),_0x297f6e(new Error(_0x32aa2a['result']),_0x32aa2a);}})[_0x205595(0xe8)](_0x3e0f28=>{const _0x12a808=_0x205595;_0x2b06b0=![],_0x20271c[_0x12a808(0x15b)]('hide'),_0x6637fa[_0x12a808(0x15b)](_0x12a808(0x102)),_0x3fb7c0[_0x12a808(0xee)](_0x12a808(0x102)),_0x584340[_0x12a808(0x1d4)](_0x12a808(0x16c)+_0x3e0f28[_0x12a808(0x213)]),console[_0x12a808(0x207)](_0x12a808(0x18c),_0x3e0f28),_0x297f6e(_0x3e0f28,null);});});}const _0x50f814=()=>{const _0x3313a9=_0xb3d308,_0x35d1d8=$(_0x3313a9(0x1b1)),_0x514c1d=_0x35d1d8['val'](),_0x25b403=RED[_0x3313a9(0xef)][_0x3313a9(0x195)](_0x514c1d);if(!_0x25b403)return undefined;const {endpoint:_0x1f12fc,securityMode:_0x2d1fed,securityPolicy:_0x22a42b,userIdentityType:_0x46e445,credentials:_0x3b5f17,namespaceAliases:_0x4e2f0a}=_0x25b403,_0x2dd8ee={'endpoint':_0x1f12fc,'securityMode':_0x2d1fed,'securityPolicy':_0x22a42b,'userIdentityType':_0x46e445,'credentials':_0x3b5f17,'namespaceAliases':_0x4e2f0a};return _0x2dd8ee;},_0x2edcf9=()=>{const _0x1e1780=_0xb3d308,_0x20f523=$(_0x1e1780(0x1b1)),_0x2a8c53=_0x20f523['val'](),_0x430ac3=_0x50f814();if(!_0x430ac3)return undefined;const _0x12eb7e=_0x430ac3[_0x1e1780(0x12c)];return Object[_0x1e1780(0x1f9)]({'namespaceAliases':_0x12eb7e,'id':_0x2a8c53},_0x430ac3);},_0x3c67fa=()=>{return{'endpointNode':_0x2edcf9};};RED[_0xb3d308(0xef)][_0xb3d308(0x13e)](_0xb3d308(0x1f5),{'category':_0xb3d308(0x208),'color':_0xb3d308(0x176),'align':_0xb3d308(0x1ea),'icon':_0xb3d308(0x1ff),'paletteLabel':'call','defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0xb3d308(0x1cd)},'action':{'value':'read','required':!![]},'methodId':{'value':'','required':!![]},'objectId':{'value':'','required':!![]}},'outputs':0x2,'label'(){const _0x1a105d=_0xb3d308;return this[_0x1a105d(0x1da)]||_0x1a105d(0x194);},'labelStyle'(){const _0x53f32f=_0xb3d308;return this[_0x53f32f(0x1da)]?_0x53f32f(0x1cc):'';},'oneditprepare'(){const _0xcb5755=_0xb3d308,_0x394e8f=this;_0x336f8f(),_0x243949(),_0x394e8f[_0xcb5755(0x1d5)]=0x1;let _0x36f727={};const _0x246495=$(_0xcb5755(0x1c0)),_0x18cd43=$(_0xcb5755(0x10e)),_0x1c197b=$(_0xcb5755(0x20d)),_0x2ea577=$(_0xcb5755(0x1bb)),_0x33f159=$('#validate-call-arguments-button');_0x246495[_0xcb5755(0x13d)](Object[_0xcb5755(0x1f9)](Object[_0xcb5755(0x1f9)]({},_0x3c67fa()),{'filter'(_0x515ac3){const _0x46c268=_0xcb5755;return _0x515ac3[_0x46c268(0x156)]===_0x46c268(0xf8);}})),_0x18cd43['nodeBrowser'](Object['assign'](Object[_0xcb5755(0x1f9)]({},_0x3c67fa()),{'parentNode':function(){return _0x525826(this,void 0x0,void 0x0,function*(){const _0x7883fe=_0x2d90,_0x375c62=_0xb7c192(this);let _0x2d1441=_0x246495[_0x7883fe(0x1b0)]('reference');if(!_0x2d1441){const _0x218c47=_0x246495[_0x7883fe(0x148)]();try{const _0x455319=yield _0x5b3434(_0x375c62,_0x218c47);if(_0x455319[_0x7883fe(0x129)]!=='Good')return null;_0x2d1441={'nodeId':_0x455319[_0x7883fe(0x117)],'browseName':_0x455319['browseName'],'nodeClass':_0x7883fe(0xf8),'typeDefinition':'ns=0;i=0','displayName':{'text':''}};}catch(_0x4a2121){console[_0x7883fe(0x207)](_0x4a2121);}}return _0x2d1441;});},'filter'(_0x506209){const _0x1d3911=_0xcb5755;return _0x506209[_0x1d3911(0x156)]==='Method'||_0x506209[_0x1d3911(0x156)]===_0x1d3911(0xf8);},'isSelectable'(_0xf5d6d1){const _0x43ed89=_0xcb5755;return _0xf5d6d1[_0x43ed89(0x156)]==='Method';}})),_0x246495['on'](_0xcb5755(0xf7),()=>{const _0x4db9dd=_0xcb5755;_0x18cd43[_0x4db9dd(0x13d)](_0x4db9dd(0x10b));});function _0x2b3e5f(_0x3728d5,_0x345d0a,_0x2b92ed){const _0xc33494=_0xcb5755,_0x31bcd8=$('<div\x20class=\x22argument-entry\x22>')[_0xc33494(0x114)](_0x3728d5);$(_0xc33494(0xec))[_0xc33494(0x148)](_0x2b92ed['name']||'')[_0xc33494(0x16b)]({'width':_0xc33494(0x11c)})['appendTo'](_0x31bcd8);const _0x3fd432=_0x36f727[_0x2b92ed[_0xc33494(0xff)][_0xc33494(0x12f)]()],_0x5e2c29=(_0x3fd432?_0x3fd432[_0xc33494(0x168)][_0xc33494(0x1da)]||'':_0x2b92ed[_0xc33494(0xff)][_0xc33494(0x12f)]())+(_0x2b92ed['valueRank']===0x1?'[]':'');$(_0xc33494(0xec))[_0xc33494(0x148)](_0x2b92ed[_0xc33494(0x1c2)]['text']||'')[_0xc33494(0x16b)]({'width':'50%'})[_0xc33494(0x114)](_0x31bcd8),$(_0xc33494(0xec))[_0xc33494(0x148)](_0x5e2c29||'')[_0xc33494(0x16b)]({'width':'50%'})[_0xc33494(0x114)](_0x31bcd8);}_0x1c197b[_0xcb5755(0x13b)]({'addButton':![],'height':'auto','scrollOnAdd':![],'addItem'(_0x3124a0,_0x58ef56,_0xb984db){_0x2b3e5f(_0x3124a0,_0x58ef56,_0xb984db);}}),_0x2ea577[_0xcb5755(0x13b)]({'addButton':![],'height':_0xcb5755(0x1f0),'scrollOnAdd':![],'addItem'(_0xaceaa,_0x217cfe,_0xbc2c94){_0x2b3e5f(_0xaceaa,_0x217cfe,_0xbc2c94);}});function _0x574ea4(_0x4093fb,_0x283ed9){const _0xd27a00=_0xcb5755;console[_0xd27a00(0x207)]('installArgumentList',_0x283ed9[_0xd27a00(0x190)],_0xd27a00(0x136),_0x283ed9),_0x4093fb[_0xd27a00(0x13b)](_0xd27a00(0x198));for(let _0x39fa18=0x0;_0x39fa18<_0x283ed9['length'];_0x39fa18++){_0x4093fb['editableList'](_0xd27a00(0x14c),_0x283ed9[_0x39fa18]);}}_0x1c197b[_0xcb5755(0x102)](),_0x2ea577[_0xcb5755(0x102)]();let _0x1960d4={};const _0x226968=$('#copy-input');_0x226968['hide'](),_0x226968['on']('click',()=>{const _0x1e3683=_0xcb5755;navigator[_0x1e3683(0x1d8)]['writeText'](JSON['stringify'](_0x1960d4));}),_0x27bd56(_0xcb5755(0x21b),_0x33f159,()=>({'url':'/opcua-for-node-red/argumentDefinition','body':{'endpointNode':_0x2edcf9(),'objectId':_0x246495['val'](),'methodId':_0x18cd43[_0xcb5755(0x148)]()}}),(_0x2f704e,_0x5ea507)=>{const _0x487539=_0xcb5755;if(_0x2f704e)return;const _0x41adf7=_0x5ea507[_0x487539(0xe3)];_0x36f727=_0x5ea507[_0x487539(0x183)],_0x1c197b[_0x487539(0x166)](),_0x2ea577[_0x487539(0x166)](),_0x574ea4(_0x1c197b,_0x41adf7[_0x487539(0x1d6)]),_0x574ea4(_0x2ea577,_0x41adf7['outputArguments']),_0x1960d4=_0x5ea507[_0x487539(0x103)]||{},_0x226968[_0x487539(0x166)](),navigator[_0x487539(0x1d8)][_0x487539(0x181)](JSON[_0x487539(0x10a)](_0x1960d4)),console[_0x487539(0x207)]('JSON',JSON[_0x487539(0x10a)](_0x1960d4)),console[_0x487539(0x207)](_0x487539(0x1b0),_0x5ea507);});},'oneditsave'(){}});}()));
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg1MjU4MjYiLCJfMHhjZTkyODAiLCJfMHg1NDVjMWQiLCJfMHgzZDJmOWYiLCJfMHgzNGYwMmIiLCJfMHgyZWQ3MjEiLCJfMHg1N2VmMTciLCJfMHgzYTY0MjUiLCJQcm9taXNlIiwiXzB4NGY0ODI4IiwiXzB4NDZiYzE2IiwiXzB4MmUwZGMyIiwiXzB4MWNlZTgzIiwiXzB4MzdmMGFkIiwiXzB4MjZiMmE3IiwiXzB4NDBjNjlmIiwiXzB4MTVjNjY2IiwiXzB4MjQxZWQ4IiwiXzB4Mjk4NDFkIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NTMxOTRiIiwiXzB4NGQwMWQ3IiwiXzB4MzNlMDExIiwiXzB4MzE4ODdmIiwiRXJyb3IiLCJfMHgzNmJkYjEiLCJfMHg1MWIzYjYiLCJfMHgzZjBkOTgiLCJfMHg0YmViMDIiLCJfMHg0MTA5MjMiLCJfMHg1NzI5M2UiLCJfMHg1YTg1MzUiLCJfMHgxMzNiZDUiLCJfMHg0NmE5NzMiLCJfMHgyYmY0MTciLCJfMHgyZTMyZWQiLCJfMHg1NWFiYmMiLCJfMHgzZDVlYTgiLCJfMHhlOWEzZGUiLCJfMHgyNTJhOTgiLCJfMHg1MWRiMzkiLCJfMHg0OTY0ZGMiLCJfMHhiZTI3OGMiLCJfMHgyNjEzYjEiLCJfMHg5NzdjMjMiLCJfMHgyYjFiNWQiLCJfMHg0ODA0ZTMiLCJfMHg0Zjg5MzEiLCJlbmRwb2ludE5vZGUiLCJfMHg1MGVlODEiLCJlbmRwb2ludCIsIl8weDQ2Nzk4MyIsImJhc2VVcmwiLCJfMHg0YmY5MjciLCJfMHgyYmRjNGUiLCJfMHg0OTBmOTAiLCJfMHhmYjg1ZjMiLCJfMHg0OTNlN2MiLCJfMHgxYWYyNTYiLCJPYmplY3QiLCJfMHgxMmUxOGMiLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4M2M2MWJhIiwiXzB4NTIyMTM0IiwiXzB4NWI0MWY1IiwiXzB4MmM1YmIyIiwiXzB4NGQxM2Y3IiwiXzB4NzQyMTJmIiwiXzB4MTYzYjc0IiwiXzB4Mzg1MzE3IiwiXzB4NDY5NGZkIiwiXzB4NWQ4NjhhIiwibm9kZUlkIiwiXzB4MzRhMzc2Iiwicm9vdE5vZGVJZCIsIl8weDRkM2FlZSIsImlzVHlwZSIsIl8weDE5YTEyZSIsIl8weDE5ZDNkZCIsIl8weDUwZTE1OSIsIl8weGNmNzBmIiwiXzB4NTBmNjYyIiwiXzB4ZDM2OTYxIiwiXzB4MzU1NTdhIiwiXzB4NWI5NzMzIiwiXzB4MjY2OTgzIiwiXzB4M2FhZmFhIiwiXzB4Mzg4MmY2IiwiXzB4NTJlYzM2IiwiXzB4YjEyYmU4IiwiXzB4MjBlNDQ4IiwiXzB4MmUwZjdmIiwiXzB4YmJmYzUiLCJfMHg0ZTk3ODciLCJfMHg1ZWU2MzYiLCJfMHg1NjAzNDIiLCJfMHgyOWFkNDYiLCJfMHg1ODM1NjUiLCJfMHgyMDBjZTMiLCJfMHgyNTY0OWEiLCJfMHgxYzNhNWQiLCJfMHhmMzY5Y2IiLCJfMHgzYWI1MjMiLCJfMHgyZDkwMjIiLCJfMHg0MjUxMTciLCJfMHg0ODI4N2IiLCJfMHgzMDJiMmIiLCJfMHhlMDJlMCIsIl8weDMzN2ZlZiIsIlJFRCIsIl8weDMyNTg4ZSIsIl8weDFmNWI2YyIsIl8weDMyNDVhZSIsIl8weDU5NDEwZCIsIl8weDRhNTA3YiIsIl8weDIwOWNhYSIsIl8weDQ2MWU5MCIsIl8weDEwZmIyOCIsIl8weDQzZTdlNSIsIl8weDIzMTliNiIsIl8weDViMWZjZiIsIl8weDViMDJlNSIsIl8weDg0M2Y3ZCIsIl8weDU2YzViZSIsIl8weDViZjI3ZiIsImpzb24iLCJfMHg1OGZlOTYiLCJkYXRhIiwiXzB4NTU3ZGZiIiwiXzB4MWFhNzk4IiwiXzB4ODFkZWI3IiwiXzB4NzU2YWI1Iiwic2V0VGltZW91dCIsIl8weDQ0MmE5ZCIsIl8weDE2MWRiZCIsIl8weGY4ZGE0MiIsIl8weDI5OTBlYiIsIl8weDEwNmU3ZiIsIl8weDVlZGE1OCIsIl8weDU3NTdiNCIsIl8weDllMTY3NSIsIl8weDVkMzI0YSIsIl8weDFkZDlhZSIsIl8weDEyYzEyZSIsIl8weGUzYjg2MSIsIl8weDJiZTU0YyIsIl8weDFhNDk0MSIsIl8weDRmZDEwNiIsIl8weDFhZGMwNSIsIl8weDU1NmE1OSIsIl8weDFiYjRjMiIsIl8weDQ5MzFlNCIsIl8weDJlNDI0ZSIsIl8weDJmOWFkMiIsIiQiLCJfMHg0NTViMWYiLCJfMHg1YWQ2YWQiLCJpY29uIiwiXzB4YzgyMzEyIiwiY29sb3IiLCJfMHgyYTYxMWEiLCJfMHgyMzEwNTYiLCJfMHg0YTEwNTUiLCJfMHg1ZDExMzMiLCJfMHgzZGJkMDAiLCJfMHgzZjI1NjUiLCJfMHg1NzZkNWMiLCJfMHhlYWU1MTIiLCJfMHg4NmZmNzIiLCJfMHgzODdkYmMiLCJfMHg0Zjk0NzEiLCJfMHhiOTRiMGYiLCJfMHgyNTRjZmMiLCJfMHg0MjE0ZjkiLCJfMHgzNmQ2ZGMiLCJfMHg0NWI3YTIiLCJfMHg0YWU3NjEiLCJfMHgxYWEyNGQiLCJfMHg1YWIwZTEiLCJfMHg1OTFiZmQiLCJfMHgzZjMwYjAiLCJfMHgyYzQ4ZjUiLCJfMHgyMDg3YzYiLCJ1bmRlZmluZWQiLCJfMHgxMjZlYzEiLCJfMHg0OTVmOGIiLCJfMHg4ZTJjYjkiLCJfMHg0NTFmYWEiLCJfMHg2OTI0NTMiLCJfMHg0MTdhMzMiLCJfMHgyNGEwNTQiLCJfMHhiN2MxOTIiLCJfMHg1NjUwNDUiLCJfMHgxODhmMmUiLCJfMHg1N2M0ZjEiLCJfMHg4OWI1YTIiLCJfMHg1YWFiMSIsIl8weDUzMzI5ZiIsInJlZmVyZW5jZXMiLCJfMHg1MTY5ZjciLCJfMHhmOTU1ZTgiLCJfMHg1NmQzODkiLCJfMHgzMDRmOGIiLCJfMHgzZGFkZjYiLCJfMHgxZTY3YjEiLCJfMHgyM2JlNTgiLCJfMHgxYTFjZTAiLCJfMHg1YjA3ZTMiLCJfMHhkNzZmYTQiLCJfMHg3YmVkNzkiLCJfMHg0MzZkNTIiLCJfMHgxNjg4MGMiLCJfMHg1ODA1MjgiLCJfMHgyOTY2ZDUiLCJfMHgxNmU4NzYiLCJfMHgzMzZmOGYiLCJfMHgxYTUxYWQiLCJfMHgxNzA0NzkiLCJfMHgxNzE5MTQiLCJfMHgzNjQwNmYiLCJfMHg1NGQ1YzEiLCJfMHgzNGU4ZGEiLCJfMHgzZDFiNjYiLCJfMHgxNWVjZDUiLCJfMHgyNDdjYzEiLCJfMHgxNjdkYmIiLCJfMHg1MGMyMWQiLCJfMHgxNTk5OGQiLCJfMHgyYzUxNjgiLCJkb2N1bWVudCIsIl8weDljNWRhMyIsIl8weDMzMzI1MSIsIl8weDU5Y2E4MiIsIl8weDE2MjliMCIsIl8weDQ5NTQ5YSIsIl8weGI4NWMxOSIsIl8weDE2YWU0MiIsIl8weDU5ZDQ4ZiIsIl8weDM2NTViMCIsIl8weDFhMzY0MCIsIl8weDU2MjMyMCIsIl8weDI1NzFiNCIsIl8weDVkOThmYSIsIl8weDUyN2JlMyIsIl8weDVmNDk3MiIsIl8weDNhZTNkNiIsIl8weGY4ZjhmMiIsIl8weDgyOWZkZSIsIl8weDE3ZDhmZSIsIndpbmRvdyIsIl8weDIxNGNhYyIsIl8weDNhNzVjZiIsIl8weDVkZTUyZiIsIl8weGM4NGY5NiIsIl8weDViMDg2ZSIsIl8weDUzOWQ2YSIsIl8weDNmM2Q1YSIsIl8weDNiZjJmZSIsIl8weDE2YWNjYiIsIl8weDMyOWMxNSIsIl8weDFkYzE0ZiIsIl8weDVjYjNkZSIsIl8weDJjNjM3NyIsIl8weGVlZGU4OSIsIl8weDIxNWMwNiIsIl8weDNkNjY1OCIsIl8weDExODg3MyIsIl8weGYwYmMyMyIsIl8weDEwMTUyZCIsIl8weDFiYTk5ZCIsIl8weDNlNWY3OSIsIl8weDM2ZmVkOSIsIl8weDRhZGU5YyIsIl8weDNmYjNmOCIsIl8weDQ4MWI5NSIsIl8weDE1OWQ0YSIsIl8weDVjNzMxMSIsIl8weDVlOTUxNiIsIl8weDIzNzEyZSIsIl8weDJhZDJiMSIsIl8weDUxODE2NSIsIl8weDEwYTNlNSIsIl8weDNmZmNiMSIsIl8weDU0MDMyZCIsIl8weDQ0MTRlZiIsIl8weDQ1OTY1YyIsIl8weDI2OGM2ZiIsIl8weDRhM2ZkMiIsIl8weDJlMmY4OSIsIl8weDFjZWFjMyIsIl8weDRhY2E3NCIsIl8weDM3NjA5MCIsIl8weDM0YzU1YSIsIl8weDRlMjAyZCIsIl8weDMwNTYwOSIsIl8weDM0YzEyZSIsIl8weDMyYWZjYSIsIl8weGY4NjYzOCIsIl8weDRjMzMwNCIsIl8weDExOWYxNCIsIl8weDI1NTQzMCIsIl8weDE1YjJjNyIsIl8weDE4ZjVmMyIsIl8weDU2ZGEzMCIsIl8weDI0Mzk0OSIsIl8weDU4NDk1NyIsIl8weDRjMWYyMCIsIl8weDViMzQzNCIsIl8weDIyYjUyZSIsIl8weDQ0NDM1MiIsIl8weDRjYzZlOSIsIl8weDQyNDI2ZiIsIl8weDVkMmM1YyIsIl8weGI5ZWY3MyIsIl8weGU4M2FiMCIsIl8weDExNDljNCIsIl8weDFiYzZiMSIsIl8weGY0NTlmZSIsIl8weDU1MWNiMyIsIl8weDJkZTNjMiIsIl8weDZkMTRiZiIsIl8weDI3YmQ1NiIsIl8weDM5ZDBiOSIsIl8weDQ2YTUyZSIsIl8weDFjOGNjYSIsIl8weDI5N2Y2ZSIsIl8weDY2MzdmYSIsIl8weDNmYjdjMCIsIl8weDIwMjcxYyIsIl8weDU4NDM0MCIsIl8weDJiMDZiMCIsImJvZHkiLCJfMHgyMDRmMjkiLCJ1cmwiLCJfMHgzOWI2YjMiLCJfMHgxYWI5NzYiLCJfMHgzMmFhMmEiLCJfMHgzOTNkZmMiLCJfMHhmOTI1ZDIiLCJfMHgxNjdlNjkiLCJfMHgxZGUxNTMiLCJfMHg1OWMyYTAiLCJBcnJheSIsIl8weDNlMGYyOCIsIl8weDUwZjgxNCIsIl8weDM1ZDFkOCIsIl8weDUxNGMxZCIsIl8weDI1YjQwMyIsIl8weDFmMTJmYyIsInNlY3VyaXR5TW9kZSIsIl8weDJkMWZlZCIsInNlY3VyaXR5UG9saWN5IiwiXzB4MjJhNDJiIiwidXNlcklkZW50aXR5VHlwZSIsIl8weDQ2ZTQ0NSIsImNyZWRlbnRpYWxzIiwiXzB4M2I1ZjE3IiwibmFtZXNwYWNlQWxpYXNlcyIsIl8weDRlMmYwYSIsIl8weDJkZDhlZSIsIl8weDJlZGNmOSIsIl8weDIwZjUyMyIsIl8weDJhOGM1MyIsIl8weDQzMGFjMyIsIl8weDEyZWI3ZSIsIl8weDNjNjdmYSIsIl8weDM5NGU4ZiIsIl8weDM2ZjcyNyIsIl8weDI0NjQ5NSIsIl8weDE4Y2Q0MyIsIl8weDFjMTk3YiIsIl8weDJlYTU3NyIsIl8weDMzZjE1OSIsIl8weDUxNWFjMyIsIl8weDM3NWM2MiIsIl8weDJkMTQ0MSIsIl8weDIxOGM0NyIsIl8weDQ1NTMxOSIsIl8weDRhMjEyMSIsIl8weDUwNjIwOSIsIl8weGY1ZDZkMSIsIl8weDJiM2U1ZiIsIl8weDM3MjhkNSIsIl8weDM0NWQwYSIsIl8weDJiOTJlZCIsIl8weDMxYmNkOCIsIl8weDNmZDQzMiIsIl8weDVlMmMyOSIsIl8weDMxMjRhMCIsIl8weDU4ZWY1NiIsIl8weGI5ODRkYiIsIl8weGFjZWFhIiwiXzB4MjE3Y2ZlIiwiXzB4YmMyYzk0IiwiXzB4NTc0ZWE0IiwiXzB4NDA5M2ZiIiwiXzB4MjgzZWQ5IiwiXzB4MzlmYTE4IiwiXzB4MTk2MGQ0IiwiXzB4MjI2OTY4IiwibmF2aWdhdG9yIiwiXzB4MmY3MDRlIiwiXzB4NWVhNTA3IiwiXzB4NDFhZGY3Il0sIm1hcHBpbmdzIjoiKzVNQUFBLENBQUMsVSxDQUNHLGEsd0JBbUJBLFNBQVNBLFNBQVQsQ0FBbUJDLFNBQW5CLENBQTRCQyxTQUE1QixDQUF3Q0MsU0FBeEMsQ0FBMkNDLFNBQTNDLEMsQ0FDSSxTQUFTQyxTQUFULENBQWVDLFNBQWYsQyxRQUErQkEsU0FBQSxZQUFpQkgsU0FBakIsQ0FBcUJHLFNBQXJCLENBQTZCLElBQUlILFNBQUosQ0FBTSxTQUFVSSxTQUFWLEMsQ0FBcUJBLFNBQUEsQ0FBUUQsU0FBUixDLEVBQTNCLEMsU0FDckQsR0FBSyxDQUFBSCxTQUFBLEVBQU0sQ0FBQUEsU0FBQSxDQUFJSyxPQUFKLENBQU4sQ0FBTCxDQUF5QixTQUFVQyxTQUFWLENBQW1CQyxTQUFuQixDLHlCQUM1QixTQUFTQyxTQUFULENBQW1CQyxTQUFuQixDLHlCQUE0QixHLENBQU1DLFNBQUEsQ0FBS1QsU0FBQSxDLGVBQUEsRUFBZVEsU0FBZixDQUFMLEMsRUFBK0IsTUFBT0UsU0FBUCxDLENBQVlKLFNBQUEsQ0FBT0ksU0FBUCxDLEdBQzdFLFNBQVNDLFNBQVQsQ0FBa0JDLFNBQWxCLEMsQ0FBMkIsRyxDQUFNSCxTQUFBLENBQUtULFNBQUEsQyxPQUFB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RSxPQUFBLENBQXVCLEksMkJBRW5CQyxTQUFBLEMsZ0JBQUEsRSxXQUFBLEVBQThCcFYsSUFBQSxDLFdBQUEsRUFBZWtWLFNBQWYsQ0FBOUIsQyxFQUZKLEMsQ0FLQTdFLFNBQUEsQyxnQkFBQSxDQUEwQm1ELFNBQTFCLENBQXdDLEtBQU8sQyxLQUMzQyxDLHdDQUQyQyxDLE1BRTNDLENBQU0sQyxjQUNGLENBQWNaLFNBQUEsRUFEWixDLFVBRUYsQ0FBVVEsU0FBQSxDLEtBQUEsR0FGUixDLFVBR0YsQ0FBVUMsU0FBQSxDLGdCQUFBLEdBSFIsQ0FGcUMsQ0FBUCxDQUF4QyxDQU9JLENBQUNnQyxTQUFELENBQU1DLFNBQU4sRyw4QkFDSUQsUyxDQUNBLE9BR0osTUFBTUUsU0FBQSxDQUFxQkQsU0FBQSxDLGVBQUEsQ0FBM0IsQ0FDQW5DLFNBQUEsQ0FBWW1DLFNBQUEsQyxnQkFBQSxDLENBQ1poQyxTQUFBLEMsZ0JBQUEsRyxDQUNBQyxTQUFBLEMsZ0JBQUEsRyxDQUNBdUIsU0FBQSxDQUFvQnhCLFNBQXBCLENBQThDaUMsU0FBQSxDLGdCQUFBLENBQTlDLEMsQ0FDQVQsU0FBQSxDQUFvQnZCLFNBQXBCLENBQStDZ0MsU0FBQSxDLGlCQUFBLENBQS9DLEMsQ0FDQUwsU0FBQSxDQUFjSSxTQUFBLEMsZ0JBQUEsR0FBb0MsRSxDQUNsREgsU0FBQSxDLGdCQUFBLEcsQ0FDQUMsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsRUFBOEJwVixJQUFBLEMsZ0JBQUEsRUFBZWtWLFNBQWYsQ0FBOUIsQyxDQUNBalYsT0FBQSxDLGdCQUFBLEUsTUFBQSxDQUFvQkQsSUFBQSxDLGdCQUFBLEVBQWVrVixTQUFmLENBQXBCLEMsQ0FDQWpWLE9BQUEsQyxnQkFBQSxFLGdCQUFBLENBQW9CcVYsU0FBcEIsQyxFQXRCSixDLEVBdElxQyxDLFlBK0p6QyxFLEVBL0p5QyxDQUE3QyxDLEVBeG9DSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sLCBJdGVyYXRvciAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGNvbnN0IE9yZ2FuaXplc1JlZk5vZGVJZCA9IFwibnM9MDtpPTM1XCI7XG4gICAgY29uc3QgRm9sZGVyVHlwZSA9IFwibnM9MDtpPTYxXCI7XG4gICAgY29uc3QgSGFzQ29tcG9uZW50UmVmTm9kZUlkID0gXCJucz0wO2k9NDdcIjtcbiAgICBjb25zdCBIYXNQcm9wZXJ0eVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ2XCI7XG4gICAgY29uc3QgSGFzQ2hpbGRSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNFwiO1xuICAgIGNvbnN0IEhhc1N1YnR5cGVSZWZOb2RlSWQgPSBcIm5zPTA7aT00NVwiO1xuICAgIGNvbnN0IEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkID0gXCJucz0wO2k9NDBcIjtcblxuICAgIHZhciBCcm93c2VEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChCcm93c2VEaXJlY3Rpb24pIHtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkZvcndhcmRcIl0gPSAwXSA9IFwiRm9yd2FyZFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52ZXJzZVwiXSA9IDFdID0gXCJJbnZlcnNlXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJCb3RoXCJdID0gMl0gPSBcIkJvdGhcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmFsaWRcIl0gPSAzXSA9IFwiSW52YWxpZFwiO1xuICAgIH0pKEJyb3dzZURpcmVjdGlvbiB8fCAoQnJvd3NlRGlyZWN0aW9uID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzKSB7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJVbnNwZWNpZmllZFwiXSA9IDBdID0gXCJVbnNwZWNpZmllZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3MgfHwgKE5vZGVDbGFzcyA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzc01hc2s7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3NNYXNrKSB7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3NNYXNrIHx8IChOb2RlQ2xhc3NNYXNrID0ge30pKTtcbiAgICB2YXIgUmVzdWx0TWFzaztcbiAgICAoZnVuY3Rpb24gKFJlc3VsdE1hc2spIHtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDFdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIklzRm9yd2FyZFwiXSA9IDJdID0gXCJJc0ZvcndhcmRcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiTm9kZUNsYXNzXCJdID0gNF0gPSBcIk5vZGVDbGFzc1wiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJCcm93c2VOYW1lXCJdID0gOF0gPSBcIkJyb3dzZU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiRGlzcGxheU5hbWVcIl0gPSAxNl0gPSBcIkRpc3BsYXlOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlR5cGVEZWZpbml0aW9uXCJdID0gMzJdID0gXCJUeXBlRGVmaW5pdGlvblwiO1xuICAgIH0pKFJlc3VsdE1hc2sgfHwgKFJlc3VsdE1hc2sgPSB7fSkpO1xuICAgIC8vICBjb25zdCBxID0gUmVmZXJlbmNlVHlwZUlkcy5Pcmdhbml6ZXM7XG4gICAgZnVuY3Rpb24gcmVzb2x2ZU5vZGVJZChub2RlSWRMaWtlKSB7XG4gICAgICAgIHN3aXRjaCAobm9kZUlkTGlrZSkge1xuICAgICAgICAgICAgY2FzZSBcIk9yZ2FuaXplc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBPcmdhbml6ZXNSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzUHJvcGVydHlcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzUHJvcGVydHlSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ29tcG9uZW50XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NvbXBvbmVudFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDaGlsZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDaGlsZFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNTdWJ0eXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1N1YnR5cGVSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzVHlwZURlZmluaXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBnZXRJY29uID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJlZmVyZW5jZS5ub2RlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gT3JnYW5pemVzUmVmTm9kZUlkKSA7XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS50eXBlRGVmaW5pdGlvbiA9PT0gRm9sZGVyVHlwZSB8fCByZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBcImk9NjFcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWZvbGRlclwiLCBjb2xvcjogXCJyZ2JhKDYxLCA2MCwgNCwgMC41MjUpXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiU2VhR3JlZW5cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc0NvbXBvbmVudFJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIlN0ZWVsQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc1Byb3BlcnR5UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiRG9kZ2VyQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIk1ldGhvZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtY29nXCIsIGNvbG9yOiBcIlNhbmR5QnJvd25cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXNsaWRlcnNcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiRGF0YVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXRleHQtd2lkdGhcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXF1ZXN0aW9uXCIsIGNvbG9yOiBcImdyZXlcIiB9O1xuICAgIH07XG5cbiAgICBjb25zdCBicm93c2UgPSAoX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQsIHRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9icm93c2VgO1xuICAgICAgICBjb25zdCBicm93c2VEZXNjcmlwdGlvbiA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGVtcGxhdGUpLCB7IG5vZGVJZCwgcmVzdWx0TWFzazogNjMgfSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIGJyb3dzZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXM6IFtdIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJicm93c2UgZmV0Y2hlZCA6IFwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IHJlc3BvbnNlLmJyb3dzZVJlc3VsdC5yZWZlcmVuY2VzIHx8IFtdO1xuICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTEgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc0NoaWxkXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3QgdGVtcGxhdGUyID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJPcmdhbml6ZXNcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB3YWxrQmFja3dhcmQgPSAoX2EsIF9iKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIF9iXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCB7IG5vZGVJZCwgcm9vdE5vZGVJZCwgaXNUeXBlIH0pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWZvci1ub2RlLXJlZGA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L3dhbGstYmFja3dhcmRgO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgcm9vdE5vZGVJZCxcbiAgICAgICAgICAgICAgICBpc1R5cGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIGpzb24uYnJvd3NlUGF0aDtcbiAgICB9KTtcbiAgICBjb25zdCBjaG9vc2VOb2RlSWQgPSAoZGF0YSwgbW9kZSkgPT4ge1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXNDb2RlICE9PSBcIkdvb2RcIikge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGEucmVxdWVzdGVkTm9kZUlkO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5icF9pbmRleGVkO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEuYnBfYWxpYXNlZCB8fCBkYXRhLmJwX2luZGV4ZWQ7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZE5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBkYXRhLm5vZGVJZF9hbGlhc2VkIHx8IGRhdGEubm9kZUlkX25zdTtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWRfbnN1O1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGNhc2UgXCJub2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YS5ub2RlSWQ7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG1ha2VUb29sdGlwID0gKGRhdGEpID0+IHtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBgc3RhdHVzQ29kZTogJHtkYXRhLnN0YXR1c0NvZGV9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBzdHIgPSBbXTtcbiAgICAgICAgICAgIHN0ci5wdXNoKGBub2RlSWQ6ICR7ZGF0YS5ub2RlSWR9YCk7XG4gICAgICAgICAgICBzdHIucHVzaChgYnJvd3NlIHBhdGg6ICR7ZGF0YS5icF9pbmRleGVkfWApO1xuICAgICAgICAgICAgc3RyLnB1c2goYG5vZGUgY2xhc3M6ICR7Tm9kZUNsYXNzW2RhdGEubm9kZUNsYXNzXX1gKTtcbiAgICAgICAgICAgIGlmIChkYXRhLm5vZGVJZF9uc3UpIHtcbiAgICAgICAgICAgICAgICBzdHIucHVzaChgbnN1IG5vZGVJZDogJHtkYXRhLm5vZGVJZF9uc3V9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlSWRfYWxpYXNlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIE5vZGVJZDogJHtkYXRhLm5vZGVJZF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRhdGEuYnBfaW5kZXhlZCkge1xuICAgICAgICAgICAgICAgIHN0ci5wdXNoKGBhbGlhc2VkIGJyb3dzZVBhdGg6ICR7ZGF0YS5icF9hbGlhc2VkfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0ci5qb2luKFwiXFxuXCIpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBmdW5jdGlvbiBmaWd1cmVPdXRNb2RlKGVuaGFuY2VkTm9kZUlkKSB7XG4gICAgICAgIGlmIChlbmhhbmNlZE5vZGVJZC5tYXRjaCgvXm5zdT0vKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwibnN1Tm9kZUlEXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuaGFuY2VkTm9kZUlkLm1hdGNoKC9eKG5zPS4qOyk/KGl8YnxzfGcpPS8pKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJub2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL15uc2E9LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImFsaWFzZWROb2RlSWRcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLilbMC05XSs6LykpIHtcbiAgICAgICAgICAgIHJldHVybiBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5oYW5jZWROb2RlSWQubWF0Y2goL14oXFwvfFxcLikuKjovKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiYnJvd3NlUGF0aFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZpZ3VyZU91dE1lblVJdGVtVmFsdWUoc3RyKSB7XG4gICAgICAgIGNvbnN0IG1vZGUgPSBmaWd1cmVPdXRNb2RlKHN0cik7XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSBcIm5vZGVJZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5cIjtcbiAgICAgICAgICAgIGNhc2UgXCJhbGlhc2VkTm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwibmFcIjtcbiAgICAgICAgICAgIGNhc2UgXCJuc3VOb2RlSURcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuc3VcIjtcbiAgICAgICAgICAgIGNhc2UgXCJicm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYlwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWRCcm93c2VQYXRoXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiYWJcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwidFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRvTW9kZSh2KSB7XG4gICAgICAgIGxldCBtb2RlO1xuICAgICAgICBzd2l0Y2ggKHYpIHtcbiAgICAgICAgICAgIGNhc2UgXCJuXCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibmFcIjpcbiAgICAgICAgICAgICAgICBtb2RlID0gXCJhbGlhc2VkTm9kZUlkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwibnN1XCI6XG4gICAgICAgICAgICAgICAgbW9kZSA9IFwibnN1Tm9kZUlEXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwiYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImJyb3dzZVBhdGhcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgXCJhYlwiOlxuICAgICAgICAgICAgICAgIG1vZGUgPSBcImFsaWFzZWRCcm93c2VQYXRoXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG1vZGU7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGZyb21Nb2RlKG1vZGUpIHtcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlIFwibm9kZUlkXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiblwiO1xuICAgICAgICAgICAgY2FzZSBcImFsaWFzZWROb2RlSWRcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJuYVwiO1xuICAgICAgICAgICAgY2FzZSBcIm5zdU5vZGVJRFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBcIm5zdVwiO1xuICAgICAgICAgICAgY2FzZSBcImJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJiXCI7XG4gICAgICAgICAgICBjYXNlIFwiYWxpYXNlZEJyb3dzZVBhdGhcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJhYlwiO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJ0XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgX2NhbGxDaGVja05vZGVJZCA9IChfYSwgbm9kZUlkXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbm9kZUlkXzFdLCB2b2lkIDAsIGZ1bmN0aW9uKiAoeyBlbmRwb2ludE5vZGUsIGVuZHBvaW50LCBiYXNlVXJsIH0sIG5vZGVJZCkge1xuICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZm9yLW5vZGUtcmVkYDtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7cm9vdH0vY2hlY2tOb2RlSWRgO1xuICAgICAgICBjb25zdCBlSWQgPSBlbmRwb2ludE5vZGUuaWQ7XG4gICAgICAgIGNvbnN0IG4gPSBSRUQubm9kZXMubm9kZShlSWQpO1xuICAgICAgICBjb25zb2xlLmxvZyhuLm5hbWVzcGFjZUFsaWFzZXMpO1xuICAgICAgICBuLm5hbWVzcGFjZUFsaWFzZXM7XG4gICAgICAgIGNvbnN0IG5hbWVzcGFjZUFsaWFzZXMgPSBlbmRwb2ludE5vZGUubmFtZXNwYWNlQWxpYXNlcztcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGpzb24gPSAoeWllbGQgZGF0YS5qc29uKCkpO1xuICAgICAgICByZXR1cm4geyBqc29uLCBkYXRhIH07XG4gICAgfSk7XG4gICAgY29uc3QgaW50ZXJuYWxWZXJpZnkgPSAoX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG1vZGVfMSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBtb2RlLCAkaW5wdXRFbGVtZW50LCAkaW5mbykge1xuICAgICAgICBjb25zdCBlbmhhbmNlZE5vZGVJZCA9ICRpbnB1dEVsZW1lbnQudmFsKCk7XG4gICAgICAgIGNvbnN0IHsganNvbiwgZGF0YSB9ID0geWllbGQgX2NhbGxDaGVja05vZGVJZCh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgZW5oYW5jZWROb2RlSWQpO1xuICAgICAgICBjb25zdCBzZXROb3RpZmljYXRpb24gPSAodGV4dCwgY2xhc3NOYW1lKSA9PiB7XG4gICAgICAgICAgICAkaW5mby50ZXh0KHRleHQpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5mb1wiKS5hZGRDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgJGluZm8uc2hvdygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgJGluZm8ucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICAkaW5mby5oaWRlKCk7XG4gICAgICAgICAgICB9LCAzMDAwKTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZztcbiAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihcIiEhZmFpbHVyZSEhXCIgKyBlbmhhbmNlZE5vZGVJZCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGpzb24uc3RhdHVzQ29kZS5tYXRjaCgvR29vZC8pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdG9vbHRpcCA9IG1ha2VUb29sdGlwKGpzb24pO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQuYXR0cihcInRpdGxlXCIsIHRvb2x0aXApO1xuICAgICAgICAgICAgICAgIC8vIGRvIHNvbWV0aGluZ1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICRpbnB1dEVsZW1lbnQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiR29vZFwiLCBcIm9rXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoYCR7ZW5oYW5jZWROb2RlSWR9YCk7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKGAke2pzb24uc3RhdHVzQ29kZX0gJHtkYXRhLnN0YXR1c1RleHR9YCwgXCJmYWlsdXJlXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGZldGNoQ2hpbGRyZW4oJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTEpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MiA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFsuLi5icm93c2VSZXN1bHQxLnJlZmVyZW5jZXMsIC4uLmJyb3dzZVJlc3VsdDIucmVmZXJlbmNlc10sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgdGVtcGxhdGVTVCA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzU3VidHlwZVwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8IE5vZGVDbGFzcy5PYmplY3RUeXBlIHwgTm9kZUNsYXNzLkRhdGFUeXBlIHwgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBmdW5jdGlvbiBmZXRjaFN1YnR5cGVzKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGVTVCk7XG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlUmVzdWx0MTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG1ha2VFbGVtZW50ID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgICAgIGlmICghcmVmZXJlbmNlIHx8ICFyZWZlcmVuY2Uubm9kZUlkKSB7XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaT48aSBjbGFzcz1cImZhIGZhLWVycm9yXCIgc3R5bGU9XCJjb2xvcjpyZWQ7XCI+PC9pPm5vIHJlZmVyZW5jZSAhPHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuID0gcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB0ID0gKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgeyBpY29uLCBjb2xvciB9ID0gZ2V0SWNvbihyZWZlcmVuY2UpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IGAoJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9KSAkeygoX2MgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLm5hbWUpIHx8ICgoX2QgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC50ZXh0KSB8fCBcIlwifWA7XG4gICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpIGtleT1cIiR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfVwifT48c3BhbiBjbGFzcz1cInRyZWUtdGV4dFwiIHRpdGxlPSR7dGl0bGV9PjxpIGNsYXNzPVwiZmEgJHtpY29ufVwiIHN0eWxlPVwiY29sb3I6JHtjb2xvcn07XCI+PC9pPiAke3R9PC9zcGFuPjx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICRlbGVtZW50LmFkZENsYXNzKFwiZXhwYW5kYWJsZVwiKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInZhbHVlXCIsIG4pO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICB9O1xuICAgIGNvbnN0IGZpbmRFbGVtZW50ID0gKG5vZGVJZCwgJHRyZWUpID0+IHtcbiAgICAgICAgcmV0dXJuICR0cmVlLmZpbmQoYGxpW2tleT1cIiR7bm9kZUlkfVwiXWApO1xuICAgIH07XG4gICAgY29uc3Qgc2VsZWN0U2luZ2xlID0gKHRoYXQsICRsaSkgPT4ge1xuICAgICAgICB0aGF0LiR0cmVlLmZpbmQoXCJsaSA+IC50cmVlLXRleHRcIikucmVtb3ZlQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICAgICAgLy8gY2xlYXIgYWxsIHNlbGVjdGVkIGl0ZW1zXG4gICAgICAgICRsaS5maW5kKFwiLnRyZWUtdGV4dDpmaXJzdFwiKS5hZGRDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgIH07XG4gICAgY29uc3QgYXV0b0V4cGFuZCA9ICh0aGF0LCBicm93c2VQYXRoLCAkdHJlZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIC8vIGV4cGFuZCB0aGUgdHJlZSB0byBzaG93IHRoZSBub2RlSWRcbiAgICAgICAgbGV0ICRjdXJyZW50ID0gJHRyZWUuY2hpbGRyZW4oXCI6Zmlyc3RcIik7XG4gICAgICAgIGJyb3dzZVBhdGgucmVsYXRpdmVQYXRoLmVsZW1lbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBub2RlSWRzID0gYnJvd3NlUGF0aC5ub2RlSWRzIHx8IFtdO1xuICAgICAgICBpZiAobm9kZUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG4gb2Ygbm9kZUlkcykge1xuICAgICAgICAgICAgaWYgKCRjdXJyZW50Lmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gZXhwYW5kIGFuZCBzZWxlY3QgdGhlIHJpZ2h0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICB5aWVsZCBfZXhwYW5kTGkodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBmaW5kRWxlbWVudChuLCAkY3VycmVudCk7XG4gICAgICAgICAgICBpZiAoJGVsZW1lbnQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGN1cnJlbnQgPSAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICBzY3JvbGxUb0xpKHRoYXQuJGRyb3Bkb3duLCAkY3VycmVudCk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gc2Nyb2xsVG9MaSgkY29udGFpbmVyLCAkdGFyZ2V0TGkpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFyZ2V0IGl0ZW0gcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBsaVBvcyA9ICR0YXJnZXRMaS5wb3NpdGlvbigpLnRvcDtcbiAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclNjcm9sbFRvcCA9ICRjb250YWluZXIuc2Nyb2xsVG9wKCk7XG4gICAgICAgIGlmIChjb250YWluZXJTY3JvbGxUb3AgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBwb3NpdGlvbiB0byBzY3JvbGwgdG8gKGN1cnJlbnQgc2Nyb2xsICsgaXRlbSdzIHBvc2l0aW9uKVxuICAgICAgICAvLyBBZGp1c3QgdGhpcyBjYWxjdWxhdGlvbiBiYXNlZCBvbiB5b3VyIG5lZWRzXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvID0gY29udGFpbmVyU2Nyb2xsVG9wICsgbGlQb3MgLSAkY29udGFpbmVyLmhlaWdodCgpIC8gMiArICR0YXJnZXRMaS5oZWlnaHQoKSAvIDI7XG4gICAgICAgIC8vIFNjcm9sbCB0aGUgY29udGFpbmVyIHRvIGVuc3VyZSB0aGUgaXRlbSBpcyB2aXNpYmxlXG4gICAgICAgICRjb250YWluZXIuYW5pbWF0ZSh7XG4gICAgICAgICAgICBzY3JvbGxUb3A6IHNjcm9sbFRvLFxuICAgICAgICB9LCA1MDApOyAvLyBBZGp1c3QgdGhlIGR1cmF0aW9uICg1MDBtcykgYXMgbmVlZGVkXG4gICAgfVxuICAgIGNvbnN0IHJlYWNoU2VsZWN0aW9uID0gKHRoYXQsIHBhcmVudE5vZGUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBub2RlSWQgPSB0aGF0LiRpbnB1dC52YWwoKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgIHJvb3ROb2RlSWQ6IHBhcmVudE5vZGUubm9kZUlkLFxuICAgICAgICAgICAgaXNUeXBlOiB0aGF0Lm9wdGlvbnMuaXNUeXBlUmVmIHx8IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgIGNvbnN0IGJyb3dzZVBhdGggPSB5aWVsZCB3YWxrQmFja3dhcmQoZGF0YSwgb3B0aW9ucyk7XG4gICAgICAgIGlmICghYnJvd3NlUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkIGF1dG9FeHBhbmQodGhhdCwgYnJvd3NlUGF0aCwgdGhhdC4kdHJlZSk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJG5vZGUsIGZldGNoRnVuYywgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBmZXRjaGVkXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImxvYWRpbmdcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgbG9hZGluZ1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgICAgICAkbm9kZS5hcHBlbmQoJzxkaXYgY2xhc3M9XCJzcGlubmVyXCI+PC9kaXY+Jyk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlZmVyZW5jZXMgfSA9IHlpZWxkIGZldGNoRnVuYygkbm9kZSwgZGF0YSk7XG4gICAgICAgICAgICAgICAgLy8gc29ydCByZWZlcmVuY2UgICBieSBicm93c2VOYW1lXG4gICAgICAgICAgICAgICAgcmVmZXJlbmNlcy5zb3J0KChhLCBiKSA9PiB7IHZhciBfYSwgX2I7IHJldHVybiAoKChfYSA9IGEuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5hbWUpIHx8IFwiXCIpLmxvY2FsZUNvbXBhcmUoKChfYiA9IGIuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IFwiXCIpOyB9KTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlZmVyZW5jZSBvZiByZWZlcmVuY2VzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuZmlsdGVyICYmICF0aGF0Lm9wdGlvbnMuZmlsdGVyKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocmVmZXJlbmNlKTtcbiAgICAgICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImZldGNoZWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgJG5vZGUuY2hpbGRyZW4oXCJ1bFwiKS5hcHBlbmQoYDxsaT5lcnJvciAke2Vyci5tZXNzYWdlfTwvbGk+YCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRub2RlLmZpbmQoXCIuc3Bpbm5lclwiKS5yZW1vdmUoKTtcbiAgICAgICAgICAgICRub2RlLnJlbW92ZUNsYXNzKFwibG9hZGluZ1wiKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG1ha2VDb25uZWN0aW9uKHRoYXQpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgIGJhc2VVcmw6IHRoYXQub3B0aW9ucy5iYXNlVXJsLFxuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB0eXBlb2YgdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSgpIDogdGhhdC5vcHRpb25zLmVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB0eXBlb2YgdGhhdC5vcHRpb25zLmVuZHBvaW50ID09PSBcImZ1bmN0aW9uXCIgPyB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludCxcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuICAgIGZ1bmN0aW9uIF9leHBhbmRMaSh0aGF0LCAkbGkpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJmZXRjaGVkXCIpKSB7XG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZldGNoIG5ldyBkYXRhIGZvciB0aGlzIG5vZGVcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgIGNvbnN0IGYgPSAhdGhhdC5vcHRpb25zLmlzVHlwZVJlZiA/IGZldGNoQ2hpbGRyZW4gOiBmZXRjaFN1YnR5cGVzO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB5aWVsZCBfZmV0Y2hEYXRhRm9yTm9kZSh0aGF0LCAkbGksIGYsIGRhdGEpO1xuICAgICAgICAgICAgICAgIC8vIG1hcmsgYXMgZXhwYW5kZWRcbiAgICAgICAgICAgICAgICAkbGkucmVtb3ZlQ2xhc3MoXCJleHBhbmRhYmxlXCIpLmFkZENsYXNzKFwiZXhwYW5kZWRcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyb3JcIiwgZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IGRlZmF1bHRQYXJlbnROb2RlID0ge1xuICAgICAgICBicm93c2VOYW1lOiB7IG5hbWVzcGFjZUluZGV4OiAwLCBuYW1lOiBcIk9iamVjdHNcIiB9LFxuICAgICAgICBub2RlQ2xhc3M6IFwiT2JqZWN0XCIsXG4gICAgICAgIG5vZGVJZDogXCJucz0wO2k9ODVcIixcbiAgICAgICAgZGlzcGxheU5hbWU6IHsgdGV4dDogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgdHlwZURlZmluaXRpb246IEZvbGRlclR5cGUsXG4gICAgfTtcbiAgICBjb25zdCBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBbIFRlbXBlcmF0dXJlICBdXG4gICAgICAgICAqICAgKCB0b29sdGlwIDogKC9PYmplY3RzL015U2Vuc29yKSAobnM9MTtzPVRlbXBlcmF0dXJlKSlcbiAgICAgICAgICogWyArIFtGb2xkZXJdIE9iamVjdHNdXG4gICAgICAgICAqIFsgICAgIFtPYmplY3RdIE15U2Vuc29yXVxuICAgICAgICAgKiBbICAgICAoICkgW1ZhcmlhYmxlXSBUZW1wZXJhdHVyZV1cbiAgICAgICAgICovXG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubm9kZUJyb3dzZXJcIiwge1xuICAgICAgICAgICAgLyogZGVmYXVsdCBvcHRpb25zICovXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiAoKSA9PiAoeyBlbmRwb2ludDogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0M1wiIH0pLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50OiAoKSA9PiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZTogKCkgPT4gZGVmYXVsdFBhcmVudE5vZGUsXG4gICAgICAgICAgICAgICAgZmlsdGVyOiAoKSA9PiB0cnVlLFxuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICAgICAgaXNUeXBlUmVmOiBmYWxzZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNvbHZlUGFyZW50Tm9kZSgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoYXQuX19wYXJlbnROb2RlID09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHR5cGVvZiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZSA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLnBhcmVudE5vZGUuY2FsbCh0aGF0KSA6IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGEgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVzYyA9IHlpZWxkIGE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fX3BhcmVudE5vZGUgPSBkZXNjO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC5fX3BhcmVudE5vZGUgPSBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGF0Ll9fcGFyZW50Tm9kZSB8fCBkZWZhdWx0UGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXNldCgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgLy8gYWxzbyByZXNldCBwYXJlbnQgbm9kZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gdGhhdDtcbiAgICAgICAgICAgICAgICAgICAgYS5fX3BhcmVudE5vZGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyZW50Tm9kZSA9IHlpZWxkIHRoaXMucmVzb2x2ZVBhcmVudE5vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBtYWtlRWxlbWVudChwYXJlbnROb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5hcHBlbmQoJGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LmN1cnJlbnRQYXJlbnQgPSBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHZlcmlmeShtb2RlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICBpbnRlcm5hbFZlcmlmeShkYXRhLCBtb2RlLCB0aGF0LiRpbnB1dCwgdGhhdC4kaW5mbykudGhlbigoc3VjY2VzcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtaW5wdXQtZXJyb3JcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5yZW1vdmVDbGFzcyhcInN0ZXJmaXZlLWlucHV0LWVycm9yXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2hpZGVNZW51KG1lbnUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vZmYoXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtY2xvc2UtcHJvcGVydHktc2VsZWN0XCIpO1xuICAgICAgICAgICAgICAgIG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAobWVudS5vcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IFtdO1xuICAgICAgICAgICAgICAgICAgICBtZW51LmZpbmQoJ2lucHV0W3R5cGU9XCJjaGVja2JveFwiXScpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC5wdXNoKCQodGhpcykuZGF0YShcInZhbHVlXCIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2soc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kZWxlbWVudERpdi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgLy94eCB9IGVsc2UgaWYgKHRoaXMuJG9wdGlvblNlbGVjdFRyaWdnZXIuaXMoXCI6dmlzaWJsZVwiKSkge1xuICAgICAgICAgICAgICAgICAgICAvL3h4ICAgICB0aGF0LiRvcHRpb25TZWxlY3RUcmlnZ2VyLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIudHJpZ2dlcihcImZvY3VzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlTWVudShtZW51T3B0aW9ucywgb3B0cywgY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVudSA9ICQoXCI8ZGl2PlwiKS5hZGRDbGFzcyhcInN0ZXJmaXZlLXR5cGVkSW5wdXQtb3B0aW9ucyBzdGVyZml2ZS1vbmxpbmUtbWVudVwiKTtcbiAgICAgICAgICAgICAgICBtZW51Lm9wdHMgPSBvcHRzO1xuICAgICAgICAgICAgICAgIG1lbnUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICAgICAgICAgICAgICBtZW51T3B0aW9ucy5mb3JFYWNoKChvcHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHQgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdCA9IHsgdmFsdWU6IG9wdCwgbGFiZWw6IG9wdCB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHZhciBvcCA9ICQoJzxhIGhyZWY9XCIjXCI+PC9hPicpLmF0dHIoXCJ2YWx1ZVwiLCBvcHQudmFsdWUpLmFwcGVuZFRvKG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAob3B0LmxhYmVsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcC50ZXh0KG9wdC5sYWJlbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3AucHJvcChcInRpdGxlXCIsIG9wdC50aXRsZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKG9wdC5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAob3B0Lmljb24uaW5kZXhPZihcIjxcIikgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG9wdC5pY29uKS5wcmVwZW5kVG8ob3ApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAob3B0Lmljb24uaW5kZXhPZihcIi9cIikgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIjxpPlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzOiBcInJlZC11aS10eXBlZElucHV0LWljb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IFwibWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7IC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiICsgb3B0Lmljb24gKyBcIik7XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCI8aT5cIiwgeyBjbGFzczogXCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIFwiICsgb3B0Lmljb24gfSkucHJlcGVuZFRvKG9wKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLmNzcyh7IHBhZGRpbmdMZWZ0OiBcIjE4cHhcIiB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoIW9wdC5pY29uICYmICFvcHQubGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wLnRleHQob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgY2I7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYiA9ICQoJzxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIj4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jc3MoXCJwb2ludGVyLWV2ZW50c1wiLCBcIm5vbmVcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZGF0YShcInZhbHVlXCIsIG9wdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucHJlcGVuZFRvKG9wKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcIm1vdXNlZG93blwiLCBmdW5jdGlvbiAoZXZ0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvcC5vbihcImNsaWNrXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvcHRzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2sob3B0LnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNiLnByb3AoXCJjaGVja2VkXCIsICFjYi5wcm9wKFwiY2hlY2tlZFwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbWVudS5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZXZ0LmtleUNvZGUgPT09IDQwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERPV05cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikubmV4dCgpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMzgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVVBcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oXCI6Zm9jdXNcIikucHJldigpLnRyaWdnZXIoXCJmb2N1c1wiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChldnQua2V5Q29kZSA9PT0gMjcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVTQ0FQRVxuICAgICAgICAgICAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9oaWRlTWVudShtZW51KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lbnU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzYXJtQ2xpY2s6IGZhbHNlLFxuICAgICAgICAgICAgX3Nob3dNZW51KG1lbnUsIHJlbGF0aXZlVG8pIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kaXNhcm1DbGljaykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpc2FybUNsaWNrID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHZhciBwb3MgPSByZWxhdGl2ZVRvLm9mZnNldCgpO1xuICAgICAgICAgICAgICAgIHZhciBoZWlnaHQgPSByZWxhdGl2ZVRvLmhlaWdodCgpO1xuICAgICAgICAgICAgICAgIHZhciBtZW51SGVpZ2h0ID0gbWVudS5oZWlnaHQoKTtcbiAgICAgICAgICAgICAgICB2YXIgdG9wID0gaGVpZ2h0ICsgcG9zLnRvcDtcbiAgICAgICAgICAgICAgICBpZiAodG9wICsgbWVudUhlaWdodCAtICQoZG9jdW1lbnQpLnNjcm9sbFRvcCgpID4gJCh3aW5kb3cpLmhlaWdodCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcCAtPSB0b3AgKyBtZW51SGVpZ2h0IC0gJCh3aW5kb3cpLmhlaWdodCgpICsgNTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRvcCA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbWVudS5oZWlnaHQobWVudUhlaWdodCArIHRvcCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcCA9IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1lbnUuY3NzKHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0b3AgKyBcInB4XCIsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHBvcy5sZWZ0ICsgXCJweFwiLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1lbnUuc2xpZGVEb3duKDEwMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fZGVsYXkoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR1aVNlbGVjdC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0LWZvY3VzXCIpO1xuICAgICAgICAgICAgICAgICAgICAkKGRvY3VtZW50KS5vbihcIm1vdXNlZG93bi5yZWQtdWktdHlwZWRJbnB1dC1jbG9zZS1wcm9wZXJ0eS1zZWxlY3RcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KG1lbnUpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX2hpZGVNZW51KG1lbnUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHJlbGF0aXZlVG8pLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuZGlzYXJtQ2xpY2sgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9zaG93VHlwZU1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2hvd01lbnUodGhhdC4kbWVudSwgdGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB0eXBlID0gdGhhdC5zZWxlY3RlZE1lbnVJdGVtO1xuICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZCA9IHRoYXQuJG1lbnUuZmluZChcIlt2YWx1ZT0nXCIgKyB0eXBlICsgXCInXCIpO1xuICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZC50cmlnZ2VyKFwiZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgfSwgMTIwKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfaW5pdE1lbnUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0VHJpZ2dlci5hdHRyKFwidGFiaW5kZXhcIiwgLTEpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIub24oXCJtb3VzZWRvd24ucmVkLXVpLXR5cGVkSW5wdXQtZm9jdXMtYmxvY2tcIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAodGhhdC4kbWVudSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRtZW51LnJlbW92ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBmYS1pZC1jYXJkXG4gICAgICAgICAgICAgICAgY29uc3QgdHlwZUxpc3QgPSBbXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwidGV4dFwiLCB2YWx1ZTogXCJ0XCIsIHRpdGxlOiBcIlZhbHVlIGlzIG5vdCB2ZXJpZmllZFwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1mb250XCIvaT4gJyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJtc2cuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJtc2dcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIm5vZGUgaWQgb3IgIGJyb3dzZSBwYXRoIGNvbWVzIGZyb20gaW5qZWN0ZWQgbXNnIHBhcmFtZXRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtZW52ZWxvcGUtb3Blbi1vXCIvPicsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgbGFiZWw6IFwiTm9kZUlkXCIsIHZhbHVlOiBcIm5cIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjEgJm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJBbGlhc2VkIE5vZGVJZFwiLCB2YWx1ZTogXCJuYVwiLCBpY29uOiAnPGkgY2xhc3M9XCJmYSBmYS1ib29rbWFya1wiLz4mbmJzcDsgJyB9LFxuICAgICAgICAgICAgICAgICAgICB7IGxhYmVsOiBcIk5vZGVJZCB3aXRoIG5hbWVzcGFjZSBVcm5cIiwgdmFsdWU6IFwibnN1XCIsIGljb246ICc8aSBjbGFzcz1cImZhIGZhLWlkLWNhcmRcIi8+Jm5ic3A7ICcgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBsYWJlbDogXCJCcm93c2VQYXRoXCIsIHZhbHVlOiBcImJcIiwgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtdGFnXCIvPjxpIGNsYXNzPVwiZmEgZmEtZmlnaHRlci1qZXRcIi8+Jm5ic3A7JyB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogXCJBbGlhc2VkIEJyb3dzZSBQYXRoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCJhYlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJzxpIGNsYXNzPVwiZmEgZmEtYm9va21hcmtcIi8+PGkgY2xhc3M9XCJmYSBmYS1maWdodGVyLWpldFwiLz4mbmJzcDsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IGZpZ3VyZU91dE1lblVJdGVtVmFsdWUodGhhdC4kaW5wdXQudmFsKCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSBhKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbC5lbXB0eSgpLmFwcGVuZChgPHNwYW4gdGl0bGU9JHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLnRpdGxlKSB8fCBcIlwifT4mbmJzcDsgJHsoZSA9PT0gbnVsbCB8fCBlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlLmljb24pIHx8IFwiXCJ9PC9zcGFuPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuc2VsZWN0ZWRNZW51SXRlbSA9IGE7XG4gICAgICAgICAgICAgICAgY29uc3QgdHQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUgPSB0aGlzLl9jcmVhdGVNZW51KHR5cGVMaXN0LCB7fSwgKHYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9kZSA9IHRvTW9kZSh2KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9uIE1lbnUgc2VsZWN0ZWQgIVxuICAgICAgICAgICAgICAgICAgICAgICAgdHQudmVyaWZ5KG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSB0eXBlTGlzdC5maW5kKCh4KSA9PiB4LnZhbHVlID09PSB2KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5zZWxlY3RlZE1lbnVJdGVtID0gdjtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kc2VsZWN0TGFiZWwuZW1wdHkoKS5hcHBlbmQoYDxzcGFuIHRpdGxlPSR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS50aXRsZSkgfHwgXCJcIn0+Jm5ic3A7ICR7KGUgPT09IG51bGwgfHwgZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZS5pY29uKSB8fCBcIlwifTwvc3Bhbj5gKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiRtZW51LmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpO1xuICAgICAgICAgICAgICAgIHRoYXQuJG1lbnUuaGlkZSgpO1xuICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXIuc2hvdygpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG1vZGUoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRvTW9kZSh0aGF0LnNlbGVjdGVkTWVudUl0ZW0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHNldE1vZGUobW9kZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IHMgPSBmcm9tTW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICB0aGF0LnNlbGVjdGVkTWVudUl0ZW0gPSBzO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF9jcmVhdGUoKSB7XG4gICAgICAgICAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQgPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuY3NzKFwiYm9yZGVyXCIsIFwibm9uZVwiKTtcbiAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC5hZGRDbGFzcyhcInJlZC11aS10eXBlZElucHV0XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGVsZW1lbnREaXYgPSB0aGF0LiRpbnB1dC53cmFwKFwiPGRpdj5cIikucGFyZW50KCkuYWRkQ2xhc3MoXCJtYWluLXdyYXBwZXJcIik7XG4gICAgICAgICAgICAgICAgLy8gI3JlZ2lvbiBDb21ibyBicm93c2VyXG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8gPSAkKFwiPGRpdi8+XCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwic3RlcmZpdmUtY29tYm8tYm94XCIpO1xuICAgICAgICAgICAgICAgIC8vIHRoYXQuJGNvbWJvLmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtaW5wdXQtd3JhcFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5yZXBsYWNlV2l0aCh0aGF0LiRjb21ibyk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cCA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1pbnB1dC1ncm91cFwiKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5wdXRHcm91cCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cC5hcHBlbmQodGhhdC4kaW5wdXQpO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIGFkZCBidXR0b24gb24gdGhlIHJpZ2h0IHNpZGVcbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRvZ2dsZVRyZWVCdG5cbiAgICAgICAgICAgICAgICB0aGF0LiR0b2dnbGVUcmVlQnRuID0gJChgPGJ1dHRvbiB0aXRsZT1cIm9wZW4gT1BDVUEgQWRkcmVzc1NwYWNlIEJyb3dzZXJcIj48aSBjbGFzcz1cImZhIGZhLXNpdGVtYXBcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdG9nZ2xlVHJlZUJ0bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0bi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHBhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGRyb3Bkb3duLmlzKFwiOnZpc2libGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0cmVlIHdpZGdldCBpcyBnb2luZyB0byBiZWNvbWUgdmlzaWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE5vZGUgPSB5aWVsZCB0aGF0LnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmVudE5vZGUgIT09IHRoYXQuY3VycmVudFBhcmVudCB8fCAoKF9hID0gdGhhdC5jdXJyZW50UGFyZW50KSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eubm9kZUlkKSAhPT0gcGFyZW50Tm9kZS5ub2RlSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQgdGhhdC5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5lZWRUb1JlYWNoU2VsZWN0aW9uICYmICh5aWVsZCByZWFjaFNlbGVjdGlvbih0aGF0LCBwYXJlbnROb2RlKSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHZlcmlmeUJ0blxuICAgICAgICAgICAgICAgIHRoYXQuJHZlcmlmeUJ0biA9ICQoYDxidXR0b24gdGl0bGU9XCJ2ZXJpZnkgbm9kZUlkIG9yIGJyb3dzZVBhdGhcIj48aSBjbGFzcz1cImZhIGZhLXJlZnJlc2hcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYWZ0ZXIodGhhdC4kdmVyaWZ5QnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy52ZXJpZnkobW9kZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNlbmRyZWdpb25cbiAgICAgICAgICAgICAgICBjb25zdCBub3JtYWxpemVJbnB1dCA9IChpbnB1dCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb25uZWN0aW9uRGF0YSA9IG1ha2VDb25uZWN0aW9uKHRoYXQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGRhdGEsIGpzb24gfSA9IHlpZWxkIF9jYWxsQ2hlY2tOb2RlSWQoY29ubmVjdGlvbkRhdGEsIGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkTm9kZUlkID0gY2hvb3NlTm9kZUlkKGpzb24sIG1vZGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudmFsKHNlbGVjdGVkTm9kZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgdGhlIHByZXBlbmRlZCBidXR0b25cbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0ID0gJChcIjxkaXY+XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5iZWZvcmUodGhhdC4kdWlTZWxlY3QpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyID0gJCgnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+PC9idXR0b24+JykucHJlcGVuZFRvKHRoYXQuJHVpU2VsZWN0KTtcbiAgICAgICAgICAgICAgICAgICAgJCgnPGkgY2xhc3M9XCJyZWQtdWktdHlwZWRJbnB1dC1pY29uIGZhIGZhLWNhcmV0LWRvd25cIj48L2k+JykudG9nZ2xlKHRydWUpLmFwcGVuZFRvKHRoYXQuJHNlbGVjdFRyaWdnZXIpO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RUcmlnZ2VyLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHNlbGVjdFRyaWdnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImtleWRvd25cIiwgZnVuY3Rpb24gKGV2dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGV2dC5rZXlDb2RlID09PSA0MCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvd25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0Ll9zaG93VHlwZU1lbnUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5vbihcImZvY3VzXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LmFkZENsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAub24oXCJibHVyXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHZhciBvcHQgPSB0aGF0LnR5cGVNYXBbdGhhdC5wcm9wZXJ0eVR5cGVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKG9wdC5oYXNWYWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJHVpU2VsZWN0LnJlbW92ZUNsYXNzKFwicmVkLXVpLXR5cGVkSW5wdXQtZm9jdXNcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRzZWxlY3RMYWJlbCA9ICQoJzxzcGFuIGNsYXNzPVwicmVkLXVpLXR5cGVkSW5wdXQtdHlwZS1sYWJlbFwiPjwvc3Bhbj4nKS5hcHBlbmRUbyh0aGF0LiRzZWxlY3RUcmlnZ2VyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5faW5pdE1lbnUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoYXQuJGlucHV0LmF0dHIoXCJwbGFjZWhvbGRlclwiKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIiwgXCJlbnRlciBhIG5vZGVJZCBvciBhIGJyb3dzZVBhdGggXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyAjcmVnaW9uIHRlbXBvcmF0eSBpbmZvIHBhbmVsXG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mbyA9ICQoYDxkaXYgY2xhc3M9XCJzdGVyZml2ZS1pbmZvLXRleHRcIj48L2Rpdj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21iby5hcHBlbmQodGhhdC4kaW5mbyk7XG4gICAgICAgICAgICAgICAgLy8gI2VuZHJlZ2lvblxuICAgICAgICAgICAgICAgIC8vICNyZWdpb24gZHJvcCBkb3duIHRyZWVcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93biA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1kcm9wZG93blwiKS5oaWRlKCkuYXBwZW5kVG8odGhhdC4kY29tYm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUgPSAkKGA8dWwgY2xhc3M9XCJzdGVyZml2ZS10cmVlXCI+PC91bD5gKS5hcHBlbmRUbyh0aGF0LiRkcm9wZG93bik7XG4gICAgICAgICAgICAgICAgLy8gdGhhdC4kZHJvcGRvd24uc2hvdygpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAvLyAjZW5kcmVnaW9uXG4gICAgICAgICAgICAgICAgY29uc3QgaXNPbkxlZnRTaXplID0gKCRsaSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlV2lkdGggPSAyMDsgLy8gU2V0IHdpZHRoIG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZUhlaWdodCA9IDIwOyAvLyBTZXQgaGVpZ2h0IG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3MgPSAkbGkub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUucGFnZVggPj0gZWxlbWVudFBvcy5sZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VYIDw9IGVsZW1lbnRQb3MubGVmdCArIGJlZm9yZVdpZHRoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZID49IGVsZW1lbnRQb3MudG9wICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZIDw9IGVsZW1lbnRQb3MudG9wICsgYmVmb3JlSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b2dnbGVFeHBhbnNpb24gPSAoJGxpKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfZXhwYW5kTGkodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG9nZ2xlIGl0cyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5jaGlsZHJlbihcInVsXCIpLmNoaWxkcmVuKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImRibGNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICRsaS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2UgPSAkbGkuZGF0YShcInJlZmVyZW5jZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlICYmICF0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAoKF9hID0gcmVmZXJlbmNlLmRpc3BsYXlOYW1lKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EudGV4dCkgfHwgKChfYiA9IHJlZmVyZW5jZS5icm93c2VOYW1lKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IubmFtZSkgfHwgcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgaW5wdXQgPSBgWyR7ZGlzcGxheU5hbWV9XSgke3ZhbHVlfSlgO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IG1vZGUgPSB0aGF0Lm1vZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbW9kZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGUgPSBcIm5vZGVJZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuc2V0TW9kZShtb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZUlucHV0KHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24uaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoYXQuJGlucHV0LnZhbChpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93bi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNsaWNraW5nIG91dHNpZGUgdGhlIHBhZ2Ugd2lsbCBoaWRlIHRoZSBkcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHRoYXQuJGNvbWJvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGluc3RhbGxGZWVkYmFja1dpZGdldCA9ICgpID0+IHtcbiAgICAgICAgLy8gcmV0dXJuO1xuICAgICAgICAvLyBkZWJ1Z2dlcjtcbiAgICAgICAgY29uc3QgdHJheUNvbnRlbnQgPSAkKFwiLnJlZC11aS10cmF5LWJvZHlcIik7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbEZlZWRiYWNrV2lkZ2V0IFwiLCB0cmF5Q29udGVudC5sZW5ndGgpO1xuICAgICAgICBpZiAodHJheUNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImluc3RhbGxpbmcgaWZyYW1lXCIpO1xuICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBpZnJhbWUgZWxlbWVudFxuICAgICAgICAgICAgY29uc3QgaWZyYW1lID0gJChcIjxpZnJhbWU+PC9pZnJhbWU+XCIsIHtcbiAgICAgICAgICAgICAgICBzcmM6IFwiL29wY3VhLWZvci1ub2RlLXJlZC9zdXBwb3J0LWZyYW1lLmh0bWxcIixcbiAgICAgICAgICAgICAgICBzY3JvbGxpbmc6IFwibm9cIixcbiAgICAgICAgICAgICAgICBzdHlsZTogXCJiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O292ZXJmbG93OmhpZGRlbjtib3JkZXI6M3B4XCIsXG4gICAgICAgICAgICAgICAgYWxsb3d0cmFuc3BhcmVuY3k6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgIHdpZHRoOiBcIjE4MHB4XCIsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjMwcHhcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gQXBwZW5kIHRoZSBpZnJhbWUgdG8gdGhlIGZlZWRiYWNrIGVsZW1lbnRcbiAgICAgICAgICAgIHRyYXlDb250ZW50LmFwcGVuZChpZnJhbWUpO1xuICAgICAgICAgICAgLy8gUG9zaXRpb24gdGhlIGZlZWRiYWNrIGVsZW1lbnQgYXQgdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgdHJheSBjb250ZW50XG4gICAgICAgICAgICBpZnJhbWUuY3NzKHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiBcIjIwcHhcIixcbiAgICAgICAgICAgICAgICBib3R0b206IFwiMTZweFwiLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgY2hlY2tOb2RlSWQgPSAoX2EsIG5vZGVJZF8xLCBuYW1lc3BhY2VBbGlhc2VzXzEpID0+IF9fYXdhaXRlcih2b2lkIDAsIFtfYSwgbm9kZUlkXzEsIG5hbWVzcGFjZUFsaWFzZXNfMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgbm9kZUlkLCBuYW1lc3BhY2VBbGlhc2VzKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1mb3Itbm9kZS1yZWRgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9jaGVja05vZGVJZGA7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgICAgICBuYW1lc3BhY2VBbGlhc2VzLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IHtcbiAgICAgICAgICAgICAgICBzdGF0dXNDb2RlOiBcIkJhZE5vTWF0Y2hcIixcbiAgICAgICAgICAgICAgICByZXF1ZXN0ZWROb2RlSWQ6IG5vZGVJZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9XG4gICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hlZCA6IFwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gbWFuYWdlQVBJQ2FsbChwcmVmaXgsIGJ0biwgZnVuYywgb25SZXN1bHQpIHtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc0ljb24gPSAkKGAjJHtwcmVmaXh9LXN1Y2Nlc3NgKTtcbiAgICAgICAgY29uc3QgZmFpbHVyZUljb24gPSAkKGAjJHtwcmVmaXh9LWZhaWx1cmVgKTtcbiAgICAgICAgY29uc3QgcGVuZGluZ0ljb24gPSAkKGAjJHtwcmVmaXh9LXBlbmRpbmdgKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSAkKGAjJHtwcmVmaXh9LW1lc3NhZ2VzYCk7XG4gICAgICAgIGxldCBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN1Y2Nlc3NJY29uLmhpZGUoKTtcbiAgICAgICAgZmFpbHVyZUljb24uaGlkZSgpO1xuICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgIGJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChhY3Rpb25QZW5kaW5nKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24uaHRtbChcIlRlc3RpbmcgQ29ubmVjdGlvbiAuLi5cIik7XG4gICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiXCIpO1xuICAgICAgICAgICAgY29uc3QgeyBib2R5LCB1cmwgfSA9IGZ1bmMoKTtcbiAgICAgICAgICAgIC8vIHh4IGNvbnNvbGUubG9nKFwieHh4eHhcIiwgYm9keSk7XG4gICAgICAgICAgICBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IGRhdGEuanNvbigpKVxuICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCBcIiBcIikpO1xuICAgICAgICAgICAgICAgIGlmIChqc29uLnJlc3VsdCA9PT0gXCJva1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGpzb24ubWVzc2FnZS5yZXBsYWNlKFwiXFxuXCIsIFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG51bGwsIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQgPSAoc3RyKSA9PiAhc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYSkgPT4gYDxwPiR7YX08L3A+YClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQyID0gKHN0cikgPT4gKEFycmF5LmlzQXJyYXkoc3RyKSA/IHN0ci5tYXAoYWRhcHQpLmpvaW4oXCJcXG5cIikgOiBhZGFwdChzdHIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoYWRhcHQyKGpzb24ubWVzc2FnZSkgKyBhZGFwdDIoanNvbi5leHRyYSkpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChuZXcgRXJyb3IoanNvbi5yZXN1bHQpLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJpbnRlcm5hbCBlcnJvciBcIiArIGVyci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIG9uUmVzdWx0KGVyciwgbnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBjb250YWluaW5nOlxuICAgICAqICAtIHRoZSBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSxcbiAgICAgKiAgLSB1c2VySWRlbnRpdHlUeXBlLFxuICAgICAqICAtIGNyZWRlbnRpYWxzXG4gICAgICogIC0gbmFtZXNwYWNlQWxpYXNlc1xuICAgICAqXG4gICAgICogZXh0cmFjdGVkIGZyb20gdGhlIHVpIHdpZGdldCAjbm9kZS1pbnB1dC1lbmRwb2ludFxuICAgICAqL1xuICAgIGNvbnN0IGdldEVuZFBvaW50QXR0cmlidXRlcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCByZWROb2RlID0gUkVELm5vZGVzLm5vZGUoZW5kcG9pbnRJZCk7XG4gICAgICAgIGlmICghcmVkTm9kZSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGNvbnN0IGNyZWRlbnRpYWxzID0gUkVELihlbmRwb2ludElkKTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBzYW5pdGl6ZSBhbmQgZXh0cmFjdCB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBvbmx5ICggbm90IHRoZSBub2RlLXJlZCBzdHVmZilcbiAgICAgICAgY29uc3QgeyBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSwgdXNlcklkZW50aXR5VHlwZSwgY3JlZGVudGlhbHMsIG5hbWVzcGFjZUFsaWFzZXMgfSA9IHJlZE5vZGU7XG4gICAgICAgIGNvbnN0IHJldFZhbHVlID0ge1xuICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICBzZWN1cml0eU1vZGUsXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICAgICAgICBjcmVkZW50aWFscyxcbiAgICAgICAgICAgIG5hbWVzcGFjZUFsaWFzZXMsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiByZXRWYWx1ZTtcbiAgICB9O1xuICAgIGNvbnN0IGdldEVuZHBvaW50UGFyYW1ldGVycyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCBlbmRwb2ludE5yID0gZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzKCk7XG4gICAgICAgIGlmICghZW5kcG9pbnROcikge1xuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuYW1lc3BhY2VBbGlhc2VzID0gZW5kcG9pbnROci5uYW1lc3BhY2VBbGlhc2VzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IG5hbWVzcGFjZUFsaWFzZXMsIGlkOiBlbmRwb2ludElkIH0sIGVuZHBvaW50TnIpO1xuICAgIH07XG4gICAgY29uc3QgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzLFxuICAgICAgICB9O1xuICAgIH07XG5cbiAgICBSRUQubm9kZXMucmVnaXN0ZXJUeXBlKFwiT3BjVWEtQ2xpZW50Mi1DYWxsXCIsIHtcbiAgICAgICAgY2F0ZWdvcnk6IFwib3BjdWFcIixcbiAgICAgICAgY29sb3I6IFwiI0MwREVFRFwiLFxuICAgICAgICBhbGlnbjogXCJyaWdodFwiLFxuICAgICAgICBpY29uOiBcIi4uLy4uL2ljb25zL29wY3Vhbm9kZUxvZ28ucG5nXCIsXG4gICAgICAgIHBhbGV0dGVMYWJlbDogXCJjYWxsXCIsXG4gICAgICAgIGRlZmF1bHRzOiB7XG4gICAgICAgICAgICBpbnB1dHM6IHsgdmFsdWU6IDEgfSxcbiAgICAgICAgICAgIG91dHB1dDogeyB2YWx1ZTogNCB9LFxuICAgICAgICAgICAgLy8gQ29tbW9uXG4gICAgICAgICAgICBuYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBlbmRwb2ludDogeyB2YWx1ZTogXCJcIiwgcmVxdWlyZWQ6IHRydWUsIHR5cGU6IFwiT3BjVWEtRW5kcG9pbnQyXCIgfSxcbiAgICAgICAgICAgIGFjdGlvbjogeyB2YWx1ZTogXCJyZWFkXCIsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgICAgICAvLyBmb3IgYWN0aW9uIGNhbGxcbiAgICAgICAgICAgIG1ldGhvZElkOiB7IHZhbHVlOiBcIlwiLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICAgICAgb2JqZWN0SWQ6IHsgdmFsdWU6IFwiXCIsIHJlcXVpcmVkOiB0cnVlIH0sXG4gICAgICAgIH0sXG4gICAgICAgIC8vIGlucHV0czosXG4gICAgICAgIG91dHB1dHM6IDIsIC8vIDIgb3V0cHV0LCBzZWNvbmQgZm9yIHJhdyBub2RlLW9wY3VhIGRpYWdub3N0aWNzIG9yIG1vcmUgY29tcGxldGUgbWVzc2FnZVxuICAgICAgICBsYWJlbCgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm5hbWUgfHwgXCJPUENVQS1DYWxsXCI7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gXCJub2RlX2xhYmVsX2l0YWxpY1wiIDogXCJcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBpbnN0YWxsRmVlZGJhY2tXaWRnZXQoKTtcbiAgICAgICAgICAgIG5vZGUuaW5wdXRzID0gMTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgU2VjdGlvbiBDYWxsXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgbGV0IGRhdGFUeXBlcyA9IHt9O1xuICAgICAgICAgICAgLy8gdG8gZG8gYWRkIGEgdHlwZXNjcmlwdCBkZWZpbml0aW9uIGZvciB0aGlzXG4gICAgICAgICAgICBjb25zdCAkb2JqZWN0SWQgPSAkKFwiI25vZGUtaW5wdXQtb2JqZWN0SWRcIik7XG4gICAgICAgICAgICBjb25zdCAkbWV0aG9kSWQgPSAkKFwiI25vZGUtaW5wdXQtbWV0aG9kSWRcIik7XG4gICAgICAgICAgICBjb25zdCAkaW5wdXRBcmd1bWVudERlZmluaXRpb24gPSAkKFwiI21ldGhvZC1pbnB1dC1hcmd1bWVudC1kZWZpbml0aW9uXCIpO1xuICAgICAgICAgICAgY29uc3QgJG91dHB1dEFyZ3VtZW50RGVmaW5pdGlvbiA9ICQoXCIjbWV0aG9kLW91dHB1dC1hcmd1bWVudC1kZWZpbml0aW9uXCIpO1xuICAgICAgICAgICAgY29uc3QgJHZhbGlkYXRlQnRuID0gJChcIiN2YWxpZGF0ZS1jYWxsLWFyZ3VtZW50cy1idXR0b25cIik7XG4gICAgICAgICAgICAkb2JqZWN0SWQubm9kZUJyb3dzZXIoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyKCkpLCB7IGZpbHRlcihub2RlRGVzYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIk9iamVjdFwiO1xuICAgICAgICAgICAgICAgIH0gfSkpO1xuICAgICAgICAgICAgJG1ldGhvZElkLm5vZGVCcm93c2VyKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZ2V0RW5kcG9pbnRQYXJhbWV0ZXJzSGFuZGxlcigpKSwgeyBwYXJlbnROb2RlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhpcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBuZWVkIHRvIHJlc3luYyB3aXRoIHdoYXQncyBpbiAgI25vZGUtaW5wdXQtb2JqZWN0SWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJlbnRPYmpSZWZlcmVuY2UgPSAkb2JqZWN0SWQuZGF0YShcInJlZmVyZW5jZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcGFyZW50T2JqUmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZUlkRXggPSAkb2JqZWN0SWQudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc3QgZW5kcG9pbnROb2RlID0gZ2V0RW5kUG9pbnRBdHRyaWJ1dGVzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgKCFlbmRwb2ludE5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgciA9IHlpZWxkIGNoZWNrTm9kZUlkKGRhdGEsIG5vZGVJZEV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHIuc3RhdHVzQ29kZSAhPT0gXCJHb29kXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudE9ialJlZmVyZW5jZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVJZDogci5ub2RlSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicm93c2VOYW1lOiByLmJyb3dzZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkaXNwbGF5TmFtZTogci5icm93c2VOYW1lLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlQ2xhc3M6IFwiT2JqZWN0XCIsIC8vIHIubm9kZUNsYXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZURlZmluaXRpb246IFwibnM9MDtpPTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXJlbnRPYmpSZWZlcmVuY2U7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sIGZpbHRlcihub2RlRGVzYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIk1ldGhvZFwiIHx8IG5vZGVEZXNjLm5vZGVDbGFzcyA9PT0gXCJPYmplY3RcIjtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGlzU2VsZWN0YWJsZShub2RlRGVzYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIk1ldGhvZFwiO1xuICAgICAgICAgICAgICAgIH0gfSkpO1xuICAgICAgICAgICAgJG9iamVjdElkLm9uKFwiY2hhbmdlXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAkbWV0aG9kSWQubm9kZUJyb3dzZXIoXCJyZXNldFwiKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgZnVuY3Rpb24gYWRkQXJndW1lbnRDdHJsKGNvbnRhaW5lciwgaW5kZXgsIGFyZykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSAkKCc8ZGl2IGNsYXNzPVwiYXJndW1lbnQtZW50cnlcIj4nKS5hcHBlbmRUbyhjb250YWluZXIpO1xuICAgICAgICAgICAgICAgIC8vIGNvbnRhaW5lci5kYXRhKFwiZGF0YVwiLCBhcmcpO1xuICAgICAgICAgICAgICAgICQoJzxpbnB1dCB0eXBlPVwidGV4dFwiPicpXG4gICAgICAgICAgICAgICAgICAgIC52YWwoYXJnLm5hbWUgfHwgXCJcIilcbiAgICAgICAgICAgICAgICAgICAgLmNzcyh7IHdpZHRoOiBcIjEwMCVcIiB9KVxuICAgICAgICAgICAgICAgICAgICAuYXBwZW5kVG8oaXRlbSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZCA9IGRhdGFUeXBlc1thcmcuZGF0YVR5cGUudG9TdHJpbmcoKV07XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YVR5cGVOID0gKGQgPyBkLmJyb3dzZU5hbWUubmFtZSB8fCBcIlwiIDogYXJnLmRhdGFUeXBlLnRvU3RyaW5nKCkpICsgKGFyZy52YWx1ZVJhbmsgPT09IDEgPyBcIltdXCIgOiBcIlwiKTtcbiAgICAgICAgICAgICAgICAkKCc8aW5wdXQgdHlwZT1cInRleHRcIj4nKVxuICAgICAgICAgICAgICAgICAgICAudmFsKGFyZy5kZXNjcmlwdGlvbi50ZXh0IHx8IFwiXCIpXG4gICAgICAgICAgICAgICAgICAgIC5jc3MoeyB3aWR0aDogXCI1MCVcIiB9KVxuICAgICAgICAgICAgICAgICAgICAuYXBwZW5kVG8oaXRlbSk7XG4gICAgICAgICAgICAgICAgJCgnPGlucHV0IHR5cGU9XCJ0ZXh0XCI+JylcbiAgICAgICAgICAgICAgICAgICAgLnZhbChkYXRhVHlwZU4gfHwgXCJcIilcbiAgICAgICAgICAgICAgICAgICAgLmNzcyh7IHdpZHRoOiBcIjUwJVwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5hcHBlbmRUbyhpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRpbnB1dEFyZ3VtZW50RGVmaW5pdGlvbi5lZGl0YWJsZUxpc3Qoe1xuICAgICAgICAgICAgICAgIGFkZEJ1dHRvbjogZmFsc2UsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgICBzY3JvbGxPbkFkZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgYWRkSXRlbShjb250YWluZXIsIGksIG9iamVjdCkge1xuICAgICAgICAgICAgICAgICAgICBhZGRBcmd1bWVudEN0cmwoY29udGFpbmVyLCBpLCBvYmplY3QpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICRvdXRwdXRBcmd1bWVudERlZmluaXRpb24uZWRpdGFibGVMaXN0KHtcbiAgICAgICAgICAgICAgICBhZGRCdXR0b246IGZhbHNlLFxuICAgICAgICAgICAgICAgIGhlaWdodDogXCJhdXRvXCIsXG4gICAgICAgICAgICAgICAgc2Nyb2xsT25BZGQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGFkZEl0ZW0oY29udGFpbmVyLCBpLCBvYmplY3QpIHtcbiAgICAgICAgICAgICAgICAgICAgYWRkQXJndW1lbnRDdHJsKGNvbnRhaW5lciwgaSwgb2JqZWN0KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBmdW5jdGlvbiBpbnN0YWxsQXJndW1lbnRMaXN0KGxpc3QsIG1ldGhvZEFyZ3VtZW50cykge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW5zdGFsbEFyZ3VtZW50TGlzdFwiLCBtZXRob2RBcmd1bWVudHMubGVuZ3RoLCBcImFyZ3VtZW50c1wiLCBtZXRob2RBcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIGxpc3QuZWRpdGFibGVMaXN0KFwiZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZXRob2RBcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC5lZGl0YWJsZUxpc3QoXCJhZGRJdGVtXCIsIG1ldGhvZEFyZ3VtZW50c1tpXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGlucHV0QXJndW1lbnREZWZpbml0aW9uLmhpZGUoKTtcbiAgICAgICAgICAgICRvdXRwdXRBcmd1bWVudERlZmluaXRpb24uaGlkZSgpO1xuICAgICAgICAgICAgbGV0IGlucHV0QXNKc29uID0ge307XG4gICAgICAgICAgICBjb25zdCAkY29weUlucHV0ID0gJChcIiNjb3B5LWlucHV0XCIpO1xuICAgICAgICAgICAgJGNvcHlJbnB1dC5oaWRlKCk7XG4gICAgICAgICAgICAkY29weUlucHV0Lm9uKFwiY2xpY2tcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIENvcHkgdGhlIHRleHQgaW5zaWRlIHRoZSB0ZXh0IGZpZWxkXG4gICAgICAgICAgICAgICAgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoSlNPTi5zdHJpbmdpZnkoaW5wdXRBc0pzb24pKTtcbiAgICAgICAgICAgICAgICAvLyBhbGVydChKU09OLnN0cmluZ2lmeShpbnB1dEFzSnNvbikgKyBcIiBjb3BpZWQgdG8gY2xpcGJvYXJkXCIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBtYW5hZ2VBUElDYWxsKFwidmFsaWRhdGVcIiwgJHZhbGlkYXRlQnRuLCAoKSA9PiAoe1xuICAgICAgICAgICAgICAgIHVybDogXCIvb3BjdWEtZm9yLW5vZGUtcmVkL2FyZ3VtZW50RGVmaW5pdGlvblwiLFxuICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiBnZXRFbmRwb2ludFBhcmFtZXRlcnMoKSxcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0SWQ6ICRvYmplY3RJZC52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kSWQ6ICRtZXRob2RJZC52YWwoKSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksIChlcnIsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gcG9wdWxhdGUgdGhlIGxpc3RcbiAgICAgICAgICAgICAgICBjb25zdCBhcmd1bWVudERlZmluaXRpb24gPSBkYXRhLmFyZ3VtZW50RGVmaW5pdGlvbjtcbiAgICAgICAgICAgICAgICBkYXRhVHlwZXMgPSBkYXRhLmRhdGFUeXBlcztcbiAgICAgICAgICAgICAgICAkaW5wdXRBcmd1bWVudERlZmluaXRpb24uc2hvdygpO1xuICAgICAgICAgICAgICAgICRvdXRwdXRBcmd1bWVudERlZmluaXRpb24uc2hvdygpO1xuICAgICAgICAgICAgICAgIGluc3RhbGxBcmd1bWVudExpc3QoJGlucHV0QXJndW1lbnREZWZpbml0aW9uLCBhcmd1bWVudERlZmluaXRpb24uaW5wdXRBcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgIGluc3RhbGxBcmd1bWVudExpc3QoJG91dHB1dEFyZ3VtZW50RGVmaW5pdGlvbiwgYXJndW1lbnREZWZpbml0aW9uLm91dHB1dEFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgaW5wdXRBc0pzb24gPSBkYXRhLmlucHV0QXJndW1lbnRzRXhhbXBsZUFzSnNvbiB8fCB7fTtcbiAgICAgICAgICAgICAgICAkY29weUlucHV0LnNob3coKTtcbiAgICAgICAgICAgICAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChKU09OLnN0cmluZ2lmeShpbnB1dEFzSnNvbikpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiSlNPTlwiLCBKU09OLnN0cmluZ2lmeShpbnB1dEFzSnNvbikpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZGF0YVwiLCBkYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkgeyB9LFxuICAgIH0pO1xuXG59KSgpOyJdfQ==
7
+ (function(_0x43dbed,_0x384d00){const _0x1f0516=_0x4a02,_0x39a034=_0x43dbed();while(!![]){try{const _0x233045=-parseInt(_0x1f0516(0x336))/0x1*(-parseInt(_0x1f0516(0x335))/0x2)+parseInt(_0x1f0516(0x25c))/0x3*(parseInt(_0x1f0516(0x31e))/0x4)+-parseInt(_0x1f0516(0x33c))/0x5+parseInt(_0x1f0516(0x333))/0x6+-parseInt(_0x1f0516(0x32a))/0x7+parseInt(_0x1f0516(0x2dc))/0x8+parseInt(_0x1f0516(0x32b))/0x9;if(_0x233045===_0x384d00)break;else _0x39a034['push'](_0x39a034['shift']());}catch(_0x2272e4){_0x39a034['push'](_0x39a034['shift']());}}}(_0x177f,0xc025b),(function(){'use strict';const _0x56c808=_0x4a02;function _0x4a5ea6(_0x52805e,_0x3da543,_0x13ed51,_0x152362){function _0x3ae35a(_0x4b06eb){return _0x4b06eb instanceof _0x13ed51?_0x4b06eb:new _0x13ed51(function(_0x23e794){_0x23e794(_0x4b06eb);});}return new(_0x13ed51||(_0x13ed51=Promise))(function(_0x2be470,_0x47c11c){const _0x22a641=_0x4a02;function _0x305b41(_0x2ac538){const _0x606e9c=_0x4a02;try{_0x1416ed(_0x152362[_0x606e9c(0x2fc)](_0x2ac538));}catch(_0x509ef5){_0x47c11c(_0x509ef5);}}function _0xaf3b0f(_0x1dd2ae){try{_0x1416ed(_0x152362['throw'](_0x1dd2ae));}catch(_0x2eeb6f){_0x47c11c(_0x2eeb6f);}}function _0x1416ed(_0x2a51c2){const _0x1b270e=_0x4a02;_0x2a51c2[_0x1b270e(0x2ed)]?_0x2be470(_0x2a51c2[_0x1b270e(0x2a0)]):_0x3ae35a(_0x2a51c2[_0x1b270e(0x2a0)])[_0x1b270e(0x26e)](_0x305b41,_0xaf3b0f);}_0x1416ed((_0x152362=_0x152362['apply'](_0x52805e,_0x3da543||[]))[_0x22a641(0x2fc)]());});}typeof SuppressedError===_0x56c808(0x2e7)?SuppressedError:function(_0x40bebd,_0x4125ad,_0x2cddbb){const _0x479f94=_0x56c808;var _0xcd71ea=new Error(_0x2cddbb);return _0xcd71ea['name']=_0x479f94(0x225),_0xcd71ea[_0x479f94(0x326)]=_0x40bebd,_0xcd71ea[_0x479f94(0x204)]=_0x4125ad,_0xcd71ea;};const _0x1be339=_0x56c808(0x2a3),_0x25f601=_0x56c808(0x2a4),_0x22a156='ns=0;i=47',_0x49a71b=_0x56c808(0x2f7),_0x147a28=_0x56c808(0x219),_0x3142fa=_0x56c808(0x2d2),_0x3d29b7='ns=0;i=40';var _0x153f0f;(function(_0x47ecf5){const _0x343bb2=_0x56c808;_0x47ecf5[_0x47ecf5[_0x343bb2(0x2ce)]=0x0]='Forward',_0x47ecf5[_0x47ecf5[_0x343bb2(0x32d)]=0x1]=_0x343bb2(0x32d),_0x47ecf5[_0x47ecf5[_0x343bb2(0x278)]=0x2]=_0x343bb2(0x278),_0x47ecf5[_0x47ecf5[_0x343bb2(0x2d6)]=0x3]=_0x343bb2(0x2d6);}(_0x153f0f||(_0x153f0f={})));var _0x578f3a;(function(_0x125df3){const _0x250082=_0x56c808;_0x125df3[_0x125df3[_0x250082(0x2d4)]=0x0]=_0x250082(0x2d4),_0x125df3[_0x125df3['Object']=0x1]=_0x250082(0x2dd),_0x125df3[_0x125df3[_0x250082(0x24c)]=0x2]=_0x250082(0x24c),_0x125df3[_0x125df3['Method']=0x4]=_0x250082(0x1fb),_0x125df3[_0x125df3[_0x250082(0x2ab)]=0x8]=_0x250082(0x2ab),_0x125df3[_0x125df3[_0x250082(0x2f6)]=0x10]=_0x250082(0x2f6),_0x125df3[_0x125df3[_0x250082(0x254)]=0x20]='ReferenceType',_0x125df3[_0x125df3[_0x250082(0x20b)]=0x40]='DataType',_0x125df3[_0x125df3['View']=0x80]='View';}(_0x578f3a||(_0x578f3a={})));var _0x2404ca;(function(_0x1d3902){const _0x1c03ea=_0x56c808;_0x1d3902[_0x1d3902['Object']=0x1]=_0x1c03ea(0x2dd),_0x1d3902[_0x1d3902[_0x1c03ea(0x24c)]=0x2]='Variable',_0x1d3902[_0x1d3902['Method']=0x4]=_0x1c03ea(0x1fb),_0x1d3902[_0x1d3902[_0x1c03ea(0x2ab)]=0x8]=_0x1c03ea(0x2ab),_0x1d3902[_0x1d3902['VariableType']=0x10]='VariableType',_0x1d3902[_0x1d3902[_0x1c03ea(0x254)]=0x20]=_0x1c03ea(0x254),_0x1d3902[_0x1d3902['DataType']=0x40]=_0x1c03ea(0x20b),_0x1d3902[_0x1d3902[_0x1c03ea(0x2db)]=0x80]=_0x1c03ea(0x2db);}(_0x2404ca||(_0x2404ca={})));var _0x59b5b1;(function(_0x5cf0ff){const _0x529a73=_0x56c808;_0x5cf0ff[_0x5cf0ff[_0x529a73(0x254)]=0x1]=_0x529a73(0x254),_0x5cf0ff[_0x5cf0ff[_0x529a73(0x307)]=0x2]=_0x529a73(0x307),_0x5cf0ff[_0x5cf0ff[_0x529a73(0x316)]=0x4]=_0x529a73(0x316),_0x5cf0ff[_0x5cf0ff[_0x529a73(0x2be)]=0x8]=_0x529a73(0x2be),_0x5cf0ff[_0x5cf0ff[_0x529a73(0x312)]=0x10]='DisplayName',_0x5cf0ff[_0x5cf0ff[_0x529a73(0x238)]=0x20]=_0x529a73(0x238);}(_0x59b5b1||(_0x59b5b1={})));function _0x58ef5e(_0x5be3f4){const _0xd885c5=_0x56c808;switch(_0x5be3f4){case _0xd885c5(0x2d1):return _0x1be339;case _0xd885c5(0x25b):return _0x49a71b;case'HasComponent':return _0x22a156;case _0xd885c5(0x31b):return _0x147a28;case'HasSubtype':return _0x3142fa;case _0xd885c5(0x295):return _0x3d29b7;}}const _0x342c95=_0x9164ce=>{const _0xb1c2bd=_0x56c808;switch(_0x9164ce[_0xb1c2bd(0x27d)]){case _0xb1c2bd(0x2dd):if(_0x9164ce[_0xb1c2bd(0x25a)]===_0x1be339);if(_0x9164ce[_0xb1c2bd(0x25f)]===_0x25f601||_0x9164ce['referenceTypeId']===_0xb1c2bd(0x2d7))return{'icon':'fa-folder','color':_0xb1c2bd(0x2c1)};return{'icon':'fa-object-group','color':_0xb1c2bd(0x2d0)};case'Variable':if(_0x9164ce[_0xb1c2bd(0x25a)]===_0x22a156)return{'icon':'fa-list-alt','color':_0xb1c2bd(0x323)};else return _0x9164ce['referenceTypeId']===_0x49a71b?{'icon':_0xb1c2bd(0x2c6),'color':_0xb1c2bd(0x200)}:{'icon':_0xb1c2bd(0x2c6),'color':_0xb1c2bd(0x33d)};case'Method':return{'icon':_0xb1c2bd(0x271),'color':'SandyBrown'};case'ObjectType':return{'icon':_0xb1c2bd(0x2e8),'color':'DarkOrange'};case _0xb1c2bd(0x2f6):return{'icon':_0xb1c2bd(0x20c),'color':_0xb1c2bd(0x233)};case'DataType':return{'icon':'fa-text-width','color':_0xb1c2bd(0x33d)};}return{'icon':_0xb1c2bd(0x2fe),'color':_0xb1c2bd(0x31c)};},_0x347126=(_0x56ad41,_0x55f529,_0xdb2f51)=>_0x4a5ea6(void 0x0,[_0x56ad41,_0x55f529,_0xdb2f51],void 0x0,function*({endpointNode:_0x3d7f35,endpoint:_0x147944,baseUrl:_0x5042c9},_0x2e6a24,_0x566b3f){const _0x5016a0=_0x56c808,_0x37dc62=_0x5042c9+_0x5016a0(0x268),_0x53d888=_0x37dc62+'/browse',_0xeb8bfc=Object[_0x5016a0(0x263)](Object['assign']({},_0x566b3f),{'nodeId':_0x2e6a24,'resultMask':0x3f}),_0x182134=yield fetch(_0x53d888,{'method':'POST','body':JSON[_0x5016a0(0x2b7)]({'endpointNode':_0x3d7f35,'endpoint':_0x147944,'browseDescription':_0xeb8bfc}),'headers':{'Content-Type':_0x5016a0(0x255)}});if(_0x182134[_0x5016a0(0x2b3)]!==0xc8)return console[_0x5016a0(0x24b)](_0x5016a0(0x2c3),_0x182134[_0x5016a0(0x2b3)],_0x182134['statusText']),{'references':[]};const _0x1c8ddb=yield _0x182134['json'](),_0x3c9700=_0x1c8ddb[_0x5016a0(0x280)][_0x5016a0(0x2cb)]||[];return{'references':_0x3c9700};}),_0x41f170={'referenceTypeId':_0x58ef5e('HasChild'),'includeSubtypes':!![],'browseDirection':_0x153f0f[_0x56c808(0x2ce)],'nodeClassMask':_0x578f3a[_0x56c808(0x24c)]|_0x578f3a[_0x56c808(0x2dd)]|_0x578f3a['Method'],'resultMask':0x3f},_0x3659bf={'referenceTypeId':_0x58ef5e(_0x56c808(0x2d1)),'includeSubtypes':!![],'browseDirection':_0x153f0f[_0x56c808(0x2ce)],'nodeClassMask':_0x578f3a[_0x56c808(0x24c)]|_0x578f3a['Object']|_0x578f3a[_0x56c808(0x1fb)],'resultMask':0x3f},_0x39ce89=(_0x77e712,_0x106a59)=>_0x4a5ea6(void 0x0,[_0x77e712,_0x106a59],void 0x0,function*({endpointNode:_0x298c84,endpoint:_0x3a8c14,baseUrl:_0x401c87},{nodeId:_0x1f4195,rootNodeId:_0x3ee776,isType:_0x2ab15c}){const _0x41f949=_0x56c808,_0x8c0e04=_0x401c87+_0x41f949(0x268),_0x25e177=_0x8c0e04+_0x41f949(0x232),_0x54b23b=yield fetch(_0x25e177,{'method':_0x41f949(0x298),'body':JSON[_0x41f949(0x2b7)]({'endpointNode':_0x298c84,'endpoint':_0x3a8c14,'nodeId':_0x1f4195,'rootNodeId':_0x3ee776,'isType':_0x2ab15c}),'headers':{'Content-Type':_0x41f949(0x255)}});if(_0x54b23b['status']!==0xc8)return null;const _0xf59cc2=yield _0x54b23b[_0x41f949(0x214)]();return _0xf59cc2['browsePath'];}),_0x5e21ae=(_0xcc2747,_0x4ebe34)=>{const _0x1b5c80=_0x56c808;if(_0xcc2747[_0x1b5c80(0x30d)]!=='Good')return _0xcc2747[_0x1b5c80(0x1ff)];switch(_0x4ebe34){case'browsePath':return _0xcc2747[_0x1b5c80(0x321)];case'aliasedBrowsePath':return _0xcc2747[_0x1b5c80(0x2d5)]||_0xcc2747['bp_indexed'];case _0x1b5c80(0x29e):return _0xcc2747[_0x1b5c80(0x304)]||_0xcc2747[_0x1b5c80(0x30e)];case _0x1b5c80(0x2e2):return _0xcc2747[_0x1b5c80(0x30e)];default:case'nodeId':return _0xcc2747[_0x1b5c80(0x329)];}},_0x4aa7f3=_0x3d9650=>{const _0xe25fc2=_0x56c808;if(_0x3d9650[_0xe25fc2(0x30d)]!=='Good')return _0xe25fc2(0x2bd)+_0x3d9650[_0xe25fc2(0x30d)];else{let _0x79149c=[];return _0x79149c[_0xe25fc2(0x1f5)](_0xe25fc2(0x234)+_0x3d9650[_0xe25fc2(0x329)]),_0x79149c[_0xe25fc2(0x1f5)](_0xe25fc2(0x299)+_0x3d9650[_0xe25fc2(0x321)]),_0x79149c[_0xe25fc2(0x1f5)]('node\x20class:\x20'+_0x578f3a[_0x3d9650[_0xe25fc2(0x27d)]]),_0x3d9650[_0xe25fc2(0x30e)]&&_0x79149c[_0xe25fc2(0x1f5)](_0xe25fc2(0x202)+_0x3d9650[_0xe25fc2(0x30e)]),_0x3d9650[_0xe25fc2(0x304)]&&_0x79149c[_0xe25fc2(0x1f5)](_0xe25fc2(0x276)+_0x3d9650[_0xe25fc2(0x304)]),_0x3d9650[_0xe25fc2(0x321)]&&_0x79149c[_0xe25fc2(0x1f5)](_0xe25fc2(0x212)+_0x3d9650[_0xe25fc2(0x2d5)]),_0x79149c['join']('\x0a');}};function _0x282de5(_0x5ca5b2){const _0x312a4f=_0x56c808;if(_0x5ca5b2[_0x312a4f(0x259)](/^nsu=/))return'nsuNodeID';if(_0x5ca5b2[_0x312a4f(0x259)](/^(ns=.*;)?(i|b|s|g)=/))return _0x312a4f(0x329);if(_0x5ca5b2[_0x312a4f(0x259)](/^nsa=/))return _0x312a4f(0x29e);if(_0x5ca5b2[_0x312a4f(0x259)](/^(\/|\.)[0-9]+:/))return _0x312a4f(0x2cc);if(_0x5ca5b2['match'](/^(\/|\.).*:/))return _0x312a4f(0x2cc);}function _0x2c5c83(_0x441116){const _0x346bf8=_0x56c808,_0x11d1ef=_0x282de5(_0x441116);switch(_0x11d1ef){case _0x346bf8(0x329):return'n';case _0x346bf8(0x29e):return'na';case _0x346bf8(0x2e2):return _0x346bf8(0x2ac);case'browsePath':return'b';case _0x346bf8(0x209):return'ab';default:return't';}}function _0x8b4105(_0x1692ed){const _0x1c9cc7=_0x56c808;let _0x15f1ce;switch(_0x1692ed){case'n':_0x15f1ce=_0x1c9cc7(0x329);break;case'na':_0x15f1ce='aliasedNodeId';break;case _0x1c9cc7(0x2ac):_0x15f1ce=_0x1c9cc7(0x2e2);break;case'b':_0x15f1ce=_0x1c9cc7(0x2cc);break;case'ab':_0x15f1ce=_0x1c9cc7(0x209);break;}return _0x15f1ce;}function _0x3c4d5f(_0x5abee5){const _0x409ff2=_0x56c808;switch(_0x5abee5){case'nodeId':return'n';case _0x409ff2(0x29e):return'na';case _0x409ff2(0x2e2):return _0x409ff2(0x2ac);case _0x409ff2(0x2cc):return'b';case _0x409ff2(0x209):return'ab';default:return't';}}const _0x208862=(_0x266de6,_0x49ac16)=>_0x4a5ea6(void 0x0,[_0x266de6,_0x49ac16],void 0x0,function*({endpointNode:_0x960315,endpoint:_0xeb3d0e,baseUrl:_0x2e158b},_0x1d4663){const _0x4780b5=_0x56c808,_0x34a552=_0x2e158b+'/opcua-for-node-red',_0xa3d2f9=_0x34a552+_0x4780b5(0x26d),_0x5b7a34=_0x960315['id'],_0x5deb99=RED[_0x4780b5(0x2a9)][_0x4780b5(0x208)](_0x5b7a34);console[_0x4780b5(0x24b)](_0x5deb99[_0x4780b5(0x2c4)]),_0x5deb99[_0x4780b5(0x2c4)];const _0x287f43=_0x960315[_0x4780b5(0x2c4)],_0x27cb0e=yield fetch(_0xa3d2f9,{'method':'POST','body':JSON['stringify']({'endpointNode':_0x960315,'endpoint':_0xeb3d0e,'nodeId':_0x1d4663,'namespaceAliases':_0x287f43}),'headers':{'Content-Type':'application/json'}}),_0x451098=yield _0x27cb0e['json']();return{'json':_0x451098,'data':_0x27cb0e};}),_0x42d92d=(_0x4abbb0,_0x2ddb52,_0x586bf0,_0x7c201c)=>_0x4a5ea6(void 0x0,[_0x4abbb0,_0x2ddb52,_0x586bf0,_0x7c201c],void 0x0,function*({endpointNode:_0x4cc56c,endpoint:_0x6f68ff,baseUrl:_0x22e1e2},_0x364299,_0x8947a0,_0x249d6f){const _0x13040b=_0x56c808,_0x121dc4=_0x8947a0[_0x13040b(0x31d)](),{json:_0x484edf,data:_0x591a73}=yield _0x208862({'endpointNode':_0x4cc56c,'endpoint':_0x6f68ff,'baseUrl':_0x22e1e2},_0x121dc4),_0x566902=(_0x2443ed,_0x19829f)=>{const _0xce4747=_0x13040b;_0x249d6f[_0xce4747(0x24d)](_0x2443ed)['addClass'](_0xce4747(0x331))[_0xce4747(0x330)](_0x19829f),_0x249d6f['show'](),setTimeout(()=>{const _0x139194=_0xce4747;_0x249d6f[_0x139194(0x267)](_0x19829f),_0x249d6f[_0x139194(0x2e5)]();},0xbb8);};if(_0x591a73['status']!==0xc8)return _0x566902(_0x13040b(0x20e)+_0x121dc4,'failure'),![];else{if(_0x484edf[_0x13040b(0x30d)][_0x13040b(0x259)](/Good/)){const _0x5ecc07=_0x4aa7f3(_0x484edf);_0x8947a0[_0x13040b(0x322)](_0x13040b(0x33a),_0x5ecc07);const _0xc3a364=_0x5e21ae(_0x484edf,_0x364299);return _0x8947a0[_0x13040b(0x31d)](_0xc3a364),_0x8947a0[_0x13040b(0x337)]('change'),_0x566902(_0x13040b(0x288),'ok'),!![];}else return _0x8947a0[_0x13040b(0x31d)](''+_0x121dc4),_0x566902(_0x484edf[_0x13040b(0x30d)]+'\x20'+_0x591a73[_0x13040b(0x241)],_0x13040b(0x290)),![];}});function _0x4746c3(_0x37b973,_0x4d7bbd){return _0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x5c5fce=_0x4a02,_0x33f4e7=_0x37b973[_0x5c5fce(0x26b)](_0x5c5fce(0x2a0)),_0x5a8eb2=yield _0x347126(_0x4d7bbd,_0x33f4e7,_0x41f170),_0x4d2bc7=yield _0x347126(_0x4d7bbd,_0x33f4e7,_0x3659bf);return{'references':[..._0x5a8eb2[_0x5c5fce(0x2cb)],..._0x4d2bc7[_0x5c5fce(0x2cb)]]};});}const _0x2d7a36={'referenceTypeId':_0x58ef5e(_0x56c808(0x27a)),'includeSubtypes':!![],'browseDirection':_0x153f0f[_0x56c808(0x2ce)],'nodeClassMask':_0x578f3a['ReferenceType']|_0x578f3a[_0x56c808(0x2ab)]|_0x578f3a[_0x56c808(0x20b)]|_0x578f3a[_0x56c808(0x2f6)],'resultMask':0x3f};function _0x570880(_0x280c98,_0x340822){return _0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x414816=_0x4a02,_0x2e44ab=_0x280c98['data'](_0x414816(0x2a0)),_0x49261a=yield _0x347126(_0x340822,_0x2e44ab,_0x2d7a36);return _0x49261a;});}const _0x19f7df=_0x4cb21e=>{const _0x59993f=_0x56c808;var _0x4ff453,_0x2175fb,_0x15173e,_0x35ce00;if(!_0x4cb21e||!_0x4cb21e[_0x59993f(0x329)]){const _0x1db581=$(_0x59993f(0x215));return _0x1db581;}const _0x59b849=_0x4cb21e['nodeId']['toString'](),_0x5d3e37=((_0x4ff453=_0x4cb21e[_0x59993f(0x28f)])===null||_0x4ff453===void 0x0?void 0x0:_0x4ff453[_0x59993f(0x24d)])||((_0x2175fb=_0x4cb21e['browseName'])===null||_0x2175fb===void 0x0?void 0x0:_0x2175fb[_0x59993f(0x24a)])||_0x4cb21e[_0x59993f(0x329)]['toString'](),{icon:_0xa951e7,color:_0x2b0cd7}=_0x342c95(_0x4cb21e),_0x22b439='('+_0x4cb21e[_0x59993f(0x329)][_0x59993f(0x273)]()+')\x20'+(((_0x15173e=_0x4cb21e[_0x59993f(0x296)])===null||_0x15173e===void 0x0?void 0x0:_0x15173e[_0x59993f(0x24a)])||((_0x35ce00=_0x4cb21e[_0x59993f(0x28f)])===null||_0x35ce00===void 0x0?void 0x0:_0x35ce00[_0x59993f(0x24d)])||''),_0x110693=$(_0x59993f(0x2aa)+_0x4cb21e[_0x59993f(0x329)][_0x59993f(0x273)]()+_0x59993f(0x270)+_0x22b439+_0x59993f(0x300)+_0xa951e7+_0x59993f(0x22e)+_0x2b0cd7+_0x59993f(0x2ae)+_0x5d3e37+_0x59993f(0x22d));return _0x110693[_0x59993f(0x330)]('expandable'),_0x110693[_0x59993f(0x26b)](_0x59993f(0x2a0),_0x59b849),_0x110693['data'](_0x59993f(0x2ba),_0x4cb21e),_0x110693;},_0x542cea=(_0x3a7366,_0x4dd2d7)=>{const _0x3a897d=_0x56c808;return _0x4dd2d7[_0x3a897d(0x210)]('li[key=\x22'+_0x3a7366+'\x22]');},_0x3f894a=(_0x47e20b,_0x18ce03)=>{const _0x50736c=_0x56c808;_0x47e20b[_0x50736c(0x2b0)][_0x50736c(0x210)](_0x50736c(0x29f))[_0x50736c(0x267)]('selected'),_0x18ce03[_0x50736c(0x210)]('.tree-text:first')[_0x50736c(0x330)](_0x50736c(0x2c7));},_0x1dfe0b=(_0x1a5246,_0x99c529,_0xe285db)=>_0x4a5ea6(void 0x0,void 0x0,void 0x0,function*(){const _0x2b59bd=_0x56c808;let _0x22a8cf=_0xe285db[_0x2b59bd(0x2df)](_0x2b59bd(0x29b));_0x99c529['relativePath'][_0x2b59bd(0x2fa)]||[];const _0x385b40=_0x99c529[_0x2b59bd(0x30f)]||[];if(_0x385b40[_0x2b59bd(0x320)]===0x0)return;for(const _0x240f34 of _0x385b40){_0x22a8cf[_0x2b59bd(0x30c)](_0x2b59bd(0x223))&&(yield _0x1d9a58(_0x1a5246,_0x22a8cf));const _0x377bf3=_0x542cea(_0x240f34,_0x22a8cf);if(_0x377bf3[_0x2b59bd(0x320)]===0x0)return;_0x22a8cf=_0x377bf3;}_0x3f894a(_0x1a5246,_0x22a8cf),_0x5ea42f(_0x1a5246[_0x2b59bd(0x2f2)],_0x22a8cf);});function _0x5ea42f(_0x24b0ed,_0x27ef6e){const _0x3183f6=_0x56c808,_0x1ca4d8=_0x27ef6e[_0x3183f6(0x2af)]()[_0x3183f6(0x2e1)],_0x14c830=_0x24b0ed[_0x3183f6(0x222)]();if(_0x14c830==undefined)return;const _0x44c40b=_0x14c830+_0x1ca4d8-_0x24b0ed[_0x3183f6(0x1f3)]()/0x2+_0x27ef6e[_0x3183f6(0x1f3)]()/0x2;_0x24b0ed[_0x3183f6(0x313)]({'scrollTop':_0x44c40b},0x1f4);}const _0x23ecec=(_0x1d4c28,_0x3f6624)=>_0x4a5ea6(void 0x0,void 0x0,void 0x0,function*(){const _0x246ed5=_0x56c808,_0x2555e5=_0x1d4c28[_0x246ed5(0x2ad)][_0x246ed5(0x31d)](),_0x3022f4={'nodeId':_0x2555e5,'rootNodeId':_0x3f6624['nodeId'],'isType':_0x1d4c28['options'][_0x246ed5(0x24e)]||![]},_0x5e6a26=_0x141b51(_0x1d4c28),_0x5c28cd=yield _0x39ce89(_0x5e6a26,_0x3022f4);if(!_0x5c28cd)return;yield _0x1dfe0b(_0x1d4c28,_0x5c28cd,_0x1d4c28[_0x246ed5(0x2b0)]);});function _0x51baa4(_0x904457,_0x49c686,_0x16b3b1,_0x5d25ef){return _0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x3e936a=_0x4a02;if(_0x49c686[_0x3e936a(0x30c)]('fetched')){console[_0x3e936a(0x24b)](_0x3e936a(0x2a6));return;}if(_0x49c686[_0x3e936a(0x30c)](_0x3e936a(0x308))){console[_0x3e936a(0x24b)](_0x3e936a(0x23e));return;}_0x49c686[_0x3e936a(0x330)](_0x3e936a(0x308)),_0x49c686[_0x3e936a(0x2fb)](_0x3e936a(0x260));try{_0x49c686[_0x3e936a(0x2df)]('ul')[_0x3e936a(0x247)]();const {references:_0x1897da}=yield _0x16b3b1(_0x49c686,_0x5d25ef);_0x1897da[_0x3e936a(0x2e0)]((_0x593e35,_0x18bb9d)=>{const _0x2f4a17=_0x3e936a;var _0x10374f,_0x23b57c;return(((_0x10374f=_0x593e35[_0x2f4a17(0x296)])===null||_0x10374f===void 0x0?void 0x0:_0x10374f['name'])||'')[_0x2f4a17(0x2bc)](((_0x23b57c=_0x18bb9d[_0x2f4a17(0x296)])===null||_0x23b57c===void 0x0?void 0x0:_0x23b57c['name'])||'');});for(const _0x4c5833 of _0x1897da){if(_0x904457[_0x3e936a(0x23d)][_0x3e936a(0x272)]&&!_0x904457[_0x3e936a(0x23d)][_0x3e936a(0x272)](_0x4c5833))continue;const _0x1e8de3=_0x19f7df(_0x4c5833);_0x49c686[_0x3e936a(0x2df)]('ul')[_0x3e936a(0x2fb)](_0x1e8de3);}_0x49c686[_0x3e936a(0x330)](_0x3e936a(0x251));}catch(_0x26d09b){_0x49c686[_0x3e936a(0x2df)]('ul')['append']('<li>error\x20'+_0x26d09b[_0x3e936a(0x2e3)]+_0x3e936a(0x32e)),console['log'](_0x3e936a(0x28d),_0x26d09b);}_0x49c686[_0x3e936a(0x210)](_0x3e936a(0x2d9))[_0x3e936a(0x21a)](),_0x49c686[_0x3e936a(0x267)](_0x3e936a(0x308));});}function _0x141b51(_0x54d787){const _0x565ece=_0x56c808,_0x39ad73={'baseUrl':_0x54d787[_0x565ece(0x23d)]['baseUrl'],'endpointNode':typeof _0x54d787[_0x565ece(0x23d)][_0x565ece(0x277)]===_0x565ece(0x2e7)?_0x54d787[_0x565ece(0x23d)]['endpointNode']():_0x54d787[_0x565ece(0x23d)][_0x565ece(0x277)],'endpoint':typeof _0x54d787['options'][_0x565ece(0x265)]===_0x565ece(0x2e7)?_0x54d787['options'][_0x565ece(0x265)]():_0x54d787['options']['endpoint']};return _0x39ad73;}function _0x1d9a58(_0xec3a31,_0x38b051){return _0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x78e2ca=_0x4a02;if(_0x38b051[_0x78e2ca(0x30c)](_0x78e2ca(0x251))){_0x38b051[_0x78e2ca(0x267)](_0x78e2ca(0x223))[_0x78e2ca(0x330)](_0x78e2ca(0x250)),_0x38b051[_0x78e2ca(0x2df)]('ul')[_0x78e2ca(0x310)]();return;}const _0x374f8a=_0x141b51(_0xec3a31),_0x3eb236=!_0xec3a31[_0x78e2ca(0x23d)]['isTypeRef']?_0x4746c3:_0x570880;try{yield _0x51baa4(_0xec3a31,_0x38b051,_0x3eb236,_0x374f8a),_0x38b051['removeClass']('expandable')[_0x78e2ca(0x330)](_0x78e2ca(0x250));}catch(_0x2fdaae){_0x38b051[_0x78e2ca(0x267)](_0x78e2ca(0x223))['addClass'](_0x78e2ca(0x250)),console[_0x78e2ca(0x24b)](_0x78e2ca(0x326),_0x2fdaae);}});}const _0x4c2084={'browseName':{'namespaceIndex':0x0,'name':_0x56c808(0x216)},'nodeClass':_0x56c808(0x2dd),'nodeId':'ns=0;i=85','displayName':{'text':_0x56c808(0x216)},'typeDefinition':_0x25f601},_0x5bf992=()=>{const _0x45a8e8=_0x56c808;$[_0x45a8e8(0x228)](_0x45a8e8(0x2f5),{'options':{'endpointNode':()=>({'endpoint':_0x45a8e8(0x206)}),'endpoint':()=>undefined,'parentNode':()=>_0x4c2084,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x14c4cf=_0x4a02,_0x18d411=this;if(_0x18d411[_0x14c4cf(0x226)]==undefined){const _0x2aecbb=typeof _0x18d411[_0x14c4cf(0x23d)][_0x14c4cf(0x28e)]===_0x14c4cf(0x2e7)?_0x18d411['options'][_0x14c4cf(0x28e)][_0x14c4cf(0x25d)](_0x18d411):_0x18d411['options'][_0x14c4cf(0x28e)];if(_0x2aecbb instanceof Promise){const _0xa69612=yield _0x2aecbb;_0x18d411['__parentNode']=_0xa69612;}else _0x18d411[_0x14c4cf(0x226)]=_0x2aecbb;}return _0x18d411[_0x14c4cf(0x226)]||_0x4c2084;});},'reset'(){return _0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x3a2ad8=_0x4a02,_0x23e1cd=this,_0x528d9d=_0x23e1cd;_0x528d9d[_0x3a2ad8(0x226)]=undefined,_0x23e1cd[_0x3a2ad8(0x2b0)][_0x3a2ad8(0x247)]();const _0x187844=yield this['resolveParentNode'](),_0x25c715=_0x19f7df(_0x187844);_0x23e1cd[_0x3a2ad8(0x2b0)][_0x3a2ad8(0x2fb)](_0x25c715),_0x23e1cd[_0x3a2ad8(0x23a)]=_0x187844;});},'verify'(_0x43ca3d){const _0x163ad2=_0x45a8e8,_0x4d0164=this,_0x491358=_0x141b51(_0x4d0164);_0x42d92d(_0x491358,_0x43ca3d,_0x4d0164['$input'],_0x4d0164[_0x163ad2(0x319)])[_0x163ad2(0x26e)](_0x527457=>{const _0x2ed758=_0x163ad2;!_0x527457?_0x4d0164[_0x2ed758(0x2f4)]['addClass'](_0x2ed758(0x22f)):_0x4d0164[_0x2ed758(0x2f4)][_0x2ed758(0x267)](_0x2ed758(0x22f));});},'_hideMenu'(_0x5b3803){const _0x5d5f59=_0x45a8e8,_0x4b185f=this;$(document)[_0x5d5f59(0x20a)](_0x5d5f59(0x266)),_0x5b3803[_0x5d5f59(0x2e5)](),_0x5b3803[_0x5d5f59(0x21f)]({'height':_0x5d5f59(0x29d)});if(_0x5b3803[_0x5d5f59(0x2ff)]['multiple']){var _0xe98ca7=[];_0x5b3803[_0x5d5f59(0x210)](_0x5d5f59(0x217))['each'](function(){const _0x1af76c=_0x5d5f59;$(this)[_0x1af76c(0x26a)]('checked')&&_0xe98ca7[_0x1af76c(0x1f5)]($(this)[_0x1af76c(0x26b)](_0x1af76c(0x2a0)));}),_0x5b3803[_0x5d5f59(0x207)](_0xe98ca7);}_0x4b185f[_0x5d5f59(0x297)]['is'](_0x5d5f59(0x332))?_0x4b185f['$input'][_0x5d5f59(0x337)](_0x5d5f59(0x28b)):_0x4b185f[_0x5d5f59(0x283)][_0x5d5f59(0x337)](_0x5d5f59(0x28b));},'_createMenu'(_0x231e2b,_0x24f78e,_0x280dac){const _0x2ff8f3=_0x45a8e8;var _0x58f579=this;const _0xa18aba=$('<div>')['addClass']('sterfive-typedInput-options\x20sterfive-online-menu');return _0xa18aba['opts']=_0x24f78e,_0xa18aba[_0x2ff8f3(0x207)]=_0x280dac,_0x231e2b[_0x2ff8f3(0x292)](_0x2fa35d=>{const _0xbe9d4e=_0x2ff8f3;typeof _0x2fa35d===_0xbe9d4e(0x286)&&(_0x2fa35d={'value':_0x2fa35d,'label':_0x2fa35d});var _0x28a842=$(_0xbe9d4e(0x22b))[_0xbe9d4e(0x322)](_0xbe9d4e(0x2a0),_0x2fa35d[_0xbe9d4e(0x2a0)])['appendTo'](_0xa18aba);_0x2fa35d[_0xbe9d4e(0x21d)]&&_0x28a842['text'](_0x2fa35d[_0xbe9d4e(0x21d)]);_0x2fa35d[_0xbe9d4e(0x33a)]&&_0x28a842[_0xbe9d4e(0x26a)](_0xbe9d4e(0x33a),_0x2fa35d[_0xbe9d4e(0x33a)]);if(_0x2fa35d[_0xbe9d4e(0x23c)]){if(_0x2fa35d['icon'][_0xbe9d4e(0x2bb)]('<')===0x0)$(_0x2fa35d[_0xbe9d4e(0x23c)])[_0xbe9d4e(0x2cd)](_0x28a842);else _0x2fa35d[_0xbe9d4e(0x23c)][_0xbe9d4e(0x2bb)]('/')!==-0x1?$('<i>',{'class':_0xbe9d4e(0x32c),'style':_0xbe9d4e(0x2c9)+_0x2fa35d[_0xbe9d4e(0x23c)]+_0xbe9d4e(0x26f)+_0x2fa35d['icon']+');'})[_0xbe9d4e(0x2cd)](_0x28a842):$(_0xbe9d4e(0x240),{'class':_0xbe9d4e(0x317)+_0x2fa35d[_0xbe9d4e(0x23c)]})[_0xbe9d4e(0x2cd)](_0x28a842);}else _0x28a842[_0xbe9d4e(0x21f)]({'paddingLeft':_0xbe9d4e(0x205)});!_0x2fa35d['icon']&&!_0x2fa35d[_0xbe9d4e(0x21d)]&&_0x28a842[_0xbe9d4e(0x24d)](_0x2fa35d['value']);var _0x5de907;_0x24f78e[_0xbe9d4e(0x338)]&&(_0x5de907=$(_0xbe9d4e(0x294))['css']('pointer-events','none')[_0xbe9d4e(0x26b)](_0xbe9d4e(0x2a0),_0x2fa35d[_0xbe9d4e(0x2a0)])[_0xbe9d4e(0x2cd)](_0x28a842)['on'](_0xbe9d4e(0x2e6),function(_0x2e0a7e){const _0x1a1377=_0xbe9d4e;_0x2e0a7e[_0x1a1377(0x2ee)]();})),_0x28a842['on'](_0xbe9d4e(0x20f),function(_0x4404e1){const _0x32ff7c=_0xbe9d4e;_0x4404e1['preventDefault'](),_0x4404e1['stopPropagation'](),!_0x24f78e[_0x32ff7c(0x338)]?(_0x280dac(_0x2fa35d[_0x32ff7c(0x2a0)]),_0x58f579[_0x32ff7c(0x29c)](_0xa18aba)):_0x5de907[_0x32ff7c(0x26a)](_0x32ff7c(0x334),!_0x5de907[_0x32ff7c(0x26a)](_0x32ff7c(0x334)));});}),_0xa18aba['css']({'display':_0x2ff8f3(0x230)}),_0xa18aba['on']('keydown',function(_0x3bd9a0){const _0x2477e1=_0x2ff8f3;if(_0x3bd9a0['keyCode']===0x28)_0x3bd9a0[_0x2477e1(0x2ee)](),$(this)[_0x2477e1(0x2df)](':focus')[_0x2477e1(0x2fc)]()[_0x2477e1(0x337)](_0x2477e1(0x28b));else{if(_0x3bd9a0[_0x2477e1(0x303)]===0x26)_0x3bd9a0[_0x2477e1(0x2ee)](),$(this)[_0x2477e1(0x2df)](_0x2477e1(0x339))['prev']()[_0x2477e1(0x337)]('focus');else _0x3bd9a0[_0x2477e1(0x303)]===0x1b&&(_0x3bd9a0[_0x2477e1(0x2ee)](),_0x58f579[_0x2477e1(0x29c)](_0xa18aba));}_0x3bd9a0[_0x2477e1(0x21c)]();}),_0xa18aba;},'disarmClick':![],'_showMenu'(_0x3f3399,_0x5adf86){const _0x5ce715=_0x45a8e8;if(this[_0x5ce715(0x2b5)]){this['disarmClick']=![];return;}var _0x110a9d=this,_0x5d7211=_0x5adf86['offset'](),_0x47bf0b=_0x5adf86[_0x5ce715(0x1f3)](),_0x4f7a66=_0x3f3399[_0x5ce715(0x1f3)](),_0x19dc0d=_0x47bf0b+_0x5d7211[_0x5ce715(0x2e1)];_0x19dc0d+_0x4f7a66-$(document)[_0x5ce715(0x222)]()>$(window)[_0x5ce715(0x1f3)]()&&(_0x19dc0d-=_0x19dc0d+_0x4f7a66-$(window)[_0x5ce715(0x1f3)]()+0x5),_0x19dc0d<0x0&&(_0x3f3399[_0x5ce715(0x1f3)](_0x4f7a66+_0x19dc0d),_0x19dc0d=0x0),_0x3f3399['css']({'top':_0x19dc0d+'px','left':_0x5d7211['left']+'px'}),_0x3f3399[_0x5ce715(0x23f)](0x64),this[_0x5ce715(0x244)](function(){const _0x387925=_0x5ce715;_0x110a9d[_0x387925(0x256)][_0x387925(0x330)]('red-ui-typedInput-focus'),$(document)['on'](_0x387925(0x266),function(_0x33b7e8){const _0x2ccc1f=_0x387925;!$(_0x33b7e8[_0x2ccc1f(0x2f3)])[_0x2ccc1f(0x28a)](_0x3f3399)['length']&&_0x110a9d['_hideMenu'](_0x3f3399),$(_0x33b7e8[_0x2ccc1f(0x2f3)])[_0x2ccc1f(0x28a)](_0x5adf86)['length']&&(_0x110a9d[_0x2ccc1f(0x2b5)]=!![],_0x33b7e8[_0x2ccc1f(0x2ee)]());});});},'_showTypeMenu'(){const _0x22ee3f=_0x45a8e8,_0x2a0226=this;this['_showMenu'](_0x2a0226[_0x22ee3f(0x281)],_0x2a0226['$combo']),_0x2a0226[_0x22ee3f(0x2f2)]['hide']();const _0x3fa433=_0x2a0226['selectedMenuItem'];var _0x3a5df4=_0x2a0226['$menu'][_0x22ee3f(0x210)](_0x22ee3f(0x30b)+_0x3fa433+'\x27');setTimeout(function(){const _0x13fa6d=_0x22ee3f;_0x3a5df4[_0x13fa6d(0x337)](_0x13fa6d(0x28b));},0x78);},'_initMenu'(){const _0x4ddb79=_0x45a8e8,_0x399cf7=this;_0x399cf7['$selectTrigger'][_0x4ddb79(0x322)](_0x4ddb79(0x22a),-0x1),_0x399cf7[_0x4ddb79(0x283)]['on'](_0x4ddb79(0x239),function(_0x7f89c5){_0x7f89c5['preventDefault']();});_0x399cf7['$menu']&&_0x399cf7[_0x4ddb79(0x281)]['remove']();const _0x30b6fe=[{'label':_0x4ddb79(0x24d),'value':'t','title':_0x4ddb79(0x325),'icon':_0x4ddb79(0x2ea)},{'label':_0x4ddb79(0x2cf),'value':'msg','title':_0x4ddb79(0x2de),'icon':_0x4ddb79(0x2f9)},{'label':_0x4ddb79(0x285),'value':'n','icon':'<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20'},{'label':'Aliased\x20NodeId','value':'na','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20'},{'label':'NodeId\x20with\x20namespace\x20Urn','value':_0x4ddb79(0x2ac),'icon':'<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20'},{'label':_0x4ddb79(0x33f),'value':'b','icon':'<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;'},{'label':_0x4ddb79(0x2b9),'value':'ab','icon':'<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;'}],_0x2a869a=_0x2c5c83(_0x399cf7[_0x4ddb79(0x2ad)][_0x4ddb79(0x31d)]()),_0x3c7493=_0x30b6fe['find'](_0xfe5eba=>_0xfe5eba[_0x4ddb79(0x2a0)]===_0x2a869a);_0x399cf7[_0x4ddb79(0x2ef)][_0x4ddb79(0x247)]()[_0x4ddb79(0x2fb)](_0x4ddb79(0x33e)+((_0x3c7493===null||_0x3c7493===void 0x0?void 0x0:_0x3c7493['title'])||'')+_0x4ddb79(0x291)+((_0x3c7493===null||_0x3c7493===void 0x0?void 0x0:_0x3c7493[_0x4ddb79(0x23c)])||'')+_0x4ddb79(0x246)),_0x399cf7[_0x4ddb79(0x32f)]=_0x2a869a;const _0x256e10=this;_0x399cf7[_0x4ddb79(0x281)]=this[_0x4ddb79(0x2da)](_0x30b6fe,{},_0x467955=>{const _0x211843=_0x4ddb79,_0x3039e2=_0x8b4105(_0x467955);_0x3039e2&&_0x256e10['verify'](_0x3039e2);const _0x35320a=_0x30b6fe[_0x211843(0x210)](_0x3cc3be=>_0x3cc3be['value']===_0x467955);_0x399cf7['selectedMenuItem']=_0x467955,_0x399cf7[_0x211843(0x2ef)][_0x211843(0x247)]()['append'](_0x211843(0x33e)+((_0x35320a===null||_0x35320a===void 0x0?void 0x0:_0x35320a[_0x211843(0x33a)])||'')+_0x211843(0x291)+((_0x35320a===null||_0x35320a===void 0x0?void 0x0:_0x35320a[_0x211843(0x23c)])||'')+'</span>');}),_0x399cf7[_0x4ddb79(0x281)][_0x4ddb79(0x314)](document[_0x4ddb79(0x2b6)]),_0x399cf7[_0x4ddb79(0x281)][_0x4ddb79(0x2e5)](),_0x399cf7[_0x4ddb79(0x283)]['show']();},'mode'(){const _0xabd25e=_0x45a8e8,_0x296705=this;return _0x8b4105(_0x296705[_0xabd25e(0x32f)]);},'setMode'(_0x597090){const _0x25ef03=this,_0x2baddc=_0x3c4d5f(_0x597090);_0x25ef03['selectedMenuItem']=_0x2baddc;},'_create'(){const _0x4b04f4=_0x45a8e8,_0x3e05d8=this;_0x3e05d8[_0x4b04f4(0x2ad)]=this[_0x4b04f4(0x2fd)],_0x3e05d8['$input'][_0x4b04f4(0x21f)](_0x4b04f4(0x2c0),_0x4b04f4(0x230)),_0x3e05d8['$elementDiv']=_0x3e05d8['$input'][_0x4b04f4(0x1f7)](_0x4b04f4(0x27f))[_0x4b04f4(0x2d3)]()['addClass'](_0x4b04f4(0x227)),_0x3e05d8[_0x4b04f4(0x2f4)]=$(_0x4b04f4(0x1f4)),_0x3e05d8[_0x4b04f4(0x2f4)][_0x4b04f4(0x330)]('sterfive-combo-box'),_0x3e05d8[_0x4b04f4(0x2ad)]['replaceWith'](_0x3e05d8['$combo']),_0x3e05d8[_0x4b04f4(0x274)]=$(_0x4b04f4(0x1f4))[_0x4b04f4(0x330)](_0x4b04f4(0x258)),_0x3e05d8['$combo'][_0x4b04f4(0x2fb)](_0x3e05d8[_0x4b04f4(0x274)]),_0x3e05d8['$inputGroup'][_0x4b04f4(0x2fb)](_0x3e05d8[_0x4b04f4(0x2ad)]),_0x3e05d8[_0x4b04f4(0x221)]=$(_0x4b04f4(0x2f8)),_0x3e05d8['$input'][_0x4b04f4(0x2f0)](_0x3e05d8[_0x4b04f4(0x221)]),_0x3e05d8[_0x4b04f4(0x221)]['on']('click',function(){return _0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x244020=_0x4a02;var _0x4e748d;let _0x39da24=![],_0x20595c;!_0x3e05d8[_0x244020(0x2f2)]['is'](':visible')&&(_0x3e05d8[_0x244020(0x319)][_0x244020(0x2e5)](),_0x20595c=yield _0x3e05d8['resolveParentNode'](),(_0x20595c!==_0x3e05d8[_0x244020(0x23a)]||((_0x4e748d=_0x3e05d8[_0x244020(0x23a)])===null||_0x4e748d===void 0x0?void 0x0:_0x4e748d[_0x244020(0x329)])!==_0x20595c[_0x244020(0x329)])&&(yield _0x3e05d8[_0x244020(0x305)]()),_0x39da24=!![]),_0x3e05d8[_0x244020(0x2f2)]['toggle'](),_0x39da24&&(yield _0x23ecec(_0x3e05d8,_0x20595c));});}),_0x3e05d8[_0x4b04f4(0x1fa)]=$(_0x4b04f4(0x231)),_0x3e05d8[_0x4b04f4(0x2ad)][_0x4b04f4(0x2f0)](_0x3e05d8[_0x4b04f4(0x1fa)]),_0x3e05d8[_0x4b04f4(0x1fa)]['on'](_0x4b04f4(0x20f),()=>{const _0x4d9b2c=_0x4b04f4,_0x504f3f=_0x3e05d8['mode']();if(!_0x504f3f)return;this[_0x4d9b2c(0x2e9)](_0x504f3f);});const _0x1ea894=_0x4d76da=>_0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x2015ca=_0x4b04f4,_0x2a5098=this;let _0x8d1b2=_0x2a5098[_0x2015ca(0x2e4)]();if(!_0x8d1b2)return;const _0x3305b9=_0x141b51(_0x2a5098),{data:_0x3868aa,json:_0x5d6465}=yield _0x208862(_0x3305b9,_0x4d76da);if(_0x3868aa[_0x2015ca(0x2b3)]!==0xc8)return;if(_0x5d6465[_0x2015ca(0x30d)]['match'](/Good/)){const _0x8069c8=_0x5e21ae(_0x5d6465,_0x8d1b2);_0x2a5098[_0x2015ca(0x2ad)][_0x2015ca(0x31d)](_0x8069c8),_0x2a5098[_0x2015ca(0x2ad)]['trigger'](_0x2015ca(0x327));}});{_0x3e05d8['$uiSelect']=$(_0x4b04f4(0x27f)),_0x3e05d8[_0x4b04f4(0x2ad)][_0x4b04f4(0x2ca)](_0x3e05d8['$uiSelect']),_0x3e05d8[_0x4b04f4(0x283)]=$(_0x4b04f4(0x328))[_0x4b04f4(0x2cd)](_0x3e05d8[_0x4b04f4(0x256)]),$(_0x4b04f4(0x262))['toggle'](!![])[_0x4b04f4(0x314)](_0x3e05d8[_0x4b04f4(0x283)]),_0x3e05d8[_0x4b04f4(0x283)]['on'](_0x4b04f4(0x20f),function(_0x3bd9a7){const _0x171b00=_0x4b04f4;_0x3bd9a7[_0x171b00(0x2ee)](),_0x3bd9a7[_0x171b00(0x21c)](),_0x3e05d8[_0x171b00(0x236)]();}),_0x3e05d8[_0x4b04f4(0x283)]['on']('keydown',function(_0x32a272){const _0x36a56c=_0x4b04f4;_0x32a272[_0x36a56c(0x303)]===0x28&&_0x3e05d8['_showTypeMenu'](),_0x32a272[_0x36a56c(0x21c)]();})['on']('focus',function(){_0x3e05d8['$uiSelect']['addClass']('red-ui-typedInput-focus');})['on'](_0x4b04f4(0x235),function(){const _0x12e058=_0x4b04f4;_0x3e05d8['$uiSelect'][_0x12e058(0x267)](_0x12e058(0x253));}),_0x3e05d8[_0x4b04f4(0x2ef)]=$(_0x4b04f4(0x30a))['appendTo'](_0x3e05d8['$selectTrigger']);}this[_0x4b04f4(0x201)]();!_0x3e05d8[_0x4b04f4(0x2ad)][_0x4b04f4(0x322)](_0x4b04f4(0x213))&&_0x3e05d8[_0x4b04f4(0x2ad)][_0x4b04f4(0x322)](_0x4b04f4(0x213),'enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x3e05d8[_0x4b04f4(0x319)]=$(_0x4b04f4(0x252)),_0x3e05d8[_0x4b04f4(0x319)][_0x4b04f4(0x2e5)](),_0x3e05d8[_0x4b04f4(0x2f4)]['append'](_0x3e05d8['$info']),_0x3e05d8[_0x4b04f4(0x2f2)]=$(_0x4b04f4(0x1f4))['addClass'](_0x4b04f4(0x21e))[_0x4b04f4(0x2e5)]()[_0x4b04f4(0x314)](_0x3e05d8['$combo']),_0x3e05d8['$tree']=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0x4b04f4(0x314)](_0x3e05d8[_0x4b04f4(0x2f2)]),this[_0x4b04f4(0x305)]();const _0x1a52c0=(_0x18ea07,_0x4bb2dd)=>{const _0x49ee6d=_0x4b04f4,_0x1ab607=0x14,_0x5c9469=0x14,_0x5ac916=_0x18ea07[_0x49ee6d(0x2ec)](),_0x4d7f01=_0x4bb2dd;if(_0x4d7f01[_0x49ee6d(0x220)]>=_0x5ac916[_0x49ee6d(0x2b8)]&&_0x4d7f01[_0x49ee6d(0x220)]<=_0x5ac916[_0x49ee6d(0x2b8)]+_0x1ab607&&_0x4d7f01['pageY']>=_0x5ac916['top']&&_0x4d7f01[_0x49ee6d(0x2b4)]<=_0x5ac916[_0x49ee6d(0x2e1)]+_0x5c9469)return!![];return![];},_0x355ce6=_0x31370d=>_0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x56fa30=_0x4b04f4;if(_0x31370d[_0x56fa30(0x30c)](_0x56fa30(0x223)))_0x1d9a58(_0x3e05d8,_0x31370d);else{if(_0x31370d[_0x56fa30(0x30c)](_0x56fa30(0x250)))_0x31370d[_0x56fa30(0x2df)]('ul')[_0x56fa30(0x310)](),_0x31370d[_0x56fa30(0x289)](_0x56fa30(0x306));else{if(_0x31370d['children']('ul')[_0x56fa30(0x2df)]()['length']>0x0)_0x31370d['children']('ul')[_0x56fa30(0x310)](),_0x31370d['toggleClass'](_0x56fa30(0x306));else;}}});_0x3e05d8['$tree']['on'](_0x4b04f4(0x302),'li',function(_0x19ad1b){const _0x32f492=_0x4b04f4;var _0x545261,_0x5e1905;_0x19ad1b[_0x32f492(0x21c)]();let _0x18eec9=$(this);if(_0x1a52c0(_0x18eec9,_0x19ad1b))_0x355ce6(_0x18eec9);else{const _0xab10a8=_0x18eec9['data'](_0x32f492(0x2a0)),_0x15ef7c=_0x18eec9[_0x32f492(0x26b)](_0x32f492(0x2ba));if(_0x3e05d8[_0x32f492(0x23d)][_0x32f492(0x31a)]&&!_0x3e05d8['options'][_0x32f492(0x31a)](_0x15ef7c))return;_0x3e05d8[_0x32f492(0x2ad)][_0x32f492(0x26b)]('reference',_0x15ef7c),((_0x545261=_0x15ef7c['displayName'])===null||_0x545261===void 0x0?void 0x0:_0x545261[_0x32f492(0x24d)])||((_0x5e1905=_0x15ef7c['browseName'])===null||_0x5e1905===void 0x0?void 0x0:_0x5e1905[_0x32f492(0x24a)])||_0x15ef7c[_0x32f492(0x329)][_0x32f492(0x273)]();let _0x534022=_0x3e05d8[_0x32f492(0x2e4)]();!_0x534022&&(_0x534022=_0x32f492(0x329),_0x3e05d8[_0x32f492(0x284)](_0x534022)),_0x1ea894(_0xab10a8)[_0x32f492(0x26e)](()=>{const _0x184b70=_0x32f492;_0x3e05d8[_0x184b70(0x2f2)][_0x184b70(0x2e5)]();})[_0x32f492(0x309)](_0x177b5=>{const _0x16c5e5=_0x32f492;_0x3e05d8[_0x16c5e5(0x2f2)][_0x16c5e5(0x2e5)]();});}}),_0x3e05d8[_0x4b04f4(0x2b0)]['on'](_0x4b04f4(0x20f),'li',function(_0x354fe0){const _0x1fa54a=_0x4b04f4;_0x354fe0[_0x1fa54a(0x21c)]();let _0x1e3926=$(this);_0x1a52c0(_0x1e3926,_0x354fe0)&&_0x355ce6(_0x1e3926),_0x3f894a(_0x3e05d8,_0x1e3926);}),$(document)['on'](_0x4b04f4(0x20f),function(_0xf2c2af){const _0x48635f=_0x4b04f4;!$(_0xf2c2af[_0x48635f(0x2f3)])['closest'](_0x3e05d8[_0x48635f(0x2f4)])['length']&&_0x3e05d8[_0x48635f(0x2f2)][_0x48635f(0x2e5)]();});}});},_0x4f320f=()=>{const _0x17a319=_0x56c808,_0x262169=$(_0x17a319(0x224));if(_0x262169[_0x17a319(0x320)]){const _0xeb94a8=$('<iframe></iframe>',{'src':_0x17a319(0x249),'scrolling':'no','style':_0x17a319(0x31f),'allowtransparency':'true','width':_0x17a319(0x1f8),'height':'30px'});_0x262169[_0x17a319(0x2fb)](_0xeb94a8),_0xeb94a8['css']({'position':_0x17a319(0x264),'right':_0x17a319(0x2c5),'bottom':_0x17a319(0x33b)});}},_0x38db32=(_0x14d6c3,_0x1898da,_0x2f94af)=>_0x4a5ea6(void 0x0,[_0x14d6c3,_0x1898da,_0x2f94af],void 0x0,function*({endpointNode:_0x3e1891,endpoint:_0x2524c5,baseUrl:_0x1283db},_0x4af255,_0x35b328){const _0x2c4cbd=_0x56c808,_0x160643=_0x1283db+_0x2c4cbd(0x268),_0x42eac4=_0x160643+_0x2c4cbd(0x26d),_0x5d4c6a=yield fetch(_0x42eac4,{'method':_0x2c4cbd(0x298),'body':JSON[_0x2c4cbd(0x2b7)]({'endpointNode':_0x3e1891,'endpoint':_0x2524c5,'nodeId':_0x4af255,'namespaceAliases':_0x35b328}),'headers':{'Content-Type':_0x2c4cbd(0x255)}});if(_0x5d4c6a[_0x2c4cbd(0x2b3)]!==0xc8){console[_0x2c4cbd(0x24b)](_0x2c4cbd(0x2c3),_0x5d4c6a[_0x2c4cbd(0x2b3)],_0x5d4c6a[_0x2c4cbd(0x241)]);const _0x3cf6c1={'statusCode':_0x2c4cbd(0x27b),'requestedNodeId':_0x4af255};return _0x3cf6c1;}console['log'](_0x2c4cbd(0x21b),_0x5d4c6a[_0x2c4cbd(0x2b3)],_0x5d4c6a[_0x2c4cbd(0x241)]);const _0x57730f=yield _0x5d4c6a['json']();return _0x57730f;});function _0xad8ea1(_0x4620f0,_0x3a566c,_0x11c55a,_0x419417){const _0x148b6f=_0x56c808,_0x75c169=$('#'+_0x4620f0+_0x148b6f(0x27c)),_0x3aa4e4=$('#'+_0x4620f0+_0x148b6f(0x2bf)),_0x294c19=$('#'+_0x4620f0+_0x148b6f(0x2b2)),_0x4cab31=$('#'+_0x4620f0+_0x148b6f(0x243));let _0x34ae1c=![];_0x75c169[_0x148b6f(0x2e5)](),_0x3aa4e4['hide'](),_0x294c19[_0x148b6f(0x2e5)](),_0x3a566c['on']('click',()=>{const _0xc70812=_0x148b6f;if(_0x34ae1c)return;_0x34ae1c=!![],_0x294c19[_0xc70812(0x267)](_0xc70812(0x2e5)),_0x294c19['html'](_0xc70812(0x1f6)),_0x75c169['addClass'](_0xc70812(0x2e5)),_0x3aa4e4['addClass'](_0xc70812(0x2e5)),_0x4cab31[_0xc70812(0x315)]('');const {body:_0x572ab4,url:_0x359b98}=_0x11c55a();fetch(_0x359b98,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON[_0xc70812(0x2b7)](_0x572ab4)})['then'](_0x3efb6e=>_0x3efb6e[_0xc70812(0x214)]())[_0xc70812(0x26e)](_0xc61f54=>{const _0x7cc516=_0xc70812;_0x34ae1c=![],_0x294c19['hide'](),console[_0x7cc516(0x24b)](JSON[_0x7cc516(0x2b7)](_0xc61f54,null,'\x20'));if(_0xc61f54[_0x7cc516(0x24f)]==='ok')_0x75c169[_0x7cc516(0x267)](_0x7cc516(0x2e5)),_0x3aa4e4[_0x7cc516(0x330)](_0x7cc516(0x2e5)),_0x4cab31['html'](_0xc61f54[_0x7cc516(0x2e3)]['replace']('\x0a','<br>')),_0x419417(null,_0xc61f54);else{const _0x306373=_0x115ef9=>!_0x115ef9?'':_0x115ef9[_0x7cc516(0x2a5)]('\x0a')[_0x7cc516(0x29a)](_0xc867e3=>'<p>'+_0xc867e3+_0x7cc516(0x324))['join']('\x0a'),_0x478af2=_0x433a7d=>Array[_0x7cc516(0x2c2)](_0x433a7d)?_0x433a7d[_0x7cc516(0x29a)](_0x306373)[_0x7cc516(0x229)]('\x0a'):_0x306373(_0x433a7d);_0x75c169['addClass']('hide'),_0x3aa4e4[_0x7cc516(0x267)](_0x7cc516(0x2e5)),_0x4cab31[_0x7cc516(0x315)](_0x478af2(_0xc61f54[_0x7cc516(0x2e3)])+_0x478af2(_0xc61f54[_0x7cc516(0x287)])),_0x419417(new Error(_0xc61f54['result']),_0xc61f54);}})[_0xc70812(0x309)](_0x3597b0=>{const _0x47e40d=_0xc70812;_0x34ae1c=![],_0x294c19[_0x47e40d(0x330)]('hide'),_0x75c169[_0x47e40d(0x330)](_0x47e40d(0x2e5)),_0x3aa4e4[_0x47e40d(0x267)]('hide'),_0x4cab31[_0x47e40d(0x315)](_0x47e40d(0x257)+_0x3597b0[_0x47e40d(0x2e3)]),console[_0x47e40d(0x24b)]('err',_0x3597b0),_0x419417(_0x3597b0,null);});});}const _0x5bec6a=()=>{const _0x5bda92=_0x56c808,_0x378010=$(_0x5bda92(0x311)),_0xa199ed=_0x378010['val'](),_0x3a83eb=RED['nodes']['node'](_0xa199ed);if(!_0x3a83eb)return undefined;const {endpoint:_0x4bc471,securityMode:_0x523fea,securityPolicy:_0x24af2f,userIdentityType:_0x5cbf14,credentials:_0x47e3af,namespaceAliases:_0x29ba7c}=_0x3a83eb,_0x4aa893={'endpoint':_0x4bc471,'securityMode':_0x523fea,'securityPolicy':_0x24af2f,'userIdentityType':_0x5cbf14,'credentials':_0x47e3af,'namespaceAliases':_0x29ba7c};return _0x4aa893;},_0x208db1=()=>{const _0x2b0c6f=_0x56c808,_0x31a36b=$('#node-input-endpoint'),_0x24ba8c=_0x31a36b[_0x2b0c6f(0x31d)](),_0x30437a=_0x5bec6a();if(!_0x30437a)return undefined;const _0x57a4ff=_0x30437a[_0x2b0c6f(0x2c4)];return Object[_0x2b0c6f(0x263)]({'namespaceAliases':_0x57a4ff,'id':_0x24ba8c},_0x30437a);},_0x55fa7d=()=>{return{'endpointNode':_0x208db1};};RED[_0x56c808(0x2a9)][_0x56c808(0x248)](_0x56c808(0x340),{'category':_0x56c808(0x1f9),'color':_0x56c808(0x1fe),'align':_0x56c808(0x1fc),'icon':_0x56c808(0x261),'paletteLabel':_0x56c808(0x25d),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':'OpcUa-Endpoint2'},'action':{'value':_0x56c808(0x275),'required':!![]},'methodId':{'value':'','required':!![]},'objectId':{'value':'','required':!![]}},'outputs':0x2,'label'(){const _0x5b7556=_0x56c808;return this[_0x5b7556(0x24a)]||_0x5b7556(0x318);},'labelStyle'(){const _0x45c6ac=_0x56c808;return this[_0x45c6ac(0x24a)]?'node_label_italic':'';},'oneditprepare'(){const _0xb723e5=_0x56c808,_0x5ec2fa=this;_0x5bf992(),_0x4f320f(),_0x5ec2fa[_0xb723e5(0x26c)]=0x1;let _0x5a907b={};const _0x1d76a2=$('#node-input-objectId'),_0x24b96f=$(_0xb723e5(0x245)),_0x4421ef=$(_0xb723e5(0x218)),_0x4d0f42=$('#method-output-argument-definition'),_0x160111=$(_0xb723e5(0x2b1));_0x1d76a2[_0xb723e5(0x211)](Object[_0xb723e5(0x263)](Object['assign']({},_0x55fa7d()),{'filter'(_0x4e0023){const _0x4188e1=_0xb723e5;return _0x4e0023['nodeClass']===_0x4188e1(0x2dd);}})),_0x24b96f['nodeBrowser'](Object[_0xb723e5(0x263)](Object[_0xb723e5(0x263)]({},_0x55fa7d()),{'parentNode':function(){return _0x4a5ea6(this,void 0x0,void 0x0,function*(){const _0x8aa2bb=_0x4a02,_0x39365b=_0x141b51(this);let _0x372dbc=_0x1d76a2[_0x8aa2bb(0x26b)](_0x8aa2bb(0x2ba));if(!_0x372dbc){const _0x5112da=_0x1d76a2[_0x8aa2bb(0x31d)]();try{const _0x16335a=yield _0x38db32(_0x39365b,_0x5112da);if(_0x16335a[_0x8aa2bb(0x30d)]!=='Good')return null;_0x372dbc={'nodeId':_0x16335a[_0x8aa2bb(0x329)],'browseName':_0x16335a[_0x8aa2bb(0x296)],'nodeClass':_0x8aa2bb(0x2dd),'typeDefinition':_0x8aa2bb(0x2a7),'displayName':{'text':''}};}catch(_0x5edcc7){console[_0x8aa2bb(0x24b)](_0x5edcc7);}}return _0x372dbc;});},'filter'(_0x76f114){const _0x487688=_0xb723e5;return _0x76f114[_0x487688(0x27d)]==='Method'||_0x76f114[_0x487688(0x27d)]===_0x487688(0x2dd);},'isSelectable'(_0x2b400b){const _0x44ae1f=_0xb723e5;return _0x2b400b['nodeClass']===_0x44ae1f(0x1fb);}})),_0x1d76a2['on'](_0xb723e5(0x327),()=>{const _0x2ecc10=_0xb723e5;_0x24b96f['nodeBrowser'](_0x2ecc10(0x305));});function _0x3fb3c8(_0x40db14,_0x1e446e,_0x50b0a7){const _0x3794c7=_0xb723e5,_0x23f729=$(_0x3794c7(0x25e))[_0x3794c7(0x314)](_0x40db14);$(_0x3794c7(0x2d8))[_0x3794c7(0x31d)](_0x50b0a7[_0x3794c7(0x24a)]||'')['css']({'width':_0x3794c7(0x2a1)})[_0x3794c7(0x314)](_0x23f729);const _0x1ba744=_0x5a907b[_0x50b0a7[_0x3794c7(0x27e)][_0x3794c7(0x273)]()],_0x2a65f9=(_0x1ba744?_0x1ba744[_0x3794c7(0x296)][_0x3794c7(0x24a)]||'':_0x50b0a7['dataType'][_0x3794c7(0x273)]())+(_0x50b0a7[_0x3794c7(0x2c8)]===0x1?'[]':'');$(_0x3794c7(0x2d8))['val'](_0x50b0a7[_0x3794c7(0x28c)][_0x3794c7(0x24d)]||'')['css']({'width':_0x3794c7(0x301)})['appendTo'](_0x23f729),$(_0x3794c7(0x2d8))[_0x3794c7(0x31d)](_0x2a65f9||'')[_0x3794c7(0x21f)]({'width':'50%'})[_0x3794c7(0x314)](_0x23f729);}_0x4421ef[_0xb723e5(0x203)]({'addButton':![],'height':_0xb723e5(0x29d),'scrollOnAdd':![],'addItem'(_0x433fd2,_0x4d1fa8,_0x4b45de){_0x3fb3c8(_0x433fd2,_0x4d1fa8,_0x4b45de);}}),_0x4d0f42[_0xb723e5(0x203)]({'addButton':![],'height':_0xb723e5(0x29d),'scrollOnAdd':![],'addItem'(_0x597993,_0x3eaca3,_0x26cac0){_0x3fb3c8(_0x597993,_0x3eaca3,_0x26cac0);}});function _0x6a7203(_0x3958e2,_0x3787c6){const _0x525e14=_0xb723e5;console[_0x525e14(0x24b)](_0x525e14(0x23b),_0x3787c6['length'],_0x525e14(0x1fd),_0x3787c6),_0x3958e2[_0x525e14(0x203)](_0x525e14(0x247));for(let _0x56f8d6=0x0;_0x56f8d6<_0x3787c6[_0x525e14(0x320)];_0x56f8d6++){_0x3958e2['editableList'](_0x525e14(0x279),_0x3787c6[_0x56f8d6]);}}_0x4421ef['hide'](),_0x4d0f42[_0xb723e5(0x2e5)]();let _0x4440df={};const _0x167c18=$('#copy-input');_0x167c18[_0xb723e5(0x2e5)](),_0x167c18['on'](_0xb723e5(0x20f),()=>{const _0x4a83eb=_0xb723e5;navigator[_0x4a83eb(0x237)][_0x4a83eb(0x242)](JSON[_0x4a83eb(0x2b7)](_0x4440df));}),_0xad8ea1(_0xb723e5(0x269),_0x160111,()=>({'url':_0xb723e5(0x22c),'body':{'endpointNode':_0x208db1(),'objectId':_0x1d76a2[_0xb723e5(0x31d)](),'methodId':_0x24b96f[_0xb723e5(0x31d)]()}}),(_0x39c82c,_0x3af0ab)=>{const _0x11eab0=_0xb723e5;if(_0x39c82c)return;const _0x3faf03=_0x3af0ab[_0x11eab0(0x20d)];_0x5a907b=_0x3af0ab[_0x11eab0(0x282)],_0x4421ef[_0x11eab0(0x2a2)](),_0x4d0f42[_0x11eab0(0x2a2)](),_0x6a7203(_0x4421ef,_0x3faf03[_0x11eab0(0x2a8)]),_0x6a7203(_0x4d0f42,_0x3faf03[_0x11eab0(0x2f1)]),_0x4440df=_0x3af0ab[_0x11eab0(0x2eb)]||{},_0x167c18['show'](),navigator[_0x11eab0(0x237)][_0x11eab0(0x242)](JSON[_0x11eab0(0x2b7)](_0x4440df)),console['log'](_0x11eab0(0x293),JSON[_0x11eab0(0x2b7)](_0x4440df)),console['log']('data',_0x3af0ab);});},'oneditsave'(){}});}()));function _0x4a02(_0x2a1d80,_0x36580f){const _0x177f4d=_0x177f();return _0x4a02=function(_0x4a02c6,_0x5e14b0){_0x4a02c6=_0x4a02c6-0x1f3;let _0x13d5f1=_0x177f4d[_0x4a02c6];return _0x13d5f1;},_0x4a02(_0x2a1d80,_0x36580f);}function _0x177f(){const _0x4b0d40=['nsuNodeID','message','mode','hide','mousedown','function','fa-object-group','verify','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','inputArgumentsExampleAsJson','offset','done','preventDefault','$selectLabel','after','outputArguments','$dropdown','target','$combo','sterfive.nodeBrowser','VariableType','ns=0;i=46','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','elements','append','next','element','fa-question','opts','><i\x20class=\x22fa\x20','50%','dblclick','keyCode','nodeId_aliased','reset','expandable\x20expanded','IsForward','loading','catch','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','[value=\x27','hasClass','statusCode','nodeId_nsu','nodeIds','toggle','#node-input-endpoint','DisplayName','animate','appendTo','html','NodeClass','red-ui-typedInput-icon\x20','OPCUA-Call','$info','isSelectable','HasChild','grey','val','172cDkdCj','background-color:transparent;overflow:hidden;border:3px','length','bp_indexed','attr','SteelBlue','</p>','Value\x20is\x20not\x20verified','error','change','<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>','nodeId','10575341reMPTf','2334006gDpzaY','red-ui-typedInput-icon','Inverse','</li>','selectedMenuItem','addClass','sterfive-info',':visible','2810760GFzSak','checked','320RQbgyu','1928QjHSKo','trigger','multiple',':focus','title','16px','5193395eIXfJs','CadetBlue','<span\x20title=','BrowsePath','OpcUa-Client2-Call','height','<div/>','push','Testing\x20Connection\x20...','wrap','180px','opcua','$verifyBtn','Method','right','arguments','#C0DEED','requestedNodeId','DodgerBlue','_initMenu','nsu\x20nodeId:\x20','editableList','suppressed','18px','opc.tcp://opcuademo.sterfive.com:26543','callback','node','aliasedBrowsePath','off','DataType','fa-sliders','argumentDefinition','!!failure!!','click','find','nodeBrowser','aliased\x20browsePath:\x20','placeholder','json','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','Objects','input[type=\x22checkbox\x22]','#method-input-argument-definition','ns=0;i=34','remove','fetched\x20:\x20','stopPropagation','label','sterfive-dropdown','css','pageX','$toggleTreeBtn','scrollTop','expandable','.red-ui-tray-body','SuppressedError','__parentNode','main-wrapper','widget','join','tabindex','<a\x20href=\x22#\x22></a>','/opcua-for-node-red/argumentDefinition','</span><ul></ul></li>','\x22\x20style=\x22color:','sterfive-input-error','none','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','/walk-backward','DarkOrange','nodeId:\x20','blur','_showTypeMenu','clipboard','TypeDefinition','mousedown.red-ui-typedInput-focus-block','currentParent','installArgumentList','icon','options','already\x20loading','slideDown','<i>','statusText','writeText','-messages','_delay','#node-input-methodId','</span>','empty','registerType','/opcua-for-node-red/support-frame.html','name','log','Variable','text','isTypeRef','result','expanded','fetched','<div\x20class=\x22sterfive-info-text\x22></div>','red-ui-typedInput-focus','ReferenceType','application/json','$uiSelect','internal\x20error\x20','sterfive-input-group','match','referenceTypeId','HasProperty','58437McaWTi','call','<div\x20class=\x22argument-entry\x22>','typeDefinition','<div\x20class=\x22spinner\x22></div>','../../icons/opcuanodeLogo.png','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','assign','absolute','endpoint','mousedown.red-ui-typedInput-close-property-select','removeClass','/opcua-for-node-red','validate','prop','data','inputs','/checkNodeId','then',');\x20-webkit-mask-image:\x20url(','\x22}><span\x20class=\x22tree-text\x22\x20title=','fa-cog','filter','toString','$inputGroup','read','aliased\x20NodeId:\x20','endpointNode','Both','addItem','HasSubtype','BadNoMatch','-success','nodeClass','dataType','<div>','browseResult','$menu','dataTypes','$selectTrigger','setMode','NodeId','string','extra','Good','toggleClass','closest','focus','description','err','parentNode','displayName','failure','>&nbsp;\x20','forEach','JSON','<input\x20type=\x22checkbox\x22>','HasTypeDefinition','browseName','$elementDiv','POST','browse\x20path:\x20','map',':first','_hideMenu','auto','aliasedNodeId','li\x20>\x20.tree-text','value','100%','show','ns=0;i=35','ns=0;i=61','split','already\x20fetched','ns=0;i=0','inputArguments','nodes','<li\x20key=\x22','ObjectType','nsu','$input',';\x22></i>\x20','position','$tree','#validate-call-arguments-button','-pending','status','pageY','disarmClick','body','stringify','left','Aliased\x20Browse\x20Path','reference','indexOf','localeCompare','statusCode:\x20','BrowseName','-failure','border','rgba(61,\x2060,\x204,\x200.525)','isArray','fetching\x20failed\x20with\x20error','namespaceAliases','20px','fa-list-alt','selected','valueRank','mask-image:\x20url(','before','references','browsePath','prependTo','Forward','msg.','SeaGreen','Organizes','ns=0;i=45','parent','Unspecified','bp_aliased','Invalid','i=61','<input\x20type=\x22text\x22>','.spinner','_createMenu','View','11700848voLXzs','Object','node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','children','sort','top'];_0x177f=function(){return _0x4b0d40;};return _0x177f();}
9
8
  </script>
10
9
  <script type="text/x-red" data-template-name="OpcUa-Client2-Call">
10
+ <h3>
11
+ Opc-UA Call
12
+ <a href="https://opcua-for-node-red.doc.sterfive.com/docs/call/call-a-method" target="_blank"
13
+ ><i class="fa fa-message-question"></i
14
+ ></a>
15
+ </h3>
11
16
  <div class="form-row">
12
17
  <label for="node-input-name"><i class="icon-tasks"></i>Name</label>
13
18
  <input type="text" id="node-input-name" placeholder="enter the friendly name of the node" />