@opcua/for-node-red 2.16.0 → 2.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/all.js +348 -1
- package/package.json +1 -32
- package/source/OpcUa-Client2-Browse/OpcUa-Client2-Browse.html +2 -2
- package/source/OpcUa-Client2-Call/OpcUa-Client2-Call.html +2 -2
- package/source/OpcUa-Client2-Explore/OpcUa-Client2-Explore.html +2 -2
- package/source/OpcUa-Client2-ExtensionObject/OpcUa-Client2-ExtensionObject.html +2 -2
- package/source/OpcUa-Client2-HistoryRead/OpcUa-Client2-HistoryRead.html +2 -2
- package/source/OpcUa-Client2-Monitor/OpcUa-Client2-Monitor.html +2 -2
- package/source/OpcUa-Client2-MonitorEvent/OpcUa-Client2-MonitorEvent.html +2 -2
- package/source/OpcUa-Client2-Read/OpcUa-Client2-Read.html +2 -2
- package/source/OpcUa-Client2-Write/OpcUa-Client2-Write.html +2 -2
- package/source/OpcUa-Endpoint2/OpcUa-Endpoint2.html +2 -2
@@ -4,8 +4,8 @@
|
|
4
4
|
</style>
|
5
5
|
|
6
6
|
<script type="text/javascript">
|
7
|
-
function _0x589e(_0x4027e7,_0x4edcec){const _0x475dc7=_0x475d();return _0x589e=function(_0x589e76,_0x13bf9b){_0x589e76=_0x589e76-0x110;let _0x455865=_0x475dc7[_0x589e76];return _0x455865;},_0x589e(_0x4027e7,_0x4edcec);}function _0x475d(){const _0x3ae4a5=['references','/walk-backward','stopPropagation','reference','displayName','fa-object-group','checked','nodeIds','prop','Method','failure','toggleClass','statusCode','1m\x20ago','<button><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','SandyBrown','$toggleTreeBtn','Invalid','addClass','!!failure!!','Both','removeClass','li[key=\x22','nodeId',';\x22></i>\x20','ns=0;i=61','assign','SteelBlue','typeDefinition','selected','processingInterval','empty','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','#node-input-modified-returnBounds','CadetBlue','910ANMxAH','status','#node-input-nodeId','ns=0;i=85','right','Object','<ul\x20class=\x22sterfive-tree\x22></ul>','offset','stringify','</li>','raw','<div\x20class=\x22info-text\x22></div>','sterfive-dropdown','animate','IsForward','Unspecified','HasChild','application/json','nodeBrowser','inputs','nodes','#node-input-processed-details-aggregateType','message','../../icons/opcuanodeLogo.png','#node-input-returnBounds','ns=0;i=35',':visible','verify','$input','browseName','sterfive-combo-box','position','fa-sliders','resolveParentNode','POST','935595YoCwma','#node-input-processed-details-aggregateConfiguration-percentDataBad','isTypeRef','throw','expanded','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','json','sterfive-info','input-group','__parentNode','apply','NodeClass','#C0DEED','data','#select-history-type','4450263noWoIZ','value','next','toggle','/checkNodeId','BrowseName','endpoint','#section-annotation-data','#section-raw','referenceTypeId','#node-input-raw-numValuesPerNode','8OhggXS','6351786SHQMYk','$inputGroup','ObjectType','Objects','isSelectable','relativePath','fetching\x20failed\x20with\x20error',':first','expandable\x20expanded','left','\x22\x20style=\x22color:','#section-processed-details','\x22}><span\x20class=\x22tree-text\x22\x20title=','Variable','<button><i\x20class=\x22fa\x20fa-flask\x22></i></button>','baseUrl','children','returnBounds','historyReadParam','height','type','browseResult','toString','#node-input-raw-endTime','function','$verifyBtn','#node-input-processed-details-endTime','append','#node-input-processed-details-startTime','options','ns=0;i=46','aggregateConfiguration','reset','find','Forward','error','ReferenceType','startTime','expandable','trigger','#node-input-processed-details-aggregateConfiguration-percentDataGood','20yvuqnh','already\x20fetched','useServerCapabilitiesDefaults','SuppressedError','TypeDefinition','done','HasTypeDefinition','#node-input-processed-details-aggregateConfiguration-useServerCapabilitiesDefaults','placeholder','modified','percentDataBad','then','loading','4545441dHZrcY','#node-input-modified-endTime','hide','nodeAddressString','#node-input-processed-details-processingInterval','/opcua-endpoint2','useSlopedExtrapolation','DarkOrange','#node-input-raw-startTime','/browse','currentParent','nodeClass','endpointNode','11188450AgNWbo','#node-input-processed-details-aggregateConfiguration-treatUncertainAsBad','statusText','ns=0;i=40','endTime','OpcUa-Client2-HistoryRead','rgba(61,\x2060,\x204,\x200.525)','Organizes','attr','numValuesPerNode','registerType','suppressed','node','show','val','treatUncertainAsBad','#node-input-modified-startTime','log','err','scrollTop','Value','fa-text-width','$combo','fetched','</span><ul></ul></li>','pageY','length','#section-modified','widget','11m\x20ago','<li>error\x20','top','VariableType','#node-input-modified-numValuesPerNode','hasClass','<div/>','DataType','already\x20loading','53aDytmh','OpcUa-Endpoint2','replaceWith','.tree-text:first','click','#node-input-processed-details-aggregateConfiguration-useSlopedExtrapolation','$info','element','target','309056QWfvev','parentNode','$dropdown','opcua','processed-details','HasSubtype','name','ns=0;i=45','ns=0;i=34','#section-event','fa-folder','DisplayName','change','opc.tcp://opcuademo.sterfive.com:26543','pageX','fa-list-alt','33386oeoZsh','$tree','View','HasComponent','text'];_0x475d=function(){return _0x3ae4a5;};return _0x475d();}(function(_0x1056e1,_0x4dc020){const _0x2514f1=_0x589e,_0x152d29=_0x1056e1();while(!![]){try{const _0x22bdca=-parseInt(_0x2514f1(0x1e1))/0x1*(-parseInt(_0x2514f1(0x112))/0x2)+parseInt(_0x2514f1(0x16c))/0x3+-parseInt(_0x2514f1(0x1a1))/0x4*(parseInt(_0x2514f1(0x15d))/0x5)+-parseInt(_0x2514f1(0x178))/0x6+-parseInt(_0x2514f1(0x1bb))/0x7+-parseInt(_0x2514f1(0x177))/0x8*(parseInt(_0x2514f1(0x1ae))/0x9)+parseInt(_0x2514f1(0x13a))/0xa*(parseInt(_0x2514f1(0x1ea))/0xb);if(_0x22bdca===_0x4dc020)break;else _0x152d29['push'](_0x152d29['shift']());}catch(_0x2303e7){_0x152d29['push'](_0x152d29['shift']());}}}(_0x475d,0xc9f7d),(function(){'use strict';const _0x281951=_0x589e;function _0x3b28cc(_0xe14403,_0x4c7203,_0x5689d5,_0x477bf7){function _0x5b1d56(_0x460b4a){return _0x460b4a instanceof _0x5689d5?_0x460b4a:new _0x5689d5(function(_0x198040){_0x198040(_0x460b4a);});}return new(_0x5689d5||(_0x5689d5=Promise))(function(_0x282304,_0x8ee8bb){const _0xcca669=_0x589e;function _0x345a87(_0x3ec867){const _0x92e804=_0x589e;try{_0x39fd37(_0x477bf7[_0x92e804(0x16e)](_0x3ec867));}catch(_0x3eb51e){_0x8ee8bb(_0x3eb51e);}}function _0x53db32(_0x4685ef){const _0x43cd36=_0x589e;try{_0x39fd37(_0x477bf7[_0x43cd36(0x160)](_0x4685ef));}catch(_0x616466){_0x8ee8bb(_0x616466);}}function _0x39fd37(_0x5348d4){const _0xd9ee9f=_0x589e;_0x5348d4[_0xd9ee9f(0x1a6)]?_0x282304(_0x5348d4['value']):_0x5b1d56(_0x5348d4['value'])[_0xd9ee9f(0x1ac)](_0x345a87,_0x53db32);}_0x39fd37((_0x477bf7=_0x477bf7[_0xcca669(0x167)](_0xe14403,_0x4c7203||[]))['next']());});}typeof SuppressedError===_0x281951(0x190)?SuppressedError:function(_0x573888,_0x186f1,_0x152e61){const _0x13432a=_0x281951;var _0x470353=new Error(_0x152e61);return _0x470353[_0x13432a(0x1f0)]=_0x13432a(0x1a4),_0x470353['error']=_0x573888,_0x470353[_0x13432a(0x1c6)]=_0x186f1,_0x470353;};const _0x73e5f6=_0x281951(0x153),_0x3ae083=_0x281951(0x130),_0xc271a2='ns=0;i=47',_0x278a55=_0x281951(0x196),_0x4d28d1=_0x281951(0x1f2),_0x3fe53e=_0x281951(0x1f1),_0x2d5eda=_0x281951(0x1be);var _0x2d6d43;(function(_0x3e19c5){const _0x383dad=_0x281951;_0x3e19c5[_0x3e19c5[_0x383dad(0x19a)]=0x0]=_0x383dad(0x19a),_0x3e19c5[_0x3e19c5['Inverse']=0x1]='Inverse',_0x3e19c5[_0x3e19c5[_0x383dad(0x12b)]=0x2]=_0x383dad(0x12b),_0x3e19c5[_0x3e19c5[_0x383dad(0x128)]=0x3]='Invalid';}(_0x2d6d43||(_0x2d6d43={})));var _0x570368;(function(_0x4ba527){const _0x14b724=_0x281951;_0x4ba527[_0x4ba527[_0x14b724(0x149)]=0x0]=_0x14b724(0x149),_0x4ba527[_0x4ba527[_0x14b724(0x13f)]=0x1]=_0x14b724(0x13f),_0x4ba527[_0x4ba527[_0x14b724(0x185)]=0x2]=_0x14b724(0x185),_0x4ba527[_0x4ba527[_0x14b724(0x120)]=0x4]='Method',_0x4ba527[_0x4ba527[_0x14b724(0x17a)]=0x8]=_0x14b724(0x17a),_0x4ba527[_0x4ba527[_0x14b724(0x1db)]=0x10]=_0x14b724(0x1db),_0x4ba527[_0x4ba527[_0x14b724(0x19c)]=0x20]=_0x14b724(0x19c),_0x4ba527[_0x4ba527[_0x14b724(0x1df)]=0x40]=_0x14b724(0x1df),_0x4ba527[_0x4ba527[_0x14b724(0x114)]=0x80]=_0x14b724(0x114);}(_0x570368||(_0x570368={})));var _0x2aa971;(function(_0x367e60){const _0xb91ffd=_0x281951;_0x367e60[_0x367e60[_0xb91ffd(0x13f)]=0x1]=_0xb91ffd(0x13f),_0x367e60[_0x367e60[_0xb91ffd(0x185)]=0x2]=_0xb91ffd(0x185),_0x367e60[_0x367e60[_0xb91ffd(0x120)]=0x4]=_0xb91ffd(0x120),_0x367e60[_0x367e60[_0xb91ffd(0x17a)]=0x8]='ObjectType',_0x367e60[_0x367e60[_0xb91ffd(0x1db)]=0x10]=_0xb91ffd(0x1db),_0x367e60[_0x367e60[_0xb91ffd(0x19c)]=0x20]='ReferenceType',_0x367e60[_0x367e60['DataType']=0x40]=_0xb91ffd(0x1df),_0x367e60[_0x367e60[_0xb91ffd(0x114)]=0x80]=_0xb91ffd(0x114);}(_0x2aa971||(_0x2aa971={})));var _0x3587e8;(function(_0x28351b){const _0x3576ed=_0x281951;_0x28351b[_0x28351b['ReferenceType']=0x1]=_0x3576ed(0x19c),_0x28351b[_0x28351b[_0x3576ed(0x148)]=0x2]=_0x3576ed(0x148),_0x28351b[_0x28351b[_0x3576ed(0x168)]=0x4]='NodeClass',_0x28351b[_0x28351b[_0x3576ed(0x171)]=0x8]=_0x3576ed(0x171),_0x28351b[_0x28351b[_0x3576ed(0x1f5)]=0x10]=_0x3576ed(0x1f5),_0x28351b[_0x28351b[_0x3576ed(0x1a5)]=0x20]='TypeDefinition';}(_0x3587e8||(_0x3587e8={})));function _0x1b4205(_0x378c7c){const _0xf42a02=_0x281951;switch(_0x378c7c){case _0xf42a02(0x1c2):return _0x73e5f6;case'HasProperty':return _0x278a55;case _0xf42a02(0x115):return _0xc271a2;case _0xf42a02(0x14a):return _0x4d28d1;case _0xf42a02(0x1ef):return _0x3fe53e;case _0xf42a02(0x1a7):return _0x2d5eda;}}const _0x35a57d=_0x218d94=>{const _0xfab53e=_0x281951;switch(_0x218d94[_0xfab53e(0x1b9)]){case _0xfab53e(0x13f):if(_0x218d94[_0xfab53e(0x175)]===_0x73e5f6);if(_0x218d94[_0xfab53e(0x133)]===_0x3ae083||_0x218d94[_0xfab53e(0x175)]==='i=61')return{'icon':_0xfab53e(0x1f4),'color':_0xfab53e(0x1c1)};return{'icon':'fa-object-group','color':'SeaGreen'};case _0xfab53e(0x185):if(_0x218d94[_0xfab53e(0x175)]===_0xc271a2)return{'icon':_0xfab53e(0x111),'color':_0xfab53e(0x132)};else return _0x218d94[_0xfab53e(0x175)]===_0x278a55?{'icon':_0xfab53e(0x111),'color':'DodgerBlue'}:{'icon':_0xfab53e(0x111),'color':_0xfab53e(0x139)};case _0xfab53e(0x120):return{'icon':'fa-cog','color':_0xfab53e(0x126)};case _0xfab53e(0x17a):return{'icon':_0xfab53e(0x11c),'color':_0xfab53e(0x1b5)};case _0xfab53e(0x1db):return{'icon':_0xfab53e(0x15a),'color':_0xfab53e(0x1b5)};case _0xfab53e(0x1df):return{'icon':_0xfab53e(0x1d0),'color':_0xfab53e(0x139)};}return{'icon':'fa-question','color':'grey'};},_0x352a42=(_0x163a43,_0x2783d0,_0x341607)=>_0x3b28cc(void 0x0,[_0x163a43,_0x2783d0,_0x341607],void 0x0,function*({endpointNode:_0x4271d8,endpoint:_0x20ca76,baseUrl:_0x232242},_0x4397a0,_0x3829ef){const _0x1e5afe=_0x281951,_0x39c63f=_0x232242+'/opcua-endpoint2',_0x37ec7a=_0x39c63f+_0x1e5afe(0x1b7),_0x3d5488=Object[_0x1e5afe(0x131)](Object[_0x1e5afe(0x131)]({},_0x3829ef),{'nodeId':_0x4397a0,'resultMask':0x3f}),_0x433c03=yield fetch(_0x37ec7a,{'method':_0x1e5afe(0x15c),'body':JSON[_0x1e5afe(0x142)]({'endpointNode':_0x4271d8,'endpoint':_0x20ca76,'browseDescription':_0x3d5488}),'headers':{'Content-Type':'application/json'}});if(_0x433c03[_0x1e5afe(0x13b)]!==0xc8)return console['log'](_0x1e5afe(0x17e),_0x433c03['status'],_0x433c03['statusText']),{'references':[]};const _0x4df0e8=yield _0x433c03[_0x1e5afe(0x163)](),_0x293a75=_0x4df0e8[_0x1e5afe(0x18d)][_0x1e5afe(0x117)]||[];return{'references':_0x293a75};}),_0x1ded34={'referenceTypeId':_0x1b4205(_0x281951(0x14a)),'includeSubtypes':!![],'browseDirection':_0x2d6d43['Forward'],'nodeClassMask':_0x570368[_0x281951(0x185)]|_0x570368[_0x281951(0x13f)]|_0x570368[_0x281951(0x120)],'resultMask':0x3f},_0x58b18a={'referenceTypeId':_0x1b4205(_0x281951(0x1c2)),'includeSubtypes':!![],'browseDirection':_0x2d6d43[_0x281951(0x19a)],'nodeClassMask':_0x570368[_0x281951(0x185)]|_0x570368['Object']|_0x570368[_0x281951(0x120)],'resultMask':0x3f},_0x3ea04b=(_0x4cdf2a,_0x15dd8e)=>_0x3b28cc(void 0x0,[_0x4cdf2a,_0x15dd8e],void 0x0,function*({endpointNode:_0x4724f8,endpoint:_0x226308,baseUrl:_0x25b8db},{nodeId:_0x10155b,rootNodeId:_0x11326,isType:_0x3b02f8}){const _0x1f9396=_0x281951,_0x5d713e=_0x25b8db+_0x1f9396(0x1b3),_0x5b1540=_0x5d713e+_0x1f9396(0x118),_0x1a929e=yield fetch(_0x5b1540,{'method':_0x1f9396(0x15c),'body':JSON[_0x1f9396(0x142)]({'endpointNode':_0x4724f8,'endpoint':_0x226308,'nodeId':_0x10155b,'rootNodeId':_0x11326,'isType':_0x3b02f8}),'headers':{'Content-Type':_0x1f9396(0x14b)}});if(_0x1a929e[_0x1f9396(0x13b)]!==0xc8)return null;const _0x394e1e=yield _0x1a929e[_0x1f9396(0x163)]();return _0x394e1e['browsePath'];}),_0x49bd5b=(_0x4a16b7,_0x43a634,_0x3fc564)=>_0x3b28cc(void 0x0,[_0x4a16b7,_0x43a634,_0x3fc564],void 0x0,function*({endpointNode:_0x56b7f2,endpoint:_0x2b6da8,baseUrl:_0x3360e6},_0x2d532e,_0x2ad5f4){const _0x25543f=_0x281951,_0x270e17=_0x3360e6+_0x25543f(0x1b3),_0x500bf7=_0x270e17+_0x25543f(0x170),_0x4ec41d=_0x2d532e[_0x25543f(0x1c9)](),_0x4993b0=yield fetch(_0x500bf7,{'method':'POST','body':JSON['stringify']({'endpointNode':_0x56b7f2,'endpoint':_0x2b6da8,'nodeId':_0x4ec41d}),'headers':{'Content-Type':_0x25543f(0x14b)}}),_0x514867=(_0x192953,_0x40d38c)=>{const _0x3729c4=_0x25543f;_0x2ad5f4['text'](_0x192953)['addClass'](_0x3729c4(0x164))['addClass'](_0x40d38c),_0x2ad5f4[_0x3729c4(0x1c8)](),setTimeout(()=>{const _0x21bc60=_0x3729c4;_0x2ad5f4[_0x21bc60(0x12c)](_0x40d38c),_0x2ad5f4[_0x21bc60(0x1b0)]();},0xbb8);},_0x2094e6=yield _0x4993b0[_0x25543f(0x163)]();_0x4993b0['status']!==0xc8?_0x514867(_0x25543f(0x12a)+_0x4ec41d,_0x25543f(0x121)):_0x2094e6[_0x25543f(0x123)]['match'](/Good/)?(_0x2d532e[_0x25543f(0x1c9)](_0x2094e6[_0x25543f(0x1b1)]),_0x2d532e['trigger'](_0x25543f(0x1f6)),_0x514867('Good','ok')):(_0x2d532e[_0x25543f(0x1c9)](''+_0x4ec41d),_0x514867(_0x2094e6[_0x25543f(0x123)]+'\x20'+_0x4993b0[_0x25543f(0x1bd)],'failure'));});function _0x58c73f(_0xb7c4c8,_0x4224dc){return _0x3b28cc(this,void 0x0,void 0x0,function*(){const _0x18ca27=_0x589e,_0x4e22b0=_0xb7c4c8[_0x18ca27(0x16a)](_0x18ca27(0x16d)),_0x4b210a=yield _0x352a42(_0x4224dc,_0x4e22b0,_0x1ded34),_0x57ac40=yield _0x352a42(_0x4224dc,_0x4e22b0,_0x58b18a);return{'references':[..._0x4b210a[_0x18ca27(0x117)],..._0x57ac40[_0x18ca27(0x117)]]};});}const _0x363347={'referenceTypeId':_0x1b4205('HasSubtype'),'includeSubtypes':!![],'browseDirection':_0x2d6d43[_0x281951(0x19a)],'nodeClassMask':_0x570368['ReferenceType']|_0x570368[_0x281951(0x17a)]|_0x570368[_0x281951(0x1df)]|_0x570368['VariableType'],'resultMask':0x3f};function _0x25f30a(_0x5b438b,_0x38f843){return _0x3b28cc(this,void 0x0,void 0x0,function*(){const _0x400f2e=_0x589e,_0x494184=_0x5b438b[_0x400f2e(0x16a)](_0x400f2e(0x16d)),_0x208155=yield _0x352a42(_0x38f843,_0x494184,_0x363347);return _0x208155;});}const _0x50a783=_0x25c600=>{const _0x186bc3=_0x281951;var _0x27a9eb,_0x5cf840,_0x54ef19,_0x2d6f11;if(!_0x25c600||!_0x25c600['nodeId']){const _0x38aa4d=$(_0x186bc3(0x162));return _0x38aa4d;}const _0x24ca64=_0x25c600[_0x186bc3(0x12e)][_0x186bc3(0x18e)](),_0x18ea41=((_0x27a9eb=_0x25c600[_0x186bc3(0x11b)])===null||_0x27a9eb===void 0x0?void 0x0:_0x27a9eb[_0x186bc3(0x116)])||((_0x5cf840=_0x25c600[_0x186bc3(0x157)])===null||_0x5cf840===void 0x0?void 0x0:_0x5cf840[_0x186bc3(0x1f0)])||_0x25c600[_0x186bc3(0x12e)]['toString'](),{icon:_0x40ca09,color:_0x11f847}=_0x35a57d(_0x25c600),_0x38f851='('+_0x25c600['nodeId'][_0x186bc3(0x18e)]()+')\x20'+(((_0x54ef19=_0x25c600[_0x186bc3(0x157)])===null||_0x54ef19===void 0x0?void 0x0:_0x54ef19[_0x186bc3(0x1f0)])||((_0x2d6f11=_0x25c600[_0x186bc3(0x11b)])===null||_0x2d6f11===void 0x0?void 0x0:_0x2d6f11[_0x186bc3(0x116)])||''),_0x5db198=$('<li\x20key=\x22'+_0x25c600[_0x186bc3(0x12e)][_0x186bc3(0x18e)]()+_0x186bc3(0x184)+_0x38f851+'><i\x20class=\x22fa\x20'+_0x40ca09+_0x186bc3(0x182)+_0x11f847+_0x186bc3(0x12f)+_0x18ea41+_0x186bc3(0x1d3));return _0x5db198[_0x186bc3(0x129)]('expandable'),_0x5db198[_0x186bc3(0x16a)]('value',_0x24ca64),_0x5db198['data'](_0x186bc3(0x11a),_0x25c600),_0x5db198;},_0x143b62=(_0xcfe23f,_0x11bf99)=>{const _0x196527=_0x281951;return _0x11bf99[_0x196527(0x199)](_0x196527(0x12d)+_0xcfe23f+'\x22]');},_0x470700=(_0xcba23a,_0x1cea77)=>{const _0x442672=_0x281951;_0xcba23a[_0x442672(0x113)][_0x442672(0x199)]('li\x20>\x20.tree-text')[_0x442672(0x12c)](_0x442672(0x134)),_0x1cea77[_0x442672(0x199)](_0x442672(0x1e4))[_0x442672(0x129)](_0x442672(0x134));},_0x18a6ed=(_0x33aa3c,_0x1c7570,_0x64ae60)=>_0x3b28cc(void 0x0,void 0x0,void 0x0,function*(){const _0x401a2b=_0x281951;let _0x1eeb15=_0x64ae60[_0x401a2b(0x188)](_0x401a2b(0x17f));_0x1c7570[_0x401a2b(0x17d)]['elements']||[];const _0x62000d=_0x1c7570[_0x401a2b(0x11e)]||[];if(_0x62000d['length']===0x0)return;for(const _0x2f2584 of _0x62000d){_0x1eeb15[_0x401a2b(0x1dd)](_0x401a2b(0x19e))&&(yield _0x1dc423(_0x33aa3c,_0x1eeb15));const _0x513e01=_0x143b62(_0x2f2584,_0x1eeb15);if(_0x513e01['length']===0x0)return;_0x1eeb15=_0x513e01;}_0x470700(_0x33aa3c,_0x1eeb15),_0x83c1f9(_0x33aa3c[_0x401a2b(0x1ec)],_0x1eeb15);});function _0x83c1f9(_0x2f59c5,_0x11129b){const _0x58957f=_0x281951,_0x136fcb=_0x11129b[_0x58957f(0x159)]()[_0x58957f(0x1da)],_0x529272=_0x2f59c5[_0x58957f(0x1ce)]();if(_0x529272==undefined)return;const _0x21a411=_0x529272+_0x136fcb-_0x2f59c5[_0x58957f(0x18b)]()/0x2+_0x11129b[_0x58957f(0x18b)]()/0x2;_0x2f59c5[_0x58957f(0x147)]({'scrollTop':_0x21a411},0x1f4);}const _0x1ac791=(_0x550d9f,_0x2b3da4)=>_0x3b28cc(void 0x0,void 0x0,void 0x0,function*(){const _0x1b7c9a=_0x281951,_0x4586bf=_0x550d9f[_0x1b7c9a(0x156)][_0x1b7c9a(0x1c9)](),_0x546b33={'nodeId':_0x4586bf,'rootNodeId':_0x2b3da4[_0x1b7c9a(0x12e)],'isType':_0x550d9f[_0x1b7c9a(0x195)][_0x1b7c9a(0x15f)]||![]},_0x355e96=_0x14f53a(_0x550d9f),_0x31b9c7=yield _0x3ea04b(_0x355e96,_0x546b33);if(!_0x31b9c7)return;yield _0x18a6ed(_0x550d9f,_0x31b9c7,_0x550d9f[_0x1b7c9a(0x113)]);});function _0x2e37ee(_0x5ecdd0,_0x5cdd13,_0x1cf0b2,_0x264018){return _0x3b28cc(this,void 0x0,void 0x0,function*(){const _0x135300=_0x589e;if(_0x5cdd13[_0x135300(0x1dd)](_0x135300(0x1d2))){console[_0x135300(0x1cc)](_0x135300(0x1a2));return;}if(_0x5cdd13[_0x135300(0x1dd)](_0x135300(0x1ad))){console['log'](_0x135300(0x1e0));return;}_0x5cdd13[_0x135300(0x129)](_0x135300(0x1ad)),_0x5cdd13['append']('<div\x20class=\x22spinner\x22></div>');try{_0x5cdd13[_0x135300(0x188)]('ul')[_0x135300(0x136)]();const {references:_0x4975ea}=yield _0x1cf0b2(_0x5cdd13,_0x264018);for(const _0x277e79 of _0x4975ea){if(_0x5ecdd0[_0x135300(0x195)]['filter']&&!_0x5ecdd0[_0x135300(0x195)]['filter'](_0x277e79))continue;const _0x290b9d=_0x50a783(_0x277e79);_0x5cdd13['children']('ul')['append'](_0x290b9d);}_0x5cdd13[_0x135300(0x129)]('fetched');}catch(_0x44cb81){_0x5cdd13['children']('ul')[_0x135300(0x193)](_0x135300(0x1d9)+_0x44cb81[_0x135300(0x150)]+_0x135300(0x143)),console[_0x135300(0x1cc)](_0x135300(0x1cd),_0x44cb81);}_0x5cdd13[_0x135300(0x199)]('.spinner')['remove'](),_0x5cdd13[_0x135300(0x12c)]('loading');});}function _0x14f53a(_0x4e75a9){const _0x54ce96=_0x281951,_0x19dbe8={'baseUrl':_0x4e75a9['options'][_0x54ce96(0x187)],'endpointNode':typeof _0x4e75a9[_0x54ce96(0x195)]['endpointNode']===_0x54ce96(0x190)?_0x4e75a9[_0x54ce96(0x195)][_0x54ce96(0x1ba)]():_0x4e75a9[_0x54ce96(0x195)][_0x54ce96(0x1ba)],'endpoint':typeof _0x4e75a9[_0x54ce96(0x195)]['endpoint']===_0x54ce96(0x190)?_0x4e75a9[_0x54ce96(0x195)][_0x54ce96(0x172)]():_0x4e75a9[_0x54ce96(0x195)][_0x54ce96(0x172)]};return _0x19dbe8;}function _0x1dc423(_0x4c86a9,_0x53d4c3){return _0x3b28cc(this,void 0x0,void 0x0,function*(){const _0x40d152=_0x589e;if(_0x53d4c3['hasClass'](_0x40d152(0x1d2))){_0x53d4c3[_0x40d152(0x12c)](_0x40d152(0x19e))[_0x40d152(0x129)](_0x40d152(0x161)),_0x53d4c3[_0x40d152(0x188)]('ul')[_0x40d152(0x16f)]();return;}const _0x31b77e=_0x14f53a(_0x4c86a9),_0x5a74b0=!_0x4c86a9[_0x40d152(0x195)][_0x40d152(0x15f)]?_0x58c73f:_0x25f30a;try{yield _0x2e37ee(_0x4c86a9,_0x53d4c3,_0x5a74b0,_0x31b77e),_0x53d4c3[_0x40d152(0x12c)](_0x40d152(0x19e))[_0x40d152(0x129)](_0x40d152(0x161));}catch(_0xe5ffe5){_0x53d4c3[_0x40d152(0x12c)](_0x40d152(0x19e))['addClass']('expanded'),console[_0x40d152(0x1cc)](_0x40d152(0x19b),_0xe5ffe5);}});}const _0x297857=()=>{const _0x5c9c3f=_0x281951;$[_0x5c9c3f(0x1d7)]('sterfive.nodeBrowser',{'options':{'endpointNode':()=>({'endpoint':_0x5c9c3f(0x1f7)}),'endpoint':()=>undefined,'parentNode':()=>({'browseName':{'namespaceIndex':0x0,'name':_0x5c9c3f(0x17b)},'nodeClass':_0x5c9c3f(0x13f),'nodeId':_0x5c9c3f(0x13d),'displayName':{'text':'Objects'},'typeDefinition':_0x3ae083}),'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x3b28cc(this,void 0x0,void 0x0,function*(){const _0x114b0f=_0x589e,_0x4408b9=this;if(!_0x4408b9[_0x114b0f(0x166)]){const _0x11cd75=typeof _0x4408b9[_0x114b0f(0x195)][_0x114b0f(0x1eb)]===_0x114b0f(0x190)?_0x4408b9[_0x114b0f(0x195)][_0x114b0f(0x1eb)]['call'](_0x4408b9):_0x4408b9[_0x114b0f(0x195)][_0x114b0f(0x1eb)];if(_0x11cd75 instanceof Promise){const _0x37f878=yield _0x11cd75;_0x4408b9[_0x114b0f(0x166)]=_0x37f878;}else _0x4408b9['__parentNode']=_0x11cd75;}return _0x4408b9[_0x114b0f(0x166)];});},'reset'(){return _0x3b28cc(this,void 0x0,void 0x0,function*(){const _0x2af9f3=_0x589e,_0x203492=this,_0x9ca8b7=_0x203492;_0x9ca8b7['__parentNode']=undefined,_0x203492[_0x2af9f3(0x113)][_0x2af9f3(0x136)]();const _0x4bb128=yield this[_0x2af9f3(0x15b)](),_0x528a79=_0x50a783(_0x4bb128);_0x203492[_0x2af9f3(0x113)][_0x2af9f3(0x193)](_0x528a79),_0x203492['currentParent']=_0x4bb128;});},'verify'(){const _0x4613e4=_0x5c9c3f,_0x2039e6=this,_0x5344b8=_0x14f53a(_0x2039e6);_0x49bd5b(_0x5344b8,_0x2039e6[_0x4613e4(0x156)],_0x2039e6[_0x4613e4(0x1e7)]);},'_create'(){const _0x276459=_0x5c9c3f,_0x4dc7d1=this;_0x4dc7d1[_0x276459(0x156)]=this[_0x276459(0x1e8)],_0x4dc7d1[_0x276459(0x1d1)]=$('<div/>'),_0x4dc7d1[_0x276459(0x1d1)][_0x276459(0x129)](_0x276459(0x158)),this[_0x276459(0x1e8)][_0x276459(0x1e3)](_0x4dc7d1[_0x276459(0x1d1)]),_0x4dc7d1[_0x276459(0x179)]=$(_0x276459(0x1de))[_0x276459(0x129)](_0x276459(0x165)),_0x4dc7d1[_0x276459(0x1d1)][_0x276459(0x193)](_0x4dc7d1['$inputGroup']),_0x4dc7d1[_0x276459(0x179)][_0x276459(0x193)](_0x4dc7d1[_0x276459(0x156)]),_0x4dc7d1['$toggleTreeBtn']=$(_0x276459(0x125)),_0x4dc7d1[_0x276459(0x179)][_0x276459(0x193)](_0x4dc7d1[_0x276459(0x127)]),_0x4dc7d1[_0x276459(0x127)]['on'](_0x276459(0x1e5),function(){return _0x3b28cc(this,void 0x0,void 0x0,function*(){const _0x467119=_0x589e;var _0x193bc4;let _0x561a57=![],_0x25295b;!_0x4dc7d1['$dropdown']['is'](_0x467119(0x154))&&(_0x4dc7d1[_0x467119(0x1e7)]['hide'](),_0x25295b=yield _0x4dc7d1[_0x467119(0x15b)](),(_0x25295b!==_0x4dc7d1['currentParent']||((_0x193bc4=_0x4dc7d1[_0x467119(0x1b8)])===null||_0x193bc4===void 0x0?void 0x0:_0x193bc4['nodeId'])!==_0x25295b[_0x467119(0x12e)])&&(yield _0x4dc7d1[_0x467119(0x198)]()),_0x561a57=!![]),_0x4dc7d1[_0x467119(0x1ec)]['toggle'](),_0x561a57&&(yield _0x1ac791(_0x4dc7d1,_0x25295b));});}),_0x4dc7d1[_0x276459(0x191)]=$(_0x276459(0x186)),_0x4dc7d1[_0x276459(0x179)][_0x276459(0x193)](_0x4dc7d1['$verifyBtn']),_0x4dc7d1[_0x276459(0x191)]['on']('click',()=>{const _0x105698=_0x276459;this[_0x105698(0x155)]();});!_0x4dc7d1[_0x276459(0x156)]['attr'](_0x276459(0x1a9))&&_0x4dc7d1[_0x276459(0x156)][_0x276459(0x1c3)](_0x276459(0x1a9),_0x276459(0x137));_0x4dc7d1[_0x276459(0x1e7)]=$(_0x276459(0x145)),_0x4dc7d1[_0x276459(0x1e7)][_0x276459(0x1b0)](),_0x4dc7d1[_0x276459(0x1ec)]=$('<div/>')['addClass'](_0x276459(0x146))[_0x276459(0x1b0)](),_0x4dc7d1[_0x276459(0x1d1)][_0x276459(0x193)](_0x4dc7d1[_0x276459(0x1e7)]),_0x4dc7d1[_0x276459(0x1d1)][_0x276459(0x193)](_0x4dc7d1[_0x276459(0x1ec)]),_0x4dc7d1[_0x276459(0x113)]=$(_0x276459(0x140))['appendTo'](_0x4dc7d1[_0x276459(0x1ec)]),this[_0x276459(0x198)]();const _0x1c7c69=(_0x375f9e,_0x5378f1)=>{const _0x29882a=_0x276459,_0x25855a=0x14,_0x9fc742=0x14,_0x26f515=_0x375f9e[_0x29882a(0x141)](),_0x5d2a81=_0x5378f1;if(_0x5d2a81[_0x29882a(0x110)]>=_0x26f515[_0x29882a(0x181)]&&_0x5d2a81[_0x29882a(0x110)]<=_0x26f515[_0x29882a(0x181)]+_0x25855a&&_0x5d2a81[_0x29882a(0x1d4)]>=_0x26f515[_0x29882a(0x1da)]&&_0x5d2a81[_0x29882a(0x1d4)]<=_0x26f515[_0x29882a(0x1da)]+_0x9fc742)return!![];return![];},_0x5a8148=_0x190698=>_0x3b28cc(this,void 0x0,void 0x0,function*(){const _0x20a794=_0x276459;if(_0x190698[_0x20a794(0x1dd)]('expandable'))_0x1dc423(_0x4dc7d1,_0x190698);else{if(_0x190698['hasClass'](_0x20a794(0x161)))_0x190698[_0x20a794(0x188)]('ul')[_0x20a794(0x16f)](),_0x190698[_0x20a794(0x122)](_0x20a794(0x180));else{if(_0x190698[_0x20a794(0x188)]('ul')[_0x20a794(0x188)]()[_0x20a794(0x1d5)]>0x0)_0x190698[_0x20a794(0x188)]('ul')[_0x20a794(0x16f)](),_0x190698['toggleClass'](_0x20a794(0x180));else;}}});_0x4dc7d1[_0x276459(0x113)]['on']('dblclick','li',function(_0x40068d){const _0x4b704c=_0x276459;var _0x167467,_0x4ee02f;_0x40068d[_0x4b704c(0x119)]();let _0x16e4c3=$(this);if(_0x1c7c69(_0x16e4c3,_0x40068d))_0x5a8148(_0x16e4c3);else{const _0x2a6c28=_0x16e4c3[_0x4b704c(0x16a)]('value'),_0x4e3ac2=_0x16e4c3[_0x4b704c(0x16a)]('reference');if(_0x4dc7d1[_0x4b704c(0x195)]['isSelectable']&&!_0x4dc7d1[_0x4b704c(0x195)][_0x4b704c(0x17c)](_0x4e3ac2))return;_0x4dc7d1[_0x4b704c(0x156)][_0x4b704c(0x16a)](_0x4b704c(0x11a),_0x4e3ac2);const _0xf28101=((_0x167467=_0x4e3ac2[_0x4b704c(0x11b)])===null||_0x167467===void 0x0?void 0x0:_0x167467[_0x4b704c(0x116)])||((_0x4ee02f=_0x4e3ac2['browseName'])===null||_0x4ee02f===void 0x0?void 0x0:_0x4ee02f[_0x4b704c(0x1f0)])||_0x4e3ac2[_0x4b704c(0x12e)][_0x4b704c(0x18e)](),_0x5370cc='['+_0xf28101+']('+_0x2a6c28+')';_0x4dc7d1[_0x4b704c(0x156)][_0x4b704c(0x1c9)](_0x5370cc),_0x4dc7d1['$input'][_0x4b704c(0x19f)](_0x4b704c(0x1f6)),_0x4dc7d1['$dropdown'][_0x4b704c(0x1b0)]();}}),_0x4dc7d1[_0x276459(0x113)]['on'](_0x276459(0x1e5),'li',function(_0x255c7f){const _0x1417b4=_0x276459;_0x255c7f[_0x1417b4(0x119)]();let _0xdc2ba6=$(this);_0x1c7c69(_0xdc2ba6,_0x255c7f)&&_0x5a8148(_0xdc2ba6),_0x470700(_0x4dc7d1,_0xdc2ba6);}),$(document)['on'](_0x276459(0x1e5),function(_0x21fe2d){const _0x22ef85=_0x276459;!$(_0x21fe2d[_0x22ef85(0x1e9)])['closest'](_0x4dc7d1[_0x22ef85(0x1d1)])[_0x22ef85(0x1d5)]&&_0x4dc7d1[_0x22ef85(0x1ec)][_0x22ef85(0x1b0)]();});}});},_0x38b534=()=>{const _0x3d3e2b=_0x281951,_0x48d7e2=$('#node-input-endpoint'),_0x44c98e=_0x48d7e2[_0x3d3e2b(0x1c9)](),_0x4392d0=RED[_0x3d3e2b(0x14e)][_0x3d3e2b(0x1c7)](_0x44c98e);if(!_0x4392d0)return undefined;const {endpoint:_0x3a5f29,securityMode:_0x38599d,securityPolicy:_0x20888a,userIdentityType:_0x45fb2e,credentials:_0x5b9d43}=_0x4392d0,_0x1e6980={'endpoint':_0x3a5f29,'securityMode':_0x38599d,'securityPolicy':_0x20888a,'userIdentityType':_0x45fb2e,'credentials':_0x5b9d43};return _0x1e6980;},_0x314c15=()=>{return{'endpointNode':_0x7a160b};},_0x7a160b=()=>{const _0x38ea84=_0x281951,_0x253aae=$('#node-input-endpoint'),_0x40b117=_0x253aae[_0x38ea84(0x1c9)](),_0x34f591=_0x38b534();if(!_0x34f591)return undefined;return{'id':_0x40b117};};RED[_0x281951(0x14e)][_0x281951(0x1c5)](_0x281951(0x1c0),{'category':_0x281951(0x1ed),'color':_0x281951(0x169),'align':_0x281951(0x13e),'icon':_0x281951(0x151),'paletteLabel':'read-history','defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x281951(0x1e2)},'historyReadParam':{'value':{'type':_0x281951(0x144),'endTime':_0x281951(0x124),'startTime':_0x281951(0x1d8),'numValuesPerNode':0x64,'returnBounds':!![]},'required':!![],'validate':_0x5d9fdf=>{if(_0x5d9fdf==='')return![];return!![];}},'nodeId':{'value':'','required':![]},'outputType':{'value':_0x281951(0x1cf),'required':!![]}},'outputs':0x2,'label'(){const _0x562621=_0x281951;return this[_0x562621(0x1f0)]||'OPCUA\x20Client\x20HistoryRead';},'labelStyle'(){const _0x5666bd=_0x281951;return this[_0x5666bd(0x1f0)]?'node_label_italic':'';},'oneditprepare'(){const _0x1c295a=_0x281951,_0x498ba6=this;_0x297857(),_0x498ba6[_0x1c295a(0x14d)]=0x1;const _0x43194a=$(_0x1c295a(0x13c));_0x43194a[_0x1c295a(0x14c)](Object[_0x1c295a(0x131)](Object['assign']({},_0x314c15()),{'isSelectable'(_0xdc84e9){const _0x261038=_0x1c295a;return _0xdc84e9[_0x261038(0x1b9)]==='Variable';}})),$('#select-history-type')[_0x1c295a(0x1c9)](_0x498ba6['historyReadParam'][_0x1c295a(0x18c)]);switch(_0x498ba6['historyReadParam']['type']){case'raw':$(_0x1c295a(0x1b6))[_0x1c295a(0x1c9)](_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x19d)]),$(_0x1c295a(0x18f))[_0x1c295a(0x1c9)](_0x498ba6[_0x1c295a(0x18a)]['endTime']),$(_0x1c295a(0x176))['val'](_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x1c4)]),$(_0x1c295a(0x152))[_0x1c295a(0x11f)]('checked',_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x189)]);break;case _0x1c295a(0x1aa):$(_0x1c295a(0x1cb))[_0x1c295a(0x1c9)](_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x19d)]),$(_0x1c295a(0x1af))[_0x1c295a(0x1c9)](_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x1bf)]),$(_0x1c295a(0x1dc))['val'](_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x1c4)]),$('#node-input-modified-returnBounds')[_0x1c295a(0x11f)](_0x1c295a(0x11d),_0x498ba6['historyReadParam'][_0x1c295a(0x189)]);break;case _0x1c295a(0x1ee):_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x197)]=_0x498ba6['historyReadParam'][_0x1c295a(0x197)]||{},$(_0x1c295a(0x194))[_0x1c295a(0x1c9)](_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x19d)]),$(_0x1c295a(0x192))[_0x1c295a(0x1c9)](_0x498ba6[_0x1c295a(0x18a)]['endTime']),$(_0x1c295a(0x1b2))['val'](_0x498ba6['historyReadParam'][_0x1c295a(0x135)]),$(_0x1c295a(0x14f))[_0x1c295a(0x1c9)](_0x498ba6[_0x1c295a(0x18a)]['aggregateType']),$(_0x1c295a(0x1a8))['prop'](_0x1c295a(0x11d),_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x197)][_0x1c295a(0x1a3)]),$(_0x1c295a(0x1bc))[_0x1c295a(0x11f)](_0x1c295a(0x11d),_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x197)][_0x1c295a(0x1ca)]),$(_0x1c295a(0x15e))[_0x1c295a(0x1c9)](_0x498ba6[_0x1c295a(0x18a)]['aggregateConfiguration'][_0x1c295a(0x1ab)]),$(_0x1c295a(0x1a0))[_0x1c295a(0x1c9)](_0x498ba6[_0x1c295a(0x18a)][_0x1c295a(0x197)]['percentDataGood']),$(_0x1c295a(0x1e6))[_0x1c295a(0x11f)](_0x1c295a(0x11d),_0x498ba6['historyReadParam'][_0x1c295a(0x197)][_0x1c295a(0x1b4)]);break;}{function _0x4546d1(){const _0x3f7b4a=_0x1c295a;$(_0x3f7b4a(0x174))['hide'](),$(_0x3f7b4a(0x1d6))['hide'](),$(_0x3f7b4a(0x183))[_0x3f7b4a(0x1b0)](),$('#section-at-time')['hide'](),$(_0x3f7b4a(0x173))[_0x3f7b4a(0x1b0)](),$(_0x3f7b4a(0x1f3))[_0x3f7b4a(0x1b0)]();}function _0x1e22cc(){const _0x8f3ab=_0x1c295a;_0x4546d1();var _0x219904=$(_0x8f3ab(0x16b))[_0x8f3ab(0x1c9)]();$('#section-'+_0x219904)['show']();}$(_0x1c295a(0x16b))['on'](_0x1c295a(0x1f6),_0x1e22cc),_0x1e22cc();}},'oneditsave'(){const _0x42ca2b=_0x281951,_0x1bcfa2=_0x239e3d=>_0x239e3d[_0x42ca2b(0x1c9)]()==undefined?'':_0x239e3d['val']()[_0x42ca2b(0x18e)](),_0x5ac7a3=_0x5eebff=>_0x5eebff[_0x42ca2b(0x1c9)]()==undefined?0x0:_0x5eebff[_0x42ca2b(0x1c9)](),_0x5b12dd=$(_0x42ca2b(0x16b))[_0x42ca2b(0x1c9)]();switch(_0x5b12dd){case _0x42ca2b(0x144):this[_0x42ca2b(0x18a)]={'type':_0x42ca2b(0x144),'startTime':_0x1bcfa2($(_0x42ca2b(0x1b6))),'endTime':_0x1bcfa2($(_0x42ca2b(0x18f))),'numValuesPerNode':_0x5ac7a3($('#node-input-raw-numValuesPerNode')),'returnBounds':$(_0x42ca2b(0x152))[_0x42ca2b(0x11f)](_0x42ca2b(0x11d))};break;case _0x42ca2b(0x1aa):this[_0x42ca2b(0x18a)]={'type':_0x42ca2b(0x1aa),'startTime':_0x1bcfa2($('#node-input-modified-startTime')),'endTime':_0x1bcfa2($(_0x42ca2b(0x1af))),'numValuesPerNode':_0x5ac7a3($('#node-input-modified-numValuesPerNode')),'returnBounds':$(_0x42ca2b(0x138))[_0x42ca2b(0x11f)]('checked')};break;case _0x42ca2b(0x1ee):this[_0x42ca2b(0x18a)]={'type':_0x42ca2b(0x1ee),'startTime':_0x1bcfa2($(_0x42ca2b(0x194))),'endTime':_0x1bcfa2($(_0x42ca2b(0x192))),'processingInterval':_0x5ac7a3($('#node-input-processed-details-processingInterval')),'aggregateType':_0x1bcfa2($(_0x42ca2b(0x14f))),'aggregateConfiguration':{'useServerCapabilitiesDefaults':$('#node-input-processed-details-aggregateConfiguration-useServerCapabilitiesDefaults')[_0x42ca2b(0x11f)]('checked'),'treatUncertainAsBad':$(_0x42ca2b(0x1bc))[_0x42ca2b(0x11f)]('checked'),'percentDataBad':_0x5ac7a3($(_0x42ca2b(0x15e))),'percentDataGood':_0x5ac7a3($(_0x42ca2b(0x1a0))),'useSlopedExtrapolation':$(_0x42ca2b(0x1e6))[_0x42ca2b(0x11f)](_0x42ca2b(0x11d))}};break;}}});}()));
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgzYjI4Y2MiLCJfMHhlMTQ0MDMiLCJfMHg0YzcyMDMiLCJfMHg1Njg5ZDUiLCJfMHg0NzdiZjciLCJfMHg1YjFkNTYiLCJfMHg0NjBiNGEiLCJfMHgxOTgwNDAiLCJQcm9taXNlIiwiXzB4MjgyMzA0IiwiXzB4OGVlOGJiIiwiXzB4MzQ1YTg3IiwiXzB4M2VjODY3IiwiXzB4MzlmZDM3IiwiXzB4M2ViNTFlIiwiXzB4NTNkYjMyIiwiXzB4NDY4NWVmIiwiXzB4NjE2NDY2IiwiXzB4NTM0OGQ0IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NTczODg4IiwiXzB4MTg2ZjEiLCJfMHgxNTJlNjEiLCJfMHg0NzAzNTMiLCJFcnJvciIsIl8weDczZTVmNiIsIl8weDNhZTA4MyIsIl8weGMyNzFhMiIsIl8weDI3OGE1NSIsIl8weDRkMjhkMSIsIl8weDNmZTUzZSIsIl8weDJkNWVkYSIsIl8weDJkNmQ0MyIsIl8weDNlMTljNSIsIl8weDU3MDM2OCIsIl8weDRiYTUyNyIsIl8weDJhYTk3MSIsIl8weDM2N2U2MCIsIl8weDM1ODdlOCIsIl8weDI4MzUxYiIsIl8weDFiNDIwNSIsIl8weDM3OGM3YyIsIl8weDM1YTU3ZCIsIl8weDIxOGQ5NCIsIl8weDM1MmE0MiIsIl8weDE2M2E0MyIsIl8weDI3ODNkMCIsIl8weDM0MTYwNyIsImVuZHBvaW50Tm9kZSIsIl8weDQyNzFkOCIsImVuZHBvaW50IiwiXzB4MjBjYTc2IiwiYmFzZVVybCIsIl8weDIzMjI0MiIsIl8weDQzOTdhMCIsIl8weDM4MjllZiIsIl8weDM5YzYzZiIsIl8weDM3ZWM3YSIsIl8weDNkNTQ4OCIsIk9iamVjdCIsIl8weDQzM2MwMyIsImZldGNoIiwiSlNPTiIsImNvbnNvbGUiLCJfMHg0ZGYwZTgiLCJfMHgyOTNhNzUiLCJfMHgxZGVkMzQiLCJfMHg1OGIxOGEiLCJfMHgzZWEwNGIiLCJfMHg0Y2RmMmEiLCJfMHgxNWRkOGUiLCJfMHg0NzI0ZjgiLCJfMHgyMjYzMDgiLCJfMHgyNWI4ZGIiLCJub2RlSWQiLCJfMHgxMDE1NWIiLCJyb290Tm9kZUlkIiwiXzB4MTEzMjYiLCJpc1R5cGUiLCJfMHgzYjAyZjgiLCJfMHg1ZDcxM2UiLCJfMHg1YjE1NDAiLCJfMHgxYTkyOWUiLCJfMHgzOTRlMWUiLCJfMHg0OWJkNWIiLCJfMHg0YTE2YjciLCJfMHg0M2E2MzQiLCJfMHgzZmM1NjQiLCJfMHg1NmI3ZjIiLCJfMHgyYjZkYTgiLCJfMHgzMzYwZTYiLCJfMHgyZDUzMmUiLCJfMHgyYWQ1ZjQiLCJfMHgyNzBlMTciLCJfMHg1MDBiZjciLCJfMHg0ZWM0MWQiLCJfMHg0OTkzYjAiLCJfMHg1MTQ4NjciLCJfMHgxOTI5NTMiLCJfMHg0MGQzOGMiLCJzZXRUaW1lb3V0IiwiXzB4MjA5NGU2IiwiXzB4NThjNzNmIiwiXzB4YjdjNGM4IiwiXzB4NDIyNGRjIiwiXzB4NGUyMmIwIiwiXzB4NGIyMTBhIiwiXzB4NTdhYzQwIiwiXzB4MzYzMzQ3IiwiXzB4MjVmMzBhIiwiXzB4NWI0MzhiIiwiXzB4MzhmODQzIiwiXzB4NDk0MTg0IiwiXzB4MjA4MTU1IiwiXzB4NTBhNzgzIiwiXzB4MjVjNjAwIiwiXzB4MjdhOWViIiwiXzB4NWNmODQwIiwiXzB4NTRlZjE5IiwiXzB4MmQ2ZjExIiwiXzB4MzhhYTRkIiwiJCIsIl8weDI0Y2E2NCIsIl8weDE4ZWE0MSIsImljb24iLCJfMHg0MGNhMDkiLCJjb2xvciIsIl8weDExZjg0NyIsIl8weDM4Zjg1MSIsIl8weDVkYjE5OCIsIl8weDE0M2I2MiIsIl8weGNmZTIzZiIsIl8weDExYmY5OSIsIl8weDQ3MDcwMCIsIl8weGNiYTIzYSIsIl8weDFjZWE3NyIsIl8weDE4YTZlZCIsIl8weDMzYWEzYyIsIl8weDFjNzU3MCIsIl8weDY0YWU2MCIsIl8weDFlZWIxNSIsIl8weDYyMDAwZCIsIl8weDJmMjU4NCIsIl8weDFkYzQyMyIsIl8weDUxM2UwMSIsIl8weDgzYzFmOSIsIl8weDJmNTljNSIsIl8weDExMTI5YiIsIl8weDEzNmZjYiIsIl8weDUyOTI3MiIsInVuZGVmaW5lZCIsIl8weDIxYTQxMSIsIl8weDFhYzc5MSIsIl8weDU1MGQ5ZiIsIl8weDJiM2RhNCIsIl8weDQ1ODZiZiIsIl8weDU0NmIzMyIsIl8weDM1NWU5NiIsIl8weDE0ZjUzYSIsIl8weDMxYjljNyIsIl8weDJlMzdlZSIsIl8weDVlY2RkMCIsIl8weDVjZGQxMyIsIl8weDFjZjBiMiIsIl8weDI2NDAxOCIsInJlZmVyZW5jZXMiLCJfMHg0OTc1ZWEiLCJfMHgyNzdlNzkiLCJfMHgyOTBiOWQiLCJfMHg0NGNiODEiLCJfMHg0ZTc1YTkiLCJfMHgxOWRiZTgiLCJfMHg0Yzg2YTkiLCJfMHg1M2Q0YzMiLCJfMHgzMWI3N2UiLCJfMHg1YTc0YjAiLCJfMHhlNWZmZTUiLCJfMHgyOTc4NTciLCJfMHg0NDA4YjkiLCJfMHgxMWNkNzUiLCJfMHgzN2Y4NzgiLCJfMHgyMDM0OTIiLCJfMHg5Y2E4YjciLCJfMHg0YmIxMjgiLCJfMHg1MjhhNzkiLCJfMHgyMDM5ZTYiLCJfMHg1MzQ0YjgiLCJfMHg0ZGM3ZDEiLCJfMHgxOTNiYzQiLCJfMHg1NjFhNTciLCJfMHgyNTI5NWIiLCJfMHgxYzdjNjkiLCJfMHgzNzVmOWUiLCJfMHg1Mzc4ZjEiLCJfMHgyNTg1NWEiLCJfMHg5ZmM3NDIiLCJfMHgyNmY1MTUiLCJfMHg1ZDJhODEiLCJfMHg1YTgxNDgiLCJfMHgxOTA2OTgiLCJfMHg0MDA2OGQiLCJfMHgxNjc0NjciLCJfMHg0ZWUwMmYiLCJfMHgxNmU0YzMiLCJfMHgyYTZjMjgiLCJfMHg0ZTNhYzIiLCJfMHhmMjgxMDEiLCJfMHg1MzcwY2MiLCJfMHgyNTVjN2YiLCJfMHhkYzJiYTYiLCJkb2N1bWVudCIsIl8weDIxZmUyZCIsIl8weDM4YjUzNCIsIl8weDQ4ZDdlMiIsIl8weDQ0Yzk4ZSIsIl8weDQzOTJkMCIsIlJFRCIsIl8weDNhNWYyOSIsInNlY3VyaXR5TW9kZSIsIl8weDM4NTk5ZCIsInNlY3VyaXR5UG9saWN5IiwiXzB4MjA4ODhhIiwidXNlcklkZW50aXR5VHlwZSIsIl8weDQ1ZmIyZSIsImNyZWRlbnRpYWxzIiwiXzB4NWI5ZDQzIiwiXzB4MWU2OTgwIiwiXzB4MzE0YzE1IiwiXzB4N2ExNjBiIiwiXzB4MjUzYWFlIiwiXzB4NDBiMTE3IiwiXzB4MzRmNTkxIiwiXzB4NWQ5ZmRmIiwiXzB4NDk4YmE2IiwiXzB4NDMxOTRhIiwiXzB4ZGM4NGU5IiwiXzB4NDU0NmQxIiwiXzB4MWUyMmNjIiwiXzB4MjE5OTA0IiwiXzB4MWJjZmEyIiwiXzB4MjM5ZTNkIiwiXzB4NWFjN2EzIiwiXzB4NWVlYmZmIiwiXzB4NWIxMmRkIl0sIm1hcHBpbmdzIjoiK3pKQUFBLENBQUMsVSxDQUNHLGEsd0JBbUJBLFNBQVNBLFNBQVQsQ0FBbUJDLFNBQW5CLENBQTRCQyxTQUE1QixDQUF3Q0MsU0FBeEMsQ0FBMkNDLFNBQTNDLEMsQ0FDSSxTQUFTQyxTQUFULENBQWVDLFNBQWYsQyxRQUErQkEsU0FBQSxZQUFpQkgsU0FBakIsQ0FBcUJHLFNBQXJCLENBQTZCLElBQUlILFNBQUosQ0FBTSxTQUFVSSxTQUFWLEMsQ0FBcUJBLFNBQUEsQ0FBUUQsU0FBUixDLEVBQTNCLEMsU0FDckQsR0FBSyxDQUFBSCxTQUFBLEVBQU0sQ0FBQUEsU0FBQSxDQUFJSyxPQUFKLENBQU4sQ0FBTCxDQUF5QixTQUFVQyxTQUFWLENBQW1CQyxTQUFuQixDLHlCQUM1QixTQUFTQyxTQUFULENBQW1CQyxTQUFuQixDLHlCQUE0QixHLENBQU1DLFNBQUEsQ0FBS1QsU0FBQSxDLGdCQUFBLEVBQWVRLFNBQWYsQ0FBTCxDLEVBQStCLE1BQU9FLFNBQVAsQyxDQUFZSixTQUFBLENBQU9JLFNBQVAsQyxHQUM3RSxTQUFTQyxTQUFULENBQWtCQyxTQUFsQixDLHlCQUEyQixHLENBQU1ILFNBQUEsQ0FBS1QsU0FBQSxDLGdCQUFBLEVBQW1CWSxTQUFuQixDQUFMLEMsRUFBbUMsTUFBT0MsU0FBUCxDLENBQVlQLFNBQUEsQ0FBT08sU0FBUCxDLEdBQ2hGLFNBQVNKLFNBQVQsQ0FBY0ssU0FBZCxDLHlCQUF3QkEsU0FBQSxDLGdCQUFBLEVBQWNULFNBQUEsQ0FBUVMsU0FBQSxDLE9BQUEsQ0FBUixDQUFkLENBQXNDYixTQUFBLENBQU1hLFNBQUEsQyxPQUFBLENBQU4sRSxnQkFBQSxFQUF5QlAsU0FBekIsQ0FBb0NJLFNBQXBDLEMsRUFDOURGLFNBQUEsQ0FBTSxDQUFBVCxTQUFBLENBQVlBLFNBQUEsQyxnQkFBQSxFQUFnQkgsU0FBaEIsQ0FBeUJDLFNBQUEsRUFBYyxFQUF2QyxDQUFaLENBQUQsQyxNQUFBLEdBQUwsQyxFQUpHLEMsRUFRWCxPQUFPaUIsZUFBUCxHLGdCQUFBLENBQXdDQSxlQUF4QyxDQUEwRCxTQUFVQyxTQUFWLENBQWlCQyxRQUFqQixDQUE2QkMsU0FBN0IsQywyQkFDdEQsSUFBSUMsU0FBQSxDQUFJLElBQUlDLEtBQUosQ0FBVUYsU0FBVixDQUFSLEMsT0FDT0MsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQ0FBNEJBLFNBQUEsQyxPQUFBLEVBQVVILFNBQXRDLENBQTZDRyxTQUFBLEMsZ0JBQUEsRUFBZUYsUUFBNUQsQ0FBd0VFLFMsRUFGbkYsQ0FLQSxNQUFNRSxTQUFBLEMsZ0JBQU4sQ0FDTUMsU0FBQSxDLGdCQUROLENBRU1DLFNBQUEsQyxXQUZOLENBR01DLFNBQUEsQyxnQkFITixDQUlNQyxTQUFBLEMsZ0JBSk4sQ0FLTUMsU0FBQSxDLGdCQUxOLENBTU1DLFNBQUEsQyxnQkFOTixDQVFBLElBQUlDLFNBQUosQ0FDQSxDQUFDLFNBQVVDLFNBQVYsQywyQkFDR0EsU0FBQSxDQUFnQkEsU0FBQSxDLGdCQUFBLEUsR0FBaEIsRSxpQkFDQUEsU0FBQSxDQUFnQkEsU0FBQSxDLFNBQUEsRSxHQUFoQixFLFVBQ0FBLFNBQUEsQ0FBZ0JBLFNBQUEsQyxnQkFBQSxFLEdBQWhCLEUsaUJBQ0FBLFNBQUEsQ0FBZ0JBLFNBQUEsQyxnQkFBQSxFLEdBQWhCLEUsV0FKSixDQUtHRCxTQUFBLEVBQW9CLENBQUFBLFNBQUEsQ0FBa0IsRUFBbEIsQ0FMdkIsR0FNQSxJQUFJRSxTQUFKLENBQ0EsQ0FBQyxTQUFVQyxTQUFWLEMsMkJBQ0dBLFNBQUEsQ0FBVUEsU0FBQSxDLGdCQUFBLEUsR0FBVixFLGlCQUNBQSxTQUFBLENBQVVBLFNBQUEsQyxnQkFBQSxFLEdBQVYsRSxpQkFDQUEsU0FBQSxDQUFVQSxTQUFBLEMsZ0JBQUEsRSxHQUFWLEUsaUJBQ0FBLFNBQUEsQ0FBVUEsU0FBQSxDLGdCQUFBLEUsR0FBVixFLFNBQ0FBLFNBQUEsQ0FBVUEsU0FBQSxDLGdCQUFBLEUsR0FBVixFLGlCQUNBQSxTQUFBLENBQVVBLFNBQUEsQyxnQkFBQSxFLElBQVYsRSxpQkFDQUEsU0FBQSxDQUFVQSxTQUFBLEMsZ0JBQUEsRSxJQUFWLEUsaUJBQ0FBLFNBQUEsQ0FBVUEsU0FBQSxDLGdCQUFBLEUsSUFBVixFLGlCQUNBQSxTQUFBLENBQVVBLFNBQUEsQyxnQkFBQSxFLElBQVYsRSxrQkFUSixDQVVHRCxTQUFBLEVBQWMsQ0FBQUEsU0FBQSxDQUFZLEVBQVosQ0FWakIsR0FXQSxJQUFJRSxTQUFKLENBQ0EsQ0FBQyxTQUFVQyxTQUFWLEMsMkJBQ0dBLFNBQUEsQ0FBY0EsU0FBQSxDLGdCQUFBLEUsR0FBZCxFLGlCQUNBQSxTQUFBLENBQWNBLFNBQUEsQyxnQkFBQSxFLEdBQWQsRSxpQkFDQUEsU0FBQSxDQUFjQSxTQUFBLEMsZ0JBQUEsRSxHQUFkLEUsaUJBQ0FBLFNBQUEsQ0FBY0EsU0FBQSxDLGdCQUFBLEUsR0FBZCxFLGFBQ0FBLFNBQUEsQ0FBY0EsU0FBQSxDLGdCQUFBLEUsSUFBZCxFLGlCQUNBQSxTQUFBLENBQWNBLFNBQUEsQyxnQkFBQSxFLElBQWQsRSxnQkFDQUEsU0FBQSxDQUFjQSxTQUFBLEMsVUFBQSxFLElBQWQsRSxpQkFDQUEsU0FBQSxDQUFjQSxTQUFBLEMsZ0JBQUEsRSxJQUFkLEUsa0JBUkosQ0FTR0QsU0FBQSxFQUFrQixDQUFBQSxTQUFBLENBQWdCLEVBQWhCLENBVHJCLEdBVUEsSUFBSUUsU0FBSixDQUNBLENBQUMsU0FBVUMsU0FBVixDLDJCQUNHQSxTQUFBLENBQVdBLFNBQUEsQyxlQUFBLEUsR0FBWCxFLGlCQUNBQSxTQUFB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QUFvQndILFNBQUEsQ0FBY3hILENBQUEsQyxrREFBQSxDQUFkLENBSkEsQyxlQUtwQixDQUFlc0gsU0FBQSxDQUFZdEgsQ0FBQSxDLGdCQUFBLENBQVosQ0FMSyxDLHdCQU1wQixDQUF3QixDLCtCQUNwQixDQUErQkEsQ0FBQSxDLG9GQUFBLEUsZ0JBQUEsRSxTQUFBLENBRFgsQyxxQkFFcEIsQ0FBcUJBLENBQUEsQyxnQkFBQSxFLGdCQUFBLEUsU0FBQSxDQUZELEMsZ0JBR3BCLENBQWdCd0gsU0FBQSxDQUFjeEgsQ0FBQSxDLGdCQUFBLENBQWQsQ0FISSxDLGlCQUlwQixDQUFpQndILFNBQUEsQ0FBY3hILENBQUEsQyxnQkFBQSxDQUFkLENBSkcsQyx3QkFLcEIsQ0FBd0JBLENBQUEsQyxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsQ0FMSixDQU5KLENBQXhCLENBY0EsTUFsQ1IsQyxDQXBHNEMsQ0FBcEQsQyxFQXhtQkosRyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoKSB7XG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGNvbnN0IE9yZ2FuaXplc1JlZk5vZGVJZCA9IFwibnM9MDtpPTM1XCI7XG4gICAgY29uc3QgRm9sZGVyVHlwZSA9IFwibnM9MDtpPTYxXCI7XG4gICAgY29uc3QgSGFzQ29tcG9uZW50UmVmTm9kZUlkID0gXCJucz0wO2k9NDdcIjtcbiAgICBjb25zdCBIYXNQcm9wZXJ0eVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ2XCI7XG4gICAgY29uc3QgSGFzQ2hpbGRSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNFwiO1xuICAgIGNvbnN0IEhhc1N1YnR5cGVSZWZOb2RlSWQgPSBcIm5zPTA7aT00NVwiO1xuICAgIGNvbnN0IEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkID0gXCJucz0wO2k9NDBcIjtcblxuICAgIHZhciBCcm93c2VEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChCcm93c2VEaXJlY3Rpb24pIHtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkZvcndhcmRcIl0gPSAwXSA9IFwiRm9yd2FyZFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52ZXJzZVwiXSA9IDFdID0gXCJJbnZlcnNlXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJCb3RoXCJdID0gMl0gPSBcIkJvdGhcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmFsaWRcIl0gPSAzXSA9IFwiSW52YWxpZFwiO1xuICAgIH0pKEJyb3dzZURpcmVjdGlvbiB8fCAoQnJvd3NlRGlyZWN0aW9uID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzKSB7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJVbnNwZWNpZmllZFwiXSA9IDBdID0gXCJVbnNwZWNpZmllZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3MgfHwgKE5vZGVDbGFzcyA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzc01hc2s7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3NNYXNrKSB7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3NNYXNrIHx8IChOb2RlQ2xhc3NNYXNrID0ge30pKTtcbiAgICB2YXIgUmVzdWx0TWFzaztcbiAgICAoZnVuY3Rpb24gKFJlc3VsdE1hc2spIHtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDFdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIklzRm9yd2FyZFwiXSA9IDJdID0gXCJJc0ZvcndhcmRcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiTm9kZUNsYXNzXCJdID0gNF0gPSBcIk5vZGVDbGFzc1wiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJCcm93c2VOYW1lXCJdID0gOF0gPSBcIkJyb3dzZU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiRGlzcGxheU5hbWVcIl0gPSAxNl0gPSBcIkRpc3BsYXlOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlR5cGVEZWZpbml0aW9uXCJdID0gMzJdID0gXCJUeXBlRGVmaW5pdGlvblwiO1xuICAgIH0pKFJlc3VsdE1hc2sgfHwgKFJlc3VsdE1hc2sgPSB7fSkpO1xuICAgIC8vICBjb25zdCBxID0gUmVmZXJlbmNlVHlwZUlkcy5Pcmdhbml6ZXM7XG4gICAgZnVuY3Rpb24gcmVzb2x2ZU5vZGVJZChub2RlSWRMaWtlKSB7XG4gICAgICAgIHN3aXRjaCAobm9kZUlkTGlrZSkge1xuICAgICAgICAgICAgY2FzZSBcIk9yZ2FuaXplc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBPcmdhbml6ZXNSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzUHJvcGVydHlcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzUHJvcGVydHlSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ29tcG9uZW50XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NvbXBvbmVudFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDaGlsZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDaGlsZFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNTdWJ0eXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1N1YnR5cGVSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzVHlwZURlZmluaXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBnZXRJY29uID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJlZmVyZW5jZS5ub2RlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gT3JnYW5pemVzUmVmTm9kZUlkKSA7XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS50eXBlRGVmaW5pdGlvbiA9PT0gRm9sZGVyVHlwZSB8fCByZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBcImk9NjFcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWZvbGRlclwiLCBjb2xvcjogXCJyZ2JhKDYxLCA2MCwgNCwgMC41MjUpXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiU2VhR3JlZW5cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc0NvbXBvbmVudFJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIlN0ZWVsQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc1Byb3BlcnR5UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiRG9kZ2VyQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIk1ldGhvZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtY29nXCIsIGNvbG9yOiBcIlNhbmR5QnJvd25cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXNsaWRlcnNcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiRGF0YVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXRleHQtd2lkdGhcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXF1ZXN0aW9uXCIsIGNvbG9yOiBcImdyZXlcIiB9O1xuICAgIH07XG5cbiAgICBjb25zdCBicm93c2UgPSAoX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQsIHRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1lbmRwb2ludDJgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9icm93c2VgO1xuICAgICAgICBjb25zdCBicm93c2VEZXNjcmlwdGlvbiA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGVtcGxhdGUpLCB7IG5vZGVJZCwgcmVzdWx0TWFzazogNjMgfSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIGJyb3dzZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXM6IFtdIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJicm93c2UgZmV0Y2hlZCA6IFwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IHJlc3BvbnNlLmJyb3dzZVJlc3VsdC5yZWZlcmVuY2VzIHx8IFtdO1xuICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTEgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc0NoaWxkXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3QgdGVtcGxhdGUyID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJPcmdhbml6ZXNcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB3YWxrQmFja3dhcmQgPSAoX2EsIF9iKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIF9iXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCB7IG5vZGVJZCwgcm9vdE5vZGVJZCwgaXNUeXBlIH0pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWVuZHBvaW50MmA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L3dhbGstYmFja3dhcmRgO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgcm9vdE5vZGVJZCxcbiAgICAgICAgICAgICAgICBpc1R5cGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIGpzb24uYnJvd3NlUGF0aDtcbiAgICB9KTtcbiAgICBjb25zdCBpbnRlcm5hbFZlcmlmeSA9IChfYSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgJGlucHV0RWxlbWVudCwgJGluZm8pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWVuZHBvaW50MmA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2NoZWNrTm9kZUlkYDtcbiAgICAgICAgY29uc3Qgbm9kZUlkID0gJGlucHV0RWxlbWVudC52YWwoKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzZXROb3RpZmljYXRpb24gPSAodGV4dCwgY2xhc3NOYW1lKSA9PiB7XG4gICAgICAgICAgICAkaW5mby50ZXh0KHRleHQpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5mb1wiKS5hZGRDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgJGluZm8uc2hvdygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgJGluZm8ucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICAkaW5mby5oaWRlKCk7XG4gICAgICAgICAgICB9LCAzMDAwKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QganNvbiA9ICh5aWVsZCBkYXRhLmpzb24oKSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAvLyBkbyBzb21ldGhpbmc7XG4gICAgICAgICAgICBzZXROb3RpZmljYXRpb24oXCIhIWZhaWx1cmUhIVwiICsgbm9kZUlkLCBcImZhaWx1cmVcIik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnZhbChqc29uLm5vZGVBZGRyZXNzU3RyaW5nKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiR29vZFwiLCBcIm9rXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoYCR7bm9kZUlkfWApO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihgJHtqc29uLnN0YXR1c0NvZGV9ICR7ZGF0YS5zdGF0dXNUZXh0fWAsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGZldGNoQ2hpbGRyZW4oJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTEpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MiA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFsuLi5icm93c2VSZXN1bHQxLnJlZmVyZW5jZXMsIC4uLmJyb3dzZVJlc3VsdDIucmVmZXJlbmNlc10sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgdGVtcGxhdGVTVCA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzU3VidHlwZVwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8IE5vZGVDbGFzcy5PYmplY3RUeXBlIHwgTm9kZUNsYXNzLkRhdGFUeXBlIHwgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBmdW5jdGlvbiBmZXRjaFN1YnR5cGVzKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGVTVCk7XG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlUmVzdWx0MTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG1ha2VFbGVtZW50ID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgICAgIGlmICghcmVmZXJlbmNlIHx8ICFyZWZlcmVuY2Uubm9kZUlkKSB7XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaT48aSBjbGFzcz1cImZhIGZhLWVycm9yXCIgc3R5bGU9XCJjb2xvcjpyZWQ7XCI+PC9pPm5vIHJlZmVyZW5jZSAhPHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuID0gcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB0ID0gKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgeyBpY29uLCBjb2xvciB9ID0gZ2V0SWNvbihyZWZlcmVuY2UpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IGAoJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9KSAkeygoX2MgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLm5hbWUpIHx8ICgoX2QgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC50ZXh0KSB8fCBcIlwifWA7XG4gICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpIGtleT1cIiR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfVwifT48c3BhbiBjbGFzcz1cInRyZWUtdGV4dFwiIHRpdGxlPSR7dGl0bGV9PjxpIGNsYXNzPVwiZmEgJHtpY29ufVwiIHN0eWxlPVwiY29sb3I6JHtjb2xvcn07XCI+PC9pPiAke3R9PC9zcGFuPjx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICRlbGVtZW50LmFkZENsYXNzKFwiZXhwYW5kYWJsZVwiKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInZhbHVlXCIsIG4pO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICB9O1xuICAgIGNvbnN0IGZpbmRFbGVtZW50ID0gKG5vZGVJZCwgJHRyZWUpID0+IHtcbiAgICAgICAgcmV0dXJuICR0cmVlLmZpbmQoYGxpW2tleT1cIiR7bm9kZUlkfVwiXWApO1xuICAgIH07XG4gICAgY29uc3Qgc2VsZWN0U2luZ2xlID0gKHRoYXQsICRsaSkgPT4ge1xuICAgICAgICB0aGF0LiR0cmVlLmZpbmQoXCJsaSA+IC50cmVlLXRleHRcIikucmVtb3ZlQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICAgICAgLy8gY2xlYXIgYWxsIHNlbGVjdGVkIGl0ZW1zXG4gICAgICAgICRsaS5maW5kKFwiLnRyZWUtdGV4dDpmaXJzdFwiKS5hZGRDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgIH07XG4gICAgY29uc3QgYXV0b0V4cGFuZCA9ICh0aGF0LCBicm93c2VQYXRoLCAkdHJlZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIC8vIGV4cGFuZCB0aGUgdHJlZSB0byBzaG93IHRoZSBub2RlSWRcbiAgICAgICAgbGV0ICRjdXJyZW50ID0gJHRyZWUuY2hpbGRyZW4oXCI6Zmlyc3RcIik7XG4gICAgICAgIGJyb3dzZVBhdGgucmVsYXRpdmVQYXRoLmVsZW1lbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBub2RlSWRzID0gYnJvd3NlUGF0aC5ub2RlSWRzIHx8IFtdO1xuICAgICAgICBpZiAobm9kZUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG4gb2Ygbm9kZUlkcykge1xuICAgICAgICAgICAgaWYgKCRjdXJyZW50Lmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gZXhwYW5kIGFuZCBzZWxlY3QgdGhlIHJpZ2h0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICB5aWVsZCBfZXhwYW5kTGkodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBmaW5kRWxlbWVudChuLCAkY3VycmVudCk7XG4gICAgICAgICAgICBpZiAoJGVsZW1lbnQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGN1cnJlbnQgPSAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICBzY3JvbGxUb0xpKHRoYXQuJGRyb3Bkb3duLCAkY3VycmVudCk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gc2Nyb2xsVG9MaSgkY29udGFpbmVyLCAkdGFyZ2V0TGkpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFyZ2V0IGl0ZW0gcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBsaVBvcyA9ICR0YXJnZXRMaS5wb3NpdGlvbigpLnRvcDtcbiAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclNjcm9sbFRvcCA9ICRjb250YWluZXIuc2Nyb2xsVG9wKCk7XG4gICAgICAgIGlmIChjb250YWluZXJTY3JvbGxUb3AgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBwb3NpdGlvbiB0byBzY3JvbGwgdG8gKGN1cnJlbnQgc2Nyb2xsICsgaXRlbSdzIHBvc2l0aW9uKVxuICAgICAgICAvLyBBZGp1c3QgdGhpcyBjYWxjdWxhdGlvbiBiYXNlZCBvbiB5b3VyIG5lZWRzXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvID0gY29udGFpbmVyU2Nyb2xsVG9wICsgbGlQb3MgLSAkY29udGFpbmVyLmhlaWdodCgpIC8gMiArICR0YXJnZXRMaS5oZWlnaHQoKSAvIDI7XG4gICAgICAgIC8vIFNjcm9sbCB0aGUgY29udGFpbmVyIHRvIGVuc3VyZSB0aGUgaXRlbSBpcyB2aXNpYmxlXG4gICAgICAgICRjb250YWluZXIuYW5pbWF0ZSh7XG4gICAgICAgICAgICBzY3JvbGxUb3A6IHNjcm9sbFRvLFxuICAgICAgICB9LCA1MDApOyAvLyBBZGp1c3QgdGhlIGR1cmF0aW9uICg1MDBtcykgYXMgbmVlZGVkXG4gICAgfVxuICAgIGNvbnN0IHJlYWNoU2VsZWN0aW9uID0gKHRoYXQsIHBhcmVudE5vZGUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBub2RlSWQgPSB0aGF0LiRpbnB1dC52YWwoKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgIHJvb3ROb2RlSWQ6IHBhcmVudE5vZGUubm9kZUlkLFxuICAgICAgICAgICAgaXNUeXBlOiB0aGF0Lm9wdGlvbnMuaXNUeXBlUmVmIHx8IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgIGNvbnN0IGJyb3dzZVBhdGggPSB5aWVsZCB3YWxrQmFja3dhcmQoZGF0YSwgb3B0aW9ucyk7XG4gICAgICAgIGlmICghYnJvd3NlUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkIGF1dG9FeHBhbmQodGhhdCwgYnJvd3NlUGF0aCwgdGhhdC4kdHJlZSk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJG5vZGUsIGZldGNoRnVuYywgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBmZXRjaGVkXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImxvYWRpbmdcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgbG9hZGluZ1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgICAgICAkbm9kZS5hcHBlbmQoJzxkaXYgY2xhc3M9XCJzcGlubmVyXCI+PC9kaXY+Jyk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlZmVyZW5jZXMgfSA9IHlpZWxkIGZldGNoRnVuYygkbm9kZSwgZGF0YSk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCByZWZlcmVuY2Ugb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmZpbHRlciAmJiAhdGhhdC5vcHRpb25zLmZpbHRlcihyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJmZXRjaGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKGA8bGk+ZXJyb3IgJHtlcnIubWVzc2FnZX08L2xpPmApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5maW5kKFwiLnNwaW5uZXJcIikucmVtb3ZlKCk7XG4gICAgICAgICAgICAkbm9kZS5yZW1vdmVDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBtYWtlQ29ubmVjdGlvbih0aGF0KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBiYXNlVXJsOiB0aGF0Lm9wdGlvbnMuYmFzZVVybCxcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUsXG4gICAgICAgICAgICBlbmRwb2ludDogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludCA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50KCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBmdW5jdGlvbiBfZXhwYW5kTGkodGhhdCwgJGxpKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICBjb25zdCBmID0gIXRoYXQub3B0aW9ucy5pc1R5cGVSZWYgPyBmZXRjaENoaWxkcmVuIDogZmV0Y2hTdWJ0eXBlcztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgeWllbGQgX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJGxpLCBmLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBtYXJrIGFzIGV4cGFuZGVkXG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBbIFRlbXBlcmF0dXJlICBdXG4gICAgICAgICAqICAgKCB0b29sdGlwIDogKC9PYmplY3RzL015U2Vuc29yKSAobnM9MTtzPVRlbXBlcmF0dXJlKSlcbiAgICAgICAgICogWyArIFtGb2xkZXJdIE9iamVjdHNdXG4gICAgICAgICAqIFsgICAgIFtPYmplY3RdIE15U2Vuc29yXVxuICAgICAgICAgKiBbICAgICAoICkgW1ZhcmlhYmxlXSBUZW1wZXJhdHVyZV1cbiAgICAgICAgICovXG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubm9kZUJyb3dzZXJcIiwge1xuICAgICAgICAgICAgLyogZGVmYXVsdCBvcHRpb25zICovXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiAoKSA9PiAoeyBlbmRwb2ludDogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0M1wiIH0pLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50OiAoKSA9PiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZTogKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgYnJvd3NlTmFtZTogeyBuYW1lc3BhY2VJbmRleDogMCwgbmFtZTogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgbm9kZUNsYXNzOiBcIk9iamVjdFwiLFxuICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IFwibnM9MDtpPTg1XCIsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgICAgICAgICAgICAgIHR5cGVEZWZpbml0aW9uOiBGb2xkZXJUeXBlLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgICAgIGlzVHlwZVJlZjogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzb2x2ZVBhcmVudE5vZGUoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhhdC5fX3BhcmVudE5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0eXBlb2YgdGhhdC5vcHRpb25zLnBhcmVudE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlLmNhbGwodGhhdCkgOiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlc2MgPSB5aWVsZCBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gZGVzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhhdC5fX3BhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsc28gcmVzZXQgcGFyZW50IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHRoYXQ7XG4gICAgICAgICAgICAgICAgICAgIGEuX19wYXJlbnROb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB5aWVsZCB0aGlzLnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocGFyZW50Tm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5jdXJyZW50UGFyZW50ID0gcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2ZXJpZnkoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICBpbnRlcm5hbFZlcmlmeShkYXRhLCB0aGF0LiRpbnB1dCwgdGhhdC4kaW5mbyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dCA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21ibyA9ICQoXCI8ZGl2Lz5cIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJzdGVyZml2ZS1jb21iby1ib3hcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnJlcGxhY2VXaXRoKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcImlucHV0LWdyb3VwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbnB1dEdyb3VwKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiRpbnB1dCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0biA9ICQoYDxidXR0b24+PGkgY2xhc3M9XCJmYSBmYS1zaXRlbWFwXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAuYXBwZW5kKHRoYXQuJHRvZ2dsZVRyZWVCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4ub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRkcm9wZG93bi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJlZSB3aWRnZXQgaXMgZ29pbmcgdG8gYmVjb21lIHZpc2libGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnROb2RlID0geWllbGQgdGhhdC5yZXNvbHZlUGFyZW50Tm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnROb2RlICE9PSB0aGF0LmN1cnJlbnRQYXJlbnQgfHwgKChfYSA9IHRoYXQuY3VycmVudFBhcmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5vZGVJZCkgIT09IHBhcmVudE5vZGUubm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoYXQucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24udG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiAmJiAoeWllbGQgcmVhY2hTZWxlY3Rpb24odGhhdCwgcGFyZW50Tm9kZSkpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4gPSAkKGA8YnV0dG9uPjxpIGNsYXNzPVwiZmEgZmEtZmxhc2tcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cC5hcHBlbmQodGhhdC4kdmVyaWZ5QnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYXR0cihcInBsYWNlaG9sZGVyXCIsIFwiZW50ZXIgYSBub2RlSWQgb3IgYSBicm93c2VQYXRoIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mbyA9ICQoYDxkaXYgY2xhc3M9XCJpbmZvLXRleHRcIj48L2Rpdj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93biA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1kcm9wZG93blwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGluZm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRkcm9wZG93bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZSA9ICQoYDx1bCBjbGFzcz1cInN0ZXJmaXZlLXRyZWVcIj48L3VsPmApLmFwcGVuZFRvKHRoYXQuJGRyb3Bkb3duKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNPbkxlZnRTaXplID0gKCRsaSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlV2lkdGggPSAyMDsgLy8gU2V0IHdpZHRoIG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZUhlaWdodCA9IDIwOyAvLyBTZXQgaGVpZ2h0IG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3MgPSAkbGkub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUucGFnZVggPj0gZWxlbWVudFBvcy5sZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VYIDw9IGVsZW1lbnRQb3MubGVmdCArIGJlZm9yZVdpZHRoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZID49IGVsZW1lbnRQb3MudG9wICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZIDw9IGVsZW1lbnRQb3MudG9wICsgYmVmb3JlSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b2dnbGVFeHBhbnNpb24gPSAoJGxpKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfZXhwYW5kTGkodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG9nZ2xlIGl0cyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5jaGlsZHJlbihcInVsXCIpLmNoaWxkcmVuKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImRibGNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICRsaS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2UgPSAkbGkuZGF0YShcInJlZmVyZW5jZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlICYmICF0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9ICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dCA9IGBbJHtkaXNwbGF5TmFtZX1dKCR7dmFsdWV9KWA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNsaWNraW5nIG91dHNpZGUgdGhlIHBhZ2Ugd2lsbCBoaWRlIHRoZSBkcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHRoYXQuJGNvbWJvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldEVuZFBvaW50QXR0cmlidXRlcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCByZWROb2RlID0gUkVELm5vZGVzLm5vZGUoZW5kcG9pbnRJZCk7XG4gICAgICAgIGlmICghcmVkTm9kZSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGNvbnN0IGNyZWRlbnRpYWxzID0gUkVELihlbmRwb2ludElkKTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBzYW5pdGl6ZSBhbmQgZXh0cmFjdCB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBvbmx5ICggbm90IHRoZSBub2RlLXJlZCBzdHVmZilcbiAgICAgICAgY29uc3QgeyBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSwgdXNlcklkZW50aXR5VHlwZSwgY3JlZGVudGlhbHMgfSA9IHJlZE5vZGU7XG4gICAgICAgIGNvbnN0IHJldFZhbHVlID0ge1xuICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICBzZWN1cml0eU1vZGUsXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICAgICAgICBjcmVkZW50aWFscyxcbiAgICAgICAgfTtcbiAgICAgICAgLy8geHggY29uc29sZS5sb2coXCJ4eHhcIiwgcmV0VmFsdWUpO1xuICAgICAgICByZXR1cm4gcmV0VmFsdWU7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiBnZXRFbmRwb2ludFBhcmFtZXRlcnMsXG4gICAgICAgIH07XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnROciA9IGdldEVuZFBvaW50QXR0cmlidXRlcygpO1xuICAgICAgICBpZiAoIWVuZHBvaW50TnIpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBlbmRwb2ludElkLFxuICAgICAgICAgICAgLy8gZW5kcG9pbnQ6IGVuZHBvaW50TnIuZW5kcG9pbnQsXG4gICAgICAgICAgICAvLyBzZWN1cml0eU1vZGU6IGVuZHBvaW50TnIuc2VjdXJpdHlNb2RlLFxuICAgICAgICAgICAgLy8gc2VjdXJpdHlQb2xpY3k6IGVuZHBvaW50TnIuc2VjdXJpdHlQb2xpY3ksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gdXNlcklkZW50aXR5VHlwZTogZW5kcG9pbnROci51c2VySWRlbnRpdHlUeXBlLFxuICAgICAgICAgICAgLy8gY3JlZGVudGlhbDogZW5kcG9pbnROci5jcmVkZW50aWFscyxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyB1c2VyTmFtZTogZW5kcG9pbnROci51c2VySWRlbnRpdHlUeXBlID09PSBcIlVzZXJOYW1lXCIgPyBlbmRwb2ludE5yLmNyZWRlbnRpYWxzLnVzZXJOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgLy8gcGFzc3dvcmQ6IGVuZHBvaW50TnIudXNlcklkZW50aXR5VHlwZSA9PT0gXCJVc2VyTmFtZVwiID8gZW5kcG9pbnROci5jcmVkZW50aWFscy5wYXNzd29yZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIC8vIHVzZXJDZXJ0aWZpY2F0ZTogZW5kcG9pbnROci5jcmVkZW50aWFscy51c2VyQ2VydGlmaWNhdGUsXG4gICAgICAgICAgICAvLyB1c2VyUHJpdmF0ZWtleTogZW5kcG9pbnROci5jcmVkZW50aWFscy51c2VyUHJpdmF0ZWtleSxcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUNsaWVudDItSGlzdG9yeVJlYWRcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJvcGN1YVwiLFxuICAgICAgICBjb2xvcjogXCIjQzBERUVEXCIsXG4gICAgICAgIGFsaWduOiBcInJpZ2h0XCIsXG4gICAgICAgIGljb246IFwiLi4vLi4vaWNvbnMvb3BjdWFub2RlTG9nby5wbmdcIixcbiAgICAgICAgcGFsZXR0ZUxhYmVsOiBcInJlYWQtaGlzdG9yeVwiLFxuICAgICAgICBkZWZhdWx0czoge1xuICAgICAgICAgICAgaW5wdXRzOiB7IHZhbHVlOiAxIH0sXG4gICAgICAgICAgICBvdXRwdXQ6IHsgdmFsdWU6IDQgfSxcbiAgICAgICAgICAgIC8vIENvbW1vblxuICAgICAgICAgICAgbmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHsgdmFsdWU6IFwiXCIsIHJlcXVpcmVkOiB0cnVlLCB0eXBlOiBcIk9wY1VhLUVuZHBvaW50MlwiIH0sXG4gICAgICAgICAgICBoaXN0b3J5UmVhZFBhcmFtOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJyYXdcIixcbiAgICAgICAgICAgICAgICAgICAgZW5kVGltZTogXCIxbSBhZ29cIixcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiBcIjExbSBhZ29cIixcbiAgICAgICAgICAgICAgICAgICAgbnVtVmFsdWVzUGVyTm9kZTogMTAwLFxuICAgICAgICAgICAgICAgICAgICByZXR1cm5Cb3VuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogKHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsID09PSBcIlwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIGZvciBhY3Rpb24gcmVhZCBIaXN0b3J5XG4gICAgICAgICAgICBub2RlSWQ6IHsgdmFsdWU6IFwiXCIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgb3V0cHV0VHlwZTogeyB2YWx1ZTogXCJWYWx1ZVwiLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgICAvLyBpbnB1dHM6LFxuICAgICAgICBvdXRwdXRzOiAyLCAvLyAyIG91dHB1dCwgc2Vjb25kIGZvciByYXcgbm9kZS1vcGN1YSBkaWFnbm9zdGljcyBvciBtb3JlIGNvbXBsZXRlIG1lc3NhZ2VcbiAgICAgICAgbGFiZWwoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IFwiT1BDVUEgQ2xpZW50IEhpc3RvcnlSZWFkXCI7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gXCJub2RlX2xhYmVsX2l0YWxpY1wiIDogXCJcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBub2RlLmlucHV0cyA9IDE7XG4gICAgICAgICAgICBjb25zdCAkbm9kZUlkID0gJChcIiNub2RlLWlucHV0LW5vZGVJZFwiKTtcbiAgICAgICAgICAgICRub2RlSWQubm9kZUJyb3dzZXIoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyKCkpLCB7IGlzU2VsZWN0YWJsZShub2RlRGVzYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIlZhcmlhYmxlXCI7XG4gICAgICAgICAgICAgICAgfSB9KSk7XG4gICAgICAgICAgICAkKFwiI3NlbGVjdC1oaXN0b3J5LXR5cGVcIikudmFsKG5vZGUuaGlzdG9yeVJlYWRQYXJhbS50eXBlKTtcbiAgICAgICAgICAgIHN3aXRjaCAobm9kZS5oaXN0b3J5UmVhZFBhcmFtLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwicmF3XCI6XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1yYXctc3RhcnRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uc3RhcnRUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXJhdy1lbmRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uZW5kVGltZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1yYXctbnVtVmFsdWVzUGVyTm9kZVwiKS52YWwobm9kZS5oaXN0b3J5UmVhZFBhcmFtLm51bVZhbHVlc1Blck5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtcmV0dXJuQm91bmRzXCIpLnByb3AoXCJjaGVja2VkXCIsIG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5yZXR1cm5Cb3VuZHMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwibW9kaWZpZWRcIjpcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LW1vZGlmaWVkLXN0YXJ0VGltZVwiKS52YWwobm9kZS5oaXN0b3J5UmVhZFBhcmFtLnN0YXJ0VGltZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1lbmRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uZW5kVGltZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1udW1WYWx1ZXNQZXJOb2RlXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0ubnVtVmFsdWVzUGVyTm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1yZXR1cm5Cb3VuZHNcIikucHJvcChcImNoZWNrZWRcIiwgbm9kZS5oaXN0b3J5UmVhZFBhcmFtLnJldHVybkJvdW5kcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJwcm9jZXNzZWQtZGV0YWlsc1wiOlxuICAgICAgICAgICAgICAgICAgICBub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlQ29uZmlndXJhdGlvbiA9IG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uIHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtc3RhcnRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uc3RhcnRUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWVuZFRpbWVcIikudmFsKG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5lbmRUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLXByb2Nlc3NpbmdJbnRlcnZhbFwiKS52YWwobm9kZS5oaXN0b3J5UmVhZFBhcmFtLnByb2Nlc3NpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVUeXBlXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlVHlwZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzXCIpLnByb3AoXCJjaGVja2VkXCIsIG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uLnVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tdHJlYXRVbmNlcnRhaW5Bc0JhZFwiKS5wcm9wKFwiY2hlY2tlZFwiLCBub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlQ29uZmlndXJhdGlvbi50cmVhdFVuY2VydGFpbkFzQmFkKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tcGVyY2VudERhdGFCYWRcIikudmFsKG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uLnBlcmNlbnREYXRhQmFkKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tcGVyY2VudERhdGFHb29kXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlQ29uZmlndXJhdGlvbi5wZXJjZW50RGF0YUdvb2QpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtYWdncmVnYXRlQ29uZmlndXJhdGlvbi11c2VTbG9wZWRFeHRyYXBvbGF0aW9uXCIpLnByb3AoXCJjaGVja2VkXCIsIG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uLnVzZVNsb3BlZEV4dHJhcG9sYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgYWR2YW5jZWQgY29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gaGlkZUFsbFNlY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1yYXdcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tbW9kaWZpZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tcHJvY2Vzc2VkLWRldGFpbHNcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tYXQtdGltZVwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1hbm5vdGF0aW9uLWRhdGFcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tZXZlbnRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmdW5jdGlvbiB0b2dnbGVTZWN0aW9ucygpIHtcbiAgICAgICAgICAgICAgICAgICAgaGlkZUFsbFNlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkVmFsdWUgPSAkKFwiI3NlbGVjdC1oaXN0b3J5LXR5cGVcIikudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwidG9nZ2xlU2VjdGlvbnMgXCIgKyBzZWxlY3RlZFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLVwiICsgc2VsZWN0ZWRWYWx1ZSkuc2hvdygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkKFwiI3NlbGVjdC1oaXN0b3J5LXR5cGVcIikub24oXCJjaGFuZ2VcIiwgdG9nZ2xlU2VjdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRvZ2dsZVNlY3Rpb25zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUFzVGV4dCA9IChhKSA9PiAoYS52YWwoKSA9PSB1bmRlZmluZWQgPyBcIlwiIDogYS52YWwoKS50b1N0cmluZygpKTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlQXNOdW1iZXIgPSAoYSkgPT4gKGEudmFsKCkgPT0gdW5kZWZpbmVkID8gMCA6IGEudmFsKCkpO1xuICAgICAgICAgICAgY29uc3QgdHlwZSA9ICQoXCIjc2VsZWN0LWhpc3RvcnktdHlwZVwiKS52YWwoKTtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgXCJyYXdcIjpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaXN0b3J5UmVhZFBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJyYXdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LXJhdy1zdGFydFRpbWVcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kVGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LXJhdy1lbmRUaW1lXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bVZhbHVlc1Blck5vZGU6IHZhbHVlQXNOdW1iZXIoJChcIiNub2RlLWlucHV0LXJhdy1udW1WYWx1ZXNQZXJOb2RlXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybkJvdW5kczogJChcIiNub2RlLWlucHV0LXJldHVybkJvdW5kc1wiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcIm1vZGlmaWVkXCI6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeVJlYWRQYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibW9kaWZpZWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LW1vZGlmaWVkLXN0YXJ0VGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRUaW1lOiB2YWx1ZUFzVGV4dCgkKFwiI25vZGUtaW5wdXQtbW9kaWZpZWQtZW5kVGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBudW1WYWx1ZXNQZXJOb2RlOiB2YWx1ZUFzTnVtYmVyKCQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1udW1WYWx1ZXNQZXJOb2RlXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybkJvdW5kczogJChcIiNub2RlLWlucHV0LW1vZGlmaWVkLXJldHVybkJvdW5kc1wiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcInByb2Nlc3NlZC1kZXRhaWxzXCI6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeVJlYWRQYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwicHJvY2Vzc2VkLWRldGFpbHNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLXN0YXJ0VGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRUaW1lOiB2YWx1ZUFzVGV4dCgkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtZW5kVGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nSW50ZXJ2YWw6IHZhbHVlQXNOdW1iZXIoJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLXByb2Nlc3NpbmdJbnRlcnZhbFwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVUeXBlOiB2YWx1ZUFzVGV4dCgkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtYWdncmVnYXRlVHlwZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVsdHM6ICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzXCIpLnByb3AoXCJjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWF0VW5jZXJ0YWluQXNCYWQ6ICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXRyZWF0VW5jZXJ0YWluQXNCYWRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyY2VudERhdGFCYWQ6IHZhbHVlQXNOdW1iZXIoJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tcGVyY2VudERhdGFCYWRcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmNlbnREYXRhR29vZDogdmFsdWVBc051bWJlcigkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtYWdncmVnYXRlQ29uZmlndXJhdGlvbi1wZXJjZW50RGF0YUdvb2RcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVNsb3BlZEV4dHJhcG9sYXRpb246ICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXVzZVNsb3BlZEV4dHJhcG9sYXRpb25cIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
|
7
|
+
(function(_0x2207d2,_0x229642){const _0x15d5c1=_0x4118,_0x123958=_0x2207d2();while(!![]){try{const _0x5a43a3=parseInt(_0x15d5c1(0x24a))/0x1+parseInt(_0x15d5c1(0x2c9))/0x2*(-parseInt(_0x15d5c1(0x2bf))/0x3)+-parseInt(_0x15d5c1(0x1fb))/0x4+-parseInt(_0x15d5c1(0x2d2))/0x5*(parseInt(_0x15d5c1(0x2ba))/0x6)+-parseInt(_0x15d5c1(0x27c))/0x7*(-parseInt(_0x15d5c1(0x26e))/0x8)+parseInt(_0x15d5c1(0x2b0))/0x9+-parseInt(_0x15d5c1(0x21e))/0xa;if(_0x5a43a3===_0x229642)break;else _0x123958['push'](_0x123958['shift']());}catch(_0x5c661c){_0x123958['push'](_0x123958['shift']());}}}(_0x1fcd,0x3b3ea),(function(){'use strict';const _0x3f329f=_0x4118;function _0x4524d3(_0x306f2c,_0x1c052f,_0xa21185,_0x347d90){function _0x15723e(_0x386b4a){return _0x386b4a instanceof _0xa21185?_0x386b4a:new _0xa21185(function(_0x2a61e5){_0x2a61e5(_0x386b4a);});}return new(_0xa21185||(_0xa21185=Promise))(function(_0xdf1fd8,_0x158251){const _0x20ba3e=_0x4118;function _0x5c70c1(_0x2039c0){try{_0x3db220(_0x347d90['next'](_0x2039c0));}catch(_0xc267af){_0x158251(_0xc267af);}}function _0x5404e4(_0x2b527d){try{_0x3db220(_0x347d90['throw'](_0x2b527d));}catch(_0x10845e){_0x158251(_0x10845e);}}function _0x3db220(_0x167a29){const _0x554945=_0x4118;_0x167a29[_0x554945(0x1fe)]?_0xdf1fd8(_0x167a29['value']):_0x15723e(_0x167a29[_0x554945(0x22c)])[_0x554945(0x20e)](_0x5c70c1,_0x5404e4);}_0x3db220((_0x347d90=_0x347d90['apply'](_0x306f2c,_0x1c052f||[]))[_0x20ba3e(0x228)]());});}typeof SuppressedError===_0x3f329f(0x206)?SuppressedError:function(_0x3a8c4b,_0x406afb,_0x571ad6){const _0x3d0de5=_0x3f329f;var _0x4e0c2a=new Error(_0x571ad6);return _0x4e0c2a['name']=_0x3d0de5(0x267),_0x4e0c2a[_0x3d0de5(0x2ac)]=_0x3a8c4b,_0x4e0c2a['suppressed']=_0x406afb,_0x4e0c2a;};const _0x15438a=_0x3f329f(0x24d),_0x764f3e=_0x3f329f(0x239),_0x317cb8=_0x3f329f(0x20b),_0xabc209=_0x3f329f(0x218),_0x14cfe8='ns=0;i=34',_0xfcd630=_0x3f329f(0x292),_0x5e17dc=_0x3f329f(0x209);var _0x57735c;(function(_0x2ad26e){const _0x3d0235=_0x3f329f;_0x2ad26e[_0x2ad26e['Forward']=0x0]=_0x3d0235(0x242),_0x2ad26e[_0x2ad26e[_0x3d0235(0x26d)]=0x1]='Inverse',_0x2ad26e[_0x2ad26e[_0x3d0235(0x262)]=0x2]=_0x3d0235(0x262),_0x2ad26e[_0x2ad26e['Invalid']=0x3]=_0x3d0235(0x28f);}(_0x57735c||(_0x57735c={})));var _0xfdc1ad;(function(_0xa0cbc3){const _0x4ac2eb=_0x3f329f;_0xa0cbc3[_0xa0cbc3[_0x4ac2eb(0x291)]=0x0]=_0x4ac2eb(0x291),_0xa0cbc3[_0xa0cbc3[_0x4ac2eb(0x25c)]=0x1]=_0x4ac2eb(0x25c),_0xa0cbc3[_0xa0cbc3[_0x4ac2eb(0x1fc)]=0x2]=_0x4ac2eb(0x1fc),_0xa0cbc3[_0xa0cbc3[_0x4ac2eb(0x29e)]=0x4]=_0x4ac2eb(0x29e),_0xa0cbc3[_0xa0cbc3['ObjectType']=0x8]='ObjectType',_0xa0cbc3[_0xa0cbc3['VariableType']=0x10]='VariableType',_0xa0cbc3[_0xa0cbc3[_0x4ac2eb(0x248)]=0x20]=_0x4ac2eb(0x248),_0xa0cbc3[_0xa0cbc3['DataType']=0x40]=_0x4ac2eb(0x27f),_0xa0cbc3[_0xa0cbc3[_0x4ac2eb(0x221)]=0x80]=_0x4ac2eb(0x221);}(_0xfdc1ad||(_0xfdc1ad={})));var _0x5edfb9;(function(_0x548910){const _0x471102=_0x3f329f;_0x548910[_0x548910[_0x471102(0x25c)]=0x1]=_0x471102(0x25c),_0x548910[_0x548910['Variable']=0x2]='Variable',_0x548910[_0x548910[_0x471102(0x29e)]=0x4]='Method',_0x548910[_0x548910[_0x471102(0x229)]=0x8]='ObjectType',_0x548910[_0x548910[_0x471102(0x2b4)]=0x10]=_0x471102(0x2b4),_0x548910[_0x548910[_0x471102(0x248)]=0x20]='ReferenceType',_0x548910[_0x548910[_0x471102(0x27f)]=0x40]='DataType',_0x548910[_0x548910[_0x471102(0x221)]=0x80]=_0x471102(0x221);}(_0x5edfb9||(_0x5edfb9={})));var _0x111754;(function(_0x55860c){const _0x53689f=_0x3f329f;_0x55860c[_0x55860c[_0x53689f(0x248)]=0x1]=_0x53689f(0x248),_0x55860c[_0x55860c['IsForward']=0x2]=_0x53689f(0x20a),_0x55860c[_0x55860c['NodeClass']=0x4]=_0x53689f(0x234),_0x55860c[_0x55860c['BrowseName']=0x8]=_0x53689f(0x23d),_0x55860c[_0x55860c[_0x53689f(0x2b6)]=0x10]=_0x53689f(0x2b6),_0x55860c[_0x55860c[_0x53689f(0x25e)]=0x20]=_0x53689f(0x25e);}(_0x111754||(_0x111754={})));function _0x21e5bd(_0x4472d9){const _0x1eb91b=_0x3f329f;switch(_0x4472d9){case _0x1eb91b(0x2c0):return _0x15438a;case _0x1eb91b(0x2a2):return _0xabc209;case _0x1eb91b(0x2ca):return _0x317cb8;case'HasChild':return _0x14cfe8;case _0x1eb91b(0x2a4):return _0xfcd630;case _0x1eb91b(0x2d5):return _0x5e17dc;}}const _0x289c85=_0x18632a=>{const _0x16ab10=_0x3f329f;switch(_0x18632a[_0x16ab10(0x2d0)]){case _0x16ab10(0x25c):if(_0x18632a[_0x16ab10(0x2c3)]===_0x15438a);if(_0x18632a[_0x16ab10(0x22d)]===_0x764f3e||_0x18632a[_0x16ab10(0x2c3)]===_0x16ab10(0x24e))return{'icon':_0x16ab10(0x21a),'color':_0x16ab10(0x26b)};return{'icon':_0x16ab10(0x27d),'color':_0x16ab10(0x285)};case _0x16ab10(0x1fc):if(_0x18632a['referenceTypeId']===_0x317cb8)return{'icon':_0x16ab10(0x28a),'color':_0x16ab10(0x260)};else return _0x18632a[_0x16ab10(0x2c3)]===_0xabc209?{'icon':_0x16ab10(0x28a),'color':_0x16ab10(0x1f2)}:{'icon':_0x16ab10(0x28a),'color':_0x16ab10(0x28b)};case _0x16ab10(0x29e):return{'icon':_0x16ab10(0x2a5),'color':_0x16ab10(0x278)};case _0x16ab10(0x229):return{'icon':'fa-object-group','color':_0x16ab10(0x235)};case _0x16ab10(0x2b4):return{'icon':_0x16ab10(0x1ff),'color':_0x16ab10(0x235)};case _0x16ab10(0x27f):return{'icon':_0x16ab10(0x2b3),'color':_0x16ab10(0x28b)};}return{'icon':_0x16ab10(0x2bb),'color':'grey'};},_0x1996bc=(_0x17d38c,_0x24c94b,_0xf43780)=>_0x4524d3(void 0x0,[_0x17d38c,_0x24c94b,_0xf43780],void 0x0,function*({endpointNode:_0x3fd155,endpoint:_0x40e30d,baseUrl:_0x576286},_0xe6b9b0,_0x3a2328){const _0x51370e=_0x3f329f,_0x3824c6=_0x576286+'/opcua-endpoint2',_0x4392d7=_0x3824c6+_0x51370e(0x2b9),_0x4fe44b=Object[_0x51370e(0x2c2)](Object['assign']({},_0x3a2328),{'nodeId':_0xe6b9b0,'resultMask':0x3f}),_0x5b17fa=yield fetch(_0x4392d7,{'method':_0x51370e(0x265),'body':JSON[_0x51370e(0x2d1)]({'endpointNode':_0x3fd155,'endpoint':_0x40e30d,'browseDescription':_0x4fe44b}),'headers':{'Content-Type':_0x51370e(0x280)}});if(_0x5b17fa[_0x51370e(0x271)]!==0xc8)return console['log'](_0x51370e(0x23a),_0x5b17fa[_0x51370e(0x271)],_0x5b17fa[_0x51370e(0x23b)]),{'references':[]};const _0x57fe02=yield _0x5b17fa[_0x51370e(0x27a)](),_0x196fe0=_0x57fe02[_0x51370e(0x2b8)][_0x51370e(0x244)]||[];return{'references':_0x196fe0};}),_0x1c6478={'referenceTypeId':_0x21e5bd(_0x3f329f(0x26f)),'includeSubtypes':!![],'browseDirection':_0x57735c['Forward'],'nodeClassMask':_0xfdc1ad[_0x3f329f(0x1fc)]|_0xfdc1ad[_0x3f329f(0x25c)]|_0xfdc1ad[_0x3f329f(0x29e)],'resultMask':0x3f},_0x5f56a4={'referenceTypeId':_0x21e5bd(_0x3f329f(0x2c0)),'includeSubtypes':!![],'browseDirection':_0x57735c[_0x3f329f(0x242)],'nodeClassMask':_0xfdc1ad['Variable']|_0xfdc1ad['Object']|_0xfdc1ad[_0x3f329f(0x29e)],'resultMask':0x3f},_0x3d8c89=(_0x215c6f,_0x54ac75)=>_0x4524d3(void 0x0,[_0x215c6f,_0x54ac75],void 0x0,function*({endpointNode:_0x32c415,endpoint:_0x40596e,baseUrl:_0x25ad0e},{nodeId:_0x200679,rootNodeId:_0x5b83bb,isType:_0x283c3d}){const _0x357ddb=_0x3f329f,_0x1140e9=_0x25ad0e+_0x357ddb(0x1f5),_0x5a620c=_0x1140e9+'/walk-backward',_0x3409bb=yield fetch(_0x5a620c,{'method':_0x357ddb(0x265),'body':JSON[_0x357ddb(0x2d1)]({'endpointNode':_0x32c415,'endpoint':_0x40596e,'nodeId':_0x200679,'rootNodeId':_0x5b83bb,'isType':_0x283c3d}),'headers':{'Content-Type':_0x357ddb(0x280)}});if(_0x3409bb['status']!==0xc8)return null;const _0x52e0ab=yield _0x3409bb[_0x357ddb(0x27a)]();return _0x52e0ab['browsePath'];}),_0x1f25af=(_0x37f83f,_0x15fce1,_0x4e0551)=>_0x4524d3(void 0x0,[_0x37f83f,_0x15fce1,_0x4e0551],void 0x0,function*({endpointNode:_0x50f22a,endpoint:_0x4ddc1a,baseUrl:_0x4fec2e},_0x2dee05,_0xea409b){const _0x41b903=_0x3f329f,_0x410161=_0x4fec2e+_0x41b903(0x1f5),_0x8d8ff=_0x410161+_0x41b903(0x25f),_0x14ab11=_0x2dee05[_0x41b903(0x2c6)](),_0x36d92b=yield fetch(_0x8d8ff,{'method':_0x41b903(0x265),'body':JSON[_0x41b903(0x2d1)]({'endpointNode':_0x50f22a,'endpoint':_0x4ddc1a,'nodeId':_0x14ab11}),'headers':{'Content-Type':_0x41b903(0x280)}}),_0x8f481a=(_0x4f4a43,_0x18e99c)=>{const _0x2d7e23=_0x41b903;_0xea409b[_0x2d7e23(0x23f)](_0x4f4a43)[_0x2d7e23(0x205)](_0x2d7e23(0x2cb))[_0x2d7e23(0x205)](_0x18e99c),_0xea409b[_0x2d7e23(0x29c)](),setTimeout(()=>{const _0x450f9d=_0x2d7e23;_0xea409b[_0x450f9d(0x1f8)](_0x18e99c),_0xea409b['hide']();},0xbb8);},_0x3acd89=yield _0x36d92b[_0x41b903(0x27a)]();_0x36d92b[_0x41b903(0x271)]!==0xc8?_0x8f481a(_0x41b903(0x212)+_0x14ab11,_0x41b903(0x276)):_0x3acd89[_0x41b903(0x277)][_0x41b903(0x207)](/Good/)?(_0x2dee05[_0x41b903(0x2c6)](_0x3acd89[_0x41b903(0x2b1)]),_0x2dee05[_0x41b903(0x290)]('change'),_0x8f481a(_0x41b903(0x236),'ok')):(_0x2dee05['val'](''+_0x14ab11),_0x8f481a(_0x3acd89['statusCode']+'\x20'+_0x36d92b[_0x41b903(0x23b)],_0x41b903(0x276)));});function _0x2afbd7(_0x335105,_0xd9447c){return _0x4524d3(this,void 0x0,void 0x0,function*(){const _0x198137=_0x4118,_0x1c046f=_0x335105['data'](_0x198137(0x22c)),_0x4431cc=yield _0x1996bc(_0xd9447c,_0x1c046f,_0x1c6478),_0x35f717=yield _0x1996bc(_0xd9447c,_0x1c046f,_0x5f56a4);return{'references':[..._0x4431cc['references'],..._0x35f717[_0x198137(0x244)]]};});}const _0x471746={'referenceTypeId':_0x21e5bd(_0x3f329f(0x2a4)),'includeSubtypes':!![],'browseDirection':_0x57735c['Forward'],'nodeClassMask':_0xfdc1ad[_0x3f329f(0x248)]|_0xfdc1ad[_0x3f329f(0x229)]|_0xfdc1ad[_0x3f329f(0x27f)]|_0xfdc1ad[_0x3f329f(0x2b4)],'resultMask':0x3f};function _0x48df27(_0x4888da,_0x121009){return _0x4524d3(this,void 0x0,void 0x0,function*(){const _0x24a5b9=_0x4118,_0x18ed45=_0x4888da[_0x24a5b9(0x252)]('value'),_0x58685e=yield _0x1996bc(_0x121009,_0x18ed45,_0x471746);return _0x58685e;});}const _0xeba080=_0x309f78=>{const _0x210675=_0x3f329f;var _0x4fef81,_0x5636fd,_0x28318a,_0x3f0b0c;if(!_0x309f78||!_0x309f78[_0x210675(0x28e)]){const _0x1d3611=$(_0x210675(0x21d));return _0x1d3611;}const _0x2fe5ff=_0x309f78[_0x210675(0x28e)][_0x210675(0x226)](),_0x3632b6=((_0x4fef81=_0x309f78['displayName'])===null||_0x4fef81===void 0x0?void 0x0:_0x4fef81['text'])||((_0x5636fd=_0x309f78[_0x210675(0x255)])===null||_0x5636fd===void 0x0?void 0x0:_0x5636fd[_0x210675(0x2d4)])||_0x309f78[_0x210675(0x28e)][_0x210675(0x226)](),{icon:_0x1bc85d,color:_0x3a53d9}=_0x289c85(_0x309f78),_0x3db81c='('+_0x309f78[_0x210675(0x28e)][_0x210675(0x226)]()+')\x20'+(((_0x28318a=_0x309f78[_0x210675(0x255)])===null||_0x28318a===void 0x0?void 0x0:_0x28318a[_0x210675(0x2d4)])||((_0x3f0b0c=_0x309f78[_0x210675(0x295)])===null||_0x3f0b0c===void 0x0?void 0x0:_0x3f0b0c[_0x210675(0x23f)])||''),_0x5ae103=$(_0x210675(0x24f)+_0x309f78[_0x210675(0x28e)][_0x210675(0x226)]()+_0x210675(0x227)+_0x3db81c+_0x210675(0x211)+_0x1bc85d+'\x22\x20style=\x22color:'+_0x3a53d9+_0x210675(0x25d)+_0x3632b6+_0x210675(0x230));return _0x5ae103['addClass'](_0x210675(0x24b)),_0x5ae103[_0x210675(0x252)]('value',_0x2fe5ff),_0x5ae103[_0x210675(0x252)](_0x210675(0x2d9),_0x309f78),_0x5ae103;},_0x14181b=(_0x5f3f5b,_0x2b0e2d)=>{return _0x2b0e2d['find']('li[key=\x22'+_0x5f3f5b+'\x22]');},_0x1b8b11=(_0x1db11b,_0x258386)=>{const _0x18a189=_0x3f329f;_0x1db11b[_0x18a189(0x21f)][_0x18a189(0x287)](_0x18a189(0x279))['removeClass'](_0x18a189(0x21c)),_0x258386[_0x18a189(0x287)](_0x18a189(0x213))[_0x18a189(0x205)](_0x18a189(0x21c));},_0x288b0f=(_0x8fe4e7,_0x48b6b9,_0x4f4c0c)=>_0x4524d3(void 0x0,void 0x0,void 0x0,function*(){const _0x405ea5=_0x3f329f;let _0xb9d340=_0x4f4c0c['children'](_0x405ea5(0x297));_0x48b6b9['relativePath']['elements']||[];const _0x1033c0=_0x48b6b9[_0x405ea5(0x2a9)]||[];if(_0x1033c0[_0x405ea5(0x289)]===0x0)return;for(const _0x24d726 of _0x1033c0){_0xb9d340[_0x405ea5(0x208)](_0x405ea5(0x24b))&&(yield _0x13a3d1(_0x8fe4e7,_0xb9d340));const _0x2b9e1d=_0x14181b(_0x24d726,_0xb9d340);if(_0x2b9e1d[_0x405ea5(0x289)]===0x0)return;_0xb9d340=_0x2b9e1d;}_0x1b8b11(_0x8fe4e7,_0xb9d340),_0x4f0f2d(_0x8fe4e7[_0x405ea5(0x282)],_0xb9d340);});function _0x4f0f2d(_0x55ca1f,_0x22f13c){const _0x429485=_0x3f329f,_0x4f790f=_0x22f13c[_0x429485(0x256)]()[_0x429485(0x268)],_0x4c905a=_0x55ca1f['scrollTop']();if(_0x4c905a==undefined)return;const _0x504c29=_0x4c905a+_0x4f790f-_0x55ca1f[_0x429485(0x294)]()/0x2+_0x22f13c[_0x429485(0x294)]()/0x2;_0x55ca1f['animate']({'scrollTop':_0x504c29},0x1f4);}const _0x5e7263=(_0x791555,_0x5d7e7e)=>_0x4524d3(void 0x0,void 0x0,void 0x0,function*(){const _0x5bd9ca=_0x3f329f,_0x25d8d7=_0x791555[_0x5bd9ca(0x2a7)][_0x5bd9ca(0x2c6)](),_0x3e4716={'nodeId':_0x25d8d7,'rootNodeId':_0x5d7e7e['nodeId'],'isType':_0x791555[_0x5bd9ca(0x215)][_0x5bd9ca(0x298)]||![]},_0x2f1967=_0x44cbfa(_0x791555),_0x1b72d3=yield _0x3d8c89(_0x2f1967,_0x3e4716);if(!_0x1b72d3)return;yield _0x288b0f(_0x791555,_0x1b72d3,_0x791555[_0x5bd9ca(0x21f)]);});function _0x3b6430(_0x1ace3f,_0x140f73,_0x444b90,_0xe312fc){return _0x4524d3(this,void 0x0,void 0x0,function*(){const _0x411c45=_0x4118;if(_0x140f73[_0x411c45(0x208)](_0x411c45(0x281))){console[_0x411c45(0x284)](_0x411c45(0x250));return;}if(_0x140f73[_0x411c45(0x208)](_0x411c45(0x22e))){console['log'](_0x411c45(0x219));return;}_0x140f73[_0x411c45(0x205)]('loading'),_0x140f73['append'](_0x411c45(0x21b));try{_0x140f73[_0x411c45(0x231)]('ul')[_0x411c45(0x20c)]();const {references:_0x259be0}=yield _0x444b90(_0x140f73,_0xe312fc);for(const _0x268ebd of _0x259be0){if(_0x1ace3f['options']['filter']&&!_0x1ace3f[_0x411c45(0x215)][_0x411c45(0x238)](_0x268ebd))continue;const _0x1b392e=_0xeba080(_0x268ebd);_0x140f73['children']('ul')[_0x411c45(0x240)](_0x1b392e);}_0x140f73[_0x411c45(0x205)](_0x411c45(0x281));}catch(_0xab9428){_0x140f73[_0x411c45(0x231)]('ul')['append'](_0x411c45(0x2c7)+_0xab9428[_0x411c45(0x2ae)]+_0x411c45(0x241)),console['log'](_0x411c45(0x201),_0xab9428);}_0x140f73[_0x411c45(0x287)](_0x411c45(0x1f3))[_0x411c45(0x2d3)](),_0x140f73[_0x411c45(0x1f8)]('loading');});}function _0x44cbfa(_0x51101b){const _0x34c3fa=_0x3f329f,_0x4539c3={'baseUrl':_0x51101b[_0x34c3fa(0x215)][_0x34c3fa(0x1f4)],'endpointNode':typeof _0x51101b[_0x34c3fa(0x215)][_0x34c3fa(0x2a8)]===_0x34c3fa(0x206)?_0x51101b[_0x34c3fa(0x215)][_0x34c3fa(0x2a8)]():_0x51101b[_0x34c3fa(0x215)]['endpointNode'],'endpoint':typeof _0x51101b[_0x34c3fa(0x215)][_0x34c3fa(0x263)]==='function'?_0x51101b[_0x34c3fa(0x215)]['endpoint']():_0x51101b[_0x34c3fa(0x215)][_0x34c3fa(0x263)]};return _0x4539c3;}function _0x13a3d1(_0x455500,_0x48716a){return _0x4524d3(this,void 0x0,void 0x0,function*(){const _0x53466e=_0x4118;if(_0x48716a[_0x53466e(0x208)]('fetched')){_0x48716a['removeClass'](_0x53466e(0x24b))[_0x53466e(0x205)](_0x53466e(0x2be)),_0x48716a['children']('ul')[_0x53466e(0x266)]();return;}const _0x2e2a70=_0x44cbfa(_0x455500),_0xd8e479=!_0x455500[_0x53466e(0x215)]['isTypeRef']?_0x2afbd7:_0x48df27;try{yield _0x3b6430(_0x455500,_0x48716a,_0xd8e479,_0x2e2a70),_0x48716a[_0x53466e(0x1f8)](_0x53466e(0x24b))['addClass'](_0x53466e(0x2be));}catch(_0x444a45){_0x48716a[_0x53466e(0x1f8)]('expandable')[_0x53466e(0x205)](_0x53466e(0x2be)),console['log'](_0x53466e(0x2ac),_0x444a45);}});}const _0x2f4ad4=()=>{const _0x5db023=_0x3f329f;$['widget'](_0x5db023(0x20f),{'options':{'endpointNode':()=>({'endpoint':_0x5db023(0x29b)}),'endpoint':()=>undefined,'parentNode':()=>({'browseName':{'namespaceIndex':0x0,'name':'Objects'},'nodeClass':_0x5db023(0x25c),'nodeId':_0x5db023(0x2c1),'displayName':{'text':_0x5db023(0x22a)},'typeDefinition':_0x764f3e}),'filter':()=>!![],'baseUrl':'','isTypeRef':![]},'resolveParentNode'(){return _0x4524d3(this,void 0x0,void 0x0,function*(){const _0x55cc84=_0x4118,_0x2b6cb7=this;if(!_0x2b6cb7['__parentNode']){const _0x560aca=typeof _0x2b6cb7[_0x55cc84(0x215)][_0x55cc84(0x2d7)]==='function'?_0x2b6cb7[_0x55cc84(0x215)][_0x55cc84(0x2d7)][_0x55cc84(0x286)](_0x2b6cb7):_0x2b6cb7[_0x55cc84(0x215)][_0x55cc84(0x2d7)];if(_0x560aca instanceof Promise){const _0x4f5a45=yield _0x560aca;_0x2b6cb7[_0x55cc84(0x1f7)]=_0x4f5a45;}else _0x2b6cb7[_0x55cc84(0x1f7)]=_0x560aca;}return _0x2b6cb7[_0x55cc84(0x1f7)];});},'reset'(){return _0x4524d3(this,void 0x0,void 0x0,function*(){const _0x50c847=_0x4118,_0x393027=this,_0x13762a=_0x393027;_0x13762a[_0x50c847(0x1f7)]=undefined,_0x393027[_0x50c847(0x21f)]['empty']();const _0x13a088=yield this['resolveParentNode'](),_0x5f05b8=_0xeba080(_0x13a088);_0x393027[_0x50c847(0x21f)][_0x50c847(0x240)](_0x5f05b8),_0x393027[_0x50c847(0x270)]=_0x13a088;});},'verify'(){const _0x5d7963=_0x5db023,_0x11fda1=this,_0xc1dc19=_0x44cbfa(_0x11fda1);_0x1f25af(_0xc1dc19,_0x11fda1[_0x5d7963(0x2a7)],_0x11fda1[_0x5d7963(0x2af)]);},'_create'(){const _0x32066f=_0x5db023,_0x4d4171=this;_0x4d4171[_0x32066f(0x2a7)]=this[_0x32066f(0x27e)],_0x4d4171[_0x32066f(0x296)]=$('<div/>'),_0x4d4171[_0x32066f(0x296)][_0x32066f(0x205)]('sterfive-combo-box'),this[_0x32066f(0x27e)][_0x32066f(0x200)](_0x4d4171[_0x32066f(0x296)]),_0x4d4171[_0x32066f(0x2d6)]=$(_0x32066f(0x257))[_0x32066f(0x205)](_0x32066f(0x247)),_0x4d4171[_0x32066f(0x296)]['append'](_0x4d4171['$inputGroup']),_0x4d4171['$inputGroup']['append'](_0x4d4171[_0x32066f(0x2a7)]),_0x4d4171['$toggleTreeBtn']=$(_0x32066f(0x203)),_0x4d4171[_0x32066f(0x2d6)][_0x32066f(0x240)](_0x4d4171[_0x32066f(0x2c4)]),_0x4d4171[_0x32066f(0x2c4)]['on'](_0x32066f(0x2c8),function(){return _0x4524d3(this,void 0x0,void 0x0,function*(){const _0x48236d=_0x4118;var _0x67d283;let _0x34558c=![],_0x1ab70b;!_0x4d4171[_0x48236d(0x282)]['is'](':visible')&&(_0x4d4171['$info']['hide'](),_0x1ab70b=yield _0x4d4171[_0x48236d(0x26c)](),(_0x1ab70b!==_0x4d4171[_0x48236d(0x270)]||((_0x67d283=_0x4d4171['currentParent'])===null||_0x67d283===void 0x0?void 0x0:_0x67d283[_0x48236d(0x28e)])!==_0x1ab70b[_0x48236d(0x28e)])&&(yield _0x4d4171[_0x48236d(0x2ad)]()),_0x34558c=!![]),_0x4d4171['$dropdown'][_0x48236d(0x266)](),_0x34558c&&(yield _0x5e7263(_0x4d4171,_0x1ab70b));});}),_0x4d4171['$verifyBtn']=$('<button><i\x20class=\x22fa\x20fa-flask\x22></i></button>'),_0x4d4171['$inputGroup'][_0x32066f(0x240)](_0x4d4171[_0x32066f(0x253)]),_0x4d4171[_0x32066f(0x253)]['on'](_0x32066f(0x2c8),()=>{const _0x5a14b8=_0x32066f;this[_0x5a14b8(0x272)]();});!_0x4d4171[_0x32066f(0x2a7)][_0x32066f(0x29f)](_0x32066f(0x2ce))&&_0x4d4171['$input'][_0x32066f(0x29f)]('placeholder',_0x32066f(0x2a3));_0x4d4171['$info']=$(_0x32066f(0x2b7)),_0x4d4171['$info'][_0x32066f(0x2aa)](),_0x4d4171['$dropdown']=$(_0x32066f(0x257))[_0x32066f(0x205)](_0x32066f(0x1fd))[_0x32066f(0x2aa)](),_0x4d4171[_0x32066f(0x296)]['append'](_0x4d4171[_0x32066f(0x2af)]),_0x4d4171['$combo']['append'](_0x4d4171['$dropdown']),_0x4d4171[_0x32066f(0x21f)]=$('<ul\x20class=\x22sterfive-tree\x22></ul>')['appendTo'](_0x4d4171[_0x32066f(0x282)]),this[_0x32066f(0x2ad)]();const _0x753eb3=(_0x19b117,_0x57cfb5)=>{const _0x219a59=_0x32066f,_0x1b68e2=0x14,_0x237f82=0x14,_0x12a362=_0x19b117['offset'](),_0x44bb2d=_0x57cfb5;if(_0x44bb2d['pageX']>=_0x12a362[_0x219a59(0x258)]&&_0x44bb2d[_0x219a59(0x288)]<=_0x12a362[_0x219a59(0x258)]+_0x1b68e2&&_0x44bb2d[_0x219a59(0x204)]>=_0x12a362[_0x219a59(0x268)]&&_0x44bb2d['pageY']<=_0x12a362[_0x219a59(0x268)]+_0x237f82)return!![];return![];},_0x26bf7e=_0xc921b2=>_0x4524d3(this,void 0x0,void 0x0,function*(){const _0x30ab0b=_0x32066f;if(_0xc921b2[_0x30ab0b(0x208)]('expandable'))_0x13a3d1(_0x4d4171,_0xc921b2);else{if(_0xc921b2[_0x30ab0b(0x208)]('expanded'))_0xc921b2[_0x30ab0b(0x231)]('ul')[_0x30ab0b(0x266)](),_0xc921b2[_0x30ab0b(0x261)]('expandable\x20expanded');else{if(_0xc921b2['children']('ul')['children']()[_0x30ab0b(0x289)]>0x0)_0xc921b2['children']('ul')[_0x30ab0b(0x266)](),_0xc921b2[_0x30ab0b(0x261)](_0x30ab0b(0x223));else;}}});_0x4d4171['$tree']['on'](_0x32066f(0x27b),'li',function(_0x3046b){const _0x2d153f=_0x32066f;var _0x119744,_0x3ea446;_0x3046b[_0x2d153f(0x2da)]();let _0x18a18f=$(this);if(_0x753eb3(_0x18a18f,_0x3046b))_0x26bf7e(_0x18a18f);else{const _0x58e4e3=_0x18a18f[_0x2d153f(0x252)](_0x2d153f(0x22c)),_0x502a11=_0x18a18f[_0x2d153f(0x252)]('reference');if(_0x4d4171[_0x2d153f(0x215)]['isSelectable']&&!_0x4d4171[_0x2d153f(0x215)]['isSelectable'](_0x502a11))return;_0x4d4171[_0x2d153f(0x2a7)][_0x2d153f(0x252)](_0x2d153f(0x2d9),_0x502a11);const _0x129e76=((_0x119744=_0x502a11[_0x2d153f(0x295)])===null||_0x119744===void 0x0?void 0x0:_0x119744[_0x2d153f(0x23f)])||((_0x3ea446=_0x502a11[_0x2d153f(0x255)])===null||_0x3ea446===void 0x0?void 0x0:_0x3ea446[_0x2d153f(0x2d4)])||_0x502a11[_0x2d153f(0x28e)][_0x2d153f(0x226)](),_0x535fe6='['+_0x129e76+']('+_0x58e4e3+')';_0x4d4171['$input'][_0x2d153f(0x2c6)](_0x535fe6),_0x4d4171[_0x2d153f(0x2a7)][_0x2d153f(0x290)](_0x2d153f(0x222)),_0x4d4171[_0x2d153f(0x282)][_0x2d153f(0x2aa)]();}}),_0x4d4171[_0x32066f(0x21f)]['on']('click','li',function(_0x25651f){const _0x9d384a=_0x32066f;_0x25651f[_0x9d384a(0x2da)]();let _0x3a91aa=$(this);_0x753eb3(_0x3a91aa,_0x25651f)&&_0x26bf7e(_0x3a91aa),_0x1b8b11(_0x4d4171,_0x3a91aa);}),$(document)['on'](_0x32066f(0x2c8),function(_0xb66b4b){const _0x494420=_0x32066f;!$(_0xb66b4b[_0x494420(0x2b2)])[_0x494420(0x225)](_0x4d4171[_0x494420(0x296)])[_0x494420(0x289)]&&_0x4d4171[_0x494420(0x282)][_0x494420(0x2aa)]();});}});},_0x1ff060=()=>{const _0x14e4e5=_0x3f329f,_0x1e0151=$(_0x14e4e5(0x24c)),_0x1cc6d5=_0x1e0151[_0x14e4e5(0x2c6)](),_0x4c1ec7=RED[_0x14e4e5(0x202)][_0x14e4e5(0x254)](_0x1cc6d5);if(!_0x4c1ec7)return undefined;const {endpoint:_0xdd79,securityMode:_0x1285cc,securityPolicy:_0x406f09,userIdentityType:_0x1fc79d,credentials:_0x13a63f}=_0x4c1ec7,_0x3d29b4={'endpoint':_0xdd79,'securityMode':_0x1285cc,'securityPolicy':_0x406f09,'userIdentityType':_0x1fc79d,'credentials':_0x13a63f};return _0x3d29b4;},_0xb0abbf=()=>{return{'endpointNode':_0x365d6e};},_0x365d6e=()=>{const _0x276287=$('#node-input-endpoint'),_0x25a5bb=_0x276287['val'](),_0x1d1eca=_0x1ff060();if(!_0x1d1eca)return undefined;return{'id':_0x25a5bb};};RED[_0x3f329f(0x202)][_0x3f329f(0x23e)](_0x3f329f(0x233),{'category':_0x3f329f(0x269),'color':_0x3f329f(0x2cf),'align':_0x3f329f(0x26a),'icon':_0x3f329f(0x2a6),'paletteLabel':_0x3f329f(0x251),'defaults':{'inputs':{'value':0x1},'output':{'value':0x4},'name':{'value':''},'endpoint':{'value':'','required':!![],'type':_0x3f329f(0x2cc)},'historyReadParam':{'value':{'type':_0x3f329f(0x274),'endTime':'1m\x20ago','startTime':_0x3f329f(0x28c),'numValuesPerNode':0x64,'returnBounds':!![]},'required':!![],'validate':_0x24f9e9=>{if(_0x24f9e9==='')return![];return!![];}},'nodeId':{'value':'','required':![]},'outputType':{'value':'Value','required':!![]}},'outputs':0x2,'label'(){return this['name']||'OPCUA\x20Client\x20HistoryRead';},'labelStyle'(){const _0x4e57f1=_0x3f329f;return this[_0x4e57f1(0x2d4)]?_0x4e57f1(0x25b):'';},'oneditprepare'(){const _0x14ac85=_0x3f329f,_0x280777=this;_0x2f4ad4(),_0x280777[_0x14ac85(0x264)]=0x1;const _0x15cfa4=$('#node-input-nodeId');_0x15cfa4[_0x14ac85(0x220)](Object['assign'](Object[_0x14ac85(0x2c2)]({},_0xb0abbf()),{'isSelectable'(_0x45d1e2){const _0x37fac7=_0x14ac85;return _0x45d1e2[_0x37fac7(0x2d0)]===_0x37fac7(0x1fc);}})),$(_0x14ac85(0x216))[_0x14ac85(0x2c6)](_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x29a)]);switch(_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x29a)]){case'raw':$('#node-input-raw-startTime')[_0x14ac85(0x2c6)](_0x280777['historyReadParam']['startTime']),$('#node-input-raw-endTime')[_0x14ac85(0x2c6)](_0x280777['historyReadParam'][_0x14ac85(0x243)]),$(_0x14ac85(0x299))[_0x14ac85(0x2c6)](_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x224)]),$(_0x14ac85(0x22f))['prop']('checked',_0x280777[_0x14ac85(0x2cd)]['returnBounds']);break;case _0x14ac85(0x1f9):$(_0x14ac85(0x249))['val'](_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x2bd)]),$('#node-input-modified-endTime')[_0x14ac85(0x2c6)](_0x280777[_0x14ac85(0x2cd)]['endTime']),$('#node-input-modified-numValuesPerNode')['val'](_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x224)]),$('#node-input-modified-returnBounds')[_0x14ac85(0x283)](_0x14ac85(0x246),_0x280777[_0x14ac85(0x2cd)]['returnBounds']);break;case _0x14ac85(0x29d):_0x280777['historyReadParam'][_0x14ac85(0x1f1)]=_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x1f1)]||{},$(_0x14ac85(0x2bc))[_0x14ac85(0x2c6)](_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x2bd)]),$('#node-input-processed-details-endTime')['val'](_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x243)]),$(_0x14ac85(0x20d))[_0x14ac85(0x2c6)](_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x2a0)]),$('#node-input-processed-details-aggregateType')['val'](_0x280777['historyReadParam'][_0x14ac85(0x1f6)]),$(_0x14ac85(0x2c5))[_0x14ac85(0x283)](_0x14ac85(0x246),_0x280777[_0x14ac85(0x2cd)]['aggregateConfiguration'][_0x14ac85(0x2a1)]),$(_0x14ac85(0x2ab))[_0x14ac85(0x283)]('checked',_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x1f1)][_0x14ac85(0x273)]),$('#node-input-processed-details-aggregateConfiguration-percentDataBad')['val'](_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x1f1)][_0x14ac85(0x28d)]),$(_0x14ac85(0x275))[_0x14ac85(0x2c6)](_0x280777['historyReadParam'][_0x14ac85(0x1f1)][_0x14ac85(0x210)]),$(_0x14ac85(0x1fa))['prop'](_0x14ac85(0x246),_0x280777[_0x14ac85(0x2cd)][_0x14ac85(0x1f1)]['useSlopedExtrapolation']);break;}{function _0x2dc6be(){const _0x4450d3=_0x14ac85;$(_0x4450d3(0x293))[_0x4450d3(0x2aa)](),$(_0x4450d3(0x22b))['hide'](),$('#section-processed-details')[_0x4450d3(0x2aa)](),$(_0x4450d3(0x214))['hide'](),$(_0x4450d3(0x25a))[_0x4450d3(0x2aa)](),$(_0x4450d3(0x232))['hide']();}function _0x32eb1a(){const _0x573ef8=_0x14ac85;_0x2dc6be();var _0xc0d15=$('#select-history-type')['val']();$(_0x573ef8(0x217)+_0xc0d15)[_0x573ef8(0x29c)]();}$(_0x14ac85(0x216))['on'](_0x14ac85(0x222),_0x32eb1a),_0x32eb1a();}},'oneditsave'(){const _0x2b26f8=_0x3f329f,_0x187dad=_0x3f4ba8=>_0x3f4ba8['val']()==undefined?'':_0x3f4ba8[_0x2b26f8(0x2c6)]()[_0x2b26f8(0x226)](),_0x5c9381=_0x29bd10=>_0x29bd10['val']()==undefined?0x0:_0x29bd10[_0x2b26f8(0x2c6)](),_0x491e60=$(_0x2b26f8(0x216))[_0x2b26f8(0x2c6)]();switch(_0x491e60){case _0x2b26f8(0x274):this[_0x2b26f8(0x2cd)]={'type':_0x2b26f8(0x274),'startTime':_0x187dad($(_0x2b26f8(0x23c))),'endTime':_0x187dad($(_0x2b26f8(0x2b5))),'numValuesPerNode':_0x5c9381($(_0x2b26f8(0x299))),'returnBounds':$('#node-input-returnBounds')[_0x2b26f8(0x283)](_0x2b26f8(0x246))};break;case _0x2b26f8(0x1f9):this['historyReadParam']={'type':_0x2b26f8(0x1f9),'startTime':_0x187dad($(_0x2b26f8(0x249))),'endTime':_0x187dad($(_0x2b26f8(0x237))),'numValuesPerNode':_0x5c9381($(_0x2b26f8(0x245))),'returnBounds':$(_0x2b26f8(0x2d8))[_0x2b26f8(0x283)]('checked')};break;case _0x2b26f8(0x29d):this['historyReadParam']={'type':'processed-details','startTime':_0x187dad($(_0x2b26f8(0x2bc))),'endTime':_0x187dad($('#node-input-processed-details-endTime')),'processingInterval':_0x5c9381($(_0x2b26f8(0x20d))),'aggregateType':_0x187dad($('#node-input-processed-details-aggregateType')),'aggregateConfiguration':{'useServerCapabilitiesDefaults':$('#node-input-processed-details-aggregateConfiguration-useServerCapabilitiesDefaults')[_0x2b26f8(0x283)](_0x2b26f8(0x246)),'treatUncertainAsBad':$(_0x2b26f8(0x2ab))[_0x2b26f8(0x283)]('checked'),'percentDataBad':_0x5c9381($(_0x2b26f8(0x259))),'percentDataGood':_0x5c9381($(_0x2b26f8(0x275))),'useSlopedExtrapolation':$(_0x2b26f8(0x1fa))['prop'](_0x2b26f8(0x246))}};break;}}});}()));function _0x4118(_0x142d7f,_0x2c6997){const _0x1fcd80=_0x1fcd();return _0x4118=function(_0x4118d5,_0x2634b3){_0x4118d5=_0x4118d5-0x1f1;let _0x3f8821=_0x1fcd80[_0x4118d5];return _0x3f8821;},_0x4118(_0x142d7f,_0x2c6997);}function _0x1fcd(){const _0x5c76c8=['OpcUa-Client2-HistoryRead','NodeClass','DarkOrange','Good','#node-input-modified-endTime','filter','ns=0;i=61','fetching\x20failed\x20with\x20error','statusText','#node-input-raw-startTime','BrowseName','registerType','text','append','</li>','Forward','endTime','references','#node-input-modified-numValuesPerNode','checked','input-group','ReferenceType','#node-input-modified-startTime','65494GqAhSX','expandable','#node-input-endpoint','ns=0;i=35','i=61','<li\x20key=\x22','already\x20fetched','read-history','data','$verifyBtn','node','browseName','position','<div/>','left','#node-input-processed-details-aggregateConfiguration-percentDataBad','#section-annotation-data','node_label_italic','Object',';\x22></i>\x20','TypeDefinition','/checkNodeId','SteelBlue','toggleClass','Both','endpoint','inputs','POST','toggle','SuppressedError','top','opcua','right','rgba(61,\x2060,\x204,\x200.525)','resolveParentNode','Inverse','8bCjPlU','HasChild','currentParent','status','verify','treatUncertainAsBad','raw','#node-input-processed-details-aggregateConfiguration-percentDataGood','failure','statusCode','SandyBrown','li\x20>\x20.tree-text','json','dblclick','2143477mNYGbk','fa-object-group','element','DataType','application/json','fetched','$dropdown','prop','log','SeaGreen','call','find','pageX','length','fa-list-alt','CadetBlue','11m\x20ago','percentDataBad','nodeId','Invalid','trigger','Unspecified','ns=0;i=45','#section-raw','height','displayName','$combo',':first','isTypeRef','#node-input-raw-numValuesPerNode','type','opc.tcp://opcuademo.sterfive.com:26543','show','processed-details','Method','attr','processingInterval','useServerCapabilitiesDefaults','HasProperty','enter\x20a\x20nodeId\x20or\x20a\x20browsePath\x20','HasSubtype','fa-cog','../../icons/opcuanodeLogo.png','$input','endpointNode','nodeIds','hide','#node-input-processed-details-aggregateConfiguration-treatUncertainAsBad','error','reset','message','$info','270378CYdxIE','nodeAddressString','target','fa-text-width','VariableType','#node-input-raw-endTime','DisplayName','<div\x20class=\x22info-text\x22></div>','browseResult','/browse','132DIlLlN','fa-question','#node-input-processed-details-startTime','startTime','expanded','43467lGwnow','Organizes','ns=0;i=85','assign','referenceTypeId','$toggleTreeBtn','#node-input-processed-details-aggregateConfiguration-useServerCapabilitiesDefaults','val','<li>error\x20','click','14aFGKzC','HasComponent','sterfive-info','OpcUa-Endpoint2','historyReadParam','placeholder','#C0DEED','nodeClass','stringify','2085FxAmGc','remove','name','HasTypeDefinition','$inputGroup','parentNode','#node-input-modified-returnBounds','reference','stopPropagation','aggregateConfiguration','DodgerBlue','.spinner','baseUrl','/opcua-endpoint2','aggregateType','__parentNode','removeClass','modified','#node-input-processed-details-aggregateConfiguration-useSlopedExtrapolation','183404ELVkTC','Variable','sterfive-dropdown','done','fa-sliders','replaceWith','err','nodes','<button><i\x20class=\x22fa\x20fa-sitemap\x22></i></button>','pageY','addClass','function','match','hasClass','ns=0;i=40','IsForward','ns=0;i=47','empty','#node-input-processed-details-processingInterval','then','sterfive.nodeBrowser','percentDataGood','><i\x20class=\x22fa\x20','!!failure!!','.tree-text:first','#section-at-time','options','#select-history-type','#section-','ns=0;i=46','already\x20loading','fa-folder','<div\x20class=\x22spinner\x22></div>','selected','<li><i\x20class=\x22fa\x20fa-error\x22\x20style=\x22color:red;\x22></i>no\x20reference\x20!<ul></ul></li>','26330uzlxjm','$tree','nodeBrowser','View','change','expandable\x20expanded','numValuesPerNode','closest','toString','\x22}><span\x20class=\x22tree-text\x22\x20title=','next','ObjectType','Objects','#section-modified','value','typeDefinition','loading','#node-input-returnBounds','</span><ul></ul></li>','children','#section-event'];_0x1fcd=function(){return _0x5c76c8;};return _0x1fcd();}
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg0NTI0ZDMiLCJfMHgzMDZmMmMiLCJfMHgxYzA1MmYiLCJfMHhhMjExODUiLCJfMHgzNDdkOTAiLCJfMHgxNTcyM2UiLCJfMHgzODZiNGEiLCJfMHgyYTYxZTUiLCJQcm9taXNlIiwiXzB4ZGYxZmQ4IiwiXzB4MTU4MjUxIiwiXzB4NWM3MGMxIiwiXzB4MjAzOWMwIiwiXzB4M2RiMjIwIiwiXzB4YzI2N2FmIiwiXzB4NTQwNGU0IiwiXzB4MmI1MjdkIiwiXzB4MTA4NDVlIiwiXzB4MTY3YTI5IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4M2E4YzRiIiwiXzB4NDA2YWZiIiwiXzB4NTcxYWQ2IiwiXzB4NGUwYzJhIiwiRXJyb3IiLCJfMHgxNTQzOGEiLCJfMHg3NjRmM2UiLCJfMHgzMTdjYjgiLCJfMHhhYmMyMDkiLCJfMHgxNGNmZTgiLCJfMHhmY2Q2MzAiLCJfMHg1ZTE3ZGMiLCJfMHg1NzczNWMiLCJfMHgyYWQyNmUiLCJfMHhmZGMxYWQiLCJfMHhhMGNiYzMiLCJfMHg1ZWRmYjkiLCJfMHg1NDg5MTAiLCJfMHgxMTE3NTQiLCJfMHg1NTg2MGMiLCJfMHgyMWU1YmQiLCJfMHg0NDcyZDkiLCJfMHgyODljODUiLCJfMHgxODYzMmEiLCJfMHgxOTk2YmMiLCJfMHgxN2QzOGMiLCJfMHgyNGM5NGIiLCJfMHhmNDM3ODAiLCJlbmRwb2ludE5vZGUiLCJfMHgzZmQxNTUiLCJlbmRwb2ludCIsIl8weDQwZTMwZCIsImJhc2VVcmwiLCJfMHg1NzYyODYiLCJfMHhlNmI5YjAiLCJfMHgzYTIzMjgiLCJfMHgzODI0YzYiLCJfMHg0MzkyZDciLCJfMHg0ZmU0NGIiLCJPYmplY3QiLCJfMHg1YjE3ZmEiLCJmZXRjaCIsIkpTT04iLCJjb25zb2xlIiwiXzB4NTdmZTAyIiwiXzB4MTk2ZmUwIiwiXzB4MWM2NDc4IiwiXzB4NWY1NmE0IiwiXzB4M2Q4Yzg5IiwiXzB4MjE1YzZmIiwiXzB4NTRhYzc1IiwiXzB4MzJjNDE1IiwiXzB4NDA1OTZlIiwiXzB4MjVhZDBlIiwibm9kZUlkIiwiXzB4MjAwNjc5Iiwicm9vdE5vZGVJZCIsIl8weDViODNiYiIsImlzVHlwZSIsIl8weDI4M2MzZCIsIl8weDExNDBlOSIsIl8weDVhNjIwYyIsIl8weDM0MDliYiIsIl8weDUyZTBhYiIsIl8weDFmMjVhZiIsIl8weDM3ZjgzZiIsIl8weDE1ZmNlMSIsIl8weDRlMDU1MSIsIl8weDUwZjIyYSIsIl8weDRkZGMxYSIsIl8weDRmZWMyZSIsIl8weDJkZWUwNSIsIl8weGVhNDA5YiIsIl8weDQxMDE2MSIsIl8weDhkOGZmIiwiXzB4MTRhYjExIiwiXzB4MzZkOTJiIiwiXzB4OGY0ODFhIiwiXzB4NGY0YTQzIiwiXzB4MThlOTljIiwic2V0VGltZW91dCIsIl8weDNhY2Q4OSIsIl8weDJhZmJkNyIsIl8weDMzNTEwNSIsIl8weGQ5NDQ3YyIsIl8weDFjMDQ2ZiIsIl8weDQ0MzFjYyIsIl8weDM1ZjcxNyIsIl8weDQ3MTc0NiIsIl8weDQ4ZGYyNyIsIl8weDQ4ODhkYSIsIl8weDEyMTAwOSIsIl8weDE4ZWQ0NSIsIl8weDU4Njg1ZSIsIl8weGViYTA4MCIsIl8weDMwOWY3OCIsIl8weDRmZWY4MSIsIl8weDU2MzZmZCIsIl8weDI4MzE4YSIsIl8weDNmMGIwYyIsIl8weDFkMzYxMSIsIiQiLCJfMHgyZmU1ZmYiLCJfMHgzNjMyYjYiLCJpY29uIiwiXzB4MWJjODVkIiwiY29sb3IiLCJfMHgzYTUzZDkiLCJfMHgzZGI4MWMiLCJfMHg1YWUxMDMiLCJfMHgxNDE4MWIiLCJfMHg1ZjNmNWIiLCJfMHgyYjBlMmQiLCJfMHgxYjhiMTEiLCJfMHgxZGIxMWIiLCJfMHgyNTgzODYiLCJfMHgyODhiMGYiLCJfMHg4ZmU0ZTciLCJfMHg0OGI2YjkiLCJfMHg0ZjRjMGMiLCJfMHhiOWQzNDAiLCJfMHgxMDMzYzAiLCJfMHgyNGQ3MjYiLCJfMHgxM2EzZDEiLCJfMHgyYjllMWQiLCJfMHg0ZjBmMmQiLCJfMHg1NWNhMWYiLCJfMHgyMmYxM2MiLCJfMHg0Zjc5MGYiLCJfMHg0YzkwNWEiLCJ1bmRlZmluZWQiLCJfMHg1MDRjMjkiLCJfMHg1ZTcyNjMiLCJfMHg3OTE1NTUiLCJfMHg1ZDdlN2UiLCJfMHgyNWQ4ZDciLCJfMHgzZTQ3MTYiLCJfMHgyZjE5NjciLCJfMHg0NGNiZmEiLCJfMHgxYjcyZDMiLCJfMHgzYjY0MzAiLCJfMHgxYWNlM2YiLCJfMHgxNDBmNzMiLCJfMHg0NDRiOTAiLCJfMHhlMzEyZmMiLCJyZWZlcmVuY2VzIiwiXzB4MjU5YmUwIiwiXzB4MjY4ZWJkIiwiXzB4MWIzOTJlIiwiXzB4YWI5NDI4IiwiXzB4NTExMDFiIiwiXzB4NDUzOWMzIiwiXzB4NDU1NTAwIiwiXzB4NDg3MTZhIiwiXzB4MmUyYTcwIiwiXzB4ZDhlNDc5IiwiXzB4NDQ0YTQ1IiwiXzB4MmY0YWQ0IiwiXzB4MmI2Y2I3IiwiXzB4NTYwYWNhIiwiXzB4NGY1YTQ1IiwiXzB4MzkzMDI3IiwiXzB4MTM3NjJhIiwiXzB4MTNhMDg4IiwiXzB4NWYwNWI4IiwiXzB4MTFmZGExIiwiXzB4YzFkYzE5IiwiXzB4NGQ0MTcxIiwiXzB4NjdkMjgzIiwiXzB4MzQ1NThjIiwiXzB4MWFiNzBiIiwiXzB4NzUzZWIzIiwiXzB4MTliMTE3IiwiXzB4NTdjZmI1IiwiXzB4MWI2OGUyIiwiXzB4MjM3ZjgyIiwiXzB4MTJhMzYyIiwiXzB4NDRiYjJkIiwiXzB4MjZiZjdlIiwiXzB4YzkyMWIyIiwiXzB4MzA0NmIiLCJfMHgxMTk3NDQiLCJfMHgzZWE0NDYiLCJfMHgxOGExOGYiLCJfMHg1OGU0ZTMiLCJfMHg1MDJhMTEiLCJfMHgxMjllNzYiLCJfMHg1MzVmZTYiLCJfMHgyNTY1MWYiLCJfMHgzYTkxYWEiLCJkb2N1bWVudCIsIl8weGI2NmI0YiIsIl8weDFmZjA2MCIsIl8weDFlMDE1MSIsIl8weDFjYzZkNSIsIl8weDRjMWVjNyIsIlJFRCIsIl8weGRkNzkiLCJzZWN1cml0eU1vZGUiLCJfMHgxMjg1Y2MiLCJzZWN1cml0eVBvbGljeSIsIl8weDQwNmYwOSIsInVzZXJJZGVudGl0eVR5cGUiLCJfMHgxZmM3OWQiLCJjcmVkZW50aWFscyIsIl8weDEzYTYzZiIsIl8weDNkMjliNCIsIl8weGIwYWJiZiIsIl8weDM2NWQ2ZSIsIl8weDI3NjI4NyIsIl8weDI1YTViYiIsIl8weDFkMWVjYSIsIl8weDI0ZjllOSIsIl8weDI4MDc3NyIsIl8weDE1Y2ZhNCIsIl8weDQ1ZDFlMiIsIl8weDJkYzZiZSIsIl8weDMyZWIxYSIsIl8weGMwZDE1IiwiXzB4MTg3ZGFkIiwiXzB4M2Y0YmE4IiwiXzB4NWM5MzgxIiwiXzB4MjliZDEwIiwiXzB4NDkxZTYwIl0sIm1hcHBpbmdzIjoiMGtCQUFBLENBQUMsVSxDQUNHLGEsd0JBbUJBLFNBQVNBLFNBQVQsQ0FBbUJDLFNBQW5CLENBQTRCQyxTQUE1QixDQUF3Q0MsU0FBeEMsQ0FBMkNDLFNBQTNDLEMsQ0FDSSxTQUFTQyxTQUFULENBQWVDLFNBQWYsQyxRQUErQkEsU0FBQSxZQUFpQkgsU0FBakIsQ0FBcUJHLFNBQXJCLENBQTZCLElBQUlILFNBQUosQ0FBTSxTQUFVSSxTQUFWLEMsQ0FBcUJBLFNBQUEsQ0FBUUQsU0FBUixDLEVBQTNCLEMsU0FDckQsR0FBSyxDQUFBSCxTQUFBLEVBQU0sQ0FBQUEsU0FBQSxDQUFJSyxPQUFKLENBQU4sQ0FBTCxDQUF5QixTQUFVQyxTQUFWLENBQW1CQyxTQUFuQixDLHlCQUM1QixTQUFTQyxTQUFULENBQW1CQyxTQUFuQixDLENBQTRCLEcsQ0FBTUMsU0FBQSxDQUFLVCxTQUFBLEMsTUFBQSxFQUFlUSxTQUFmLENBQUwsQyxFQUErQixNQUFPRSxTQUFQLEMsQ0FBWUosU0FBQSxDQUFPSSxTQUFQLEMsR0FDN0UsU0FBU0MsU0FBVCxDQUFrQkMsU0FBbEIsQyxDQUEyQixHLENBQU1ILFNBQUEsQ0FBS1QsU0FBQSxDLE9BQUEsRUFBbUJZLFNBQW5CLENBQUwsQyxFQUFtQyxNQUFPQyxTQUFQLEMsQ0FBWVAsU0FBQSxDQUFPTyxTQUFQLEMsR0FDaEYsU0FBU0osU0FBVCxDQUFjSyxTQUFkLEMseUJBQXdCQSxTQUFBLEMsZ0JBQUEsRUFBY1QsU0FB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Q0FBY3hILENBQUEsQyxnQkFBQSxDQUFkLENBSkEsQyxlQUtwQixDQUFlc0gsU0FBQSxDQUFZdEgsQ0FBQSxDLDZDQUFBLENBQVosQ0FMSyxDLHdCQU1wQixDQUF3QixDLCtCQUNwQixDQUErQkEsQ0FBQSxDLG9GQUFBLEUsZ0JBQUEsRSxnQkFBQSxDQURYLEMscUJBRXBCLENBQXFCQSxDQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLFNBQUEsQ0FGRCxDLGdCQUdwQixDQUFnQndILFNBQUEsQ0FBY3hILENBQUEsQyxnQkFBQSxDQUFkLENBSEksQyxpQkFJcEIsQ0FBaUJ3SCxTQUFBLENBQWN4SCxDQUFBLEMsZ0JBQUEsQ0FBZCxDQUpHLEMsd0JBS3BCLENBQXdCQSxDQUFBLEMsZ0JBQUEsRSxNQUFBLEUsZ0JBQUEsQ0FMSixDQU5KLENBQXhCLENBY0EsTUFsQ1IsQyxDQXBHNEMsQ0FBcEQsQyxFQXhtQkosRyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiAoKSB7XG4gICAgJ3VzZSBzdHJpY3QnO1xuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uXHJcblxyXG4gICAgUGVybWlzc2lvbiB0byB1c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZSBmb3IgYW55XHJcbiAgICBwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuXHJcblxyXG4gICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxyXG4gICAgUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXHJcbiAgICBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXHJcbiAgICBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cclxuICAgIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXHJcbiAgICBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXHJcbiAgICBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxyXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuICAgIC8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCAqL1xyXG5cclxuXHJcbiAgICBmdW5jdGlvbiBfX2F3YWl0ZXIodGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XHJcbiAgICAgICAgZnVuY3Rpb24gYWRvcHQodmFsdWUpIHsgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgUCA/IHZhbHVlIDogbmV3IFAoZnVuY3Rpb24gKHJlc29sdmUpIHsgcmVzb2x2ZSh2YWx1ZSk7IH0pOyB9XHJcbiAgICAgICAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIGZ1bGZpbGxlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvci5uZXh0KHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XHJcbiAgICAgICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcclxuICAgICAgICB2YXIgZSA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICByZXR1cm4gZS5uYW1lID0gXCJTdXBwcmVzc2VkRXJyb3JcIiwgZS5lcnJvciA9IGVycm9yLCBlLnN1cHByZXNzZWQgPSBzdXBwcmVzc2VkLCBlO1xyXG4gICAgfTtcblxuICAgIGNvbnN0IE9yZ2FuaXplc1JlZk5vZGVJZCA9IFwibnM9MDtpPTM1XCI7XG4gICAgY29uc3QgRm9sZGVyVHlwZSA9IFwibnM9MDtpPTYxXCI7XG4gICAgY29uc3QgSGFzQ29tcG9uZW50UmVmTm9kZUlkID0gXCJucz0wO2k9NDdcIjtcbiAgICBjb25zdCBIYXNQcm9wZXJ0eVJlZk5vZGVJZCA9IFwibnM9MDtpPTQ2XCI7XG4gICAgY29uc3QgSGFzQ2hpbGRSZWZOb2RlSWQgPSBcIm5zPTA7aT0zNFwiO1xuICAgIGNvbnN0IEhhc1N1YnR5cGVSZWZOb2RlSWQgPSBcIm5zPTA7aT00NVwiO1xuICAgIGNvbnN0IEhhc1R5cGVEZWZpbml0aW9uUmVmTm9kZUlkID0gXCJucz0wO2k9NDBcIjtcblxuICAgIHZhciBCcm93c2VEaXJlY3Rpb247XG4gICAgKGZ1bmN0aW9uIChCcm93c2VEaXJlY3Rpb24pIHtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkZvcndhcmRcIl0gPSAwXSA9IFwiRm9yd2FyZFwiO1xuICAgICAgICBCcm93c2VEaXJlY3Rpb25bQnJvd3NlRGlyZWN0aW9uW1wiSW52ZXJzZVwiXSA9IDFdID0gXCJJbnZlcnNlXCI7XG4gICAgICAgIEJyb3dzZURpcmVjdGlvbltCcm93c2VEaXJlY3Rpb25bXCJCb3RoXCJdID0gMl0gPSBcIkJvdGhcIjtcbiAgICAgICAgQnJvd3NlRGlyZWN0aW9uW0Jyb3dzZURpcmVjdGlvbltcIkludmFsaWRcIl0gPSAzXSA9IFwiSW52YWxpZFwiO1xuICAgIH0pKEJyb3dzZURpcmVjdGlvbiB8fCAoQnJvd3NlRGlyZWN0aW9uID0ge30pKTtcbiAgICB2YXIgTm9kZUNsYXNzO1xuICAgIChmdW5jdGlvbiAoTm9kZUNsYXNzKSB7XG4gICAgICAgIE5vZGVDbGFzc1tOb2RlQ2xhc3NbXCJVbnNwZWNpZmllZFwiXSA9IDBdID0gXCJVbnNwZWNpZmllZFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiT2JqZWN0XCJdID0gMV0gPSBcIk9iamVjdFwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk1ldGhvZFwiXSA9IDRdID0gXCJNZXRob2RcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIk9iamVjdFR5cGVcIl0gPSA4XSA9IFwiT2JqZWN0VHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIlJlZmVyZW5jZVR5cGVcIl0gPSAzMl0gPSBcIlJlZmVyZW5jZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzW05vZGVDbGFzc1tcIkRhdGFUeXBlXCJdID0gNjRdID0gXCJEYXRhVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NbTm9kZUNsYXNzW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3MgfHwgKE5vZGVDbGFzcyA9IHt9KSk7XG4gICAgdmFyIE5vZGVDbGFzc01hc2s7XG4gICAgKGZ1bmN0aW9uIChOb2RlQ2xhc3NNYXNrKSB7XG4gICAgICAgIE5vZGVDbGFzc01hc2tbTm9kZUNsYXNzTWFza1tcIk9iamVjdFwiXSA9IDFdID0gXCJPYmplY3RcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVcIl0gPSAyXSA9IFwiVmFyaWFibGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiTWV0aG9kXCJdID0gNF0gPSBcIk1ldGhvZFwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJPYmplY3RUeXBlXCJdID0gOF0gPSBcIk9iamVjdFR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmFyaWFibGVUeXBlXCJdID0gMTZdID0gXCJWYXJpYWJsZVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDMyXSA9IFwiUmVmZXJlbmNlVHlwZVwiO1xuICAgICAgICBOb2RlQ2xhc3NNYXNrW05vZGVDbGFzc01hc2tbXCJEYXRhVHlwZVwiXSA9IDY0XSA9IFwiRGF0YVR5cGVcIjtcbiAgICAgICAgTm9kZUNsYXNzTWFza1tOb2RlQ2xhc3NNYXNrW1wiVmlld1wiXSA9IDEyOF0gPSBcIlZpZXdcIjtcbiAgICB9KShOb2RlQ2xhc3NNYXNrIHx8IChOb2RlQ2xhc3NNYXNrID0ge30pKTtcbiAgICB2YXIgUmVzdWx0TWFzaztcbiAgICAoZnVuY3Rpb24gKFJlc3VsdE1hc2spIHtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiUmVmZXJlbmNlVHlwZVwiXSA9IDFdID0gXCJSZWZlcmVuY2VUeXBlXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIklzRm9yd2FyZFwiXSA9IDJdID0gXCJJc0ZvcndhcmRcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiTm9kZUNsYXNzXCJdID0gNF0gPSBcIk5vZGVDbGFzc1wiO1xuICAgICAgICBSZXN1bHRNYXNrW1Jlc3VsdE1hc2tbXCJCcm93c2VOYW1lXCJdID0gOF0gPSBcIkJyb3dzZU5hbWVcIjtcbiAgICAgICAgUmVzdWx0TWFza1tSZXN1bHRNYXNrW1wiRGlzcGxheU5hbWVcIl0gPSAxNl0gPSBcIkRpc3BsYXlOYW1lXCI7XG4gICAgICAgIFJlc3VsdE1hc2tbUmVzdWx0TWFza1tcIlR5cGVEZWZpbml0aW9uXCJdID0gMzJdID0gXCJUeXBlRGVmaW5pdGlvblwiO1xuICAgIH0pKFJlc3VsdE1hc2sgfHwgKFJlc3VsdE1hc2sgPSB7fSkpO1xuICAgIC8vICBjb25zdCBxID0gUmVmZXJlbmNlVHlwZUlkcy5Pcmdhbml6ZXM7XG4gICAgZnVuY3Rpb24gcmVzb2x2ZU5vZGVJZChub2RlSWRMaWtlKSB7XG4gICAgICAgIHN3aXRjaCAobm9kZUlkTGlrZSkge1xuICAgICAgICAgICAgY2FzZSBcIk9yZ2FuaXplc1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiBPcmdhbml6ZXNSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzUHJvcGVydHlcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzUHJvcGVydHlSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzQ29tcG9uZW50XCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc0NvbXBvbmVudFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNDaGlsZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiBIYXNDaGlsZFJlZk5vZGVJZDtcbiAgICAgICAgICAgIGNhc2UgXCJIYXNTdWJ0eXBlXCI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIEhhc1N1YnR5cGVSZWZOb2RlSWQ7XG4gICAgICAgICAgICBjYXNlIFwiSGFzVHlwZURlZmluaXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gSGFzVHlwZURlZmluaXRpb25SZWZOb2RlSWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBnZXRJY29uID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHJlZmVyZW5jZS5ub2RlQ2xhc3MpIHtcbiAgICAgICAgICAgIGNhc2UgXCJPYmplY3RcIjpcbiAgICAgICAgICAgICAgICBpZiAocmVmZXJlbmNlLnJlZmVyZW5jZVR5cGVJZCA9PT0gT3JnYW5pemVzUmVmTm9kZUlkKSA7XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS50eXBlRGVmaW5pdGlvbiA9PT0gRm9sZGVyVHlwZSB8fCByZWZlcmVuY2UucmVmZXJlbmNlVHlwZUlkID09PSBcImk9NjFcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWZvbGRlclwiLCBjb2xvcjogXCJyZ2JhKDYxLCA2MCwgNCwgMC41MjUpXCIgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgaWNvbjogXCJmYS1vYmplY3QtZ3JvdXBcIiwgY29sb3I6IFwiU2VhR3JlZW5cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIlZhcmlhYmxlXCI6XG4gICAgICAgICAgICAgICAgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc0NvbXBvbmVudFJlZk5vZGVJZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIlN0ZWVsQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHJlZmVyZW5jZS5yZWZlcmVuY2VUeXBlSWQgPT09IEhhc1Byb3BlcnR5UmVmTm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtbGlzdC1hbHRcIiwgY29sb3I6IFwiRG9kZ2VyQmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLWxpc3QtYWx0XCIsIGNvbG9yOiBcIkNhZGV0Qmx1ZVwiIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcIk1ldGhvZFwiOlxuICAgICAgICAgICAgICAgIHJldHVybiB7IGljb246IFwiZmEtY29nXCIsIGNvbG9yOiBcIlNhbmR5QnJvd25cIiB9O1xuICAgICAgICAgICAgY2FzZSBcIk9iamVjdFR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLW9iamVjdC1ncm91cFwiLCBjb2xvcjogXCJEYXJrT3JhbmdlXCIgfTtcbiAgICAgICAgICAgIGNhc2UgXCJWYXJpYWJsZVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXNsaWRlcnNcIiwgY29sb3I6IFwiRGFya09yYW5nZVwiIH07XG4gICAgICAgICAgICBjYXNlIFwiRGF0YVR5cGVcIjpcbiAgICAgICAgICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXRleHQtd2lkdGhcIiwgY29sb3I6IFwiQ2FkZXRCbHVlXCIgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uOiBcImZhLXF1ZXN0aW9uXCIsIGNvbG9yOiBcImdyZXlcIiB9O1xuICAgIH07XG5cbiAgICBjb25zdCBicm93c2UgPSAoX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIG5vZGVJZF8xLCB0ZW1wbGF0ZV8xXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCBub2RlSWQsIHRlbXBsYXRlKSB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSBgJHtiYXNlVXJsfS9vcGN1YS1lbmRwb2ludDJgO1xuICAgICAgICBjb25zdCB1cmwgPSBgJHtyb290fS9icm93c2VgO1xuICAgICAgICBjb25zdCBicm93c2VEZXNjcmlwdGlvbiA9IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGVtcGxhdGUpLCB7IG5vZGVJZCwgcmVzdWx0TWFzazogNjMgfSk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50LFxuICAgICAgICAgICAgICAgIGJyb3dzZURlc2NyaXB0aW9uLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJmZXRjaGluZyBmYWlsZWQgd2l0aCBlcnJvclwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgICAgIHJldHVybiB7IHJlZmVyZW5jZXM6IFtdIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc29sZS5sb2coXCJicm93c2UgZmV0Y2hlZCA6IFwiLCBkYXRhLnN0YXR1cywgZGF0YS5zdGF0dXNUZXh0KTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IHJlc3BvbnNlLmJyb3dzZVJlc3VsdC5yZWZlcmVuY2VzIHx8IFtdO1xuICAgICAgICByZXR1cm4geyByZWZlcmVuY2VzIH07XG4gICAgfSk7XG5cbiAgICBjb25zdCB0ZW1wbGF0ZTEgPSB7XG4gICAgICAgIHJlZmVyZW5jZVR5cGVJZDogcmVzb2x2ZU5vZGVJZChcIkhhc0NoaWxkXCIpLFxuICAgICAgICBpbmNsdWRlU3VidHlwZXM6IHRydWUsXG4gICAgICAgIGJyb3dzZURpcmVjdGlvbjogQnJvd3NlRGlyZWN0aW9uLkZvcndhcmQsXG4gICAgICAgIG5vZGVDbGFzc01hc2s6IE5vZGVDbGFzcy5WYXJpYWJsZSB8IE5vZGVDbGFzcy5PYmplY3QgfCBOb2RlQ2xhc3MuTWV0aG9kLFxuICAgICAgICAvLyAgTm9kZUNsYXNzLk9iamVjdFR5cGUgfFxuICAgICAgICAvLyAgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSB8XG4gICAgICAgIC8vIE5vZGVDbGFzcy5SZWZlcmVuY2VUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLkRhdGFUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlZpZXcsXG4gICAgICAgIHJlc3VsdE1hc2s6IDYzLFxuICAgIH07XG4gICAgY29uc3QgdGVtcGxhdGUyID0ge1xuICAgICAgICByZWZlcmVuY2VUeXBlSWQ6IHJlc29sdmVOb2RlSWQoXCJPcmdhbml6ZXNcIiksXG4gICAgICAgIGluY2x1ZGVTdWJ0eXBlczogdHJ1ZSxcbiAgICAgICAgYnJvd3NlRGlyZWN0aW9uOiBCcm93c2VEaXJlY3Rpb24uRm9yd2FyZCxcbiAgICAgICAgbm9kZUNsYXNzTWFzazogTm9kZUNsYXNzLlZhcmlhYmxlIHwgTm9kZUNsYXNzLk9iamVjdCB8IE5vZGVDbGFzcy5NZXRob2QsXG4gICAgICAgIC8vICBOb2RlQ2xhc3MuT2JqZWN0VHlwZSB8XG4gICAgICAgIC8vICBOb2RlQ2xhc3MuVmFyaWFibGVUeXBlIHxcbiAgICAgICAgLy8gTm9kZUNsYXNzLlJlZmVyZW5jZVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuRGF0YVR5cGUgfFxuICAgICAgICAvLyBOb2RlQ2xhc3MuVmlldyxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBjb25zdCB3YWxrQmFja3dhcmQgPSAoX2EsIF9iKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsIF9iXSwgdm9pZCAwLCBmdW5jdGlvbiogKHsgZW5kcG9pbnROb2RlLCBlbmRwb2ludCwgYmFzZVVybCB9LCB7IG5vZGVJZCwgcm9vdE5vZGVJZCwgaXNUeXBlIH0pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWVuZHBvaW50MmA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L3dhbGstYmFja3dhcmRgO1xuICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZSxcbiAgICAgICAgICAgICAgICBlbmRwb2ludCxcbiAgICAgICAgICAgICAgICBub2RlSWQsXG4gICAgICAgICAgICAgICAgcm9vdE5vZGVJZCxcbiAgICAgICAgICAgICAgICBpc1R5cGUsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBqc29uID0gKHlpZWxkIGRhdGEuanNvbigpKTtcbiAgICAgICAgcmV0dXJuIGpzb24uYnJvd3NlUGF0aDtcbiAgICB9KTtcbiAgICBjb25zdCBpbnRlcm5hbFZlcmlmeSA9IChfYSwgJGlucHV0RWxlbWVudF8xLCAkaW5mb18xKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCBbX2EsICRpbnB1dEVsZW1lbnRfMSwgJGluZm9fMV0sIHZvaWQgMCwgZnVuY3Rpb24qICh7IGVuZHBvaW50Tm9kZSwgZW5kcG9pbnQsIGJhc2VVcmwgfSwgJGlucHV0RWxlbWVudCwgJGluZm8pIHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IGAke2Jhc2VVcmx9L29wY3VhLWVuZHBvaW50MmA7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2NoZWNrTm9kZUlkYDtcbiAgICAgICAgY29uc3Qgbm9kZUlkID0gJGlucHV0RWxlbWVudC52YWwoKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGUsXG4gICAgICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgbm9kZUlkLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBoZWFkZXJzOiB7IFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBzZXROb3RpZmljYXRpb24gPSAodGV4dCwgY2xhc3NOYW1lKSA9PiB7XG4gICAgICAgICAgICAkaW5mby50ZXh0KHRleHQpLmFkZENsYXNzKFwic3RlcmZpdmUtaW5mb1wiKS5hZGRDbGFzcyhjbGFzc05hbWUpO1xuICAgICAgICAgICAgJGluZm8uc2hvdygpO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgJGluZm8ucmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICAkaW5mby5oaWRlKCk7XG4gICAgICAgICAgICB9LCAzMDAwKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QganNvbiA9ICh5aWVsZCBkYXRhLmpzb24oKSk7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gMjAwKSB7XG4gICAgICAgICAgICAvLyBkbyBzb21ldGhpbmc7XG4gICAgICAgICAgICBzZXROb3RpZmljYXRpb24oXCIhIWZhaWx1cmUhIVwiICsgbm9kZUlkLCBcImZhaWx1cmVcIik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoanNvbi5zdGF0dXNDb2RlLm1hdGNoKC9Hb29kLykpIHtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnZhbChqc29uLm5vZGVBZGRyZXNzU3RyaW5nKTtcbiAgICAgICAgICAgICAgICAkaW5wdXRFbGVtZW50LnRyaWdnZXIoXCJjaGFuZ2VcIik7XG4gICAgICAgICAgICAgICAgc2V0Tm90aWZpY2F0aW9uKFwiR29vZFwiLCBcIm9rXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgJGlucHV0RWxlbWVudC52YWwoYCR7bm9kZUlkfWApO1xuICAgICAgICAgICAgICAgIHNldE5vdGlmaWNhdGlvbihgJHtqc29uLnN0YXR1c0NvZGV9ICR7ZGF0YS5zdGF0dXNUZXh0fWAsIFwiZmFpbHVyZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGZldGNoQ2hpbGRyZW4oJG5vZGUsIGRhdGEpIHtcbiAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGVJZCA9ICRub2RlLmRhdGEoXCJ2YWx1ZVwiKTtcbiAgICAgICAgICAgIGNvbnN0IGJyb3dzZVJlc3VsdDEgPSB5aWVsZCBicm93c2UoZGF0YSwgbm9kZUlkLCB0ZW1wbGF0ZTEpO1xuICAgICAgICAgICAgY29uc3QgYnJvd3NlUmVzdWx0MiA9IHlpZWxkIGJyb3dzZShkYXRhLCBub2RlSWQsIHRlbXBsYXRlMik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZmVyZW5jZXM6IFsuLi5icm93c2VSZXN1bHQxLnJlZmVyZW5jZXMsIC4uLmJyb3dzZVJlc3VsdDIucmVmZXJlbmNlc10sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgdGVtcGxhdGVTVCA9IHtcbiAgICAgICAgcmVmZXJlbmNlVHlwZUlkOiByZXNvbHZlTm9kZUlkKFwiSGFzU3VidHlwZVwiKSxcbiAgICAgICAgaW5jbHVkZVN1YnR5cGVzOiB0cnVlLFxuICAgICAgICBicm93c2VEaXJlY3Rpb246IEJyb3dzZURpcmVjdGlvbi5Gb3J3YXJkLFxuICAgICAgICBub2RlQ2xhc3NNYXNrOiBOb2RlQ2xhc3MuUmVmZXJlbmNlVHlwZSB8IE5vZGVDbGFzcy5PYmplY3RUeXBlIHwgTm9kZUNsYXNzLkRhdGFUeXBlIHwgTm9kZUNsYXNzLlZhcmlhYmxlVHlwZSxcbiAgICAgICAgcmVzdWx0TWFzazogNjMsXG4gICAgfTtcbiAgICBmdW5jdGlvbiBmZXRjaFN1YnR5cGVzKCRub2RlLCBkYXRhKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlSWQgPSAkbm9kZS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICBjb25zdCBicm93c2VSZXN1bHQxID0geWllbGQgYnJvd3NlKGRhdGEsIG5vZGVJZCwgdGVtcGxhdGVTVCk7XG4gICAgICAgICAgICByZXR1cm4gYnJvd3NlUmVzdWx0MTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IG1ha2VFbGVtZW50ID0gKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYywgX2Q7XG4gICAgICAgIGlmICghcmVmZXJlbmNlIHx8ICFyZWZlcmVuY2Uubm9kZUlkKSB7XG4gICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9ICQoYDxsaT48aSBjbGFzcz1cImZhIGZhLWVycm9yXCIgc3R5bGU9XCJjb2xvcjpyZWQ7XCI+PC9pPm5vIHJlZmVyZW5jZSAhPHVsPjwvdWw+PC9saT5gKTtcbiAgICAgICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuID0gcmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpO1xuICAgICAgICBjb25zdCB0ID0gKChfYSA9IHJlZmVyZW5jZS5kaXNwbGF5TmFtZSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLnRleHQpIHx8ICgoX2IgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm5hbWUpIHx8IHJlZmVyZW5jZS5ub2RlSWQudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3QgeyBpY29uLCBjb2xvciB9ID0gZ2V0SWNvbihyZWZlcmVuY2UpO1xuICAgICAgICBjb25zdCB0aXRsZSA9IGAoJHtyZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCl9KSAkeygoX2MgPSByZWZlcmVuY2UuYnJvd3NlTmFtZSkgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLm5hbWUpIHx8ICgoX2QgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9kID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfZC50ZXh0KSB8fCBcIlwifWA7XG4gICAgICAgIGNvbnN0ICRlbGVtZW50ID0gJChgPGxpIGtleT1cIiR7cmVmZXJlbmNlLm5vZGVJZC50b1N0cmluZygpfVwifT48c3BhbiBjbGFzcz1cInRyZWUtdGV4dFwiIHRpdGxlPSR7dGl0bGV9PjxpIGNsYXNzPVwiZmEgJHtpY29ufVwiIHN0eWxlPVwiY29sb3I6JHtjb2xvcn07XCI+PC9pPiAke3R9PC9zcGFuPjx1bD48L3VsPjwvbGk+YCk7XG4gICAgICAgICRlbGVtZW50LmFkZENsYXNzKFwiZXhwYW5kYWJsZVwiKTtcbiAgICAgICAgJGVsZW1lbnQuZGF0YShcInZhbHVlXCIsIG4pO1xuICAgICAgICAkZWxlbWVudC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgIHJldHVybiAkZWxlbWVudDtcbiAgICB9O1xuICAgIGNvbnN0IGZpbmRFbGVtZW50ID0gKG5vZGVJZCwgJHRyZWUpID0+IHtcbiAgICAgICAgcmV0dXJuICR0cmVlLmZpbmQoYGxpW2tleT1cIiR7bm9kZUlkfVwiXWApO1xuICAgIH07XG4gICAgY29uc3Qgc2VsZWN0U2luZ2xlID0gKHRoYXQsICRsaSkgPT4ge1xuICAgICAgICB0aGF0LiR0cmVlLmZpbmQoXCJsaSA+IC50cmVlLXRleHRcIikucmVtb3ZlQ2xhc3MoXCJzZWxlY3RlZFwiKTtcbiAgICAgICAgLy8gY2xlYXIgYWxsIHNlbGVjdGVkIGl0ZW1zXG4gICAgICAgICRsaS5maW5kKFwiLnRyZWUtdGV4dDpmaXJzdFwiKS5hZGRDbGFzcyhcInNlbGVjdGVkXCIpO1xuICAgIH07XG4gICAgY29uc3QgYXV0b0V4cGFuZCA9ICh0aGF0LCBicm93c2VQYXRoLCAkdHJlZSkgPT4gX19hd2FpdGVyKHZvaWQgMCwgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgIC8vIGV4cGFuZCB0aGUgdHJlZSB0byBzaG93IHRoZSBub2RlSWRcbiAgICAgICAgbGV0ICRjdXJyZW50ID0gJHRyZWUuY2hpbGRyZW4oXCI6Zmlyc3RcIik7XG4gICAgICAgIGJyb3dzZVBhdGgucmVsYXRpdmVQYXRoLmVsZW1lbnRzIHx8IFtdO1xuICAgICAgICBjb25zdCBub2RlSWRzID0gYnJvd3NlUGF0aC5ub2RlSWRzIHx8IFtdO1xuICAgICAgICBpZiAobm9kZUlkcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG4gb2Ygbm9kZUlkcykge1xuICAgICAgICAgICAgaWYgKCRjdXJyZW50Lmhhc0NsYXNzKFwiZXhwYW5kYWJsZVwiKSkge1xuICAgICAgICAgICAgICAgIC8vIG5lZWQgdG8gZXhwYW5kIGFuZCBzZWxlY3QgdGhlIHJpZ2h0IGVsZW1lbnRcbiAgICAgICAgICAgICAgICB5aWVsZCBfZXhwYW5kTGkodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgJGVsZW1lbnQgPSBmaW5kRWxlbWVudChuLCAkY3VycmVudCk7XG4gICAgICAgICAgICBpZiAoJGVsZW1lbnQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJGN1cnJlbnQgPSAkZWxlbWVudDtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3RTaW5nbGUodGhhdCwgJGN1cnJlbnQpO1xuICAgICAgICBzY3JvbGxUb0xpKHRoYXQuJGRyb3Bkb3duLCAkY3VycmVudCk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gc2Nyb2xsVG9MaSgkY29udGFpbmVyLCAkdGFyZ2V0TGkpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBwb3NpdGlvbiBvZiB0aGUgdGFyZ2V0IGl0ZW0gcmVsYXRpdmUgdG8gaXRzIGNvbnRhaW5lclxuICAgICAgICBjb25zdCBsaVBvcyA9ICR0YXJnZXRMaS5wb3NpdGlvbigpLnRvcDtcbiAgICAgICAgLy8gR2V0IHRoZSBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbiBvZiB0aGUgY29udGFpbmVyXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lclNjcm9sbFRvcCA9ICRjb250YWluZXIuc2Nyb2xsVG9wKCk7XG4gICAgICAgIGlmIChjb250YWluZXJTY3JvbGxUb3AgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBwb3NpdGlvbiB0byBzY3JvbGwgdG8gKGN1cnJlbnQgc2Nyb2xsICsgaXRlbSdzIHBvc2l0aW9uKVxuICAgICAgICAvLyBBZGp1c3QgdGhpcyBjYWxjdWxhdGlvbiBiYXNlZCBvbiB5b3VyIG5lZWRzXG4gICAgICAgIGNvbnN0IHNjcm9sbFRvID0gY29udGFpbmVyU2Nyb2xsVG9wICsgbGlQb3MgLSAkY29udGFpbmVyLmhlaWdodCgpIC8gMiArICR0YXJnZXRMaS5oZWlnaHQoKSAvIDI7XG4gICAgICAgIC8vIFNjcm9sbCB0aGUgY29udGFpbmVyIHRvIGVuc3VyZSB0aGUgaXRlbSBpcyB2aXNpYmxlXG4gICAgICAgICRjb250YWluZXIuYW5pbWF0ZSh7XG4gICAgICAgICAgICBzY3JvbGxUb3A6IHNjcm9sbFRvLFxuICAgICAgICB9LCA1MDApOyAvLyBBZGp1c3QgdGhlIGR1cmF0aW9uICg1MDBtcykgYXMgbmVlZGVkXG4gICAgfVxuICAgIGNvbnN0IHJlYWNoU2VsZWN0aW9uID0gKHRoYXQsIHBhcmVudE5vZGUpID0+IF9fYXdhaXRlcih2b2lkIDAsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICBjb25zdCBub2RlSWQgPSB0aGF0LiRpbnB1dC52YWwoKTtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIG5vZGVJZCxcbiAgICAgICAgICAgIHJvb3ROb2RlSWQ6IHBhcmVudE5vZGUubm9kZUlkLFxuICAgICAgICAgICAgaXNUeXBlOiB0aGF0Lm9wdGlvbnMuaXNUeXBlUmVmIHx8IGZhbHNlLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgIGNvbnN0IGJyb3dzZVBhdGggPSB5aWVsZCB3YWxrQmFja3dhcmQoZGF0YSwgb3B0aW9ucyk7XG4gICAgICAgIGlmICghYnJvd3NlUGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHlpZWxkIGF1dG9FeHBhbmQodGhhdCwgYnJvd3NlUGF0aCwgdGhhdC4kdHJlZSk7XG4gICAgfSk7XG4gICAgZnVuY3Rpb24gX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJG5vZGUsIGZldGNoRnVuYywgZGF0YSkge1xuICAgICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgaWYgKCRub2RlLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiYWxyZWFkeSBmZXRjaGVkXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgkbm9kZS5oYXNDbGFzcyhcImxvYWRpbmdcIikpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImFscmVhZHkgbG9hZGluZ1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5hZGRDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgICAgICAkbm9kZS5hcHBlbmQoJzxkaXYgY2xhc3M9XCJzcGlubmVyXCI+PC9kaXY+Jyk7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuZW1wdHkoKTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlZmVyZW5jZXMgfSA9IHlpZWxkIGZldGNoRnVuYygkbm9kZSwgZGF0YSk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCByZWZlcmVuY2Ugb2YgcmVmZXJlbmNlcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhhdC5vcHRpb25zLmZpbHRlciAmJiAhdGhhdC5vcHRpb25zLmZpbHRlcihyZWZlcmVuY2UpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCAkZWxlbWVudCA9IG1ha2VFbGVtZW50KHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJG5vZGUuYWRkQ2xhc3MoXCJmZXRjaGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRub2RlLmNoaWxkcmVuKFwidWxcIikuYXBwZW5kKGA8bGk+ZXJyb3IgJHtlcnIubWVzc2FnZX08L2xpPmApO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZXJyXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbm9kZS5maW5kKFwiLnNwaW5uZXJcIikucmVtb3ZlKCk7XG4gICAgICAgICAgICAkbm9kZS5yZW1vdmVDbGFzcyhcImxvYWRpbmdcIik7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBtYWtlQ29ubmVjdGlvbih0aGF0KSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICBiYXNlVXJsOiB0aGF0Lm9wdGlvbnMuYmFzZVVybCxcbiAgICAgICAgICAgIGVuZHBvaW50Tm9kZTogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUoKSA6IHRoYXQub3B0aW9ucy5lbmRwb2ludE5vZGUsXG4gICAgICAgICAgICBlbmRwb2ludDogdHlwZW9mIHRoYXQub3B0aW9ucy5lbmRwb2ludCA9PT0gXCJmdW5jdGlvblwiID8gdGhhdC5vcHRpb25zLmVuZHBvaW50KCkgOiB0aGF0Lm9wdGlvbnMuZW5kcG9pbnQsXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgICBmdW5jdGlvbiBfZXhwYW5kTGkodGhhdCwgJGxpKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBpZiAoJGxpLmhhc0NsYXNzKFwiZmV0Y2hlZFwiKSkge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICAkbGkuY2hpbGRyZW4oXCJ1bFwiKS50b2dnbGUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBGZXRjaCBuZXcgZGF0YSBmb3IgdGhpcyBub2RlXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gbWFrZUNvbm5lY3Rpb24odGhhdCk7XG4gICAgICAgICAgICBjb25zdCBmID0gIXRoYXQub3B0aW9ucy5pc1R5cGVSZWYgPyBmZXRjaENoaWxkcmVuIDogZmV0Y2hTdWJ0eXBlcztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgeWllbGQgX2ZldGNoRGF0YUZvck5vZGUodGhhdCwgJGxpLCBmLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAvLyBtYXJrIGFzIGV4cGFuZGVkXG4gICAgICAgICAgICAgICAgJGxpLnJlbW92ZUNsYXNzKFwiZXhwYW5kYWJsZVwiKS5hZGRDbGFzcyhcImV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICRsaS5yZW1vdmVDbGFzcyhcImV4cGFuZGFibGVcIikuYWRkQ2xhc3MoXCJleHBhbmRlZFwiKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVycm9yXCIsIGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBkZWNsYXJlTm9kZUJyb3dzZXJXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBbIFRlbXBlcmF0dXJlICBdXG4gICAgICAgICAqICAgKCB0b29sdGlwIDogKC9PYmplY3RzL015U2Vuc29yKSAobnM9MTtzPVRlbXBlcmF0dXJlKSlcbiAgICAgICAgICogWyArIFtGb2xkZXJdIE9iamVjdHNdXG4gICAgICAgICAqIFsgICAgIFtPYmplY3RdIE15U2Vuc29yXVxuICAgICAgICAgKiBbICAgICAoICkgW1ZhcmlhYmxlXSBUZW1wZXJhdHVyZV1cbiAgICAgICAgICovXG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubm9kZUJyb3dzZXJcIiwge1xuICAgICAgICAgICAgLyogZGVmYXVsdCBvcHRpb25zICovXG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiAoKSA9PiAoeyBlbmRwb2ludDogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0M1wiIH0pLFxuICAgICAgICAgICAgICAgIGVuZHBvaW50OiAoKSA9PiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZTogKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgYnJvd3NlTmFtZTogeyBuYW1lc3BhY2VJbmRleDogMCwgbmFtZTogXCJPYmplY3RzXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgbm9kZUNsYXNzOiBcIk9iamVjdFwiLFxuICAgICAgICAgICAgICAgICAgICBub2RlSWQ6IFwibnM9MDtpPTg1XCIsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlOYW1lOiB7IHRleHQ6IFwiT2JqZWN0c1wiIH0sXG4gICAgICAgICAgICAgICAgICAgIHR5cGVEZWZpbml0aW9uOiBGb2xkZXJUeXBlLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGZpbHRlcjogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgICAgIGlzVHlwZVJlZjogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzb2x2ZVBhcmVudE5vZGUoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhhdC5fX3BhcmVudE5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB0eXBlb2YgdGhhdC5vcHRpb25zLnBhcmVudE5vZGUgPT09IFwiZnVuY3Rpb25cIiA/IHRoYXQub3B0aW9ucy5wYXJlbnROb2RlLmNhbGwodGhhdCkgOiB0aGF0Lm9wdGlvbnMucGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChhIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRlc2MgPSB5aWVsZCBhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gZGVzYztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuX19wYXJlbnROb2RlID0gYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhhdC5fX3BhcmVudE5vZGU7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzZXQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsc28gcmVzZXQgcGFyZW50IG5vZGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IHRoYXQ7XG4gICAgICAgICAgICAgICAgICAgIGEuX19wYXJlbnROb2RlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB0aGF0LiR0cmVlLmVtcHR5KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSB5aWVsZCB0aGlzLnJlc29sdmVQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0ICRlbGVtZW50ID0gbWFrZUVsZW1lbnQocGFyZW50Tm9kZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUuYXBwZW5kKCRlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC5jdXJyZW50UGFyZW50ID0gcGFyZW50Tm9kZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB2ZXJpZnkoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XG4gICAgICAgICAgICAgICAgLy8gRmV0Y2ggbmV3IGRhdGEgZm9yIHRoaXMgbm9kZVxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBtYWtlQ29ubmVjdGlvbih0aGF0KTtcbiAgICAgICAgICAgICAgICBpbnRlcm5hbFZlcmlmeShkYXRhLCB0aGF0LiRpbnB1dCwgdGhhdC4kaW5mbyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgX2NyZWF0ZSgpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dCA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgICAgICAgICB0aGF0LiRjb21ibyA9ICQoXCI8ZGl2Lz5cIik7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYWRkQ2xhc3MoXCJzdGVyZml2ZS1jb21iby1ib3hcIik7XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LnJlcGxhY2VXaXRoKHRoYXQuJGNvbWJvKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwID0gJChcIjxkaXYvPlwiKS5hZGRDbGFzcyhcImlucHV0LWdyb3VwXCIpO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRpbnB1dEdyb3VwKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dEdyb3VwLmFwcGVuZCh0aGF0LiRpbnB1dCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdG9nZ2xlVHJlZUJ0biA9ICQoYDxidXR0b24+PGkgY2xhc3M9XCJmYSBmYS1zaXRlbWFwXCI+PC9pPjwvYnV0dG9uPmApO1xuICAgICAgICAgICAgICAgIHRoYXQuJGlucHV0R3JvdXAuYXBwZW5kKHRoYXQuJHRvZ2dsZVRyZWVCdG4pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRvZ2dsZVRyZWVCdG4ub24oXCJjbGlja1wiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBwYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRkcm9wZG93bi5pcyhcIjp2aXNpYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5mby5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdHJlZSB3aWRnZXQgaXMgZ29pbmcgdG8gYmVjb21lIHZpc2libGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnROb2RlID0geWllbGQgdGhhdC5yZXNvbHZlUGFyZW50Tm9kZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXJlbnROb2RlICE9PSB0aGF0LmN1cnJlbnRQYXJlbnQgfHwgKChfYSA9IHRoYXQuY3VycmVudFBhcmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLm5vZGVJZCkgIT09IHBhcmVudE5vZGUubm9kZUlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoYXQucmVzZXQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZFRvUmVhY2hTZWxlY3Rpb24gPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kZHJvcGRvd24udG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBuZWVkVG9SZWFjaFNlbGVjdGlvbiAmJiAoeWllbGQgcmVhY2hTZWxlY3Rpb24odGhhdCwgcGFyZW50Tm9kZSkpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4gPSAkKGA8YnV0dG9uPjxpIGNsYXNzPVwiZmEgZmEtZmxhc2tcIj48L2k+PC9idXR0b24+YCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5wdXRHcm91cC5hcHBlbmQodGhhdC4kdmVyaWZ5QnRuKTtcbiAgICAgICAgICAgICAgICB0aGF0LiR2ZXJpZnlCdG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGF0LiRpbnB1dC5hdHRyKFwicGxhY2Vob2xkZXJcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQuYXR0cihcInBsYWNlaG9sZGVyXCIsIFwiZW50ZXIgYSBub2RlSWQgb3IgYSBicm93c2VQYXRoIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhhdC4kaW5mbyA9ICQoYDxkaXYgY2xhc3M9XCJpbmZvLXRleHRcIj48L2Rpdj5gKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRpbmZvLmhpZGUoKTtcbiAgICAgICAgICAgICAgICB0aGF0LiRkcm9wZG93biA9ICQoXCI8ZGl2Lz5cIikuYWRkQ2xhc3MoXCJzdGVyZml2ZS1kcm9wZG93blwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgdGhhdC4kY29tYm8uYXBwZW5kKHRoYXQuJGluZm8pO1xuICAgICAgICAgICAgICAgIHRoYXQuJGNvbWJvLmFwcGVuZCh0aGF0LiRkcm9wZG93bik7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZSA9ICQoYDx1bCBjbGFzcz1cInN0ZXJmaXZlLXRyZWVcIj48L3VsPmApLmFwcGVuZFRvKHRoYXQuJGRyb3Bkb3duKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNPbkxlZnRTaXplID0gKCRsaSwgZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYmVmb3JlV2lkdGggPSAyMDsgLy8gU2V0IHdpZHRoIG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJlZm9yZUhlaWdodCA9IDIwOyAvLyBTZXQgaGVpZ2h0IG9mIHRoZSA6OmJlZm9yZSBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRQb3MgPSAkbGkub2Zmc2V0KCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGUgPSBldmVudDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGUucGFnZVggPj0gZWxlbWVudFBvcy5sZWZ0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VYIDw9IGVsZW1lbnRQb3MubGVmdCArIGJlZm9yZVdpZHRoICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZID49IGVsZW1lbnRQb3MudG9wICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBlLnBhZ2VZIDw9IGVsZW1lbnRQb3MudG9wICsgYmVmb3JlSGVpZ2h0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCB0b2dnbGVFeHBhbnNpb24gPSAoJGxpKSA9PiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRhYmxlXCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBfZXhwYW5kTGkodGhhdCwgJGxpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICgkbGkuaGFzQ2xhc3MoXCJleHBhbmRlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVG9nZ2xlIGl0cyBleHBhbmRlZC9jb2xsYXBzZWQgc3RhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS5jaGlsZHJlbihcInVsXCIpLnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3dhcCBleHBhbmRhYmxlIGFuZCBleHBhbmRlZCBjbGFzc2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAkbGkudG9nZ2xlQ2xhc3MoXCJleHBhbmRhYmxlIGV4cGFuZGVkXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCRsaS5jaGlsZHJlbihcInVsXCIpLmNoaWxkcmVuKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJGxpLmNoaWxkcmVuKFwidWxcIikudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTd2FwIGV4cGFuZGFibGUgYW5kIGV4cGFuZGVkIGNsYXNzZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICRsaS50b2dnbGVDbGFzcyhcImV4cGFuZGFibGUgZXhwYW5kZWRcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdGhhdC4kdHJlZS5vbihcImRibGNsaWNrXCIsIFwibGlcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgJGxpID0gJCh0aGlzKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzT25MZWZ0U2l6ZSgkbGksIGV2ZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlRXhwYW5zaW9uKCRsaSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9ICRsaS5kYXRhKFwidmFsdWVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWZlcmVuY2UgPSAkbGkuZGF0YShcInJlZmVyZW5jZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlICYmICF0aGF0Lm9wdGlvbnMuaXNTZWxlY3RhYmxlKHJlZmVyZW5jZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC5kYXRhKFwicmVmZXJlbmNlXCIsIHJlZmVyZW5jZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXNwbGF5TmFtZSA9ICgoX2EgPSByZWZlcmVuY2UuZGlzcGxheU5hbWUpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS50ZXh0KSB8fCAoKF9iID0gcmVmZXJlbmNlLmJyb3dzZU5hbWUpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5uYW1lKSB8fCByZWZlcmVuY2Uubm9kZUlkLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnB1dCA9IGBbJHtkaXNwbGF5TmFtZX1dKCR7dmFsdWV9KWA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGF0LiRpbnB1dC52YWwoaW5wdXQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhhdC4kaW5wdXQudHJpZ2dlcihcImNoYW5nZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoYXQuJHRyZWUub24oXCJjbGlja1wiLCBcImxpXCIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0ICRsaSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc09uTGVmdFNpemUoJGxpLCBldmVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuc2lvbigkbGkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdFNpbmdsZSh0aGF0LCAkbGkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGNsaWNraW5nIG91dHNpZGUgdGhlIHBhZ2Ugd2lsbCBoaWRlIHRoZSBkcm9wZG93blxuICAgICAgICAgICAgICAgICAgICBpZiAoISQoZXZlbnQudGFyZ2V0KS5jbG9zZXN0KHRoYXQuJGNvbWJvKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQuJGRyb3Bkb3duLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGdldEVuZFBvaW50QXR0cmlidXRlcyA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgJGVuZHBvaW50ID0gJChcIiNub2RlLWlucHV0LWVuZHBvaW50XCIpO1xuICAgICAgICBjb25zdCBlbmRwb2ludElkID0gJGVuZHBvaW50LnZhbCgpO1xuICAgICAgICBjb25zdCByZWROb2RlID0gUkVELm5vZGVzLm5vZGUoZW5kcG9pbnRJZCk7XG4gICAgICAgIGlmICghcmVkTm9kZSlcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIC8vIGNvbnN0IGNyZWRlbnRpYWxzID0gUkVELihlbmRwb2ludElkKTtcbiAgICAgICAgLy8gd2UgbmVlZCB0byBzYW5pdGl6ZSBhbmQgZXh0cmFjdCB0aGUgZW5kcG9pbnQgYXR0cmlidXRlcyBvbmx5ICggbm90IHRoZSBub2RlLXJlZCBzdHVmZilcbiAgICAgICAgY29uc3QgeyBlbmRwb2ludCwgc2VjdXJpdHlNb2RlLCBzZWN1cml0eVBvbGljeSwgdXNlcklkZW50aXR5VHlwZSwgY3JlZGVudGlhbHMgfSA9IHJlZE5vZGU7XG4gICAgICAgIGNvbnN0IHJldFZhbHVlID0ge1xuICAgICAgICAgICAgZW5kcG9pbnQsXG4gICAgICAgICAgICBzZWN1cml0eU1vZGUsXG4gICAgICAgICAgICBzZWN1cml0eVBvbGljeSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGUsXG4gICAgICAgICAgICBjcmVkZW50aWFscyxcbiAgICAgICAgfTtcbiAgICAgICAgLy8geHggY29uc29sZS5sb2coXCJ4eHhcIiwgcmV0VmFsdWUpO1xuICAgICAgICByZXR1cm4gcmV0VmFsdWU7XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZW5kcG9pbnROb2RlOiBnZXRFbmRwb2ludFBhcmFtZXRlcnMsXG4gICAgICAgIH07XG4gICAgfTtcbiAgICBjb25zdCBnZXRFbmRwb2ludFBhcmFtZXRlcnMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0ICRlbmRwb2ludCA9ICQoXCIjbm9kZS1pbnB1dC1lbmRwb2ludFwiKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnRJZCA9ICRlbmRwb2ludC52YWwoKTtcbiAgICAgICAgY29uc3QgZW5kcG9pbnROciA9IGdldEVuZFBvaW50QXR0cmlidXRlcygpO1xuICAgICAgICBpZiAoIWVuZHBvaW50TnIpIHtcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiBlbmRwb2ludElkLFxuICAgICAgICAgICAgLy8gZW5kcG9pbnQ6IGVuZHBvaW50TnIuZW5kcG9pbnQsXG4gICAgICAgICAgICAvLyBzZWN1cml0eU1vZGU6IGVuZHBvaW50TnIuc2VjdXJpdHlNb2RlLFxuICAgICAgICAgICAgLy8gc2VjdXJpdHlQb2xpY3k6IGVuZHBvaW50TnIuc2VjdXJpdHlQb2xpY3ksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gdXNlcklkZW50aXR5VHlwZTogZW5kcG9pbnROci51c2VySWRlbnRpdHlUeXBlLFxuICAgICAgICAgICAgLy8gY3JlZGVudGlhbDogZW5kcG9pbnROci5jcmVkZW50aWFscyxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyB1c2VyTmFtZTogZW5kcG9pbnROci51c2VySWRlbnRpdHlUeXBlID09PSBcIlVzZXJOYW1lXCIgPyBlbmRwb2ludE5yLmNyZWRlbnRpYWxzLnVzZXJOYW1lIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgLy8gcGFzc3dvcmQ6IGVuZHBvaW50TnIudXNlcklkZW50aXR5VHlwZSA9PT0gXCJVc2VyTmFtZVwiID8gZW5kcG9pbnROci5jcmVkZW50aWFscy5wYXNzd29yZCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIC8vIHVzZXJDZXJ0aWZpY2F0ZTogZW5kcG9pbnROci5jcmVkZW50aWFscy51c2VyQ2VydGlmaWNhdGUsXG4gICAgICAgICAgICAvLyB1c2VyUHJpdmF0ZWtleTogZW5kcG9pbnROci5jcmVkZW50aWFscy51c2VyUHJpdmF0ZWtleSxcbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUNsaWVudDItSGlzdG9yeVJlYWRcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJvcGN1YVwiLFxuICAgICAgICBjb2xvcjogXCIjQzBERUVEXCIsXG4gICAgICAgIGFsaWduOiBcInJpZ2h0XCIsXG4gICAgICAgIGljb246IFwiLi4vLi4vaWNvbnMvb3BjdWFub2RlTG9nby5wbmdcIixcbiAgICAgICAgcGFsZXR0ZUxhYmVsOiBcInJlYWQtaGlzdG9yeVwiLFxuICAgICAgICBkZWZhdWx0czoge1xuICAgICAgICAgICAgaW5wdXRzOiB7IHZhbHVlOiAxIH0sXG4gICAgICAgICAgICBvdXRwdXQ6IHsgdmFsdWU6IDQgfSxcbiAgICAgICAgICAgIC8vIENvbW1vblxuICAgICAgICAgICAgbmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHsgdmFsdWU6IFwiXCIsIHJlcXVpcmVkOiB0cnVlLCB0eXBlOiBcIk9wY1VhLUVuZHBvaW50MlwiIH0sXG4gICAgICAgICAgICBoaXN0b3J5UmVhZFBhcmFtOiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJyYXdcIixcbiAgICAgICAgICAgICAgICAgICAgZW5kVGltZTogXCIxbSBhZ29cIixcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRUaW1lOiBcIjExbSBhZ29cIixcbiAgICAgICAgICAgICAgICAgICAgbnVtVmFsdWVzUGVyTm9kZTogMTAwLFxuICAgICAgICAgICAgICAgICAgICByZXR1cm5Cb3VuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogKHZhbCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsID09PSBcIlwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIGZvciBhY3Rpb24gcmVhZCBIaXN0b3J5XG4gICAgICAgICAgICBub2RlSWQ6IHsgdmFsdWU6IFwiXCIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgb3V0cHV0VHlwZTogeyB2YWx1ZTogXCJWYWx1ZVwiLCByZXF1aXJlZDogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgICAvLyBpbnB1dHM6LFxuICAgICAgICBvdXRwdXRzOiAyLCAvLyAyIG91dHB1dCwgc2Vjb25kIGZvciByYXcgbm9kZS1vcGN1YSBkaWFnbm9zdGljcyBvciBtb3JlIGNvbXBsZXRlIG1lc3NhZ2VcbiAgICAgICAgbGFiZWwoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IFwiT1BDVUEgQ2xpZW50IEhpc3RvcnlSZWFkXCI7XG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsU3R5bGUoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lID8gXCJub2RlX2xhYmVsX2l0YWxpY1wiIDogXCJcIjtcbiAgICAgICAgfSxcbiAgICAgICAgb25lZGl0cHJlcGFyZSgpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzO1xuICAgICAgICAgICAgZGVjbGFyZU5vZGVCcm93c2VyV2lkZ2V0KCk7XG4gICAgICAgICAgICBub2RlLmlucHV0cyA9IDE7XG4gICAgICAgICAgICBjb25zdCAkbm9kZUlkID0gJChcIiNub2RlLWlucHV0LW5vZGVJZFwiKTtcbiAgICAgICAgICAgICRub2RlSWQubm9kZUJyb3dzZXIoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBnZXRFbmRwb2ludFBhcmFtZXRlcnNIYW5kbGVyKCkpLCB7IGlzU2VsZWN0YWJsZShub2RlRGVzYykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbm9kZURlc2Mubm9kZUNsYXNzID09PSBcIlZhcmlhYmxlXCI7XG4gICAgICAgICAgICAgICAgfSB9KSk7XG4gICAgICAgICAgICAkKFwiI3NlbGVjdC1oaXN0b3J5LXR5cGVcIikudmFsKG5vZGUuaGlzdG9yeVJlYWRQYXJhbS50eXBlKTtcbiAgICAgICAgICAgIHN3aXRjaCAobm9kZS5oaXN0b3J5UmVhZFBhcmFtLnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwicmF3XCI6XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1yYXctc3RhcnRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uc3RhcnRUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXJhdy1lbmRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uZW5kVGltZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1yYXctbnVtVmFsdWVzUGVyTm9kZVwiKS52YWwobm9kZS5oaXN0b3J5UmVhZFBhcmFtLm51bVZhbHVlc1Blck5vZGUpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtcmV0dXJuQm91bmRzXCIpLnByb3AoXCJjaGVja2VkXCIsIG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5yZXR1cm5Cb3VuZHMpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlIFwibW9kaWZpZWRcIjpcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LW1vZGlmaWVkLXN0YXJ0VGltZVwiKS52YWwobm9kZS5oaXN0b3J5UmVhZFBhcmFtLnN0YXJ0VGltZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1lbmRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uZW5kVGltZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1udW1WYWx1ZXNQZXJOb2RlXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0ubnVtVmFsdWVzUGVyTm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1yZXR1cm5Cb3VuZHNcIikucHJvcChcImNoZWNrZWRcIiwgbm9kZS5oaXN0b3J5UmVhZFBhcmFtLnJldHVybkJvdW5kcyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJwcm9jZXNzZWQtZGV0YWlsc1wiOlxuICAgICAgICAgICAgICAgICAgICBub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlQ29uZmlndXJhdGlvbiA9IG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uIHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtc3RhcnRUaW1lXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uc3RhcnRUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWVuZFRpbWVcIikudmFsKG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5lbmRUaW1lKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLXByb2Nlc3NpbmdJbnRlcnZhbFwiKS52YWwobm9kZS5oaXN0b3J5UmVhZFBhcmFtLnByb2Nlc3NpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVUeXBlXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlVHlwZSk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzXCIpLnByb3AoXCJjaGVja2VkXCIsIG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uLnVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tdHJlYXRVbmNlcnRhaW5Bc0JhZFwiKS5wcm9wKFwiY2hlY2tlZFwiLCBub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlQ29uZmlndXJhdGlvbi50cmVhdFVuY2VydGFpbkFzQmFkKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tcGVyY2VudERhdGFCYWRcIikudmFsKG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uLnBlcmNlbnREYXRhQmFkKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tcGVyY2VudERhdGFHb29kXCIpLnZhbChub2RlLmhpc3RvcnlSZWFkUGFyYW0uYWdncmVnYXRlQ29uZmlndXJhdGlvbi5wZXJjZW50RGF0YUdvb2QpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtYWdncmVnYXRlQ29uZmlndXJhdGlvbi11c2VTbG9wZWRFeHRyYXBvbGF0aW9uXCIpLnByb3AoXCJjaGVja2VkXCIsIG5vZGUuaGlzdG9yeVJlYWRQYXJhbS5hZ2dyZWdhdGVDb25maWd1cmF0aW9uLnVzZVNsb3BlZEV4dHJhcG9sYXRpb24pO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgYWR2YW5jZWQgY29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZnVuY3Rpb24gaGlkZUFsbFNlY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1yYXdcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tbW9kaWZpZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tcHJvY2Vzc2VkLWRldGFpbHNcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tYXQtdGltZVwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1hbm5vdGF0aW9uLWRhdGFcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tZXZlbnRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmdW5jdGlvbiB0b2dnbGVTZWN0aW9ucygpIHtcbiAgICAgICAgICAgICAgICAgICAgaGlkZUFsbFNlY3Rpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkVmFsdWUgPSAkKFwiI3NlbGVjdC1oaXN0b3J5LXR5cGVcIikudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGFsZXJ0KFwidG9nZ2xlU2VjdGlvbnMgXCIgKyBzZWxlY3RlZFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLVwiICsgc2VsZWN0ZWRWYWx1ZSkuc2hvdygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkKFwiI3NlbGVjdC1oaXN0b3J5LXR5cGVcIikub24oXCJjaGFuZ2VcIiwgdG9nZ2xlU2VjdGlvbnMpO1xuICAgICAgICAgICAgICAgIHRvZ2dsZVNlY3Rpb25zKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZUFzVGV4dCA9IChhKSA9PiAoYS52YWwoKSA9PSB1bmRlZmluZWQgPyBcIlwiIDogYS52YWwoKS50b1N0cmluZygpKTtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlQXNOdW1iZXIgPSAoYSkgPT4gKGEudmFsKCkgPT0gdW5kZWZpbmVkID8gMCA6IGEudmFsKCkpO1xuICAgICAgICAgICAgY29uc3QgdHlwZSA9ICQoXCIjc2VsZWN0LWhpc3RvcnktdHlwZVwiKS52YWwoKTtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgXCJyYXdcIjpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oaXN0b3J5UmVhZFBhcmFtID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJyYXdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LXJhdy1zdGFydFRpbWVcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZW5kVGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LXJhdy1lbmRUaW1lXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG51bVZhbHVlc1Blck5vZGU6IHZhbHVlQXNOdW1iZXIoJChcIiNub2RlLWlucHV0LXJhdy1udW1WYWx1ZXNQZXJOb2RlXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybkJvdW5kczogJChcIiNub2RlLWlucHV0LXJldHVybkJvdW5kc1wiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcIm1vZGlmaWVkXCI6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeVJlYWRQYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibW9kaWZpZWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LW1vZGlmaWVkLXN0YXJ0VGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRUaW1lOiB2YWx1ZUFzVGV4dCgkKFwiI25vZGUtaW5wdXQtbW9kaWZpZWQtZW5kVGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBudW1WYWx1ZXNQZXJOb2RlOiB2YWx1ZUFzTnVtYmVyKCQoXCIjbm9kZS1pbnB1dC1tb2RpZmllZC1udW1WYWx1ZXNQZXJOb2RlXCIpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybkJvdW5kczogJChcIiNub2RlLWlucHV0LW1vZGlmaWVkLXJldHVybkJvdW5kc1wiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBcInByb2Nlc3NlZC1kZXRhaWxzXCI6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGlzdG9yeVJlYWRQYXJhbSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwicHJvY2Vzc2VkLWRldGFpbHNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0VGltZTogdmFsdWVBc1RleHQoJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLXN0YXJ0VGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRUaW1lOiB2YWx1ZUFzVGV4dCgkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtZW5kVGltZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nSW50ZXJ2YWw6IHZhbHVlQXNOdW1iZXIoJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLXByb2Nlc3NpbmdJbnRlcnZhbFwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVUeXBlOiB2YWx1ZUFzVGV4dCgkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtYWdncmVnYXRlVHlwZVwiKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBhZ2dyZWdhdGVDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlU2VydmVyQ2FwYWJpbGl0aWVzRGVmYXVsdHM6ICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXVzZVNlcnZlckNhcGFiaWxpdGllc0RlZmF1bHRzXCIpLnByb3AoXCJjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWF0VW5jZXJ0YWluQXNCYWQ6ICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXRyZWF0VW5jZXJ0YWluQXNCYWRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyY2VudERhdGFCYWQ6IHZhbHVlQXNOdW1iZXIoJChcIiNub2RlLWlucHV0LXByb2Nlc3NlZC1kZXRhaWxzLWFnZ3JlZ2F0ZUNvbmZpZ3VyYXRpb24tcGVyY2VudERhdGFCYWRcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmNlbnREYXRhR29vZDogdmFsdWVBc051bWJlcigkKFwiI25vZGUtaW5wdXQtcHJvY2Vzc2VkLWRldGFpbHMtYWdncmVnYXRlQ29uZmlndXJhdGlvbi1wZXJjZW50RGF0YUdvb2RcIikpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVNsb3BlZEV4dHJhcG9sYXRpb246ICQoXCIjbm9kZS1pbnB1dC1wcm9jZXNzZWQtZGV0YWlscy1hZ2dyZWdhdGVDb25maWd1cmF0aW9uLXVzZVNsb3BlZEV4dHJhcG9sYXRpb25cIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
|
9
9
|
</script>
|
10
10
|
<script type="text/x-red" data-template-name="OpcUa-Client2-HistoryRead">
|
11
11
|
<style>
|