@opcua/for-node-red 3.9.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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 _0x4165(_0xe546b4,_0x38e5d4){const _0x25953a=_0x2595();return _0x4165=function(_0x416580,_0x343ea6){_0x416580=_0x416580-0x6c;let _0x853580=_0x25953a[_0x416580];return _0x853580;},_0x4165(_0xe546b4,_0x38e5d4);}(function(_0x3d543c,_0x290005){const _0x54a35e=_0x4165,_0x2abd16=_0x3d543c();while(!![]){try{const _0x1689e8=parseInt(_0x54a35e(0xc8))/0x1+parseInt(_0x54a35e(0xb6))/0x2+-parseInt(_0x54a35e(0xc3))/0x3*(-parseInt(_0x54a35e(0x128))/0x4)+parseInt(_0x54a35e(0x86))/0x5+parseInt(_0x54a35e(0x161))/0x6+-parseInt(_0x54a35e(0x90))/0x7*(-parseInt(_0x54a35e(0x120))/0x8)+-parseInt(_0x54a35e(0x79))/0x9;if(_0x1689e8===_0x290005)break;else _0x2abd16['push'](_0x2abd16['shift']());}catch(_0x5bd5d6){_0x2abd16['push'](_0x2abd16['shift']());}}}(_0x2595,0x98f05),(function(){'use strict';const _0x23bc40=_0x4165;function _0x15a880(_0x23ce39,_0x1fe325,_0x347e0,_0x5997a9){function _0x15dfac(_0x4476e3){return _0x4476e3 instanceof _0x347e0?_0x4476e3:new _0x347e0(function(_0x214c05){_0x214c05(_0x4476e3);});}return new(_0x347e0||(_0x347e0=Promise))(function(_0x457372,_0x48f6ad){const _0x3d3ffc=_0x4165;function _0xde1cf4(_0x2cb433){const _0x1f9338=_0x4165;try{_0x454a40(_0x5997a9[_0x1f9338(0x124)](_0x2cb433));}catch(_0x1f004b){_0x48f6ad(_0x1f004b);}}function _0x261344(_0xf575b7){const _0x20ba82=_0x4165;try{_0x454a40(_0x5997a9[_0x20ba82(0x76)](_0xf575b7));}catch(_0x408f8a){_0x48f6ad(_0x408f8a);}}function _0x454a40(_0xd4c1be){const _0x1a2c32=_0x4165;_0xd4c1be[_0x1a2c32(0x107)]?_0x457372(_0xd4c1be[_0x1a2c32(0x89)]):_0x15dfac(_0xd4c1be[_0x1a2c32(0x89)])[_0x1a2c32(0x15c)](_0xde1cf4,_0x261344);}_0x454a40((_0x5997a9=_0x5997a9[_0x3d3ffc(0x7d)](_0x23ce39,_0x1fe325||[]))[_0x3d3ffc(0x124)]());});}typeof SuppressedError===_0x23bc40(0xf2)?SuppressedError:function(_0x332ae6,_0x19555e,_0x365d17){const _0x35ecde=_0x23bc40;var _0xe965ce=new Error(_0x365d17);return _0xe965ce[_0x35ecde(0x18f)]=_0x35ecde(0x199),_0xe965ce[_0x35ecde(0x147)]=_0x332ae6,_0xe965ce[_0x35ecde(0x13e)]=_0x19555e,_0xe965ce;};const _0x22b1c1=_0x23bc40(0x94),_0x5e3e49=_0x23bc40(0xd3),_0x4bf718=_0x23bc40(0x186),_0x5a26e1='ns=0;i=46',_0x2819d8=_0x23bc40(0xad),_0x51d0c7=_0x23bc40(0x142),_0x3df9b8=_0x23bc40(0x7a);var _0x415aba;(function(_0x3b5114){const _0x5ccc48=_0x23bc40;_0x3b5114[_0x3b5114[_0x5ccc48(0x104)]=0x0]=_0x5ccc48(0x104),_0x3b5114[_0x3b5114['Inverse']=0x1]=_0x5ccc48(0xfa),_0x3b5114[_0x3b5114[_0x5ccc48(0xc9)]=0x2]=_0x5ccc48(0xc9),_0x3b5114[_0x3b5114[_0x5ccc48(0x97)]=0x3]=_0x5ccc48(0x97);}(_0x415aba||(_0x415aba={})));var _0x42dd09;(function(_0x34ce50){const _0x2406bc=_0x23bc40;_0x34ce50[_0x34ce50[_0x2406bc(0x19c)]=0x0]=_0x2406bc(0x19c),_0x34ce50[_0x34ce50[_0x2406bc(0x14f)]=0x1]=_0x2406bc(0x14f),_0x34ce50[_0x34ce50[_0x2406bc(0x6c)]=0x2]=_0x2406bc(0x6c),_0x34ce50[_0x34ce50['Method']=0x4]='Method',_0x34ce50[_0x34ce50[_0x2406bc(0xf6)]=0x8]=_0x2406bc(0xf6),_0x34ce50[_0x34ce50[_0x2406bc(0x16a)]=0x10]='VariableType',_0x34ce50[_0x34ce50[_0x2406bc(0x154)]=0x20]=_0x2406bc(0x154),_0x34ce50[_0x34ce50[_0x2406bc(0x197)]=0x40]=_0x2406bc(0x197),_0x34ce50[_0x34ce50[_0x2406bc(0x178)]=0x80]=_0x2406bc(0x178);}(_0x42dd09||(_0x42dd09={})));var _0x17010c;(function(_0x2f2783){const _0x6ffb43=_0x23bc40;_0x2f2783[_0x2f2783[_0x6ffb43(0x14f)]=0x1]=_0x6ffb43(0x14f),_0x2f2783[_0x2f2783[_0x6ffb43(0x6c)]=0x2]=_0x6ffb43(0x6c),_0x2f2783[_0x2f2783['Method']=0x4]=_0x6ffb43(0x159),_0x2f2783[_0x2f2783[_0x6ffb43(0xf6)]=0x8]=_0x6ffb43(0xf6),_0x2f2783[_0x2f2783['VariableType']=0x10]='VariableType',_0x2f2783[_0x2f2783['ReferenceType']=0x20]=_0x6ffb43(0x154),_0x2f2783[_0x2f2783['DataType']=0x40]=_0x6ffb43(0x197),_0x2f2783[_0x2f2783[_0x6ffb43(0x178)]=0x80]=_0x6ffb43(0x178);}(_0x17010c||(_0x17010c={})));var _0x494411;(function(_0x152e2e){const _0x2cf479=_0x23bc40;_0x152e2e[_0x152e2e[_0x2cf479(0x154)]=0x1]=_0x2cf479(0x154),_0x152e2e[_0x152e2e[_0x2cf479(0x1a6)]=0x2]=_0x2cf479(0x1a6),_0x152e2e[_0x152e2e[_0x2cf479(0x12f)]=0x4]='NodeClass',_0x152e2e[_0x152e2e['BrowseName']=0x8]='BrowseName',_0x152e2e[_0x152e2e[_0x2cf479(0x96)]=0x10]=_0x2cf479(0x96),_0x152e2e[_0x152e2e[_0x2cf479(0xb7)]=0x20]='TypeDefinition';}(_0x494411||(_0x494411={})));function _0x241124(_0x543063){const _0x3ff637=_0x23bc40;switch(_0x543063){case'Organizes':return _0x22b1c1;case _0x3ff637(0x19f):return _0x5a26e1;case _0x3ff637(0x164):return _0x4bf718;case'HasChild':return _0x2819d8;case _0x3ff637(0xc1):return _0x51d0c7;case _0x3ff637(0x10c):return _0x3df9b8;}}const _0x4d7f3a=_0x3e223f=>{const _0x4e3848=_0x23bc40;switch(_0x3e223f['nodeClass']){case'Object':if(_0x3e223f[_0x4e3848(0x9c)]===_0x22b1c1);if(_0x3e223f[_0x4e3848(0xe4)]===_0x5e3e49||_0x3e223f[_0x4e3848(0x9c)]==='i=61')return{'icon':_0x4e3848(0x143),'color':_0x4e3848(0xff)};return{'icon':_0x4e3848(0xa9),'color':_0x4e3848(0x17d)};case'Variable':if(_0x3e223f['referenceTypeId']===_0x4bf718)return{'icon':'fa-list-alt','color':'SteelBlue'};else return _0x3e223f[_0x4e3848(0x9c)]===_0x5a26e1?{'icon':_0x4e3848(0xa1),'color':_0x4e3848(0x16d)}:{'icon':_0x4e3848(0xa1),'color':_0x4e3848(0xa8)};case _0x4e3848(0x159):return{'icon':'fa-cog','color':_0x4e3848(0x109)};case _0x4e3848(0xf6):return{'icon':_0x4e3848(0xa9),'color':'DarkOrange'};case'VariableType':return{'icon':_0x4e3848(0x7e),'color':_0x4e3848(0x87)};case'DataType':return{'icon':'fa-text-width','color':_0x4e3848(0xa8)};}return{'icon':_0x4e3848(0x182),'color':_0x4e3848(0x81)};},_0x2ad71c=(_0x5ec167,_0x308c21,_0x9144)=>_0x15a880(void 0x0,[_0x5ec167,_0x308c21,_0x9144],void 0x0,function*({endpointNode:_0x3c4a15,endpoint:_0x33c67a,baseUrl:_0x56df0f},_0x4c4720,_0x2b40a1){const _0x2dd1f5=_0x23bc40,_0x24917b=_0x56df0f+_0x2dd1f5(0x1a1),_0x49aea0=_0x24917b+'/browse',_0x3a1b6a=Object[_0x2dd1f5(0xe6)](Object['assign']({},_0x2b40a1),{'nodeId':_0x4c4720,'resultMask':0x3f}),_0x43b3c1=yield fetch(_0x49aea0,{'method':_0x2dd1f5(0xf9),'body':JSON[_0x2dd1f5(0x78)]({'endpointNode':_0x3c4a15,'endpoint':_0x33c67a,'browseDescription':_0x3a1b6a}),'headers':{'Content-Type':'application/json'}});if(_0x43b3c1[_0x2dd1f5(0xf3)]!==0xc8)return console[_0x2dd1f5(0x11b)](_0x2dd1f5(0x134),_0x43b3c1[_0x2dd1f5(0xf3)],_0x43b3c1[_0x2dd1f5(0x119)]),{'references':[]};const _0x1d7060=yield _0x43b3c1[_0x2dd1f5(0x148)](),_0x40f1df=_0x1d7060[_0x2dd1f5(0x9a)][_0x2dd1f5(0x6e)]||[];return{'references':_0x40f1df};}),_0xa03535={'referenceTypeId':_0x241124(_0x23bc40(0x1a2)),'includeSubtypes':!![],'browseDirection':_0x415aba[_0x23bc40(0x104)],'nodeClassMask':_0x42dd09[_0x23bc40(0x6c)]|_0x42dd09[_0x23bc40(0x14f)]|_0x42dd09[_0x23bc40(0x159)],'resultMask':0x3f},_0x28dbd2={'referenceTypeId':_0x241124('Organizes'),'includeSubtypes':!![],'browseDirection':_0x415aba[_0x23bc40(0x104)],'nodeClassMask':_0x42dd09[_0x23bc40(0x6c)]|_0x42dd09[_0x23bc40(0x14f)]|_0x42dd09[_0x23bc40(0x159)],'resultMask':0x3f},_0x455bb6=(_0x183c33,_0x28ee07)=>_0x15a880(void 0x0,[_0x183c33,_0x28ee07],void 0x0,function*({endpointNode:_0x4a3de3,endpoint:_0x202208,baseUrl:_0x322089},{nodeId:_0x155e47,rootNodeId:_0x5b7c9b,isType:_0x1f5ac2}){const _0x2fb467=_0x23bc40,_0x16a029=_0x322089+'/opcua-for-node-red',_0x52a6ca=_0x16a029+_0x2fb467(0x73),_0x5c38bc=yield fetch(_0x52a6ca,{'method':'POST','body':JSON[_0x2fb467(0x78)]({'endpointNode':_0x4a3de3,'endpoint':_0x202208,'nodeId':_0x155e47,'rootNodeId':_0x5b7c9b,'isType':_0x1f5ac2}),'headers':{'Content-Type':_0x2fb467(0x132)}});if(_0x5c38bc[_0x2fb467(0xf3)]!==0xc8)return null;const _0x41b10c=yield _0x5c38bc['json']();return _0x41b10c['browsePath'];}),_0x248e66=(_0xbf9063,_0x7ef26f)=>{const _0xa1ef06=_0x23bc40;if(_0xbf9063[_0xa1ef06(0x1a3)]!=='Good')return _0xbf9063[_0xa1ef06(0x88)];switch(_0x7ef26f){case _0xa1ef06(0x8d):return _0xbf9063[_0xa1ef06(0xc7)];case _0xa1ef06(0x136):return _0xbf9063[_0xa1ef06(0xec)]||_0xbf9063[_0xa1ef06(0xc7)];case'aliasedNodeId':return _0xbf9063[_0xa1ef06(0x125)]||_0xbf9063[_0xa1ef06(0x15e)];case'nsuNodeID':return _0xbf9063['nodeId_nsu'];default:case _0xa1ef06(0xd6):return _0xbf9063[_0xa1ef06(0xd6)];}},_0x56001f=_0x498a57=>{const _0x109b91=_0x23bc40;if(_0x498a57[_0x109b91(0x1a3)]!==_0x109b91(0xba))return _0x109b91(0xaf)+_0x498a57[_0x109b91(0x1a3)];else{let _0x283fbc=[];return _0x283fbc['push'](_0x109b91(0x133)+_0x498a57['nodeId']),_0x283fbc[_0x109b91(0xcb)](_0x109b91(0x19b)+_0x498a57['bp_indexed']),_0x283fbc[_0x109b91(0xcb)](_0x109b91(0x115)+_0x42dd09[_0x498a57[_0x109b91(0x106)]]),_0x498a57[_0x109b91(0x15e)]&&_0x283fbc[_0x109b91(0xcb)](_0x109b91(0xbd)+_0x498a57[_0x109b91(0x15e)]),_0x498a57['nodeId_aliased']&&_0x283fbc[_0x109b91(0xcb)](_0x109b91(0x74)+_0x498a57[_0x109b91(0x125)]),_0x498a57[_0x109b91(0xc7)]&&_0x283fbc['push'](_0x109b91(0x141)+_0x498a57['bp_aliased']),_0x283fbc[_0x109b91(0x181)]('\x0a');}};function _0x31c788(_0xbdc310){const _0x478da6=_0x23bc40;if(_0xbdc310[_0x478da6(0x160)](/^nsu=/))return _0x478da6(0x166);if(_0xbdc310['match'](/^(ns=.*;)?(i|b|s|g)=/))return _0x478da6(0xd6);if(_0xbdc310['match'](/^nsa=/))return _0x478da6(0xd2);if(_0xbdc310['match'](/^(\/|\.)[0-9]+:/))return _0x478da6(0x8d);if(_0xbdc310[_0x478da6(0x160)](/^(\/|\.).*:/))return _0x478da6(0x8d);}function _0x17a12b(_0x1437f0){const _0x35a3d8=_0x23bc40,_0x3fbc99=_0x31c788(_0x1437f0);switch(_0x3fbc99){case'nodeId':return'n';case _0x35a3d8(0xd2):return'na';case _0x35a3d8(0x166):return'nsu';case _0x35a3d8(0x8d):return'b';case _0x35a3d8(0x136):return'ab';default:return't';}}function _0x5687bd(_0x15b6a0){const _0x1b428f=_0x23bc40;let _0x5aca3b;switch(_0x15b6a0){case'n':_0x5aca3b='nodeId';break;case'na':_0x5aca3b=_0x1b428f(0xd2);break;case _0x1b428f(0x1a8):_0x5aca3b=_0x1b428f(0x166);break;case'b':_0x5aca3b=_0x1b428f(0x8d);break;case'ab':_0x5aca3b=_0x1b428f(0x136);break;}return _0x5aca3b;}function _0x5bbef2(_0x5ec4e5){const _0xcd1934=_0x23bc40;switch(_0x5ec4e5){case'nodeId':return'n';case _0xcd1934(0xd2):return'na';case _0xcd1934(0x166):return _0xcd1934(0x1a8);case'browsePath':return'b';case _0xcd1934(0x136):return'ab';default:return't';}}const _0x5e5a21=(_0x1891e5,_0x4c9fbd)=>_0x15a880(void 0x0,[_0x1891e5,_0x4c9fbd],void 0x0,function*({endpointNode:_0x2aebc6,endpoint:_0x3d8875,baseUrl:_0x1f7a86},_0x1777c3){const _0x2913e3=_0x23bc40,_0x976cb4=_0x1f7a86+_0x2913e3(0x1a1),_0x2d109f=_0x976cb4+'/checkNodeId',_0x1d3a85=_0x2aebc6['id'],_0x2d6d9a=RED[_0x2913e3(0xda)]['node'](_0x1d3a85);console[_0x2913e3(0x11b)](_0x2d6d9a[_0x2913e3(0xfc)]),_0x2d6d9a[_0x2913e3(0xfc)];const _0x5355b5=_0x2aebc6[_0x2913e3(0xfc)],_0x369cb6=yield fetch(_0x2d109f,{'method':'POST','body':JSON['stringify']({'endpointNode':_0x2aebc6,'endpoint':_0x3d8875,'nodeId':_0x1777c3,'namespaceAliases':_0x5355b5}),'headers':{'Content-Type':'application/json'}}),_0xf18a9d=yield _0x369cb6[_0x2913e3(0x148)]();return{'json':_0xf18a9d,'data':_0x369cb6};}),_0x5ce7f2=(_0x545e1c,_0x539bd0,_0x5c4411,_0x3e439c)=>_0x15a880(void 0x0,[_0x545e1c,_0x539bd0,_0x5c4411,_0x3e439c],void 0x0,function*({endpointNode:_0x4cfaeb,endpoint:_0x572948,baseUrl:_0x50d7d3},_0x467890,_0x4a187a,_0x18ebe5){const _0x122e4d=_0x23bc40,_0x3f3dca=_0x4a187a[_0x122e4d(0x13c)](),{json:_0x1b8a5d,data:_0x284cd6}=yield _0x5e5a21({'endpointNode':_0x4cfaeb,'endpoint':_0x572948,'baseUrl':_0x50d7d3},_0x3f3dca),_0xb05e73=(_0x44a74a,_0x26c53e)=>{const _0x52af7e=_0x122e4d;_0x18ebe5[_0x52af7e(0x113)](_0x44a74a)['addClass'](_0x52af7e(0x17e))[_0x52af7e(0x126)](_0x26c53e),_0x18ebe5[_0x52af7e(0xc5)](),setTimeout(()=>{const _0x4773d3=_0x52af7e;_0x18ebe5[_0x4773d3(0x95)](_0x26c53e),_0x18ebe5[_0x4773d3(0x180)]();},0xbb8);};if(_0x284cd6[_0x122e4d(0xf3)]!==0xc8)return _0xb05e73(_0x122e4d(0x15b)+_0x3f3dca,_0x122e4d(0x19a)),![];else{if(_0x1b8a5d[_0x122e4d(0x1a3)][_0x122e4d(0x160)](/Good/)){const _0x30366a=_0x56001f(_0x1b8a5d);_0x4a187a['attr'](_0x122e4d(0x18c),_0x30366a);const _0x4755ad=_0x248e66(_0x1b8a5d,_0x467890);return _0x4a187a[_0x122e4d(0x13c)](_0x4755ad),_0x4a187a[_0x122e4d(0x16e)](_0x122e4d(0x11f)),_0xb05e73(_0x122e4d(0xba),'ok'),!![];}else return _0x4a187a['val'](''+_0x3f3dca),_0xb05e73(_0x1b8a5d[_0x122e4d(0x1a3)]+'\x20'+_0x284cd6[_0x122e4d(0x119)],_0x122e4d(0x19a)),![];}});function _0x643908(_0x452c40,_0x4cd874){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0xa0155c=_0x4165,_0x25a4f3=_0x452c40[_0xa0155c(0x157)](_0xa0155c(0x89)),_0x298a66=yield _0x2ad71c(_0x4cd874,_0x25a4f3,_0xa03535),_0x1cb641=yield _0x2ad71c(_0x4cd874,_0x25a4f3,_0x28dbd2);return{'references':[..._0x298a66[_0xa0155c(0x6e)],..._0x1cb641[_0xa0155c(0x6e)]]};});}const _0x4009a4={'referenceTypeId':_0x241124('HasSubtype'),'includeSubtypes':!![],'browseDirection':_0x415aba[_0x23bc40(0x104)],'nodeClassMask':_0x42dd09['ReferenceType']|_0x42dd09['ObjectType']|_0x42dd09[_0x23bc40(0x197)]|_0x42dd09[_0x23bc40(0x16a)],'resultMask':0x3f};function _0x1d3ff7(_0x5adf8c,_0x2843a1){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x19a6de=_0x4165,_0x3defd4=_0x5adf8c[_0x19a6de(0x157)](_0x19a6de(0x89)),_0x58c382=yield _0x2ad71c(_0x2843a1,_0x3defd4,_0x4009a4);return _0x58c382;});}const _0x53a652=_0x13a495=>{const _0x3b1686=_0x23bc40;var _0x4df523,_0x146271,_0x3bcc65,_0xb089a0;if(!_0x13a495||!_0x13a495['nodeId']){const _0x24d4b9=$(_0x3b1686(0x1b0));return _0x24d4b9;}const _0x43f362=_0x13a495[_0x3b1686(0xd6)]['toString'](),_0x56d5fa=((_0x4df523=_0x13a495[_0x3b1686(0x103)])===null||_0x4df523===void 0x0?void 0x0:_0x4df523[_0x3b1686(0x113)])||((_0x146271=_0x13a495[_0x3b1686(0x16f)])===null||_0x146271===void 0x0?void 0x0:_0x146271[_0x3b1686(0x18f)])||_0x13a495[_0x3b1686(0xd6)]['toString'](),{icon:_0x1684a3,color:_0x2d9f15}=_0x4d7f3a(_0x13a495),_0x132fb4='('+_0x13a495['nodeId'][_0x3b1686(0xaa)]()+')\x20'+(((_0x3bcc65=_0x13a495[_0x3b1686(0x16f)])===null||_0x3bcc65===void 0x0?void 0x0:_0x3bcc65['name'])||((_0xb089a0=_0x13a495['displayName'])===null||_0xb089a0===void 0x0?void 0x0:_0xb089a0[_0x3b1686(0x113)])||''),_0x19d67d=$(_0x3b1686(0xa7)+_0x13a495[_0x3b1686(0xd6)][_0x3b1686(0xaa)]()+_0x3b1686(0x8c)+_0x132fb4+'><i\x20class=\x22fa\x20'+_0x1684a3+_0x3b1686(0x15d)+_0x2d9f15+';\x22></i>\x20'+_0x56d5fa+_0x3b1686(0x155));return _0x19d67d[_0x3b1686(0x126)](_0x3b1686(0x16b)),_0x19d67d[_0x3b1686(0x157)](_0x3b1686(0x89),_0x43f362),_0x19d67d[_0x3b1686(0x157)](_0x3b1686(0x15a),_0x13a495),_0x19d67d;},_0x5f4359=(_0xa87d6b,_0x27dd5d)=>{const _0x1e6870=_0x23bc40;return _0x27dd5d[_0x1e6870(0x14c)](_0x1e6870(0xe1)+_0xa87d6b+'\x22]');},_0x166576=(_0x4e50d6,_0x71bf0a)=>{const _0x56bcd1=_0x23bc40;_0x4e50d6[_0x56bcd1(0x98)][_0x56bcd1(0x14c)]('li\x20>\x20.tree-text')[_0x56bcd1(0x95)]('selected'),_0x71bf0a[_0x56bcd1(0x14c)](_0x56bcd1(0xdb))[_0x56bcd1(0x126)](_0x56bcd1(0xb3));},_0x30c35c=(_0xec3a14,_0x1072cd,_0x251033)=>_0x15a880(void 0x0,void 0x0,void 0x0,function*(){const _0x5e2ef5=_0x23bc40;let _0x1cae1c=_0x251033[_0x5e2ef5(0x8a)](':first');_0x1072cd['relativePath']['elements']||[];const _0x34b78f=_0x1072cd[_0x5e2ef5(0xa5)]||[];if(_0x34b78f[_0x5e2ef5(0xee)]===0x0)return;for(const _0x33055d of _0x34b78f){_0x1cae1c[_0x5e2ef5(0xe3)](_0x5e2ef5(0x16b))&&(yield _0x439cb3(_0xec3a14,_0x1cae1c));const _0x1ee78d=_0x5f4359(_0x33055d,_0x1cae1c);if(_0x1ee78d['length']===0x0)return;_0x1cae1c=_0x1ee78d;}_0x166576(_0xec3a14,_0x1cae1c),_0x3ee753(_0xec3a14['$dropdown'],_0x1cae1c);});function _0x3ee753(_0x2b4a33,_0x30bc30){const _0x3084c8=_0x23bc40,_0x1853ac=_0x30bc30[_0x3084c8(0x11c)]()[_0x3084c8(0x9b)],_0x4206da=_0x2b4a33[_0x3084c8(0xde)]();if(_0x4206da==undefined)return;const _0x4e26c6=_0x4206da+_0x1853ac-_0x2b4a33[_0x3084c8(0x17f)]()/0x2+_0x30bc30[_0x3084c8(0x17f)]()/0x2;_0x2b4a33['animate']({'scrollTop':_0x4e26c6},0x1f4);}const _0x2f5244=(_0x31652d,_0x20d344)=>_0x15a880(void 0x0,void 0x0,void 0x0,function*(){const _0x37e731=_0x23bc40,_0x2c9d1e=_0x31652d[_0x37e731(0xef)][_0x37e731(0x13c)](),_0x261b0a={'nodeId':_0x2c9d1e,'rootNodeId':_0x20d344[_0x37e731(0xd6)],'isType':_0x31652d[_0x37e731(0x1a5)][_0x37e731(0xfe)]||![]},_0x553576=_0x19cd5b(_0x31652d),_0x487f4f=yield _0x455bb6(_0x553576,_0x261b0a);if(!_0x487f4f)return;yield _0x30c35c(_0x31652d,_0x487f4f,_0x31652d['$tree']);});function _0x2846d8(_0x31b22f,_0x4c4da2,_0x5e248a,_0x19e1f0){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x57b272=_0x4165;if(_0x4c4da2[_0x57b272(0xe3)]('fetched')){console[_0x57b272(0x11b)](_0x57b272(0xeb));return;}if(_0x4c4da2[_0x57b272(0xe3)](_0x57b272(0xf7))){console['log']('already\x20loading');return;}_0x4c4da2[_0x57b272(0x126)](_0x57b272(0xf7)),_0x4c4da2[_0x57b272(0x10b)](_0x57b272(0x177));try{_0x4c4da2[_0x57b272(0x8a)]('ul')[_0x57b272(0x14a)]();const {references:_0x7aea5c}=yield _0x5e248a(_0x4c4da2,_0x19e1f0);_0x7aea5c['sort']((_0xd4c55,_0x7d5156)=>{const _0x33eb79=_0x57b272;var _0x203bfb,_0x4d5819;return(((_0x203bfb=_0xd4c55['browseName'])===null||_0x203bfb===void 0x0?void 0x0:_0x203bfb[_0x33eb79(0x18f)])||'')[_0x33eb79(0x17c)](((_0x4d5819=_0x7d5156[_0x33eb79(0x16f)])===null||_0x4d5819===void 0x0?void 0x0:_0x4d5819['name'])||'');});for(const _0x2857f5 of _0x7aea5c){if(_0x31b22f[_0x57b272(0x1a5)][_0x57b272(0x11d)]&&!_0x31b22f[_0x57b272(0x1a5)]['filter'](_0x2857f5))continue;const _0x44c14b=_0x53a652(_0x2857f5);_0x4c4da2[_0x57b272(0x8a)]('ul')['append'](_0x44c14b);}_0x4c4da2[_0x57b272(0x126)](_0x57b272(0xb0));}catch(_0xa2623b){_0x4c4da2[_0x57b272(0x8a)]('ul')['append']('<li>error\x20'+_0xa2623b[_0x57b272(0xab)]+_0x57b272(0x8b)),console[_0x57b272(0x11b)](_0x57b272(0x12d),_0xa2623b);}_0x4c4da2[_0x57b272(0x14c)]('.spinner')['remove'](),_0x4c4da2[_0x57b272(0x95)](_0x57b272(0xf7));});}function _0x19cd5b(_0x35747f){const _0x5afee8=_0x23bc40,_0xe338fe={'baseUrl':_0x35747f['options'][_0x5afee8(0x18a)],'endpointNode':typeof _0x35747f[_0x5afee8(0x1a5)]['endpointNode']===_0x5afee8(0xf2)?_0x35747f[_0x5afee8(0x1a5)][_0x5afee8(0x17a)]():_0x35747f[_0x5afee8(0x1a5)][_0x5afee8(0x17a)],'endpoint':typeof _0x35747f['options'][_0x5afee8(0x71)]===_0x5afee8(0xf2)?_0x35747f[_0x5afee8(0x1a5)]['endpoint']():_0x35747f[_0x5afee8(0x1a5)][_0x5afee8(0x71)]};return _0xe338fe;}function _0x439cb3(_0xc37236,_0x45691d){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x4e252c=_0x4165;if(_0x45691d['hasClass'](_0x4e252c(0xb0))){_0x45691d['removeClass'](_0x4e252c(0x16b))['addClass']('expanded'),_0x45691d[_0x4e252c(0x8a)]('ul')[_0x4e252c(0x1ae)]();return;}const _0x4cdd53=_0x19cd5b(_0xc37236),_0x2f6018=!_0xc37236[_0x4e252c(0x1a5)][_0x4e252c(0xfe)]?_0x643908:_0x1d3ff7;try{yield _0x2846d8(_0xc37236,_0x45691d,_0x2f6018,_0x4cdd53),_0x45691d[_0x4e252c(0x95)](_0x4e252c(0x16b))[_0x4e252c(0x126)](_0x4e252c(0xc4));}catch(_0x2e95ab){_0x45691d[_0x4e252c(0x95)](_0x4e252c(0x16b))[_0x4e252c(0x126)](_0x4e252c(0xc4)),console[_0x4e252c(0x11b)](_0x4e252c(0x147),_0x2e95ab);}});}const _0x553e9c={'browseName':{'namespaceIndex':0x0,'name':_0x23bc40(0xfd)},'nodeClass':_0x23bc40(0x14f),'nodeId':_0x23bc40(0xc6),'displayName':{'text':_0x23bc40(0xfd)},'typeDefinition':_0x5e3e49},_0xfdf88=()=>{const _0x571634=_0x23bc40;$['widget'](_0x571634(0x189),{'options':{'endpointNode':()=>({'endpoint':_0x571634(0xb8)}),'endpoint':()=>undefined,'parentNode':()=>_0x553e9c,'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x3d2663=_0x4165,_0x3b3a89=this;if(_0x3b3a89[_0x3d2663(0x140)]==undefined){const _0xbf9871=typeof _0x3b3a89[_0x3d2663(0x1a5)]['parentNode']==='function'?_0x3b3a89[_0x3d2663(0x1a5)][_0x3d2663(0x19d)][_0x3d2663(0xa3)](_0x3b3a89):_0x3b3a89[_0x3d2663(0x1a5)]['parentNode'];if(_0xbf9871 instanceof Promise){const _0x2c9d90=yield _0xbf9871;_0x3b3a89[_0x3d2663(0x140)]=_0x2c9d90;}else _0x3b3a89[_0x3d2663(0x140)]=_0xbf9871;}return _0x3b3a89['__parentNode']||_0x553e9c;});},'reset'(){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x57d645=_0x4165,_0x5e3e69=this,_0x84ba21=_0x5e3e69;_0x84ba21[_0x57d645(0x140)]=undefined,_0x5e3e69[_0x57d645(0x98)][_0x57d645(0x14a)]();const _0x3f5b50=yield this[_0x57d645(0x175)](),_0x136f1e=_0x53a652(_0x3f5b50);_0x5e3e69[_0x57d645(0x98)][_0x57d645(0x10b)](_0x136f1e),_0x5e3e69[_0x57d645(0xa2)]=_0x3f5b50;});},'verify'(_0x2385d1){const _0x5a78a5=_0x571634,_0x586a78=this,_0x17f3f2=_0x19cd5b(_0x586a78);_0x5ce7f2(_0x17f3f2,_0x2385d1,_0x586a78[_0x5a78a5(0xef)],_0x586a78['$info'])[_0x5a78a5(0x15c)](_0x3b1ffc=>{const _0x47474c=_0x5a78a5;!_0x3b1ffc?_0x586a78[_0x47474c(0xb9)][_0x47474c(0x126)](_0x47474c(0x8e)):_0x586a78[_0x47474c(0xb9)]['removeClass']('sterfive-input-error');});},'_hideMenu'(_0x5cfa3d){const _0x46113c=_0x571634,_0x10fa48=this;$(document)[_0x46113c(0xd8)](_0x46113c(0x7b)),_0x5cfa3d[_0x46113c(0x180)](),_0x5cfa3d[_0x46113c(0xb4)]({'height':'auto'});if(_0x5cfa3d[_0x46113c(0xd9)][_0x46113c(0x135)]){var _0x40c496=[];_0x5cfa3d[_0x46113c(0x14c)](_0x46113c(0x8f))['each'](function(){const _0x5cc25f=_0x46113c;$(this)[_0x5cc25f(0xed)](_0x5cc25f(0x12c))&&_0x40c496['push']($(this)['data'](_0x5cc25f(0x89)));}),_0x5cfa3d[_0x46113c(0x19e)](_0x40c496);}_0x10fa48[_0x46113c(0xcd)]['is'](_0x46113c(0xa4))?_0x10fa48[_0x46113c(0xef)]['trigger'](_0x46113c(0xcf)):_0x10fa48['$selectTrigger'][_0x46113c(0x16e)](_0x46113c(0xcf));},'_createMenu'(_0x43053b,_0x48cb2f,_0x4f6181){const _0x440b62=_0x571634;var _0x2c633a=this;const _0x13499f=$(_0x440b62(0x165))[_0x440b62(0x126)](_0x440b62(0x1ac));return _0x13499f[_0x440b62(0xd9)]=_0x48cb2f,_0x13499f[_0x440b62(0x19e)]=_0x4f6181,_0x43053b[_0x440b62(0xdd)](_0x419fd7=>{const _0x4fedaf=_0x440b62;typeof _0x419fd7===_0x4fedaf(0x150)&&(_0x419fd7={'value':_0x419fd7,'label':_0x419fd7});var _0x5d9b77=$(_0x4fedaf(0x191))[_0x4fedaf(0x171)](_0x4fedaf(0x89),_0x419fd7['value'])[_0x4fedaf(0x9d)](_0x13499f);_0x419fd7[_0x4fedaf(0xd1)]&&_0x5d9b77[_0x4fedaf(0x113)](_0x419fd7[_0x4fedaf(0xd1)]);_0x419fd7[_0x4fedaf(0x18c)]&&_0x5d9b77['prop'](_0x4fedaf(0x18c),_0x419fd7[_0x4fedaf(0x18c)]);if(_0x419fd7[_0x4fedaf(0x72)]){if(_0x419fd7[_0x4fedaf(0x72)][_0x4fedaf(0x1a4)]('<')===0x0)$(_0x419fd7['icon'])[_0x4fedaf(0x1a0)](_0x5d9b77);else _0x419fd7[_0x4fedaf(0x72)][_0x4fedaf(0x1a4)]('/')!==-0x1?$('<i>',{'class':_0x4fedaf(0xce),'style':_0x4fedaf(0x190)+_0x419fd7['icon']+_0x4fedaf(0xca)+_0x419fd7[_0x4fedaf(0x72)]+');'})[_0x4fedaf(0x1a0)](_0x5d9b77):$(_0x4fedaf(0x118),{'class':_0x4fedaf(0xf1)+_0x419fd7[_0x4fedaf(0x72)]})[_0x4fedaf(0x1a0)](_0x5d9b77);}else _0x5d9b77[_0x4fedaf(0xb4)]({'paddingLeft':'18px'});!_0x419fd7[_0x4fedaf(0x72)]&&!_0x419fd7[_0x4fedaf(0xd1)]&&_0x5d9b77[_0x4fedaf(0x113)](_0x419fd7[_0x4fedaf(0x89)]);var _0x378afa;_0x48cb2f[_0x4fedaf(0x135)]&&(_0x378afa=$(_0x4fedaf(0x195))[_0x4fedaf(0xb4)]('pointer-events',_0x4fedaf(0xac))['data'](_0x4fedaf(0x89),_0x419fd7[_0x4fedaf(0x89)])[_0x4fedaf(0x1a0)](_0x5d9b77)['on'](_0x4fedaf(0xdf),function(_0x28dcdb){_0x28dcdb['preventDefault']();})),_0x5d9b77['on']('click',function(_0x125cc6){const _0x3f58b1=_0x4fedaf;_0x125cc6['preventDefault'](),_0x125cc6[_0x3f58b1(0x12b)](),!_0x48cb2f['multiple']?(_0x4f6181(_0x419fd7['value']),_0x2c633a[_0x3f58b1(0x9f)](_0x13499f)):_0x378afa['prop'](_0x3f58b1(0x12c),!_0x378afa['prop'](_0x3f58b1(0x12c)));});}),_0x13499f[_0x440b62(0xb4)]({'display':_0x440b62(0xac)}),_0x13499f['on'](_0x440b62(0x153),function(_0x44582d){const _0x1d0fce=_0x440b62;if(_0x44582d[_0x1d0fce(0x102)]===0x28)_0x44582d[_0x1d0fce(0xa6)](),$(this)[_0x1d0fce(0x8a)](':focus')[_0x1d0fce(0x124)]()[_0x1d0fce(0x16e)]('focus');else{if(_0x44582d[_0x1d0fce(0x102)]===0x26)_0x44582d[_0x1d0fce(0xa6)](),$(this)[_0x1d0fce(0x8a)](':focus')[_0x1d0fce(0x172)]()[_0x1d0fce(0x16e)]('focus');else _0x44582d[_0x1d0fce(0x102)]===0x1b&&(_0x44582d['preventDefault'](),_0x2c633a['_hideMenu'](_0x13499f));}_0x44582d['stopPropagation']();}),_0x13499f;},'disarmClick':![],'_showMenu'(_0x4aa2e9,_0xc56126){const _0x17a4e0=_0x571634;if(this[_0x17a4e0(0x169)]){this[_0x17a4e0(0x169)]=![];return;}var _0x5dd4b2=this,_0x3bb5f8=_0xc56126[_0x17a4e0(0x168)](),_0x2d53ab=_0xc56126[_0x17a4e0(0x17f)](),_0x50c4d6=_0x4aa2e9[_0x17a4e0(0x17f)](),_0x1f78ae=_0x2d53ab+_0x3bb5f8['top'];_0x1f78ae+_0x50c4d6-$(document)[_0x17a4e0(0xde)]()>$(window)['height']()&&(_0x1f78ae-=_0x1f78ae+_0x50c4d6-$(window)['height']()+0x5),_0x1f78ae<0x0&&(_0x4aa2e9[_0x17a4e0(0x17f)](_0x50c4d6+_0x1f78ae),_0x1f78ae=0x0),_0x4aa2e9[_0x17a4e0(0xb4)]({'top':_0x1f78ae+'px','left':_0x3bb5f8[_0x17a4e0(0x152)]+'px'}),_0x4aa2e9[_0x17a4e0(0x75)](0x64),this[_0x17a4e0(0x192)](function(){const _0x275f3b=_0x17a4e0;_0x5dd4b2[_0x275f3b(0x6f)][_0x275f3b(0x126)](_0x275f3b(0x18d)),$(document)['on']('mousedown.red-ui-typedInput-close-property-select',function(_0x4043b6){const _0x3f1e8a=_0x275f3b;!$(_0x4043b6[_0x3f1e8a(0x10f)])[_0x3f1e8a(0x156)](_0x4aa2e9)[_0x3f1e8a(0xee)]&&_0x5dd4b2[_0x3f1e8a(0x9f)](_0x4aa2e9),$(_0x4043b6[_0x3f1e8a(0x10f)])[_0x3f1e8a(0x156)](_0xc56126)[_0x3f1e8a(0xee)]&&(_0x5dd4b2[_0x3f1e8a(0x169)]=!![],_0x4043b6[_0x3f1e8a(0xa6)]());});});},'_showTypeMenu'(){const _0x5372eb=_0x571634,_0x12929d=this;this[_0x5372eb(0x6d)](_0x12929d[_0x5372eb(0x16c)],_0x12929d[_0x5372eb(0xb9)]),_0x12929d[_0x5372eb(0x10e)]['hide']();const _0x122f0d=_0x12929d[_0x5372eb(0x83)];var _0x2aa814=_0x12929d[_0x5372eb(0x16c)][_0x5372eb(0x14c)](_0x5372eb(0x84)+_0x122f0d+'\x27');setTimeout(function(){const _0x5db95c=_0x5372eb;_0x2aa814[_0x5db95c(0x16e)](_0x5db95c(0xcf));},0x78);},'_initMenu'(){const _0x2fcd7b=_0x571634,_0x49c7ec=this;_0x49c7ec[_0x2fcd7b(0x1b1)][_0x2fcd7b(0x171)]('tabindex',-0x1),_0x49c7ec[_0x2fcd7b(0x1b1)]['on'](_0x2fcd7b(0xbf),function(_0x5d8557){const _0x4abce3=_0x2fcd7b;_0x5d8557[_0x4abce3(0xa6)]();});_0x49c7ec[_0x2fcd7b(0x16c)]&&_0x49c7ec['$menu'][_0x2fcd7b(0xea)]();const _0x3d0004=[{'label':_0x2fcd7b(0x113),'value':'t','title':_0x2fcd7b(0x17b),'icon':_0x2fcd7b(0xd5)},{'label':_0x2fcd7b(0x18e),'value':_0x2fcd7b(0x1b4),'title':'node\x20id\x20or\x20\x20browse\x20path\x20comes\x20from\x20injected\x20msg\x20parameter','icon':_0x2fcd7b(0x14b)},{'label':'NodeId','value':'n','icon':_0x2fcd7b(0x158)},{'label':_0x2fcd7b(0xe9),'value':'na','icon':_0x2fcd7b(0x162)},{'label':_0x2fcd7b(0xb1),'value':_0x2fcd7b(0x1a8),'icon':_0x2fcd7b(0xe7)},{'label':_0x2fcd7b(0x10a),'value':'b','icon':_0x2fcd7b(0x92)},{'label':_0x2fcd7b(0x139),'value':'ab','icon':_0x2fcd7b(0x196)}],_0x194dde=_0x17a12b(_0x49c7ec['$input'][_0x2fcd7b(0x13c)]()),_0x4d8b00=_0x3d0004[_0x2fcd7b(0x14c)](_0xd67e7d=>_0xd67e7d[_0x2fcd7b(0x89)]===_0x194dde);_0x49c7ec['$selectLabel'][_0x2fcd7b(0x14a)]()[_0x2fcd7b(0x10b)](_0x2fcd7b(0x14e)+((_0x4d8b00===null||_0x4d8b00===void 0x0?void 0x0:_0x4d8b00[_0x2fcd7b(0x18c)])||'')+_0x2fcd7b(0x18b)+((_0x4d8b00===null||_0x4d8b00===void 0x0?void 0x0:_0x4d8b00[_0x2fcd7b(0x72)])||'')+_0x2fcd7b(0x183)),_0x49c7ec['selectedMenuItem']=_0x194dde;const _0x415b86=this;_0x49c7ec[_0x2fcd7b(0x16c)]=this[_0x2fcd7b(0x1ad)](_0x3d0004,{},_0x3188be=>{const _0x240413=_0x2fcd7b,_0x4611f3=_0x5687bd(_0x3188be);_0x4611f3&&_0x415b86['verify'](_0x4611f3);const _0xf5b4c2=_0x3d0004['find'](_0xd27207=>_0xd27207[_0x240413(0x89)]===_0x3188be);_0x49c7ec[_0x240413(0x83)]=_0x3188be,_0x49c7ec['$selectLabel']['empty']()['append'](_0x240413(0x14e)+((_0xf5b4c2===null||_0xf5b4c2===void 0x0?void 0x0:_0xf5b4c2[_0x240413(0x18c)])||'')+_0x240413(0x18b)+((_0xf5b4c2===null||_0xf5b4c2===void 0x0?void 0x0:_0xf5b4c2['icon'])||'')+_0x240413(0x183));}),_0x49c7ec['$menu'][_0x2fcd7b(0x9d)](document[_0x2fcd7b(0x131)]),_0x49c7ec['$menu'][_0x2fcd7b(0x180)](),_0x49c7ec['$selectTrigger'][_0x2fcd7b(0xc5)]();},'mode'(){const _0x213cfd=_0x571634,_0x4afa87=this;return _0x5687bd(_0x4afa87[_0x213cfd(0x83)]);},'setMode'(_0x312f7f){const _0x326e18=_0x571634,_0x1312f7=this,_0x2b536b=_0x5bbef2(_0x312f7f);_0x1312f7[_0x326e18(0x83)]=_0x2b536b;},'_create'(){const _0x579463=_0x571634,_0x4f03ab=this;_0x4f03ab[_0x579463(0xef)]=this[_0x579463(0x1aa)],_0x4f03ab['$input'][_0x579463(0xb4)](_0x579463(0xe5),_0x579463(0xac)),_0x4f03ab[_0x579463(0xcd)]=_0x4f03ab[_0x579463(0xef)]['wrap'](_0x579463(0x165))[_0x579463(0x99)]()['addClass']('main-wrapper'),_0x4f03ab[_0x579463(0xb9)]=$(_0x579463(0x167)),_0x4f03ab[_0x579463(0xb9)][_0x579463(0x126)]('sterfive-combo-box'),_0x4f03ab[_0x579463(0xef)][_0x579463(0x123)](_0x4f03ab[_0x579463(0xb9)]),_0x4f03ab['$inputGroup']=$(_0x579463(0x167))[_0x579463(0x126)](_0x579463(0x184)),_0x4f03ab[_0x579463(0xb9)][_0x579463(0x10b)](_0x4f03ab['$inputGroup']),_0x4f03ab[_0x579463(0x105)][_0x579463(0x10b)](_0x4f03ab[_0x579463(0xef)]),_0x4f03ab[_0x579463(0x1b2)]=$(_0x579463(0x127)),_0x4f03ab['$input'][_0x579463(0xbe)](_0x4f03ab[_0x579463(0x1b2)]),_0x4f03ab[_0x579463(0x1b2)]['on']('click',function(){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x3e743c=_0x4165;var _0x9ba8f4;let _0x183213=![],_0xbb283;!_0x4f03ab[_0x3e743c(0x10e)]['is'](_0x3e743c(0xa4))&&(_0x4f03ab[_0x3e743c(0xb5)][_0x3e743c(0x180)](),_0xbb283=yield _0x4f03ab['resolveParentNode'](),(_0xbb283!==_0x4f03ab[_0x3e743c(0xa2)]||((_0x9ba8f4=_0x4f03ab[_0x3e743c(0xa2)])===null||_0x9ba8f4===void 0x0?void 0x0:_0x9ba8f4[_0x3e743c(0xd6)])!==_0xbb283['nodeId'])&&(yield _0x4f03ab[_0x3e743c(0x151)]()),_0x183213=!![]),_0x4f03ab['$dropdown']['toggle'](),_0x183213&&(yield _0x2f5244(_0x4f03ab,_0xbb283));});}),_0x4f03ab[_0x579463(0x14d)]=$(_0x579463(0x80)),_0x4f03ab[_0x579463(0xef)][_0x579463(0xbe)](_0x4f03ab['$verifyBtn']),_0x4f03ab[_0x579463(0x14d)]['on'](_0x579463(0x9e),()=>{const _0x5878a9=_0x579463,_0x45d01d=_0x4f03ab[_0x5878a9(0x121)]();if(!_0x45d01d)return;this[_0x5878a9(0xbb)](_0x45d01d);});const _0x5d7a45=_0x253fa4=>_0x15a880(this,void 0x0,void 0x0,function*(){const _0x36c2e0=_0x579463,_0xfc0daf=this;let _0x316734=_0xfc0daf[_0x36c2e0(0x121)]();if(!_0x316734)return;const _0x167d46=_0x19cd5b(_0xfc0daf),{data:_0x456db4,json:_0x44cc1c}=yield _0x5e5a21(_0x167d46,_0x253fa4);if(_0x456db4['status']!==0xc8)return;if(_0x44cc1c[_0x36c2e0(0x1a3)][_0x36c2e0(0x160)](/Good/)){const _0x22da4e=_0x248e66(_0x44cc1c,_0x316734);_0xfc0daf['$input']['val'](_0x22da4e),_0xfc0daf['$input']['trigger'](_0x36c2e0(0x11f));}});{_0x4f03ab['$uiSelect']=$('<div>'),_0x4f03ab[_0x579463(0xef)][_0x579463(0x101)](_0x4f03ab[_0x579463(0x6f)]),_0x4f03ab[_0x579463(0x1b1)]=$('<button\x20type=\x22button\x22\x20tabindex=\x220\x22></button>')[_0x579463(0x1a0)](_0x4f03ab[_0x579463(0x6f)]),$(_0x579463(0x149))[_0x579463(0x1ae)](!![])[_0x579463(0x9d)](_0x4f03ab[_0x579463(0x1b1)]),_0x4f03ab[_0x579463(0x1b1)]['on']('click',function(_0xd6d3ae){const _0xa7fc1=_0x579463;_0xd6d3ae[_0xa7fc1(0xa6)](),_0xd6d3ae[_0xa7fc1(0x12b)](),_0x4f03ab[_0xa7fc1(0x114)]();}),_0x4f03ab[_0x579463(0x1b1)]['on'](_0x579463(0x153),function(_0xa51400){const _0x136012=_0x579463;_0xa51400[_0x136012(0x102)]===0x28&&_0x4f03ab['_showTypeMenu'](),_0xa51400[_0x136012(0x12b)]();})['on'](_0x579463(0xcf),function(){const _0x57f8cc=_0x579463;_0x4f03ab['$uiSelect'][_0x57f8cc(0x126)](_0x57f8cc(0x18d));})['on'](_0x579463(0x198),function(){const _0x449e5d=_0x579463;_0x4f03ab['$uiSelect'][_0x449e5d(0x95)]('red-ui-typedInput-focus');}),_0x4f03ab[_0x579463(0x13d)]=$(_0x579463(0x11a))['appendTo'](_0x4f03ab[_0x579463(0x1b1)]);}this[_0x579463(0x93)]();!_0x4f03ab[_0x579463(0xef)][_0x579463(0x171)]('placeholder')&&_0x4f03ab[_0x579463(0xef)][_0x579463(0x171)](_0x579463(0x116),'enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20');_0x4f03ab[_0x579463(0xb5)]=$(_0x579463(0x85)),_0x4f03ab[_0x579463(0xb5)][_0x579463(0x180)](),_0x4f03ab[_0x579463(0xb9)][_0x579463(0x10b)](_0x4f03ab[_0x579463(0xb5)]),_0x4f03ab[_0x579463(0x10e)]=$(_0x579463(0x167))[_0x579463(0x126)](_0x579463(0x185))[_0x579463(0x180)]()[_0x579463(0x9d)](_0x4f03ab[_0x579463(0xb9)]),_0x4f03ab[_0x579463(0x98)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>')[_0x579463(0x9d)](_0x4f03ab[_0x579463(0x10e)]),this[_0x579463(0x151)]();const _0x6a7d12=(_0x406211,_0x48138a)=>{const _0x1c7957=_0x579463,_0x2fa0cb=0x14,_0x3c036a=0x14,_0x5768c5=_0x406211[_0x1c7957(0x168)](),_0xce8950=_0x48138a;if(_0xce8950[_0x1c7957(0xc0)]>=_0x5768c5[_0x1c7957(0x152)]&&_0xce8950['pageX']<=_0x5768c5[_0x1c7957(0x152)]+_0x2fa0cb&&_0xce8950[_0x1c7957(0xd4)]>=_0x5768c5[_0x1c7957(0x9b)]&&_0xce8950[_0x1c7957(0xd4)]<=_0x5768c5[_0x1c7957(0x9b)]+_0x3c036a)return!![];return![];},_0x396ba3=_0x43ba74=>_0x15a880(this,void 0x0,void 0x0,function*(){const _0x5b37dc=_0x579463;if(_0x43ba74['hasClass']('expandable'))_0x439cb3(_0x4f03ab,_0x43ba74);else{if(_0x43ba74[_0x5b37dc(0xe3)](_0x5b37dc(0xc4)))_0x43ba74[_0x5b37dc(0x8a)]('ul')[_0x5b37dc(0x1ae)](),_0x43ba74[_0x5b37dc(0xcc)]('expandable\x20expanded');else{if(_0x43ba74[_0x5b37dc(0x8a)]('ul')[_0x5b37dc(0x8a)]()[_0x5b37dc(0xee)]>0x0)_0x43ba74['children']('ul')[_0x5b37dc(0x1ae)](),_0x43ba74[_0x5b37dc(0xcc)]('expandable\x20expanded');else;}}});_0x4f03ab[_0x579463(0x98)]['on'](_0x579463(0xdc),'li',function(_0x12bda8){const _0x353a3b=_0x579463;var _0x37a05a,_0x41d75b;_0x12bda8[_0x353a3b(0x12b)]();let _0x2a88cd=$(this);if(_0x6a7d12(_0x2a88cd,_0x12bda8))_0x396ba3(_0x2a88cd);else{const _0x3199c6=_0x2a88cd[_0x353a3b(0x157)](_0x353a3b(0x89)),_0x1f924d=_0x2a88cd[_0x353a3b(0x157)]('reference');if(_0x4f03ab[_0x353a3b(0x1a5)][_0x353a3b(0xb2)]&&!_0x4f03ab[_0x353a3b(0x1a5)][_0x353a3b(0xb2)](_0x1f924d))return;_0x4f03ab['$input'][_0x353a3b(0x157)](_0x353a3b(0x15a),_0x1f924d),((_0x37a05a=_0x1f924d[_0x353a3b(0x103)])===null||_0x37a05a===void 0x0?void 0x0:_0x37a05a[_0x353a3b(0x113)])||((_0x41d75b=_0x1f924d[_0x353a3b(0x16f)])===null||_0x41d75b===void 0x0?void 0x0:_0x41d75b[_0x353a3b(0x18f)])||_0x1f924d[_0x353a3b(0xd6)][_0x353a3b(0xaa)]();let _0x430033=_0x4f03ab[_0x353a3b(0x121)]();!_0x430033&&(_0x430033=_0x353a3b(0xd6),_0x4f03ab[_0x353a3b(0xa0)](_0x430033)),_0x5d7a45(_0x3199c6)['then'](()=>{const _0x366764=_0x353a3b;_0x4f03ab[_0x366764(0x10e)][_0x366764(0x180)]();})[_0x353a3b(0x112)](_0xa169=>{const _0x296abc=_0x353a3b;_0x4f03ab['$dropdown'][_0x296abc(0x180)]();});}}),_0x4f03ab[_0x579463(0x98)]['on'](_0x579463(0x9e),'li',function(_0x28dd25){const _0x49634d=_0x579463;_0x28dd25[_0x49634d(0x12b)]();let _0xa713e2=$(this);_0x6a7d12(_0xa713e2,_0x28dd25)&&_0x396ba3(_0xa713e2),_0x166576(_0x4f03ab,_0xa713e2);}),$(document)['on'](_0x579463(0x9e),function(_0x2ae5a2){const _0x20f47f=_0x579463;!$(_0x2ae5a2[_0x20f47f(0x10f)])[_0x20f47f(0x156)](_0x4f03ab['$combo'])[_0x20f47f(0xee)]&&_0x4f03ab[_0x20f47f(0x10e)][_0x20f47f(0x180)]();});}});},_0x3e622b=()=>{const _0x2eed08=_0x23bc40,_0xa2aa6f=$(_0x2eed08(0x129));if(_0xa2aa6f[_0x2eed08(0xee)]){const _0x4e42ef=$('<iframe></iframe>',{'src':_0x2eed08(0x174),'scrolling':'no','style':_0x2eed08(0x110),'allowtransparency':_0x2eed08(0x82),'width':_0x2eed08(0xfb),'height':_0x2eed08(0x1a9)});_0xa2aa6f[_0x2eed08(0x10b)](_0x4e42ef),_0x4e42ef[_0x2eed08(0xb4)]({'position':'absolute','right':_0x2eed08(0x188),'bottom':_0x2eed08(0x70)});}},_0x2cb103=(_0x4efc0b,_0x3ca734,_0x21be1a)=>_0x15a880(void 0x0,[_0x4efc0b,_0x3ca734,_0x21be1a],void 0x0,function*({endpointNode:_0x4f13e3,endpoint:_0x3428a0,baseUrl:_0x24ebfd},_0x8bf729,_0x5024b4){const _0x2dda06=_0x23bc40,_0x2528c3=_0x24ebfd+_0x2dda06(0x1a1),_0x333680=_0x2528c3+_0x2dda06(0x91),_0x4dbaf3=yield fetch(_0x333680,{'method':_0x2dda06(0xf9),'body':JSON['stringify']({'endpointNode':_0x4f13e3,'endpoint':_0x3428a0,'nodeId':_0x8bf729,'namespaceAliases':_0x5024b4}),'headers':{'Content-Type':_0x2dda06(0x132)}});if(_0x4dbaf3[_0x2dda06(0xf3)]!==0xc8){console['log'](_0x2dda06(0x134),_0x4dbaf3['status'],_0x4dbaf3[_0x2dda06(0x119)]);const _0x50e147={'statusCode':_0x2dda06(0x137),'requestedNodeId':_0x8bf729};return _0x50e147;}console[_0x2dda06(0x11b)]('fetched\x20:\x20',_0x4dbaf3[_0x2dda06(0xf3)],_0x4dbaf3[_0x2dda06(0x119)]);const _0x60386c=yield _0x4dbaf3[_0x2dda06(0x148)]();return _0x60386c;});function _0x2426fc(_0x3a2c6f,_0x540cbd,_0x3db455,_0x252359){const _0x47b59c=_0x23bc40,_0x1c5a54=$('#'+_0x3a2c6f+_0x47b59c(0xf4)),_0x587a39=$('#'+_0x3a2c6f+_0x47b59c(0x1af)),_0x6feea4=$('#'+_0x3a2c6f+_0x47b59c(0x173)),_0x168c44=$('#'+_0x3a2c6f+_0x47b59c(0x145));let _0x4f0f20=![];_0x1c5a54[_0x47b59c(0x180)](),_0x587a39[_0x47b59c(0x180)](),_0x6feea4[_0x47b59c(0x180)](),_0x540cbd['on'](_0x47b59c(0x9e),()=>{const _0x26f920=_0x47b59c;if(_0x4f0f20)return;_0x4f0f20=!![],_0x6feea4[_0x26f920(0x95)](_0x26f920(0x180)),_0x6feea4['html']('Testing\x20Connection\x20...'),_0x1c5a54[_0x26f920(0x126)](_0x26f920(0x180)),_0x587a39[_0x26f920(0x126)](_0x26f920(0x180)),_0x168c44[_0x26f920(0x194)]('');const {body:_0x11243e,url:_0x496977}=_0x3db455();fetch(_0x496977,{'method':_0x26f920(0xf9),'headers':{'Content-Type':'application/json'},'body':JSON[_0x26f920(0x78)](_0x11243e)})['then'](_0x287db9=>_0x287db9[_0x26f920(0x148)]())['then'](_0x32a37b=>{const _0x2d7227=_0x26f920;_0x4f0f20=![],_0x6feea4[_0x2d7227(0x180)](),console[_0x2d7227(0x11b)](JSON[_0x2d7227(0x78)](_0x32a37b,null,'\x20'));if(_0x32a37b[_0x2d7227(0x77)]==='ok')_0x1c5a54[_0x2d7227(0x95)](_0x2d7227(0x180)),_0x587a39[_0x2d7227(0x126)](_0x2d7227(0x180)),_0x168c44[_0x2d7227(0x194)](_0x32a37b[_0x2d7227(0xab)][_0x2d7227(0x11e)]('\x0a',_0x2d7227(0x1ab))),_0x252359(null,_0x32a37b);else{const _0x2fba42=_0x392b3d=>!_0x392b3d?'':_0x392b3d[_0x2d7227(0xf0)]('\x0a')[_0x2d7227(0xe2)](_0x4a2ed7=>_0x2d7227(0x12e)+_0x4a2ed7+'</p>')['join']('\x0a'),_0x172170=_0x4315e7=>Array[_0x2d7227(0x170)](_0x4315e7)?_0x4315e7[_0x2d7227(0xe2)](_0x2fba42)[_0x2d7227(0x181)]('\x0a'):_0x2fba42(_0x4315e7);_0x1c5a54['addClass']('hide'),_0x587a39[_0x2d7227(0x95)]('hide'),_0x168c44['html'](_0x172170(_0x32a37b[_0x2d7227(0xab)])+_0x172170(_0x32a37b[_0x2d7227(0x15f)])),_0x252359(new Error(_0x32a37b[_0x2d7227(0x77)]),_0x32a37b);}})[_0x26f920(0x112)](_0x576bc4=>{const _0x2f35c3=_0x26f920;_0x4f0f20=![],_0x6feea4[_0x2f35c3(0x126)](_0x2f35c3(0x180)),_0x1c5a54[_0x2f35c3(0x126)]('hide'),_0x587a39[_0x2f35c3(0x95)]('hide'),_0x168c44[_0x2f35c3(0x194)](_0x2f35c3(0x7c)+_0x576bc4[_0x2f35c3(0xab)]),console['log']('err',_0x576bc4),_0x252359(_0x576bc4,null);});});}const _0x2996c2=()=>{const _0x506020=_0x23bc40,_0x266a86=$(_0x506020(0xf5)),_0x41a15b=_0x266a86[_0x506020(0x13c)](),_0x4c6d82=RED['nodes'][_0x506020(0x1b5)](_0x41a15b);if(!_0x4c6d82)return undefined;const {endpoint:_0x10e612,securityMode:_0x47df14,securityPolicy:_0x4c2e56,userIdentityType:_0x5ad48b,credentials:_0x191d31,namespaceAliases:_0x4cafc1}=_0x4c6d82,_0x2f6606={'endpoint':_0x10e612,'securityMode':_0x47df14,'securityPolicy':_0x4c2e56,'userIdentityType':_0x5ad48b,'credentials':_0x191d31,'namespaceAliases':_0x4cafc1};return _0x2f6606;},_0x59dc79=()=>{const _0x2b6dbb=_0x23bc40,_0x809fe2=$(_0x2b6dbb(0xf5)),_0x1621fe=_0x809fe2['val'](),_0x67d2a8=_0x2996c2();if(!_0x67d2a8)return undefined;const _0x52ae9e=_0x67d2a8['namespaceAliases'];return Object[_0x2b6dbb(0xe6)]({'namespaceAliases':_0x52ae9e,'id':_0x1621fe},_0x67d2a8);},_0x4a62f0=()=>{return{'endpointNode':_0x59dc79};};RED['nodes'][_0x23bc40(0x10d)](_0x23bc40(0x13b),{'category':'opcua','color':_0x23bc40(0xf8),'align':_0x23bc40(0x100),'icon':_0x23bc40(0x193),'paletteLabel':_0x23bc40(0xa3),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x23bc40(0x144)},'action':{'value':'read','required':!![]},'methodId':{'value':'','required':!![]},'objectId':{'value':'','required':!![]}},'outputs':0x2,'label'(){const _0x1b9c41=_0x23bc40;return this['name']||_0x1b9c41(0xe8);},'labelStyle'(){const _0x355a1d=_0x23bc40;return this['name']?_0x355a1d(0xe0):'';},'oneditprepare'(){const _0x43d69f=_0x23bc40,_0x1faeca=this;_0xfdf88(),_0x3e622b(),_0x1faeca[_0x43d69f(0x176)]=0x1;let _0x5330c1={};const _0x2f6730=$('#node-input-objectId'),_0x5934c6=$(_0x43d69f(0x138)),_0x5ee21e=$(_0x43d69f(0x13f)),_0x1b4578=$(_0x43d69f(0xd7)),_0x5be4fb=$(_0x43d69f(0xc2));_0x2f6730['nodeBrowser'](Object[_0x43d69f(0xe6)](Object[_0x43d69f(0xe6)]({},_0x4a62f0()),{'filter'(_0x4a8839){const _0xea83df=_0x43d69f;return _0x4a8839[_0xea83df(0x106)]===_0xea83df(0x14f);}})),_0x5934c6[_0x43d69f(0x13a)](Object[_0x43d69f(0xe6)](Object['assign']({},_0x4a62f0()),{'parentNode':function(){return _0x15a880(this,void 0x0,void 0x0,function*(){const _0x2b527f=_0x4165,_0x5c8ce3=_0x19cd5b(this);let _0x4aa1d9=_0x2f6730['data'](_0x2b527f(0x15a));if(!_0x4aa1d9){const _0x15ce73=_0x2f6730[_0x2b527f(0x13c)]();try{const _0x34aca5=yield _0x2cb103(_0x5c8ce3,_0x15ce73);if(_0x34aca5['statusCode']!==_0x2b527f(0xba))return null;_0x4aa1d9={'nodeId':_0x34aca5[_0x2b527f(0xd6)],'browseName':_0x34aca5['browseName'],'nodeClass':_0x2b527f(0x14f),'typeDefinition':_0x2b527f(0x122),'displayName':{'text':''}};}catch(_0x562bca){console[_0x2b527f(0x11b)](_0x562bca);}}return _0x4aa1d9;});},'filter'(_0x1b84c4){const _0x11c869=_0x43d69f;return _0x1b84c4['nodeClass']===_0x11c869(0x159)||_0x1b84c4[_0x11c869(0x106)]===_0x11c869(0x14f);},'isSelectable'(_0x283fff){const _0x14c1db=_0x43d69f;return _0x283fff[_0x14c1db(0x106)]===_0x14c1db(0x159);}})),_0x2f6730['on'](_0x43d69f(0x11f),()=>{const _0x3303d7=_0x43d69f;_0x5934c6['nodeBrowser'](_0x3303d7(0x151));});function _0x316b48(_0x1f05d5,_0x159205,_0xe4d611){const _0x50e037=_0x43d69f,_0xadd59=$(_0x50e037(0x12a))[_0x50e037(0x9d)](_0x1f05d5);$('<input\x20type=\x22text\x22>')[_0x50e037(0x13c)](_0xe4d611[_0x50e037(0x18f)]||'')[_0x50e037(0xb4)]({'width':'100%'})[_0x50e037(0x9d)](_0xadd59);const _0x326131=_0x5330c1[_0xe4d611[_0x50e037(0xd0)][_0x50e037(0xaa)]()],_0x363359=(_0x326131?_0x326131[_0x50e037(0x16f)]['name']||'':_0xe4d611[_0x50e037(0xd0)][_0x50e037(0xaa)]())+(_0xe4d611['valueRank']===0x1?'[]':'');$('<input\x20type=\x22text\x22>')[_0x50e037(0x13c)](_0xe4d611[_0x50e037(0x108)]['text']||'')[_0x50e037(0xb4)]({'width':_0x50e037(0x179)})['appendTo'](_0xadd59),$('<input\x20type=\x22text\x22>')[_0x50e037(0x13c)](_0x363359||'')['css']({'width':_0x50e037(0x179)})[_0x50e037(0x9d)](_0xadd59);}_0x5ee21e[_0x43d69f(0x146)]({'addButton':![],'height':_0x43d69f(0x130),'scrollOnAdd':![],'addItem'(_0x534e25,_0x491acc,_0x4f56ba){_0x316b48(_0x534e25,_0x491acc,_0x4f56ba);}}),_0x1b4578[_0x43d69f(0x146)]({'addButton':![],'height':_0x43d69f(0x130),'scrollOnAdd':![],'addItem'(_0x43c470,_0xf63b69,_0x35433c){_0x316b48(_0x43c470,_0xf63b69,_0x35433c);}});function _0x1ee298(_0x5d62bf,_0xea7fd4){const _0x6f38d2=_0x43d69f;console[_0x6f38d2(0x11b)]('installArgumentList',_0xea7fd4[_0x6f38d2(0xee)],'arguments',_0xea7fd4),_0x5d62bf['editableList'](_0x6f38d2(0x14a));for(let _0x55e6b4=0x0;_0x55e6b4<_0xea7fd4['length'];_0x55e6b4++){_0x5d62bf[_0x6f38d2(0x146)]('addItem',_0xea7fd4[_0x55e6b4]);}}_0x5ee21e['hide'](),_0x1b4578[_0x43d69f(0x180)]();let _0x81cb4e={};const _0x5150cf=$(_0x43d69f(0x111));_0x5150cf[_0x43d69f(0x180)](),_0x5150cf['on']('click',()=>{const _0x864de2=_0x43d69f;navigator[_0x864de2(0x7f)][_0x864de2(0x187)](JSON['stringify'](_0x81cb4e));}),_0x2426fc(_0x43d69f(0xae),_0x5be4fb,()=>({'url':_0x43d69f(0x117),'body':{'endpointNode':_0x59dc79(),'objectId':_0x2f6730[_0x43d69f(0x13c)](),'methodId':_0x5934c6['val']()}}),(_0x8cbae4,_0x6b44f3)=>{const _0x1fdbff=_0x43d69f;if(_0x8cbae4)return;const _0x43aede=_0x6b44f3['argumentDefinition'];_0x5330c1=_0x6b44f3[_0x1fdbff(0x1b3)],_0x5ee21e['show'](),_0x1b4578[_0x1fdbff(0xc5)](),_0x1ee298(_0x5ee21e,_0x43aede[_0x1fdbff(0xbc)]),_0x1ee298(_0x1b4578,_0x43aede['outputArguments']),_0x81cb4e=_0x6b44f3[_0x1fdbff(0x163)]||{},_0x5150cf['show'](),navigator[_0x1fdbff(0x7f)][_0x1fdbff(0x187)](JSON[_0x1fdbff(0x78)](_0x81cb4e)),console[_0x1fdbff(0x11b)](_0x1fdbff(0x1a7),JSON[_0x1fdbff(0x78)](_0x81cb4e)),console['log'](_0x1fdbff(0x157),_0x6b44f3);});},'oneditsave'(){}});}()));function _0x2595(){const _0x26eeaf=['extra','match','4452324yQtRmS','<i\x20class=\x22fa\x20fa-bookmark\x22/>&nbsp;\x20','inputArgumentsExampleAsJson','HasComponent','<div>','nsuNodeID','<div/>','offset','disarmClick','VariableType','expandable','$menu','DodgerBlue','trigger','browseName','isArray','attr','prev','-pending','/opcua-for-node-red/support-frame.html','resolveParentNode','inputs','<div\x20class=\x22spinner\x22></div>','View','50%','endpointNode','Value\x20is\x20not\x20verified','localeCompare','SeaGreen','sterfive-info','height','hide','join','fa-question','</span>','sterfive-input-group','sterfive-dropdown','ns=0;i=47','writeText','20px','sterfive.nodeBrowser','baseUrl','>&nbsp;\x20','title','red-ui-typedInput-focus','msg.','name','mask-image:\x20url(','<a\x20href=\x22#\x22></a>','_delay','../../icons/opcuanodeLogo.png','html','<input\x20type=\x22checkbox\x22>','<i\x20class=\x22fa\x20fa-bookmark\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','DataType','blur','SuppressedError','failure','browse\x20path:\x20','Unspecified','parentNode','callback','HasProperty','prependTo','/opcua-for-node-red','HasChild','statusCode','indexOf','options','IsForward','JSON','nsu','30px','element','<br>','sterfive-typedInput-options\x20sterfive-online-menu','_createMenu','toggle','-failure','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','$selectTrigger','$toggleTreeBtn','dataTypes','msg','node','Variable','_showMenu','references','$uiSelect','16px','endpoint','icon','/walk-backward','aliased\x20NodeId:\x20','slideDown','throw','result','stringify','16092873GRxjKr','ns=0;i=40','mousedown.red-ui-typedInput-close-property-select','internal\x20error\x20','apply','fa-sliders','clipboard','<button\x20title=\x22verify\x20nodeId\x20or\x20browsePath\x22><i\x20class=\x22fa\x20fa-refresh\x22></i></button>','grey','true','selectedMenuItem','[value=\x27','<div\x20class=\x22sterfive-info-text\x22></div>','1205095PvCknR','DarkOrange','requestedNodeId','value','children','</li>','\x22}><span\x20class=\x22tree-text\x22\x20title=','browsePath','sterfive-input-error','input[type=\x22checkbox\x22]','21soLKQN','/checkNodeId','<i\x20class=\x22fa\x20fa-tag\x22/><i\x20class=\x22fa\x20fa-fighter-jet\x22/>&nbsp;','_initMenu','ns=0;i=35','removeClass','DisplayName','Invalid','$tree','parent','browseResult','top','referenceTypeId','appendTo','click','_hideMenu','setMode','fa-list-alt','currentParent','call',':visible','nodeIds','preventDefault','<li\x20key=\x22','CadetBlue','fa-object-group','toString','message','none','ns=0;i=34','validate','statusCode:\x20','fetched','NodeId\x20with\x20namespace\x20Urn','isSelectable','selected','css','$info','662668FflvuA','TypeDefinition','opc.tcp://opcuademo.sterfive.com:26543','$combo','Good','verify','inputArguments','nsu\x20nodeId:\x20','after','mousedown.red-ui-typedInput-focus-block','pageX','HasSubtype','#validate-call-arguments-button','773634tJVdKC','expanded','show','ns=0;i=85','bp_indexed','207195SjkwyM','Both',');\x20-webkit-mask-image:\x20url(','push','toggleClass','$elementDiv','red-ui-typedInput-icon','focus','dataType','label','aliasedNodeId','ns=0;i=61','pageY','<i\x20class=\x22fa\x20fa-font\x22/i>\x20','nodeId','#method-output-argument-definition','off','opts','nodes','.tree-text:first','dblclick','forEach','scrollTop','mousedown','node_label_italic','li[key=\x22','map','hasClass','typeDefinition','border','assign','<i\x20class=\x22fa\x20fa-id-card\x22/>&nbsp;\x20','OPCUA-Call','Aliased\x20NodeId','remove','already\x20fetched','bp_aliased','prop','length','$input','split','red-ui-typedInput-icon\x20','function','status','-success','#node-input-endpoint','ObjectType','loading','#C0DEED','POST','Inverse','180px','namespaceAliases','Objects','isTypeRef','rgba(61,\x2060,\x204,\x200.525)','right','before','keyCode','displayName','Forward','$inputGroup','nodeClass','done','description','SandyBrown','BrowsePath','append','HasTypeDefinition','registerType','$dropdown','target','background-color:transparent;overflow:hidden;border:3px','#copy-input','catch','text','_showTypeMenu','node\x20class:\x20','placeholder','/opcua-for-node-red/argumentDefinition','<i>','statusText','<span\x20class=\x22red-ui-typedInput-type-label\x22></span>','log','position','filter','replace','change','318128uDQtxf','mode','ns=0;i=0','replaceWith','next','nodeId_aliased','addClass','<button\x20title=\x22open\x20OPCUA\x20AddressSpace\x20Browser\x22><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','12GMUUDE','.red-ui-tray-body','<div\x20class=\x22argument-entry\x22>','stopPropagation','checked','err','<p>','NodeClass','auto','body','application/json','nodeId:\x20','fetching\x20failed\x20with\x20error','multiple','aliasedBrowsePath','BadNoMatch','#node-input-methodId','Aliased\x20Browse\x20Path','nodeBrowser','OpcUa-Client2-Call','val','$selectLabel','suppressed','#method-input-argument-definition','__parentNode','aliased\x20browsePath:\x20','ns=0;i=45','fa-folder','OpcUa-Endpoint2','-messages','editableList','error','json','<i\x20class=\x22red-ui-typedInput-icon\x20fa\x20fa-caret-down\x22></i>','empty','<i\x20class=\x22fa\x20fa-envelope-open-o\x22/>','find','$verifyBtn','<span\x20title=','Object','string','reset','left','keydown','ReferenceType','</span><ul></ul></li>','closest','data','<i\x20class=\x22fa\x20fa-tag\x22/>1\x20&nbsp;\x20','Method','reference','!!failure!!','then','\x22\x20style=\x22color:','nodeId_nsu'];_0x2595=function(){return _0x26eeaf;};return _0x2595();}
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" />