@opcua/for-node-red 2.4.0 → 2.5.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 +1 -1
- package/package.json +1 -1
- 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-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(_0x1ce621,_0x5e78b9){const _0x57cdbf=_0x5027,_0x4bddf1=_0x1ce621();while(!![]){try{const _0x1768e0=parseInt(_0x57cdbf(0x14b))/0x1+-parseInt(_0x57cdbf(0x17b))/0x2+parseInt(_0x57cdbf(0x1a0))/0x3*(parseInt(_0x57cdbf(0x198))/0x4)+parseInt(_0x57cdbf(0x161))/0x5*(-parseInt(_0x57cdbf(0x1b3))/0x6)+-parseInt(_0x57cdbf(0x186))/0x7*(parseInt(_0x57cdbf(0x1c6))/0x8)+parseInt(_0x57cdbf(0x173))/0x9+-parseInt(_0x57cdbf(0x154))/0xa*(-parseInt(_0x57cdbf(0x150))/0xb);if(_0x1768e0===_0x5e78b9)break;else _0x4bddf1['push'](_0x4bddf1['shift']());}catch(_0x328dd2){_0x4bddf1['push'](_0x4bddf1['shift']());}}}(_0x3b6c,0x8e301),(function(){'use strict';const _0x33f6fd=_0x5027;function _0x24feda(_0x40e76b,_0x55ee67,_0x4ef0a4,_0x3eeffb){function _0x5f1f06(_0x53a4f0){return _0x53a4f0 instanceof _0x4ef0a4?_0x53a4f0:new _0x4ef0a4(function(_0x3c260b){_0x3c260b(_0x53a4f0);});}return new(_0x4ef0a4||(_0x4ef0a4=Promise))(function(_0x2d17eb,_0x4f0bd8){const _0x20eefc=_0x5027;function _0x2f4c46(_0x260ec6){const _0x285af7=_0x5027;try{_0x55fcf2(_0x3eeffb[_0x285af7(0x142)](_0x260ec6));}catch(_0x2c76bd){_0x4f0bd8(_0x2c76bd);}}function _0x4893f1(_0x6cbc2c){try{_0x55fcf2(_0x3eeffb['throw'](_0x6cbc2c));}catch(_0x1352f0){_0x4f0bd8(_0x1352f0);}}function _0x55fcf2(_0x5c785f){const _0x397f7d=_0x5027;_0x5c785f[_0x397f7d(0x1ae)]?_0x2d17eb(_0x5c785f[_0x397f7d(0x1be)]):_0x5f1f06(_0x5c785f[_0x397f7d(0x1be)])[_0x397f7d(0x18e)](_0x2f4c46,_0x4893f1);}_0x55fcf2((_0x3eeffb=_0x3eeffb['apply'](_0x40e76b,_0x55ee67||[]))[_0x20eefc(0x142)]());});}typeof SuppressedError===_0x33f6fd(0x159)?SuppressedError:function(_0x41f8d7,_0xc093e2,_0x4afdea){const _0x53e0b2=_0x33f6fd;var _0x3a1bfa=new Error(_0x4afdea);return _0x3a1bfa[_0x53e0b2(0x1d6)]=_0x53e0b2(0x1c3),_0x3a1bfa[_0x53e0b2(0x1bd)]=_0x41f8d7,_0x3a1bfa['suppressed']=_0xc093e2,_0x3a1bfa;};function _0x1f1233(_0x46d4ce,_0x16fc09,_0x3a7e71,_0x51fe1d){const _0x4eb3b4=_0x33f6fd,_0x3acd60=$('#'+_0x46d4ce+'-success'),_0x22fd8a=$('#'+_0x46d4ce+'-failure'),_0x1b245a=$('#'+_0x46d4ce+_0x4eb3b4(0x180)),_0x21db3e=$('#'+_0x46d4ce+_0x4eb3b4(0x155));let _0x2dd51b=![];_0x3acd60['hide'](),_0x22fd8a[_0x4eb3b4(0x137)](),_0x1b245a[_0x4eb3b4(0x137)](),_0x16fc09['on'](_0x4eb3b4(0x1b0),()=>{const _0x301c84=_0x4eb3b4;if(_0x2dd51b)return;_0x2dd51b=!![],_0x1b245a[_0x301c84(0x1b9)](_0x301c84(0x137)),_0x1b245a['html'](_0x301c84(0x1d3)),_0x3acd60[_0x301c84(0x121)](_0x301c84(0x137)),_0x22fd8a[_0x301c84(0x121)]('hide'),_0x21db3e['html']('');const {body:_0x3a010e,url:_0x43eb93}=_0x3a7e71();fetch(_0x43eb93,{'method':'POST','headers':{'Content-Type':_0x301c84(0x13b)},'body':JSON[_0x301c84(0x185)](_0x3a010e)})[_0x301c84(0x18e)](_0x76320f=>_0x76320f[_0x301c84(0x1cc)]())[_0x301c84(0x18e)](_0x121129=>{const _0x490a0d=_0x301c84;_0x2dd51b=![],_0x1b245a['hide'](),console[_0x490a0d(0x16e)](JSON[_0x490a0d(0x185)](_0x121129,null,'\x20'));if(_0x121129[_0x490a0d(0x19e)]==='ok')_0x3acd60['removeClass'](_0x490a0d(0x137)),_0x22fd8a['addClass']('hide'),_0x21db3e[_0x490a0d(0x184)](_0x121129[_0x490a0d(0x17d)]['replace']('\x0a',_0x490a0d(0x178))),_0x51fe1d(null,_0x121129);else{const _0xc7ff54=_0x4bb120=>!_0x4bb120?'':_0x4bb120[_0x490a0d(0x1a5)]('\x0a')[_0x490a0d(0x16a)](_0x4c3d67=>_0x490a0d(0x15e)+_0x4c3d67+_0x490a0d(0x163))['join']('\x0a'),_0x2623b3=_0x28d83c=>Array['isArray'](_0x28d83c)?_0x28d83c['map'](_0xc7ff54)['join']('\x0a'):_0xc7ff54(_0x28d83c);_0x3acd60[_0x490a0d(0x121)](_0x490a0d(0x137)),_0x22fd8a[_0x490a0d(0x1b9)](_0x490a0d(0x137)),_0x21db3e['html'](_0x2623b3(_0x121129['message'])+_0x2623b3(_0x121129[_0x490a0d(0x1a2)])),_0x51fe1d(new Error(_0x121129[_0x490a0d(0x19e)]),_0x121129);}})[_0x301c84(0x181)](_0x27c248=>{const _0xa5471f=_0x301c84;_0x2dd51b=![],_0x1b245a[_0xa5471f(0x121)]('hide'),_0x3acd60[_0xa5471f(0x121)](_0xa5471f(0x137)),_0x22fd8a[_0xa5471f(0x1b9)](_0xa5471f(0x137)),_0x21db3e['html'](_0xa5471f(0x124)+_0x27c248['message']),console[_0xa5471f(0x16e)](_0xa5471f(0x153),_0x27c248),_0x51fe1d(_0x27c248,null);});});}const _0x4d06a8=_0x33f6fd(0x12b),_0xff8c='pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW';function _0x1e75b6(_0x26df0a=''){return _0x24feda(this,void 0x0,void 0x0,function*(){const _0x295d62=_0x5027,_0x559c20=_0x26df0a+_0x295d62(0x1ca),_0x9a46f8=_0x559c20+'/licenceInfo',_0x45199=yield fetch(_0x9a46f8,{'method':_0x295d62(0x168),'headers':{'Content-Type':'application/json'}}),_0x1e9d05=new Date()[_0x295d62(0x1ac)]();if(_0x45199[_0x295d62(0x19b)]!==0xc8)return console['log'](_0x295d62(0x1d7),_0x45199[_0x295d62(0x19b)],_0x45199[_0x295d62(0x171)]),{'status':_0x295d62(0x122),'type':_0x295d62(0x126),'licenceInfo':{'expiryDate':_0x1e9d05}};const _0x57d933=yield _0x45199[_0x295d62(0x1cc)]();return _0x57d933;});}const _0x1f916f=()=>{const _0x46efbe=_0x33f6fd;$[_0x46efbe(0x1d2)](_0x46efbe(0x19f),{'options':{'baseUrl':''},'_create'(){const _0x1f6988=_0x46efbe,_0x38a468=this,_0x1453ed=_0x1f6988(0x166),_0x2dcc94=_0x1f6988(0x1b2);_0x1e75b6(_0x38a468[_0x1f6988(0x174)])['then'](_0x44d1c3=>{const _0x56d9b2=_0x1f6988;let _0x2b85c3='',_0x198423='',_0x112728='';const _0x239b44=_0x44d1c3[_0x56d9b2(0x19b)],_0x1d9feb=_0x44d1c3[_0x56d9b2(0x13d)];switch(_0x239b44){case _0x56d9b2(0x169):_0x2b85c3=_0x56d9b2(0x12f);switch(_0x44d1c3[_0x56d9b2(0x146)]){case'TRIAL':{_0x198423=_0x56d9b2(0x135),_0x112728=_0x56d9b2(0x14c)+_0x1d9feb+_0x56d9b2(0x125)+_0x2dcc94+_0x56d9b2(0x139);break;}case _0x56d9b2(0x127):_0x198423=_0x56d9b2(0x141);_0x1d9feb<0x5a&&_0x1d9feb>=0x0&&(_0x198423+='\x20It\x20will\x20expire\x20in\x20'+_0x1d9feb+'\x20days.');_0x112728=_0x44d1c3[_0x56d9b2(0x13a)][_0x56d9b2(0x1bc)]+'\x20-\x20'+(_0x44d1c3['licenceInfo'][_0x56d9b2(0x195)]||'');break;case _0x56d9b2(0x126):_0x198423=_0x56d9b2(0x1ad),_0x112728=_0x56d9b2(0x15a)+_0x2dcc94+_0x56d9b2(0x175);break;}break;case'EXPIRED':_0x2b85c3=_0x56d9b2(0x179),_0x198423='Licence\x20has\x20expired',_0x112728=_0x56d9b2(0x1d9);break;case _0x56d9b2(0x122):default:_0x2b85c3=_0x56d9b2(0x1d5),_0x198423=_0x56d9b2(0x1ba),_0x112728=_0x56d9b2(0x152)+_0x1453ed+_0x56d9b2(0x1d1);break;}this[_0x56d9b2(0x147)][_0x56d9b2(0x121)]('licence-widget'),this[_0x56d9b2(0x147)][_0x56d9b2(0x121)]('licence-widget-'+_0x239b44),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)]($(_0x56d9b2(0x1da))[_0x56d9b2(0x121)](_0x56d9b2(0x17f))[_0x56d9b2(0x13c)]($('<i>')[_0x56d9b2(0x121)](_0x2b85c3))),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)]($(_0x56d9b2(0x1da))[_0x56d9b2(0x121)](_0x56d9b2(0x160))[_0x56d9b2(0x15f)](_0x198423)),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)]($(_0x56d9b2(0x178))),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)]($(_0x56d9b2(0x1da))[_0x56d9b2(0x121)]('licence-widget-details')[_0x56d9b2(0x13c)](_0x112728));if(_0x239b44==='EXPIRED'||_0x239b44==='FAILED'||_0x44d1c3[_0x56d9b2(0x146)]===_0x56d9b2(0x126)||_0x44d1c3[_0x56d9b2(0x146)]===_0x56d9b2(0x12c)){const _0x4ecb73=$(_0x56d9b2(0x12d));_0x4ecb73['attr']('id',_0x56d9b2(0x1a7)),_0x4ecb73[_0x56d9b2(0x1c9)](_0x56d9b2(0x1d0),'btn\x20btn-primary'),_0x4ecb73[_0x56d9b2(0x1c9)](_0x56d9b2(0x140),_0x56d9b2(0x14e)),_0x4ecb73[_0x56d9b2(0x15f)](_0x56d9b2(0x138)),this['element']['append'](_0x4ecb73);const _0x5adf10=document[_0x56d9b2(0x16d)](_0x56d9b2(0x18b));_0x5adf10[_0x56d9b2(0x167)]='https://js.stripe.com/v3/pricing-table.js',_0x5adf10[_0x56d9b2(0x1b7)]=!![],$(_0x56d9b2(0x1aa))['append'](_0x5adf10);const _0x597741=$(_0x56d9b2(0x1b5));_0x597741[_0x56d9b2(0x1c9)](_0x56d9b2(0x1c1),_0x4d06a8),_0x597741['attr'](_0x56d9b2(0x1c8),_0xff8c),_0x597741[_0x56d9b2(0x1c9)](_0x56d9b2(0x140),'height:\x20100%;max-height:\x20100%;'),_0x597741['hide'](),this[_0x56d9b2(0x147)][_0x56d9b2(0x13c)](_0x597741),_0x4ecb73['on'](_0x56d9b2(0x1b0),()=>{const _0x4deea5=_0x56d9b2;_0x597741[_0x4deea5(0x18d)](),_0x4ecb73['hide'](),this[_0x4deea5(0x147)][_0x4deea5(0x1c9)](_0x4deea5(0x140),_0x4deea5(0x145));});}})[_0x1f6988(0x181)](_0x3992da=>{console['log'](_0x3992da);});}});};_0x1f916f();function _0x5c3fe3(_0x43a3a6){const _0x16e534=_0x33f6fd;let _0x7770f9;try{_0x7770f9=new URL(_0x43a3a6);}catch(_0x2ee8e5){return![];}return _0x7770f9[_0x16e534(0x1c5)]===_0x16e534(0x1a4);}const _0x5c00fc={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x33f6fd(0x1b1)]['registerType'](_0x33f6fd(0x11d),{'category':_0x33f6fd(0x197),'paletteLabel':_0x33f6fd(0x18a),'defaults':{'name':{'value':''},'endpoint':{'value':_0x33f6fd(0x191),'required':!![],'validate':_0x5c3fe3},'securityMode':{'value':_0x33f6fd(0x151)},'securityPolicy':{'value':_0x33f6fd(0x151),'validate':_0x107d33=>{if(!_0x107d33)return![];return!![];}},'userIdentityType':{'value':'Anonymous'},'userName':{'value':''},'password':{'value':'','type':'password'},'userCertificate':{'value':''},'userPrivatekey':{'value':''},'certificate':{'value':'n'},'localfile':{'value':''},'localkeyfile':{'value':''},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0x33f6fd(0x14d),'isDefault':!![],'parameters':Object[_0x33f6fd(0x14a)]({},_0x5c00fc)},{'id':'s2','name':_0x33f6fd(0x194),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x33f6fd(0x18c),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':_0x33f6fd(0x15f)},'password':{'type':_0x33f6fd(0x136)}},'label':function(){const _0x37904e=_0x33f6fd;return this[_0x37904e(0x1d6)]||this['endpoint']||_0x37904e(0x11c);},'oneditsave'(){const _0x98cbdc=_0x33f6fd,_0x458663=$(_0x98cbdc(0x17c)),_0x570d7d=$(_0x98cbdc(0x172));_0x458663[_0x98cbdc(0x182)]()===_0x98cbdc(0x151)&&_0x570d7d[_0x98cbdc(0x15f)](_0x98cbdc(0x151));const _0x2257e4=$(_0x98cbdc(0x132))[_0x98cbdc(0x164)](_0x98cbdc(0x16c)),_0x59efdb=[],_0x51320e=_0x486153=>_0x486153;_0x2257e4[_0x98cbdc(0x1b6)](function(_0x22aa90,_0x1027c3){const _0x1999ef=_0x98cbdc,_0xe62bd1=$(this),_0x252a8d={'id':'s'+_0x22aa90,'name':_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x133))[_0x1999ef(0x182)](),'isDefault':!!_0xe62bd1['find']('.input-isDefault')[_0x1999ef(0x182)](),'parameters':{'publishingEnabled':!!_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x1ab))['is'](_0x1999ef(0x183)),'requestedLifetimeCount':_0x51320e(_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x1b4))['val']()),'requestedMaxKeepAliveCount':_0x51320e(_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x14f))[_0x1999ef(0x182)]()),'requestedPublishingInterval':_0x51320e(_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x192))[_0x1999ef(0x182)]()),'maxNotificationsPerPublish':_0x51320e(_0xe62bd1[_0x1999ef(0x1bf)](_0x1999ef(0x149))[_0x1999ef(0x182)]()),'priority':_0x51320e(_0xe62bd1['find'](_0x1999ef(0x130))[_0x1999ef(0x182)]())}};_0x252a8d['parameters']['publishingEnabled']=!![],_0x252a8d[_0x1999ef(0x1a1)]&&_0x252a8d['id']==='s0'&&(_0x252a8d[_0x1999ef(0x1d6)]='Default\x20Subscription'),_0x59efdb['push'](_0x252a8d);}),this[_0x98cbdc(0x158)]=_0x59efdb;},'oneditprepare'(){const _0x4e8ce1=_0x33f6fd,_0x2e5585=this,_0x54f14f=RED[_0x4e8ce1(0x1cf)][_0x4e8ce1(0x11f)]({'id':_0x4e8ce1(0x11e),'onchange':function(_0xad5c0){const _0x5aa6e1=_0x4e8ce1;$('#node-config-endpoint-tabs-content')[_0x5aa6e1(0x157)]()['hide'](),$('#'+_0xad5c0['id'])[_0x5aa6e1(0x18d)]();}});_0x54f14f[_0x4e8ce1(0x1a3)]({'id':'endpoint-tab-connection','label':'Connection'},0x0),_0x54f14f['addTab']({'id':_0x4e8ce1(0x131),'label':_0x4e8ce1(0x196)},0x1),setTimeout(function(){_0x54f14f['resize']();},0x0);{const _0x1181db=_0x58a5a4=>{const _0xf20985=_0x4e8ce1;switch(_0x58a5a4){case null:case undefined:case'':case'None':$(_0xf20985(0x1c7))[_0xf20985(0x137)]();break;case _0xf20985(0x1c2):case'SignAndEncrypt':{const _0x4c091c=$(_0xf20985(0x1c7));(_0x4c091c[_0xf20985(0x182)]()===_0xf20985(0x151)||_0x4c091c[_0xf20985(0x182)]()==='')&&_0x4c091c['val'](_0xf20985(0x170)),$('.section-securityPolicy')[_0xf20985(0x18d)]();}break;default:console[_0xf20985(0x16e)](_0xf20985(0x13f)+_0x58a5a4);}};_0x1181db(_0x2e5585['securityMode']);const _0x4c5d0b=$('#node-config-input-securityMode');_0x4c5d0b['on'](_0x4e8ce1(0x156),()=>{const _0x10871c=_0x4e8ce1,_0x4cff68=_0x4c5d0b[_0x10871c(0x182)]();_0x1181db(_0x4cff68);});}const _0x323bd6=$('#licenceWidget');_0x323bd6[_0x4e8ce1(0x1af)]({'baseUrl':''});{const _0x90dfd8=$(_0x4e8ce1(0x129)),_0x246cd9=$(_0x4e8ce1(0x193)),_0x393ed4=_0x430c12=>{const _0x209a8c=_0x4e8ce1;_0x430c12=_0x430c12||_0x209a8c(0x1c4);switch(_0x430c12){case _0x209a8c(0x1c4):$(_0x209a8c(0x134))['val'](''),$(_0x209a8c(0x1a6))[_0x209a8c(0x182)](''),_0x90dfd8[_0x209a8c(0x137)](),_0x246cd9['hide']();break;case'UserName':_0x90dfd8['show'](),_0x246cd9[_0x209a8c(0x137)]();break;case _0x209a8c(0x1a8):$(_0x209a8c(0x134))[_0x209a8c(0x182)](''),$(_0x209a8c(0x1a6))[_0x209a8c(0x182)](''),_0x246cd9[_0x209a8c(0x18d)](),_0x90dfd8[_0x209a8c(0x137)]();break;default:console[_0x209a8c(0x16e)](_0x209a8c(0x1cb)+_0x430c12);}};_0x393ed4(_0x2e5585[_0x4e8ce1(0x19a)]);const _0x2bdc1d=$(_0x4e8ce1(0x1d4));_0x2bdc1d['on']('change',()=>{const _0x242550=_0x4e8ce1,_0x1d8378=_0x2bdc1d[_0x242550(0x182)]();_0x393ed4(_0x1d8378);});}{$(_0x4e8ce1(0x177))[_0x4e8ce1(0x137)](),$('#toggleAdvancedSection')['on'](_0x4e8ce1(0x156),function(){const _0x555b5c=_0x4e8ce1;$(this)[_0x555b5c(0x1c0)]('checked')?$(_0x555b5c(0x177))[_0x555b5c(0x18d)]():$(_0x555b5c(0x177))[_0x555b5c(0x137)]();});}{$(_0x4e8ce1(0x190))['on'](_0x4e8ce1(0x1b0),()=>_0x24feda(this,void 0x0,void 0x0,function*(){const _0x3b715d=_0x4e8ce1,_0x46a4b5=yield fetch('/opcua-endpoint2/client_certificate.json'),_0xe27e59=yield _0x46a4b5[_0x3b715d(0x1cc)](),_0xc5914c=JSON[_0x3b715d(0x185)](_0xe27e59,null,'\x20');alert(_0xc5914c);}));}{_0x1f1233('connection',$(_0x4e8ce1(0x176)),()=>({'url':'/opcua-endpoint2/test-connection','body':{'endpointNode':{'id':_0x2e5585['id'],'endpoint':$(_0x4e8ce1(0x15d))[_0x4e8ce1(0x182)](),'securityMode':$('#node-config-input-securityMode')[_0x4e8ce1(0x182)](),'securityPolicy':$('#node-config-input-securityPolicy')[_0x4e8ce1(0x182)](),'userIdentityType':$(_0x4e8ce1(0x1d4))[_0x4e8ce1(0x182)](),'userName':$('#node-config-input-userName')[_0x4e8ce1(0x182)](),'password':$(_0x4e8ce1(0x1a6))[_0x4e8ce1(0x182)](),'userCertificate':$(_0x4e8ce1(0x1a9))['val'](),'userPrivatekey':$(_0x4e8ce1(0x144))[_0x4e8ce1(0x182)](),'certificate':$(_0x4e8ce1(0x17e))[_0x4e8ce1(0x182)](),'localfile':$('#node-input-localfile')[_0x4e8ce1(0x182)](),'localkeyfile':$(_0x4e8ce1(0x17a))['val'](),'useTransport':$(_0x4e8ce1(0x123))[_0x4e8ce1(0x1c0)](_0x4e8ce1(0x15b)),'maxChunkCount':$(_0x4e8ce1(0x13e))[_0x4e8ce1(0x182)](),'maxMessageSize':$('#node-input-maxMessageSize')[_0x4e8ce1(0x182)](),'receiveBufferSize':$(_0x4e8ce1(0x187))[_0x4e8ce1(0x182)](),'sendBufferSize':$(_0x4e8ce1(0x143))[_0x4e8ce1(0x182)]()}}}),()=>{});}{const _0x4582c4=(_0x2e1715,_0x84831)=>{const _0x22c905=_0x4e8ce1;var _0x333ad0=_0x2e1715['width']()||0x64;_0x2e1715[_0x22c905(0x1bf)](_0x22c905(0x120))[_0x22c905(0x12a)](_0x22c905(0x19c),_0x333ad0-0xf);},_0x14b0bc=$(_0x4e8ce1(0x132))[_0x4e8ce1(0x199)]({'min-height':_0x4e8ce1(0x1cd),'min-width':_0x4e8ce1(0x1ce)})[_0x4e8ce1(0x164)]({'addItem':(_0x31e2dc,_0xd889e,_0x1d83d0)=>{const _0x13eadc=_0x4e8ce1,_0x3cc721=_0x1d83d0,_0x133691=$(_0x13eadc(0x162))[_0x13eadc(0x19d)]()[_0x13eadc(0x1bb)](_0x31e2dc);_0x133691[_0x13eadc(0x15c)]('id')[_0x13eadc(0x1b9)](_0x13eadc(0x137))['removeClass'](_0x13eadc(0x189))[_0x13eadc(0x1c9)]('data-i',_0xd889e),_0x133691[_0x13eadc(0x1bf)]('.input-name')['val'](_0x3cc721[_0x13eadc(0x1d6)]),_0x133691[_0x13eadc(0x1bf)](_0x13eadc(0x192))[_0x13eadc(0x182)](_0x3cc721['parameters']['requestedPublishingInterval']),_0x133691['find'](_0x13eadc(0x14f))[_0x13eadc(0x182)](_0x3cc721['parameters'][_0x13eadc(0x128)]),_0x133691[_0x13eadc(0x1bf)](_0x13eadc(0x1b4))[_0x13eadc(0x182)](_0x3cc721[_0x13eadc(0x1b8)][_0x13eadc(0x16b)]),_0x133691['find']('.input-maxNotificationsPerPublish')[_0x13eadc(0x182)](_0x3cc721[_0x13eadc(0x1b8)][_0x13eadc(0x148)]||0x0),_0x133691[_0x13eadc(0x1bf)]('.input-priority')[_0x13eadc(0x182)](_0x3cc721[_0x13eadc(0x1b8)][_0x13eadc(0x1d8)]||0x0),_0x133691[_0x13eadc(0x1bf)]('.subscription-id')[_0x13eadc(0x15f)](''+_0xd889e),_0x3cc721[_0x13eadc(0x1a1)]&&_0x133691[_0x13eadc(0x1bf)](_0x13eadc(0x133))[_0x13eadc(0x1c0)](_0x13eadc(0x18f),!![]),_0x133691['find'](_0x13eadc(0x16f))[_0x13eadc(0x1c0)](_0x13eadc(0x15b),_0x3cc721[_0x13eadc(0x1a1)]),_0x3cc721[_0x13eadc(0x1a1)]&&(_0x31e2dc[_0x13eadc(0x1bf)](_0x13eadc(0x12e))['addClass'](_0x13eadc(0x137)),setTimeout(()=>_0x133691['find'](_0x13eadc(0x16f))[_0x13eadc(0x1c0)]('disabled',!![]),0xa));},'removable':!![],'resizeItem':_0x4582c4}),_0x879b5d=()=>{const _0x298295=_0x4e8ce1,_0x2345ed=_0x2e5585[_0x298295(0x158)]||[];_0x2345ed['length']===0x0&&_0x2345ed['push']({'id':'s1','name':_0x298295(0x14d),'isDefault':!![],'parameters':Object['assign']({},_0x5c00fc)});_0x14b0bc[_0x298295(0x164)](_0x298295(0x188));for(const _0x435564 of _0x2345ed){_0x14b0bc[_0x298295(0x164)](_0x298295(0x165),_0x435564);}};_0x879b5d();}}});}()));function _0x5027(_0x14f32a,_0x59c538){const _0x3b6c7b=_0x3b6c();return _0x5027=function(_0x5027bf,_0x2c736d){_0x5027bf=_0x5027bf-0x11c;let _0x13be23=_0x3b6c7b[_0x5027bf];return _0x13be23;},_0x5027(_0x14f32a,_0x59c538);}function _0x3b6c(){const _0x4b62b6=['userIdentityType','status','width','clone','result','sterfive.licenceWidget','754539yXWIBO','isDefault','extra','addTab','opc.tcp:','split','#node-config-input-password','subscribe-button','Certificate','#node-config-input-userCertificate','head','.input-publishingEnabled','toISOString','Freeware\x20licence','done','licenceWidget','click','nodes','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','23172zyTqqF','.input-requestedLifetimeCount','<stripe-pricing-table/>','each','async','parameters','removeClass','Your\x20license\x20is\x20currently\x20invalid.','appendTo','licenceType','error','value','find','prop','pricing-table-id','Sign','SuppressedError','Anonymous','protocol','2496AgioTV','.section-securityPolicy','publishable-key','attr','/opcua-endpoint2','invalid\x20userIdentityType\x20','json','150px','260px','tabs','class','\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀','widget','Testing\x20Connection\x20...','#node-config-input-userIdentityType','fa\x20fa-exclamation-circle','name','fetching\x20failed\x20with\x20error','priority','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','<span>','invalid\x20endpoint','OpcUa-Endpoint2','node-config-endpoint-tabs','create','label','addClass','FAILED','#node-input-useTransport','internal\x20error\x20','\x20days.\x0aBuy\x20online\x20and\x20visit\x20','FREEWARE','PROFESSIONAL','requestedMaxKeepAliveCount','.section-userIdentityType-UserName','typedInput','prctbl_1OJt49BCNccbzsVzkaANOgFL','TRIAL','<button/>','.red-ui-editableList-item-remove','fa\x20fa-check-circle','.input-priority','endpoint-tab-subscriptions','#subscriptions-container','.input-name','#node-config-input-userName','Trial\x20licence','password','hide','Subscribe','\x20to\x20acquire\x20a\x20license.','licenceInfo','application/json','append','daysLeft','#node-input-maxChunkCount','invalid\x20securityMode\x20','style','Your\x20licence\x20is\x20valid.','next','#node-input-sendBufferSize','#node-config-input-userPrivatekey','height:\x20100%\x20!important;','type','element','maxNotificationsPerPublish','.input-maxNotificationsPerPublish','assign','896572yjqOUO','The\x20Trial\x20will\x20expire\x20in\x20','Default\x20Subscription','margin-top:\x2020px;','.input-requestedMaxKeepAliveCount','99ccNjDH','None','Please\x20contact\x20','err','1454630kRMxmU','-messages','change','children','subscriptions','function','This\x20is\x20a\x20freeware\x20licence,\x20and\x20have\x20some\x20limitations.\x0a','checked','removeAttr','#node-config-input-endpoint','<p>','text','licence-widget-msg','1330KvBjwu','.template','</p>','editableList','addItem','<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>','src','POST','AUTHORIZED','map','requestedLifetimeCount','items','createElement','log','.input-isDefault','Basic256Sha256','statusText','#node-config-input-securityMode','5698962AQVAEI','baseUrl','\x20for\x20more\x20information.','#test-connection','#section-Advanced','<br>','fa\x20fa-calendar-time','#node-input-localkeyfile','1405298UkzBxe','#node-config-input-securityPolicy','message','#node-input-certificate','licence-widget-icon','-pending','catch','val',':checked','html','stringify','17458eFsNLK','#node-input-receiveBufferSize','empty','template','opcua\x20endpoint','script','Fast\x20Subscription','show','then','readonly','#checkCertificate','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','.input-requestedPublishingInterval','.section-userIdentityType-Certificate','Slow\x20Subscription','onPremiseServerHost','Subscriptions','config','4tOQYnV','css'];_0x3b6c=function(){return _0x4b62b6;};return _0x3b6c();}
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgyNGZlZGEiLCJfMHg0MGU3NmIiLCJfMHg1NWVlNjciLCJfMHg0ZWYwYTQiLCJfMHgzZWVmZmIiLCJfMHg1ZjFmMDYiLCJfMHg1M2E0ZjAiLCJfMHgzYzI2MGIiLCJQcm9taXNlIiwiXzB4MmQxN2ViIiwiXzB4NGYwYmQ4IiwiXzB4MmY0YzQ2IiwiXzB4MjYwZWM2IiwiXzB4NTVmY2YyIiwiXzB4MmM3NmJkIiwiXzB4NDg5M2YxIiwiXzB4NmNiYzJjIiwiXzB4MTM1MmYwIiwiXzB4NWM3ODVmIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NDFmOGQ3IiwiXzB4YzA5M2UyIiwiXzB4NGFmZGVhIiwiXzB4M2ExYmZhIiwiRXJyb3IiLCJfMHgxZjEyMzMiLCJfMHg0NmQ0Y2UiLCJfMHgxNmZjMDkiLCJfMHgzYTdlNzEiLCJfMHg1MWZlMWQiLCJfMHgzYWNkNjAiLCIkIiwiXzB4MjJmZDhhIiwiXzB4MWIyNDVhIiwiXzB4MjFkYjNlIiwiXzB4MmRkNTFiIiwiYm9keSIsIl8weDNhMDEwZSIsInVybCIsIl8weDQzZWI5MyIsImZldGNoIiwiSlNPTiIsIl8weDc2MzIwZiIsIl8weDEyMTEyOSIsImNvbnNvbGUiLCJfMHhjN2ZmNTQiLCJfMHg0YmIxMjAiLCJfMHg0YzNkNjciLCJfMHgyNjIzYjMiLCJfMHgyOGQ4M2MiLCJBcnJheSIsIl8weDI3YzI0OCIsIl8weDRkMDZhOCIsIl8weGZmOGMiLCJfMHgxZTc1YjYiLCJfMHgyNmRmMGEiLCJfMHg1NTljMjAiLCJfMHg5YTQ2ZjgiLCJfMHg0NTE5OSIsIl8weDFlOWQwNSIsIkRhdGUiLCJfMHg1N2Q5MzMiLCJfMHgxZjkxNmYiLCJfMHgzOGE0NjgiLCJfMHgxNDUzZWQiLCJfMHgyZGNjOTQiLCJfMHg0NGQxYzMiLCJfMHgyYjg1YzMiLCJfMHgxOTg0MjMiLCJfMHgxMTI3MjgiLCJfMHgyMzliNDQiLCJfMHgxZDlmZWIiLCJfMHg0ZWNiNzMiLCJfMHg1YWRmMTAiLCJkb2N1bWVudCIsIl8weDU5Nzc0MSIsIl8weDM5OTJkYSIsIl8weDVjM2ZlMyIsIl8weDQzYTNhNiIsIl8weDc3NzBmOSIsIlVSTCIsIl8weDJlZThlNSIsIl8weDVjMDBmYyIsIlJFRCIsIl8weDEwN2QzMyIsIk9iamVjdCIsIl8weDQ1ODY2MyIsIl8weDU3MGQ3ZCIsIl8weDIyNTdlNCIsIl8weDU5ZWZkYiIsIl8weDUxMzIwZSIsIl8weDQ4NjE1MyIsIl8weDIyYWE5MCIsIl8weDEwMjdjMyIsIl8weGU2MmJkMSIsIl8weDI1MmE4ZCIsIl8weDJlNTU4NSIsIl8weDU0ZjE0ZiIsIl8weGFkNWMwIiwic2V0VGltZW91dCIsIl8weDExODFkYiIsIl8weDU4YTVhNCIsInVuZGVmaW5lZCIsIl8weDRjMDkxYyIsIl8weDRjNWQwYiIsIl8weDRjZmY2OCIsIl8weDMyM2JkNiIsIl8weDkwZGZkOCIsIl8weDI0NmNkOSIsIl8weDM5M2VkNCIsIl8weDQzMGMxMiIsIl8weDJiZGMxZCIsIl8weDFkODM3OCIsIl8weDQ2YTRiNSIsIl8weGUyN2U1OSIsIl8weGM1OTE0YyIsImFsZXJ0IiwiXzB4NDU4MmM0IiwiXzB4MmUxNzE1IiwiXzB4ODQ4MzEiLCJfMHgzMzNhZDAiLCJfMHgxNGIwYmMiLCJfMHgzMWUyZGMiLCJfMHhkODg5ZSIsIl8weDFkODNkMCIsIl8weDNjYzcyMSIsIl8weDEzMzY5MSIsIl8weDg3OWI1ZCIsIl8weDIzNDVlZCIsIl8weDQzNTU2NCJdLCJtYXBwaW5ncyI6IjBtQkFBQSxDQUFDLFUsQ0FDRyxhLHdCQW1CQSxTQUFTQSxTQUFULENBQW1CQyxTQUFuQixDQUE0QkMsU0FBNUIsQ0FBd0NDLFNBQXhDLENBQTJDQyxTQUEzQyxDLENBQ0ksU0FBU0MsU0FBVCxDQUFlQyxTQUFmLEMsUUFBK0JBLFNBQUEsWUFBaUJILFNBQWpCLENBQXFCRyxTQUFyQixDQUE2QixJQUFJSCxTQUFKLENBQU0sU0FBVUksU0FBVixDLENBQXFCQSxTQUFBLENBQVFELFNBQVIsQyxFQUEzQixDLFNBQ3JELEdBQUssQ0FBQUgs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LEMsR0FuQk0sQyxXQXVCZCxDLElBdkJjLEMsWUF3QmQsQ0FBWVQsU0F4QkUsQ0FGTyxDQUp6QixDQWdDTVUsU0FBQSxDQUFrQixJLDJCQUNkQyxTQUFBLENBQWdCaEMsU0FBQSxDLGdCQUFBLEdBQXNCLEUsQ0FDeENnQyxTQUFBLEMsUUFBQSxJLEtBRUFBLFNBQUEsQyxNQUFBLEVBQW1CLEMsSUFDZixDLElBRGUsQyxNQUVmLEMsZ0JBRmUsQyxXQUdmLEMsSUFIZSxDLFlBSWYsQ0FBWTNDLE1BQUEsQyxRQUFBLEVBQWMsRUFBZCxDQUFrQkgsU0FBbEIsQ0FKRyxDQUFuQixDLENBT0p1QyxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFQUNBLFVBQVdRLFNBQVgsSUFBMkJELFNBQTNCLEMsQ0FFSVAsU0FBQSxDLGdCQUFBLEUsZ0JBQUEsQ0FBeUNRLFNBQXpDLEMsR0E5Q1IsQ0FpREFGLFNBQUEsRSxHQWpVOEIsQ0FBMUMsQyxFQXZPSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gbWFuYWdlQVBJQ2FsbChwcmVmaXgsIGJ0biwgZnVuYywgb25SZXN1bHQpIHtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc0ljb24gPSAkKGAjJHtwcmVmaXh9LXN1Y2Nlc3NgKTtcbiAgICAgICAgY29uc3QgZmFpbHVyZUljb24gPSAkKGAjJHtwcmVmaXh9LWZhaWx1cmVgKTtcbiAgICAgICAgY29uc3QgcGVuZGluZ0ljb24gPSAkKGAjJHtwcmVmaXh9LXBlbmRpbmdgKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSAkKGAjJHtwcmVmaXh9LW1lc3NhZ2VzYCk7XG4gICAgICAgIGxldCBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN1Y2Nlc3NJY29uLmhpZGUoKTtcbiAgICAgICAgZmFpbHVyZUljb24uaGlkZSgpO1xuICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgIGJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChhY3Rpb25QZW5kaW5nKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24uaHRtbChcIlRlc3RpbmcgQ29ubmVjdGlvbiAuLi5cIik7XG4gICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiXCIpO1xuICAgICAgICAgICAgY29uc3QgeyBib2R5LCB1cmwgfSA9IGZ1bmMoKTtcbiAgICAgICAgICAgIC8vIHh4IGNvbnNvbGUubG9nKFwieHh4eHhcIiwgYm9keSk7XG4gICAgICAgICAgICBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IGRhdGEuanNvbigpKVxuICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCBcIiBcIikpO1xuICAgICAgICAgICAgICAgIGlmIChqc29uLnJlc3VsdCA9PT0gXCJva1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGpzb24ubWVzc2FnZS5yZXBsYWNlKFwiXFxuXCIsIFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG51bGwsIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQgPSAoc3RyKSA9PiAhc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYSkgPT4gYDxwPiR7YX08L3A+YClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQyID0gKHN0cikgPT4gKEFycmF5LmlzQXJyYXkoc3RyKSA/IHN0ci5tYXAoYWRhcHQpLmpvaW4oXCJcXG5cIikgOiBhZGFwdChzdHIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoYWRhcHQyKGpzb24ubWVzc2FnZSkgKyBhZGFwdDIoanNvbi5leHRyYSkpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChuZXcgRXJyb3IoanNvbi5yZXN1bHQpLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJpbnRlcm5hbCBlcnJvciBcIiArIGVyci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIG9uUmVzdWx0KGVyciwgbnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpY2luZ1RhYmxlSWQgPSBcInByY3RibF8xT0p0NDlCQ05jY2J6c1Z6a2FBTk9nRkxcIjtcbiAgICBjb25zdCBwdWJsaXNoYWJsZUtleSA9IFwicGtfbGl2ZV81MUhzRTFzQkNOY2NienNWenQ3emFxMnV2MjBwa3J5V2xsQXp2WmdaZDVBaHdGSTlBM3FCSWVPSnZKd1FGMDhsRG9McEZxTGp3bXlBNzl3blBuWUxzdktqdDAwOWYwMFZwQ1dcIjtcbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBcIkZBSUxFRFwiLCB0eXBlOiBcIkZSRUVXQVJFXCIsIGxpY2VuY2VJbmZvOiB7IGV4cGlyeURhdGU6IHRvZGF5IH0gfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhY3RMaW5rID0gYDxhIGhyZWY9XCJtYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb21cIiBzdWJqZWN0PVwiQG9wY3VhL2Zvci1ub2RlLXJlZCBzdXBwb3J0IHJlcXVlc3RcIj5tYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb208L2E+YDtcbiAgICAgICAgICAgICAgICBjb25zdCB3ZWJzaXRlTGluayA9IGA8YSBocmVmPVwiaHR0cHM6Ly93d3cuc3RlcmZpdmUuY29tL29wY3VhL2Zvci1ub2RlLXJlZFwiIHRhcmdldD3igJ1fYmxhbmvigJ0+U3RlcmZpdmUncyB3ZWJzaXRlIDwvYT5gO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXlMZWZ0ID0ganNvbi5kYXlzTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBVVRIT1JJWkVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtY2hlY2stY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChqc29uLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlRSSUFMXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiVHJpYWwgbGljZW5jZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBUaGUgVHJpYWwgd2lsbCBleHBpcmUgaW4gJHtkYXlMZWZ0fSBkYXlzLlxcbkJ1eSBvbmxpbmUgYW5kIHZpc2l0ICR7d2Vic2l0ZUxpbmt9IHRvIGFjcXVpcmUgYSBsaWNlbnNlLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiUFJPRkVTU0lPTkFMXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBgWW91ciBsaWNlbmNlIGlzIHZhbGlkLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF5TGVmdCA8IDkwICYmIGRheUxlZnQgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyArPSBgIEl0IHdpbGwgZXhwaXJlIGluICR7ZGF5TGVmdH0gZGF5cy5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGV0YWlscyA9IGAke3dlYnNpdGVMaW5rfTxicj4ke2NvbnRhY3RMaW5rfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0ganNvbi5saWNlbmNlSW5mby5saWNlbmNlVHlwZSArIFwiIC0gXCIgKyAoanNvbi5saWNlbmNlSW5mby5vblByZW1pc2VTZXJ2ZXJIb3N0IHx8IFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGUkVFV0FSRVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJGcmVld2FyZSBsaWNlbmNlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gYFRoaXMgaXMgYSBmcmVld2FyZSBsaWNlbmNlLCBhbmQgaGF2ZSBzb21lIGxpbWl0YXRpb25zLlxcbiR7d2Vic2l0ZUxpbmt9IGZvciBtb3JlIGluZm9ybWF0aW9uLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgaGFzIGV4cGlyZWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJZb3VyIGxpY2Vuc2UgaGFzIGV4cGlyZWQuIFBsZWFzZSBjb250YWN0IG91ciBzdXBwb3J0IHRlYW0gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGQUlMRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJZb3VyIGxpY2Vuc2UgaXMgY3VycmVudGx5IGludmFsaWQuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBQbGVhc2UgY29udGFjdCAke2NvbnRhY3RMaW5rfSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLsyAYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvKiogKi9cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5lbGVtZW50LnRleHQoXCJMaWNlbmNlIFwiICsgSlNPTi5zdHJpbmdpZnkoanNvbikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1pY29uXCIpLmFwcGVuZCgkKFwiPGk+XCIpLmFkZENsYXNzKGljb24pKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LW1zZ1wiKS50ZXh0KG1zZykpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtZGV0YWlsc1wiKS5hcHBlbmQoZGV0YWlscykpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzID09PSBcIkVYUElSRURcIiB8fCBzdGF0dXMgPT09IFwiRkFJTEVEXCIgfHwganNvbi50eXBlID09PSBcIkZSRUVXQVJFXCIgfHwganNvbi50eXBlID09PSBcIlRSSUFMXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmliZUJ1dHRvbiA9ICQoXCI8YnV0dG9uLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcImlkXCIsIFwic3Vic2NyaWJlLWJ1dHRvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5hdHRyKFwiY2xhc3NcIiwgXCJidG4gYnRuLXByaW1hcnlcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcInN0eWxlXCIsIFwibWFyZ2luLXRvcDogMjBweDtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24udGV4dChcIlN1YnNjcmliZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3Vic2NyaWJlQnV0dG9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIHNjcmlwdCBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQuc3JjID0gXCJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvcHJpY2luZy10YWJsZS5qc1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgc2NyaXB0IGVsZW1lbnQgdG8gdGhlIGhlYWQgKG9yIGJvZHkpIG9mIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcImhlYWRcIikuYXBwZW5kKHNjcmlwdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJpcGVQcmljaW5nVGFibGUgPSAkKFwiPHN0cmlwZS1wcmljaW5nLXRhYmxlLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5hdHRyKFwicHJpY2luZy10YWJsZS1pZFwiLCBwcmljaW5nVGFibGVJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInB1Ymxpc2hhYmxlLWtleVwiLCBwdWJsaXNoYWJsZUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInN0eWxlXCIsIFwiaGVpZ2h0OiAxMDAlO21heC1oZWlnaHQ6IDEwMCU7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3RyaXBlUHJpY2luZ1RhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmF0dHIoXCJzdHlsZVwiLCBcImhlaWdodDogMTAwJSAhaW1wb3J0YW50O1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCwgLy8gZXZlcnkgMTAgc2Vjb25kc1xuICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDEwMDAsXG4gICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAwLFxuICAgICAgICBwcmlvcml0eTogMTAwLFxuICAgIH07XG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUVuZHBvaW50MlwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcImNvbmZpZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwib3BjdWEgZW5kcG9pbnRcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDMvVUEvU2FtcGxlU2VydmVyXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6IGlzVmFsaWRPUENfVUFfVVJJLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFNlY3VyaXR5IE1vZGVcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogeyB2YWx1ZTogXCJOb25lXCIgfSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiB7IHZhbHVlOiBcIkFub255bW91c1wiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIFVzZXJOYW1lXG4gICAgICAgICAgICB1c2VyTmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgLy8gdXNlcm5hbWVcbiAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBmaXhlZCBvciBjYW4gYmUgcmVhZCB0aHJvdWdoIGVuZFBvaW50XG4gICAgICAgICAgICBjZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJuXCIgfSxcbiAgICAgICAgICAgIGxvY2FsZmlsZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgbG9jYWxrZXlmaWxlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiB7IHZhbHVlOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhDaHVua0NvdW50OiB7IHZhbHVlOiAxLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSwgLy8gc2hvdWxkIGJlIGF0IGxlYXN0IDgxOTJcbiAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJTbG93IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDIwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogNTAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkZhc3QgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDQwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDI1MCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAyMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIHVzZXI6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBhZHZhbmNlZCBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBjaGVja0NlcnRpZmljYXRlXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICQoXCIjY2hlY2tDZXJ0aWZpY2F0ZVwiKS5vbihcImNsaWNrXCIsICgpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IHlpZWxkIGZldGNoKFwiL29wY3VhLWVuZHBvaW50Mi9jbGllbnRfY2VydGlmaWNhdGUuanNvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaW5mbyA9IHlpZWxkIGRhdGEuanNvbigpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0ID0gSlNPTi5zdHJpbmdpZnkoaW5mbywgbnVsbCwgXCIgXCIpO1xuICAgICAgICAgICAgICAgICAgICBhbGVydCh0KTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBUZXN0IGJ1dHRvblxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtYW5hZ2VBUElDYWxsKFwiY29ubmVjdGlvblwiLCAkKFwiI3Rlc3QtY29ubmVjdGlvblwiKSwgKCkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBcIi9vcGN1YS1lbmRwb2ludDIvdGVzdC1jb25uZWN0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50Tm9kZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBub2RlLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LWVuZHBvaW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlQb2xpY3lcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VySWRlbnRpdHlUeXBlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJOYW1lOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyQ2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlclByaXZhdGVrZXk6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlclByaXZhdGVrZXlcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8vIG5vdCB0ZXN0ZWQgeWV0IC4uLjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0aWZpY2F0ZTogJChcIiNub2RlLWlucHV0LWNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsZmlsZTogJChcIiNub2RlLWlucHV0LWxvY2FsZmlsZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGtleWZpbGU6ICQoXCIjbm9kZS1pbnB1dC1sb2NhbGtleWZpbGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiAkKFwiI25vZGUtaW5wdXQtdXNlVHJhbnNwb3J0XCIpLnByb3AoXCJjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heENodW5rQ291bnQ6ICQoXCIjbm9kZS1pbnB1dC1tYXhDaHVua0NvdW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiAkKFwiI25vZGUtaW5wdXQtbWF4TWVzc2FnZVNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1yZWNlaXZlQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXNlbmRCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSwgKCkgPT4geyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyAgSW5zdGFsbCBzdWJzY3JpcHRpb25zIExpc3QgbWFuYWdlbWVudFxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNpemVUb3BpY3MgPSAodG9waWMsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBuZXdXaWR0aCA9IHRvcGljLndpZHRoKCkgfHwgMTAwO1xuICAgICAgICAgICAgICAgICAgICB0b3BpYy5maW5kKFwibGFiZWxcIikudHlwZWRJbnB1dChcIndpZHRoXCIsIG5ld1dpZHRoIC0gMTUpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uTGlzdCA9ICQoXCIjc3Vic2NyaXB0aW9ucy1jb250YWluZXJcIilcbiAgICAgICAgICAgICAgICAgICAgLmNzcyh7IFwibWluLWhlaWdodFwiOiBcIjE1MHB4XCIsIFwibWluLXdpZHRoXCI6IFwiMjYwcHhcIiB9KVxuICAgICAgICAgICAgICAgICAgICAuZWRpdGFibGVMaXN0KHtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXRlbTogKGNvbnRhaW5lciwgaW5kZXgsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9kYXRhID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSAkKFwiLnRlbXBsYXRlXCIpLmNsb25lKCkuYXBwZW5kVG8oY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cihcImlkXCIpLnJlbW92ZUNsYXNzKFwiaGlkZVwiKS5yZW1vdmVDbGFzcyhcInRlbXBsYXRlXCIpLmF0dHIoXCJkYXRhLWlcIiwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikudmFsKF9kYXRhLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZExpZmV0aW1lQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLm1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnByaW9yaXR5IHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLnN1YnNjcmlwdGlvbi1pZFwiKS50ZXh0KFwiXCIgKyBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikucHJvcChcInJlYWRvbmx5XCIsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiY2hlY2tlZFwiLCBfZGF0YS5pc0RlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgZGVmYXVsdCBzdWJzY3JpcHRpb24gY2Fubm90IGJlIGFjY2lkZW50YWxseSByZW1vdmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmZpbmQoXCIucmVkLXVpLWVkaXRhYmxlTGlzdC1pdGVtLXJlbW92ZVwiKS5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJkaXNhYmxlZFwiLCB0cnVlKSwgMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAvLyBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZXNpemVJdGVtOiByZXNpemVUb3BpY3MsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgQWRkU3Vic2NyaXB0aW9uID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gbm9kZS5zdWJzY3JpcHRpb25zIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHQgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImVtcHR5XCIpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpcHRpb24uaXNEZWZhdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImFkZEl0ZW1cIiwgc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgQWRkU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
|
7
|
+
(function(_0x48e568,_0x2600a7){const _0x1598d3=_0x4780,_0x59f81f=_0x48e568();while(!![]){try{const _0x201372=-parseInt(_0x1598d3(0x12d))/0x1*(parseInt(_0x1598d3(0x161))/0x2)+-parseInt(_0x1598d3(0x179))/0x3+-parseInt(_0x1598d3(0x1b0))/0x4*(parseInt(_0x1598d3(0xfe))/0x5)+parseInt(_0x1598d3(0x10a))/0x6+-parseInt(_0x1598d3(0x130))/0x7*(parseInt(_0x1598d3(0x14f))/0x8)+-parseInt(_0x1598d3(0x177))/0x9*(-parseInt(_0x1598d3(0x171))/0xa)+-parseInt(_0x1598d3(0x15d))/0xb*(-parseInt(_0x1598d3(0x148))/0xc);if(_0x201372===_0x2600a7)break;else _0x59f81f['push'](_0x59f81f['shift']());}catch(_0x1208d1){_0x59f81f['push'](_0x59f81f['shift']());}}}(_0x76b1,0x4e6fb),(function(){'use strict';const _0x557700=_0x4780;function _0x23ccd4(_0x16dddb,_0x2da225,_0x5a1b9b,_0x14819d){function _0x41e9c8(_0x290287){return _0x290287 instanceof _0x5a1b9b?_0x290287:new _0x5a1b9b(function(_0x1ee403){_0x1ee403(_0x290287);});}return new(_0x5a1b9b||(_0x5a1b9b=Promise))(function(_0x2ebe91,_0x1a724f){const _0x58a627=_0x4780;function _0x3a370f(_0x59d5cf){const _0x5a6750=_0x4780;try{_0x5f3773(_0x14819d[_0x5a6750(0x119)](_0x59d5cf));}catch(_0x5a5378){_0x1a724f(_0x5a5378);}}function _0xbbaac9(_0x113a4e){const _0x5506d7=_0x4780;try{_0x5f3773(_0x14819d[_0x5506d7(0x1be)](_0x113a4e));}catch(_0x1f3ef7){_0x1a724f(_0x1f3ef7);}}function _0x5f3773(_0x30c626){const _0x54a7d2=_0x4780;_0x30c626[_0x54a7d2(0x1b1)]?_0x2ebe91(_0x30c626[_0x54a7d2(0x1b3)]):_0x41e9c8(_0x30c626[_0x54a7d2(0x1b3)])['then'](_0x3a370f,_0xbbaac9);}_0x5f3773((_0x14819d=_0x14819d[_0x58a627(0x1bb)](_0x16dddb,_0x2da225||[]))[_0x58a627(0x119)]());});}typeof SuppressedError===_0x557700(0x11b)?SuppressedError:function(_0x1725f4,_0x371d66,_0x330975){const _0x44c948=_0x557700;var _0x4ca383=new Error(_0x330975);return _0x4ca383['name']=_0x44c948(0x178),_0x4ca383[_0x44c948(0x185)]=_0x1725f4,_0x4ca383['suppressed']=_0x371d66,_0x4ca383;};function _0x88df81(_0x48a703,_0x945c9a,_0x4959c8,_0x4d5cd8){const _0x1f1def=_0x557700,_0x14eed8=$('#'+_0x48a703+'-success'),_0x599636=$('#'+_0x48a703+_0x1f1def(0x100)),_0x126411=$('#'+_0x48a703+'-pending'),_0x62f00=$('#'+_0x48a703+'-messages');let _0x5bfa0a=![];_0x14eed8[_0x1f1def(0x1a8)](),_0x599636[_0x1f1def(0x1a8)](),_0x126411['hide'](),_0x945c9a['on'](_0x1f1def(0x124),()=>{const _0xe1cf42=_0x1f1def;if(_0x5bfa0a)return;_0x5bfa0a=!![],_0x126411[_0xe1cf42(0x1ba)]('hide'),_0x126411[_0xe1cf42(0x140)](_0xe1cf42(0x189)),_0x14eed8[_0xe1cf42(0x102)]('hide'),_0x599636['addClass'](_0xe1cf42(0x1a8)),_0x62f00[_0xe1cf42(0x140)]('');const {body:_0x238621,url:_0x1359da}=_0x4959c8();fetch(_0x1359da,{'method':_0xe1cf42(0x166),'headers':{'Content-Type':_0xe1cf42(0x165)},'body':JSON[_0xe1cf42(0x13a)](_0x238621)})[_0xe1cf42(0x14a)](_0x4f5a11=>_0x4f5a11[_0xe1cf42(0x103)]())[_0xe1cf42(0x14a)](_0x5d1ed9=>{const _0x405a2f=_0xe1cf42;_0x5bfa0a=![],_0x126411[_0x405a2f(0x1a8)](),console[_0x405a2f(0x13b)](JSON['stringify'](_0x5d1ed9,null,'\x20'));if(_0x5d1ed9[_0x405a2f(0x147)]==='ok')_0x14eed8[_0x405a2f(0x1ba)](_0x405a2f(0x1a8)),_0x599636['addClass'](_0x405a2f(0x1a8)),_0x62f00[_0x405a2f(0x140)](_0x5d1ed9[_0x405a2f(0xf7)]['replace']('\x0a',_0x405a2f(0x167))),_0x4d5cd8(null,_0x5d1ed9);else{const _0xea3d96=_0xf8fc50=>!_0xf8fc50?'':_0xf8fc50[_0x405a2f(0xf4)]('\x0a')[_0x405a2f(0x14c)](_0x109dc2=>_0x405a2f(0x101)+_0x109dc2+_0x405a2f(0xf5))[_0x405a2f(0x117)]('\x0a'),_0x267c9d=_0x5eee14=>Array[_0x405a2f(0x106)](_0x5eee14)?_0x5eee14['map'](_0xea3d96)['join']('\x0a'):_0xea3d96(_0x5eee14);_0x14eed8[_0x405a2f(0x102)](_0x405a2f(0x1a8)),_0x599636[_0x405a2f(0x1ba)](_0x405a2f(0x1a8)),_0x62f00[_0x405a2f(0x140)](_0x267c9d(_0x5d1ed9[_0x405a2f(0xf7)])+_0x267c9d(_0x5d1ed9[_0x405a2f(0x133)])),_0x4d5cd8(new Error(_0x5d1ed9[_0x405a2f(0x147)]),_0x5d1ed9);}})['catch'](_0x1e3981=>{const _0x144a6b=_0xe1cf42;_0x5bfa0a=![],_0x126411[_0x144a6b(0x102)](_0x144a6b(0x1a8)),_0x14eed8[_0x144a6b(0x102)]('hide'),_0x599636[_0x144a6b(0x1ba)]('hide'),_0x62f00[_0x144a6b(0x140)]('internal\x20error\x20'+_0x1e3981[_0x144a6b(0xf7)]),console[_0x144a6b(0x13b)](_0x144a6b(0xfb),_0x1e3981),_0x4d5cd8(_0x1e3981,null);});});}const _0x434321=_0x557700(0xf9),_0x2368bf=_0x557700(0x108);function _0xef0346(_0xa88c90=''){return _0x23ccd4(this,void 0x0,void 0x0,function*(){const _0x2656c5=_0x4780,_0x1dbc8d=_0xa88c90+_0x2656c5(0x1a3),_0x5cb759=_0x1dbc8d+_0x2656c5(0x17a),_0x2a121c=yield fetch(_0x5cb759,{'method':_0x2656c5(0x166),'headers':{'Content-Type':_0x2656c5(0x165)}}),_0x3a5777=new Date()[_0x2656c5(0x128)]();if(_0x2a121c[_0x2656c5(0x197)]!==0xc8)return console[_0x2656c5(0x13b)](_0x2656c5(0x17b),_0x2a121c[_0x2656c5(0x197)],_0x2a121c[_0x2656c5(0x13d)]),{'status':_0x2656c5(0x141),'type':_0x2656c5(0x170),'licenceInfo':{'expiryDate':_0x3a5777}};const _0x246b61=yield _0x2a121c[_0x2656c5(0x103)]();return _0x246b61;});}const _0x5c8d46=()=>{const _0x3d9773=_0x557700;$[_0x3d9773(0x113)]('sterfive.licenceWidget',{'options':{'baseUrl':''},'_create'(){const _0x19d1bd=_0x3d9773,_0x61dda0=this,_0xd68a0=_0x19d1bd(0x112),_0x51c67c=_0x19d1bd(0x114);_0xef0346(_0x61dda0[_0x19d1bd(0x193)])[_0x19d1bd(0x14a)](_0x2765db=>{const _0x5c1a02=_0x19d1bd;let _0x2bd615='',_0x315356='',_0x14e879='';const _0x2ef648=_0x2765db['status'],_0xf5315d=_0x2765db[_0x5c1a02(0x16e)];switch(_0x2ef648){case _0x5c1a02(0x19a):_0x2bd615=_0x5c1a02(0x14d);switch(_0x2765db[_0x5c1a02(0x1b6)]){case _0x5c1a02(0x1af):{_0x315356=_0x5c1a02(0x142),_0x14e879=_0x5c1a02(0x122)+_0xf5315d+_0x5c1a02(0x1aa)+_0x51c67c+'\x20to\x20acquire\x20a\x20license.';break;}case _0x5c1a02(0x18e):_0x315356=_0x5c1a02(0x110);_0xf5315d<0x5a&&_0xf5315d>=0x0&&(_0x315356+=_0x5c1a02(0x1a4)+_0xf5315d+_0x5c1a02(0x150));_0x14e879=_0x2765db[_0x5c1a02(0x11f)][_0x5c1a02(0x12e)]+_0x5c1a02(0x176)+(_0x2765db[_0x5c1a02(0x11f)][_0x5c1a02(0x12c)]||'');break;case _0x5c1a02(0x170):_0x315356=_0x5c1a02(0x1a2),_0x14e879=_0x5c1a02(0x159)+_0x51c67c+_0x5c1a02(0x1ad);break;}break;case'EXPIRED':_0x2bd615=_0x5c1a02(0x175),_0x315356='Licence\x20has\x20expired',_0x14e879=_0x5c1a02(0x190);break;case _0x5c1a02(0x141):default:_0x2bd615=_0x5c1a02(0x199),_0x315356=_0x5c1a02(0x134),_0x14e879=_0x5c1a02(0x10c)+_0xd68a0+_0x5c1a02(0x16a);break;}this[_0x5c1a02(0x10b)]['addClass']('licence-widget'),this[_0x5c1a02(0x10b)]['addClass'](_0x5c1a02(0x173)+_0x2ef648),this[_0x5c1a02(0x10b)][_0x5c1a02(0x156)]($(_0x5c1a02(0x10f))[_0x5c1a02(0x102)](_0x5c1a02(0xf8))['append']($(_0x5c1a02(0x1a0))[_0x5c1a02(0x102)](_0x2bd615))),this[_0x5c1a02(0x10b)][_0x5c1a02(0x156)]($(_0x5c1a02(0x10f))[_0x5c1a02(0x102)](_0x5c1a02(0x151))[_0x5c1a02(0xfa)](_0x315356)),this['element'][_0x5c1a02(0x156)]($(_0x5c1a02(0x167))),this['element'][_0x5c1a02(0x156)]($(_0x5c1a02(0x10f))['addClass'](_0x5c1a02(0x139))[_0x5c1a02(0x156)](_0x14e879));if(_0x2ef648===_0x5c1a02(0x123)||_0x2ef648===_0x5c1a02(0x141)||_0x2765db[_0x5c1a02(0x1b6)]==='FREEWARE'||_0x2765db[_0x5c1a02(0x1b6)]==='TRIAL'){const _0x27fcde=$(_0x5c1a02(0x120));_0x27fcde['attr']('id',_0x5c1a02(0x146)),_0x27fcde[_0x5c1a02(0x19d)]('class',_0x5c1a02(0x17e)),_0x27fcde[_0x5c1a02(0x19d)](_0x5c1a02(0x18d),_0x5c1a02(0x181)),_0x27fcde['text'](_0x5c1a02(0xff)),this[_0x5c1a02(0x10b)][_0x5c1a02(0x156)](_0x27fcde);const _0x27cd23=document[_0x5c1a02(0x192)](_0x5c1a02(0x15c));_0x27cd23[_0x5c1a02(0x115)]=_0x5c1a02(0x172),_0x27cd23['async']=!![],$(_0x5c1a02(0x1b8))[_0x5c1a02(0x156)](_0x27cd23);const _0x1f0e2c=$('<stripe-pricing-table/>');_0x1f0e2c[_0x5c1a02(0x19d)](_0x5c1a02(0xfc),_0x434321),_0x1f0e2c[_0x5c1a02(0x19d)](_0x5c1a02(0x154),_0x2368bf),_0x1f0e2c[_0x5c1a02(0x19d)](_0x5c1a02(0x18d),_0x5c1a02(0x152)),_0x1f0e2c[_0x5c1a02(0x1a8)](),this['element'][_0x5c1a02(0x156)](_0x1f0e2c),_0x27fcde['on']('click',()=>{const _0x559b94=_0x5c1a02;_0x1f0e2c['show'](),_0x27fcde[_0x559b94(0x1a8)](),this[_0x559b94(0x10b)][_0x559b94(0x19d)](_0x559b94(0x18d),'height:\x20100%\x20!important;');});}})[_0x19d1bd(0x15a)](_0x9a049c=>{const _0x3e851f=_0x19d1bd;console[_0x3e851f(0x13b)](_0x9a049c);});}});};_0x5c8d46();function _0x223b9f(_0x473875){const _0x2b9851=_0x557700;let _0x156518;try{_0x156518=new URL(_0x473875);}catch(_0x8cf5ad){return![];}return _0x156518[_0x2b9851(0x1a1)]===_0x2b9851(0x180);}const _0xb66271={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x557700(0x131)][_0x557700(0x11e)]('OpcUa-Endpoint2',{'category':_0x557700(0x15e),'paletteLabel':_0x557700(0x149),'defaults':{'name':{'value':''},'endpoint':{'value':'opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','required':!![],'validate':_0x223b9f},'securityMode':{'value':'None'},'securityPolicy':{'value':_0x557700(0x1a5),'validate':_0xa307cd=>{if(!_0xa307cd)return![];return!![];}},'userIdentityType':{'value':_0x557700(0x184)},'useTransport':{'value':![],'required':![]},'maxChunkCount':{'value':0x1,'required':![]},'maxMessageSize':{'value':0x2000,'required':![]},'receiveBufferSize':{'value':0x2000,'required':![]},'sendBufferSize':{'value':0x2000,'required':![]},'subscriptions':{'value':[{'id':'s1','name':_0x557700(0x187),'isDefault':!![],'parameters':Object[_0x557700(0x1ab)]({},_0xb66271)},{'id':'s2','name':_0x557700(0x14e),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':'Fast\x20Subscription','isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'userName':{'type':_0x557700(0xfa)},'password':{'type':_0x557700(0x132)},'userCertificate':{'type':'text'},'userPrivatekey':{'type':_0x557700(0x132)}},'label':function(){const _0x3dd7c7=_0x557700;return this[_0x3dd7c7(0x16b)]||this[_0x3dd7c7(0x160)]||_0x3dd7c7(0x1ae);},'oneditsave'(){const _0x243b4d=_0x557700,_0x346e00=$(_0x243b4d(0x16f)),_0x289de6=$(_0x243b4d(0x11c));_0x346e00['val']()==='None'&&_0x289de6[_0x243b4d(0xfa)]('None');const _0x2999ec=$(_0x243b4d(0x121))['editableList'](_0x243b4d(0x163)),_0x5f6d22=[],_0x4531b0=_0x2bb71a=>_0x2bb71a;_0x2999ec[_0x243b4d(0x174)](function(_0x4ea458,_0x47115f){const _0x1b9ddf=_0x243b4d,_0x598322=$(this),_0x39df15={'id':'s'+_0x4ea458,'name':_0x598322['find'](_0x1b9ddf(0x12f))[_0x1b9ddf(0x137)](),'isDefault':!!_0x598322[_0x1b9ddf(0x164)](_0x1b9ddf(0x118))[_0x1b9ddf(0x137)](),'parameters':{'publishingEnabled':!!_0x598322['find'](_0x1b9ddf(0x13f))['is'](_0x1b9ddf(0x155)),'requestedLifetimeCount':_0x4531b0(_0x598322[_0x1b9ddf(0x164)]('.input-requestedLifetimeCount')[_0x1b9ddf(0x137)]()),'requestedMaxKeepAliveCount':_0x4531b0(_0x598322[_0x1b9ddf(0x164)](_0x1b9ddf(0x196))[_0x1b9ddf(0x137)]()),'requestedPublishingInterval':_0x4531b0(_0x598322['find'](_0x1b9ddf(0x107))[_0x1b9ddf(0x137)]()),'maxNotificationsPerPublish':_0x4531b0(_0x598322['find'](_0x1b9ddf(0x18f))['val']()),'priority':_0x4531b0(_0x598322[_0x1b9ddf(0x164)](_0x1b9ddf(0x136))['val']())}};_0x39df15[_0x1b9ddf(0x105)][_0x1b9ddf(0x153)]=!![],_0x39df15['isDefault']&&_0x39df15['id']==='s0'&&(_0x39df15[_0x1b9ddf(0x16b)]='Default\x20Subscription'),_0x5f6d22[_0x1b9ddf(0x1a6)](_0x39df15);}),this[_0x243b4d(0x125)]=_0x5f6d22;},'oneditprepare'(){const _0x252269=_0x557700,_0x13ad17=this,_0x485160=RED['tabs'][_0x252269(0x162)]({'id':_0x252269(0x1bc),'onchange':function(_0x19f9c6){const _0x2a19ae=_0x252269;$('#node-config-endpoint-tabs-content')[_0x2a19ae(0x1b5)]()[_0x2a19ae(0x1a8)](),$('#'+_0x19f9c6['id'])[_0x2a19ae(0x1ac)]();}});_0x485160[_0x252269(0x1bf)]({'id':'endpoint-tab-connection','label':_0x252269(0x135)},0x0),_0x485160[_0x252269(0x1bf)]({'id':_0x252269(0x12b),'label':_0x252269(0x109)},0x1),setTimeout(function(){const _0x56c0fc=_0x252269;_0x485160[_0x56c0fc(0x1bd)]();},0x0);{const _0x510a3e=_0x3021a4=>{const _0x46556a=_0x252269;switch(_0x3021a4){case null:case undefined:case'':case _0x46556a(0x1a5):$(_0x46556a(0x127))['hide']();break;case _0x46556a(0x11d):case _0x46556a(0x13c):{const _0x5a3053=$(_0x46556a(0x127));(_0x5a3053[_0x46556a(0x137)]()===_0x46556a(0x1a5)||_0x5a3053[_0x46556a(0x137)]()==='')&&_0x5a3053['val']('Basic256Sha256'),$(_0x46556a(0x127))['show']();}break;default:console['log'](_0x46556a(0x144)+_0x3021a4);}};_0x510a3e(_0x13ad17[_0x252269(0x145)]);const _0xada5ac=$(_0x252269(0x11c));_0xada5ac['on'](_0x252269(0x14b),()=>{const _0x517d67=_0x252269,_0xbd0837=_0xada5ac[_0x517d67(0x137)]();_0x510a3e(_0xbd0837);});}const _0x453f89=$('#licenceWidget');_0x453f89[_0x252269(0x1b7)]({'baseUrl':''});{const _0x5ed011=$(_0x252269(0x143)),_0x2c3d42=$(_0x252269(0x16c)),_0x1ae5dd=_0x139279=>{const _0x355ab6=_0x252269;_0x139279=_0x139279||_0x355ab6(0x184);switch(_0x139279){case _0x355ab6(0x184):$(_0x355ab6(0x19c))[_0x355ab6(0x137)](''),$(_0x355ab6(0x126))[_0x355ab6(0x137)](''),_0x5ed011[_0x355ab6(0x1a8)](),_0x2c3d42[_0x355ab6(0x1a8)]();break;case _0x355ab6(0x15b):_0x5ed011[_0x355ab6(0x1ac)](),_0x2c3d42[_0x355ab6(0x1a8)]();break;case _0x355ab6(0x183):$(_0x355ab6(0x19c))[_0x355ab6(0x137)](''),$(_0x355ab6(0x126))['val'](''),_0x2c3d42['show'](),_0x5ed011[_0x355ab6(0x1a8)]();break;default:console[_0x355ab6(0x13b)](_0x355ab6(0x158)+_0x139279);}};_0x1ae5dd(_0x13ad17[_0x252269(0x19f)]);const _0x4b342c=$('#node-config-input-userIdentityType');_0x4b342c['on']('change',()=>{const _0x1a119e=_0x252269,_0x3ce3da=_0x4b342c[_0x1a119e(0x137)]();_0x1ae5dd(_0x3ce3da);});}{$(_0x252269(0x1b4))[_0x252269(0x1a8)](),$(_0x252269(0x194))['on']('change',function(){const _0x16f609=_0x252269;$(this)['prop'](_0x16f609(0x19e))?$(_0x16f609(0x1b4))[_0x16f609(0x1ac)]():$('#section-Advanced')[_0x16f609(0x1a8)]();});}{$(_0x252269(0x18a))['on'](_0x252269(0x124),()=>_0x23ccd4(this,void 0x0,void 0x0,function*(){const _0x5865c2=_0x252269,_0x2181dc=yield fetch(_0x5865c2(0x11a)),_0x54e605=yield _0x2181dc[_0x5865c2(0x103)](),_0x23a4af=JSON[_0x5865c2(0x13a)](_0x54e605,null,'\x20');alert(_0x23a4af);}));}{_0x88df81(_0x252269(0x18c),$(_0x252269(0x17d)),()=>({'url':_0x252269(0xf6),'body':{'endpointNode':{'id':_0x13ad17['id'],'endpoint':$('#node-config-input-endpoint')['val'](),'securityMode':$(_0x252269(0x11c))[_0x252269(0x137)](),'securityPolicy':$(_0x252269(0x16f))[_0x252269(0x137)](),'userIdentityType':$(_0x252269(0x138))[_0x252269(0x137)](),'userName':$(_0x252269(0x19c))[_0x252269(0x137)](),'password':$(_0x252269(0x126))[_0x252269(0x137)](),'userCertificate':$(_0x252269(0x12a))[_0x252269(0x137)](),'userPrivatekey':$(_0x252269(0x169))['val'](),'certificate':$(_0x252269(0x1a7))[_0x252269(0x137)](),'useTransport':$(_0x252269(0xfd))[_0x252269(0x116)](_0x252269(0x19e)),'maxChunkCount':$('#node-input-maxChunkCount')[_0x252269(0x137)](),'maxMessageSize':$(_0x252269(0x17c))['val'](),'receiveBufferSize':$(_0x252269(0x17f))[_0x252269(0x137)](),'sendBufferSize':$(_0x252269(0x1b9))[_0x252269(0x137)]()}}}),()=>{});}{const _0x40655a=(_0x2b1b63,_0x3ff365)=>{const _0x368140=_0x252269;var _0x3872ff=_0x2b1b63['width']()||0x64;_0x2b1b63['find']('label')['typedInput'](_0x368140(0x16d),_0x3872ff-0xf);},_0x6465=$(_0x252269(0x121))[_0x252269(0x15f)]({'min-height':_0x252269(0x18b),'min-width':_0x252269(0x13e)})['editableList']({'addItem':(_0x9f0a2f,_0x1c7a36,_0x5cbb98)=>{const _0x5f4d13=_0x252269,_0x2fdf41=_0x5cbb98,_0x2f061e=$(_0x5f4d13(0x168))[_0x5f4d13(0x195)]()[_0x5f4d13(0x1a9)](_0x9f0a2f);_0x2f061e[_0x5f4d13(0x188)]('id')[_0x5f4d13(0x1ba)]('hide')[_0x5f4d13(0x1ba)]('template')['attr'](_0x5f4d13(0x111),_0x1c7a36),_0x2f061e[_0x5f4d13(0x164)](_0x5f4d13(0x12f))['val'](_0x2fdf41[_0x5f4d13(0x16b)]),_0x2f061e[_0x5f4d13(0x164)](_0x5f4d13(0x107))['val'](_0x2fdf41[_0x5f4d13(0x105)]['requestedPublishingInterval']),_0x2f061e[_0x5f4d13(0x164)](_0x5f4d13(0x196))['val'](_0x2fdf41[_0x5f4d13(0x105)]['requestedMaxKeepAliveCount']),_0x2f061e[_0x5f4d13(0x164)](_0x5f4d13(0x104))[_0x5f4d13(0x137)](_0x2fdf41['parameters'][_0x5f4d13(0x157)]),_0x2f061e[_0x5f4d13(0x164)](_0x5f4d13(0x18f))[_0x5f4d13(0x137)](_0x2fdf41[_0x5f4d13(0x105)][_0x5f4d13(0x10e)]||0x0),_0x2f061e['find'](_0x5f4d13(0x136))['val'](_0x2fdf41[_0x5f4d13(0x105)][_0x5f4d13(0x186)]||0x0),_0x2f061e['find'](_0x5f4d13(0x198))[_0x5f4d13(0xfa)](''+_0x1c7a36),_0x2fdf41['isDefault']&&_0x2f061e['find'](_0x5f4d13(0x12f))[_0x5f4d13(0x116)]('readonly',!![]),_0x2f061e[_0x5f4d13(0x164)](_0x5f4d13(0x118))['prop'](_0x5f4d13(0x19e),_0x2fdf41[_0x5f4d13(0x10d)]),_0x2fdf41[_0x5f4d13(0x10d)]&&(_0x9f0a2f[_0x5f4d13(0x164)](_0x5f4d13(0x129))[_0x5f4d13(0x102)](_0x5f4d13(0x1a8)),setTimeout(()=>_0x2f061e['find'](_0x5f4d13(0x118))['prop'](_0x5f4d13(0x182),!![]),0xa));},'removable':!![],'resizeItem':_0x40655a}),_0x5cc296=()=>{const _0x44836a=_0x252269,_0x2c3a65=_0x13ad17[_0x44836a(0x125)]||[];_0x2c3a65['length']===0x0&&_0x2c3a65['push']({'id':'s1','name':_0x44836a(0x187),'isDefault':!![],'parameters':Object[_0x44836a(0x1ab)]({},_0xb66271)});_0x6465[_0x44836a(0x1b2)](_0x44836a(0x191));for(const _0x3db8bb of _0x2c3a65){_0x6465['editableList'](_0x44836a(0x19b),_0x3db8bb);}};_0x5cc296();}}});}()));function _0x4780(_0x2bb3cd,_0x33a16c){const _0x76b17=_0x76b1();return _0x4780=function(_0x478057,_0x3cc17f){_0x478057=_0x478057-0xf4;let _0x50e27c=_0x76b17[_0x478057];return _0x50e27c;},_0x4780(_0x2bb3cd,_0x33a16c);}function _0x76b1(){const _0x7512f3=['empty','createElement','baseUrl','#toggleAdvancedSection','clone','.input-requestedMaxKeepAliveCount','status','.subscription-id','fa\x20fa-exclamation-circle','AUTHORIZED','addItem','#node-config-input-userName','attr','checked','userIdentityType','<i>','protocol','Freeware\x20licence','/opcua-endpoint2','\x20It\x20will\x20expire\x20in\x20','None','push','#node-input-certificate','hide','appendTo','\x20days.\x0aBuy\x20online\x20and\x20visit\x20','assign','show','\x20for\x20more\x20information.','invalid\x20endpoint','TRIAL','16eXKpgf','done','editableList','value','#section-Advanced','children','type','licenceWidget','head','#node-input-sendBufferSize','removeClass','apply','node-config-endpoint-tabs','resize','throw','addTab','split','</p>','/opcua-endpoint2/test-connection','message','licence-widget-icon','prctbl_1OJt49BCNccbzsVzkaANOgFL','text','err','pricing-table-id','#node-input-useTransport','531815Fvajnf','Subscribe','-failure','<p>','addClass','json','.input-requestedLifetimeCount','parameters','isArray','.input-requestedPublishingInterval','pk_live_51HsE1sBCNccbzsVzt7zaq2uv20pkryWllAzvZgZd5AhwFI9A3qBIeOJvJwQF08lDoLpFqLjwmyA79wnPnYLsvKjt009f00VpCW','Subscriptions','3683448wpknAr','element','Please\x20contact\x20','isDefault','maxNotificationsPerPublish','<span>','Your\x20licence\x20is\x20valid.','data-i','<a\x20href=\x22mailto:support@sterfive.com\x22\x20subject=\x22@opcua/for-node-red\x20support\x20request\x22>mailto:support@sterfive.com</a>','widget','<a\x20href=\x22https://www.sterfive.com/opcua/for-node-red\x22\x20target=”_blank”>Sterfive\x27s\x20website\x20</a>','src','prop','join','.input-isDefault','next','/opcua-endpoint2/client_certificate.json','function','#node-config-input-securityMode','Sign','registerType','licenceInfo','<button/>','#subscriptions-container','The\x20Trial\x20will\x20expire\x20in\x20','EXPIRED','click','subscriptions','#node-config-input-password','.section-securityPolicy','toISOString','.red-ui-editableList-item-remove','#node-config-input-userCertificate','endpoint-tab-subscriptions','onPremiseServerHost','31rImEtI','licenceType','.input-name','61439XEhjAI','nodes','password','extra','Your\x20license\x20is\x20currently\x20invalid.','Connection','.input-priority','val','#node-config-input-userIdentityType','licence-widget-details','stringify','log','SignAndEncrypt','statusText','260px','.input-publishingEnabled','html','FAILED','Trial\x20licence','.section-userIdentityType-UserName','invalid\x20securityMode\x20','securityMode','subscribe-button','result','9386724oqaxqq','opcua\x20endpoint','then','change','map','fa\x20fa-check-circle','Slow\x20Subscription','8dViUHj','\x20days.','licence-widget-msg','height:\x20100%;max-height:\x20100%;','publishingEnabled','publishable-key',':checked','append','requestedLifetimeCount','invalid\x20userIdentityType\x20','This\x20is\x20a\x20freeware\x20licence,\x20and\x20have\x20some\x20limitations.\x0a','catch','UserName','script','11pRnfvW','config','css','endpoint','35934hvfgDJ','create','items','find','application/json','POST','<br>','.template','#node-config-input-userPrivatekey','\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.̀','name','.section-userIdentityType-Certificate','width','daysLeft','#node-config-input-securityPolicy','FREEWARE','640230fXSzII','https://js.stripe.com/v3/pricing-table.js','licence-widget-','each','fa\x20fa-calendar-time','\x20-\x20','18TAclEp','SuppressedError','635100NOsron','/licenceInfo','fetching\x20failed\x20with\x20error','#node-input-maxMessageSize','#test-connection','btn\x20btn-primary','#node-input-receiveBufferSize','opc.tcp:','margin-top:\x2020px;','disabled','Certificate','Anonymous','error','priority','Default\x20Subscription','removeAttr','Testing\x20Connection\x20...','#checkCertificate','150px','connection','style','PROFESSIONAL','.input-maxNotificationsPerPublish','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.'];_0x76b1=function(){return _0x7512f3;};return _0x76b1();}
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHgyM2NjZDQiLCJfMHgxNmRkZGIiLCJfMHgyZGEyMjUiLCJfMHg1YTFiOWIiLCJfMHgxNDgxOWQiLCJfMHg0MWU5YzgiLCJfMHgyOTAyODciLCJfMHgxZWU0MDMiLCJQcm9taXNlIiwiXzB4MmViZTkxIiwiXzB4MWE3MjRmIiwiXzB4M2EzNzBmIiwiXzB4NTlkNWNmIiwiXzB4NWYzNzczIiwiXzB4NWE1Mzc4IiwiXzB4YmJhYWM5IiwiXzB4MTEzYTRlIiwiXzB4MWYzZWY3IiwiXzB4MzBjNjI2IiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4MTcyNWY0IiwiXzB4MzcxZDY2IiwiXzB4MzMwOTc1IiwiXzB4NGNhMzgzIiwiRXJyb3IiLCJfMHg4OGRmODEiLCJfMHg0OGE3MDMiLCJfMHg5NDVjOWEiLCJfMHg0OTU5YzgiLCJfMHg0ZDVjZDgiLCJfMHgxNGVlZDgiLCIkIiwiXzB4NTk5NjM2IiwiXzB4MTI2NDExIiwiXzB4NjJmMDAiLCJfMHg1YmZhMGEiLCJib2R5IiwiXzB4MjM4NjIxIiwidXJsIiwiXzB4MTM1OWRhIiwiZmV0Y2giLCJKU09OIiwiXzB4NGY1YTExIiwiXzB4NWQxZWQ5IiwiY29uc29sZSIsIl8weGVhM2Q5NiIsIl8weGY4ZmM1MCIsIl8weDEwOWRjMiIsIl8weDI2N2M5ZCIsIl8weDVlZWUxNCIsIkFycmF5IiwiXzB4MWUzOTgxIiwiXzB4NDM0MzIxIiwiXzB4MjM2OGJmIiwiXzB4ZWYwMzQ2IiwiXzB4YTg4YzkwIiwiXzB4MWRiYzhkIiwiXzB4NWNiNzU5IiwiXzB4MmExMjFjIiwiXzB4M2E1Nzc3IiwiRGF0ZSIsIl8weDI0NmI2MSIsIl8weDVjOGQ0NiIsIl8weDYxZGRhMCIsIl8weGQ2OGEwIiwiXzB4NTFjNjdjIiwiXzB4Mjc2NWRiIiwiXzB4MmJkNjE1IiwiXzB4MzE1MzU2IiwiXzB4MTRlODc5IiwiXzB4MmVmNjQ4IiwiXzB4ZjUzMTVkIiwiXzB4MjdmY2RlIiwiXzB4MjdjZDIzIiwiZG9jdW1lbnQiLCJfMHgxZjBlMmMiLCJfMHg5YTA0OWMiLCJfMHgyMjNiOWYiLCJfMHg0NzM4NzUiLCJfMHgxNTY1MTgiLCJVUkwiLCJfMHg4Y2Y1YWQiLCJfMHhiNjYyNzEiLCJSRUQiLCJfMHhhMzA3Y2QiLCJPYmplY3QiLCJfMHgzNDZlMDAiLCJfMHgyODlkZTYiLCJfMHgyOTk5ZWMiLCJfMHg1ZjZkMjIiLCJfMHg0NTMxYjAiLCJfMHgyYmI3MWEiLCJfMHg0ZWE0NTgiLCJfMHg0NzExNWYiLCJfMHg1OTgzMjIiLCJfMHgzOWRmMTUiLCJfMHgxM2FkMTciLCJfMHg0ODUxNjAiLCJfMHgxOWY5YzYiLCJzZXRUaW1lb3V0IiwiXzB4NTEwYTNlIiwiXzB4MzAyMWE0IiwidW5kZWZpbmVkIiwiXzB4NWEzMDUzIiwiXzB4YWRhNWFjIiwiXzB4YmQwODM3IiwiXzB4NDUzZjg5IiwiXzB4NWVkMDExIiwiXzB4MmMzZDQyIiwiXzB4MWFlNWRkIiwiXzB4MTM5Mjc5IiwiXzB4NGIzNDJjIiwiXzB4M2NlM2RhIiwiXzB4MjE4MWRjIiwiXzB4NTRlNjA1IiwiXzB4MjNhNGFmIiwiYWxlcnQiLCJfMHg0MDY1NWEiLCJfMHgyYjFiNjMiLCJfMHgzZmYzNjUiLCJfMHgzODcyZmYiLCJfMHg2NDY1IiwiXzB4OWYwYTJmIiwiXzB4MWM3YTM2IiwiXzB4NWNiYjk4IiwiXzB4MmZkZjQxIiwiXzB4MmYwNjFlIiwiXzB4NWNjMjk2IiwiXzB4MmMzYTY1IiwiXzB4M2RiOGJiIl0sIm1hcHBpbmdzIjoiNm9CQUFBLENBQUMsVSxDQUNHLGEsd0JBbUJBLFNBQVNBLFNBQVQsQ0FBbUJDLFNBQW5CLENBQTRCQyxTQUE1QixDQUF3Q0MsU0FBeEMsQ0FBMkNDLFNBQTNDLEMsQ0FDSSxTQUFTQyxTQUFULENBQWVDLFNBQWYsQyxRQUErQkEsU0FBQSxZQUFpQkgsU0FBakIsQ0FBcUJHLFNBQXJCLENBQTZCLElBQUlILFNBQUosQ0FBTSxTQUFVSSxTQUFWLEMsQ0FBcUJBLFNBQUEsQ0FBUUQsU0FBUixDLEVBQTNCLEMsU0FDckQsR0FBSyxDQUFB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T0FBQSxDLGdCQUFBLEUsZ0JBQUEsRUFDQSxVQUFXUSxTQUFYLElBQTJCRCxTQUEzQixDLENBRUlQLE9BQUEsQyxjQUFBLEUsZ0JBQUEsQ0FBeUNRLFNBQXpDLEMsR0E5Q1IsQ0FpREFGLFNBQUEsRSxHQTlUOEIsQ0FBMUMsQyxFQXZPSixHIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uICgpIHtcbiAgICAndXNlIHN0cmljdCc7XG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi5cclxuXHJcbiAgICBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcclxuICAgIHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cclxuXHJcbiAgICBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUyBXSVRIXHJcbiAgICBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFlcclxuICAgIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCxcclxuICAgIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTVxyXG4gICAgTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1JcclxuICAgIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1JcclxuICAgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuXHJcbiAgICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4gICAgLyogZ2xvYmFsIFJlZmxlY3QsIFByb21pc2UsIFN1cHByZXNzZWRFcnJvciwgU3ltYm9sICovXHJcblxyXG5cclxuICAgIGZ1bmN0aW9uIF9fYXdhaXRlcih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcclxuICAgICAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cclxuICAgICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cclxuICAgICAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cclxuICAgICAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHR5cGVvZiBTdXBwcmVzc2VkRXJyb3IgPT09IFwiZnVuY3Rpb25cIiA/IFN1cHByZXNzZWRFcnJvciA6IGZ1bmN0aW9uIChlcnJvciwgc3VwcHJlc3NlZCwgbWVzc2FnZSkge1xyXG4gICAgICAgIHZhciBlID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xyXG4gICAgICAgIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XHJcbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gbWFuYWdlQVBJQ2FsbChwcmVmaXgsIGJ0biwgZnVuYywgb25SZXN1bHQpIHtcbiAgICAgICAgY29uc3Qgc3VjY2Vzc0ljb24gPSAkKGAjJHtwcmVmaXh9LXN1Y2Nlc3NgKTtcbiAgICAgICAgY29uc3QgZmFpbHVyZUljb24gPSAkKGAjJHtwcmVmaXh9LWZhaWx1cmVgKTtcbiAgICAgICAgY29uc3QgcGVuZGluZ0ljb24gPSAkKGAjJHtwcmVmaXh9LXBlbmRpbmdgKTtcbiAgICAgICAgY29uc3QgbWVzc2FnZXMgPSAkKGAjJHtwcmVmaXh9LW1lc3NhZ2VzYCk7XG4gICAgICAgIGxldCBhY3Rpb25QZW5kaW5nID0gZmFsc2U7XG4gICAgICAgIHN1Y2Nlc3NJY29uLmhpZGUoKTtcbiAgICAgICAgZmFpbHVyZUljb24uaGlkZSgpO1xuICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgIGJ0bi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgIGlmIChhY3Rpb25QZW5kaW5nKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgcGVuZGluZ0ljb24uaHRtbChcIlRlc3RpbmcgQ29ubmVjdGlvbiAuLi5cIik7XG4gICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBmYWlsdXJlSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiXCIpO1xuICAgICAgICAgICAgY29uc3QgeyBib2R5LCB1cmwgfSA9IGZ1bmMoKTtcbiAgICAgICAgICAgIC8vIHh4IGNvbnNvbGUubG9nKFwieHh4eHhcIiwgYm9keSk7XG4gICAgICAgICAgICBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IGRhdGEuanNvbigpKVxuICAgICAgICAgICAgICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uLCBudWxsLCBcIiBcIikpO1xuICAgICAgICAgICAgICAgIGlmIChqc29uLnJlc3VsdCA9PT0gXCJva1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGpzb24ubWVzc2FnZS5yZXBsYWNlKFwiXFxuXCIsIFwiPGJyPlwiKSk7XG4gICAgICAgICAgICAgICAgICAgIG9uUmVzdWx0KG51bGwsIGpzb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQgPSAoc3RyKSA9PiAhc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogc3RyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNwbGl0KFwiXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYSkgPT4gYDxwPiR7YX08L3A+YClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbihcIlxcblwiKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWRhcHQyID0gKHN0cikgPT4gKEFycmF5LmlzQXJyYXkoc3RyKSA/IHN0ci5tYXAoYWRhcHQpLmpvaW4oXCJcXG5cIikgOiBhZGFwdChzdHIpKTtcbiAgICAgICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBmYWlsdXJlSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoYWRhcHQyKGpzb24ubWVzc2FnZSkgKyBhZGFwdDIoanNvbi5leHRyYSkpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChuZXcgRXJyb3IoanNvbi5yZXN1bHQpLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VzLmh0bWwoXCJpbnRlcm5hbCBlcnJvciBcIiArIGVyci5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImVyclwiLCBlcnIpO1xuICAgICAgICAgICAgICAgIG9uUmVzdWx0KGVyciwgbnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgcHJpY2luZ1RhYmxlSWQgPSBcInByY3RibF8xT0p0NDlCQ05jY2J6c1Z6a2FBTk9nRkxcIjtcbiAgICBjb25zdCBwdWJsaXNoYWJsZUtleSA9IFwicGtfbGl2ZV81MUhzRTFzQkNOY2NienNWenQ3emFxMnV2MjBwa3J5V2xsQXp2WmdaZDVBaHdGSTlBM3FCSWVPSnZKd1FGMDhsRG9McEZxTGp3bXlBNzl3blBuWUxzdktqdDAwOWYwMFZwQ1dcIjtcbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgICAgICBpZiAoZGF0YS5zdGF0dXMgIT09IDIwMCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZmV0Y2hpbmcgZmFpbGVkIHdpdGggZXJyb3JcIiwgZGF0YS5zdGF0dXMsIGRhdGEuc3RhdHVzVGV4dCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiBcIkZBSUxFRFwiLCB0eXBlOiBcIkZSRUVXQVJFXCIsIGxpY2VuY2VJbmZvOiB7IGV4cGlyeURhdGU6IHRvZGF5IH0gfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNvbnRhY3RMaW5rID0gYDxhIGhyZWY9XCJtYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb21cIiBzdWJqZWN0PVwiQG9wY3VhL2Zvci1ub2RlLXJlZCBzdXBwb3J0IHJlcXVlc3RcIj5tYWlsdG86c3VwcG9ydEBzdGVyZml2ZS5jb208L2E+YDtcbiAgICAgICAgICAgICAgICBjb25zdCB3ZWJzaXRlTGluayA9IGA8YSBocmVmPVwiaHR0cHM6Ly93d3cuc3RlcmZpdmUuY29tL29wY3VhL2Zvci1ub2RlLXJlZFwiIHRhcmdldD3igJ1fYmxhbmvigJ0+U3RlcmZpdmUncyB3ZWJzaXRlIDwvYT5gO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXlMZWZ0ID0ganNvbi5kYXlzTGVmdDtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBVVRIT1JJWkVEXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtY2hlY2stY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChqc29uLnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlRSSUFMXCI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiVHJpYWwgbGljZW5jZVwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBUaGUgVHJpYWwgd2lsbCBleHBpcmUgaW4gJHtkYXlMZWZ0fSBkYXlzLlxcbkJ1eSBvbmxpbmUgYW5kIHZpc2l0ICR7d2Vic2l0ZUxpbmt9IHRvIGFjcXVpcmUgYSBsaWNlbnNlLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiUFJPRkVTU0lPTkFMXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBgWW91ciBsaWNlbmNlIGlzIHZhbGlkLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF5TGVmdCA8IDkwICYmIGRheUxlZnQgPj0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyArPSBgIEl0IHdpbGwgZXhwaXJlIGluICR7ZGF5TGVmdH0gZGF5cy5gO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGV0YWlscyA9IGAke3dlYnNpdGVMaW5rfTxicj4ke2NvbnRhY3RMaW5rfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0ganNvbi5saWNlbmNlSW5mby5saWNlbmNlVHlwZSArIFwiIC0gXCIgKyAoanNvbi5saWNlbmNlSW5mby5vblByZW1pc2VTZXJ2ZXJIb3N0IHx8IFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGUkVFV0FSRVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJGcmVld2FyZSBsaWNlbmNlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gYFRoaXMgaXMgYSBmcmVld2FyZSBsaWNlbmNlLCBhbmQgaGF2ZSBzb21lIGxpbWl0YXRpb25zLlxcbiR7d2Vic2l0ZUxpbmt9IGZvciBtb3JlIGluZm9ybWF0aW9uLmA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgaGFzIGV4cGlyZWRcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJZb3VyIGxpY2Vuc2UgaGFzIGV4cGlyZWQuIFBsZWFzZSBjb250YWN0IG91ciBzdXBwb3J0IHRlYW0gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJGQUlMRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbiA9IFwiZmEgZmEtZXhjbGFtYXRpb24tY2lyY2xlXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJZb3VyIGxpY2Vuc2UgaXMgY3VycmVudGx5IGludmFsaWQuXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlscyA9IGBQbGVhc2UgY29udGFjdCAke2NvbnRhY3RMaW5rfSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLsyAYDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvKiogKi9cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5lbGVtZW50LnRleHQoXCJMaWNlbmNlIFwiICsgSlNPTi5zdHJpbmdpZnkoanNvbikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldFwiKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtXCIgKyBzdGF0dXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1pY29uXCIpLmFwcGVuZCgkKFwiPGk+XCIpLmFkZENsYXNzKGljb24pKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LW1zZ1wiKS50ZXh0KG1zZykpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8YnI+XCIpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtZGV0YWlsc1wiKS5hcHBlbmQoZGV0YWlscykpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzID09PSBcIkVYUElSRURcIiB8fCBzdGF0dXMgPT09IFwiRkFJTEVEXCIgfHwganNvbi50eXBlID09PSBcIkZSRUVXQVJFXCIgfHwganNvbi50eXBlID09PSBcIlRSSUFMXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmliZUJ1dHRvbiA9ICQoXCI8YnV0dG9uLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcImlkXCIsIFwic3Vic2NyaWJlLWJ1dHRvblwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5hdHRyKFwiY2xhc3NcIiwgXCJidG4gYnRuLXByaW1hcnlcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24uYXR0cihcInN0eWxlXCIsIFwibWFyZ2luLXRvcDogMjBweDtcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVCdXR0b24udGV4dChcIlN1YnNjcmliZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3Vic2NyaWJlQnV0dG9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIHNjcmlwdCBlbGVtZW50XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQuc3JjID0gXCJodHRwczovL2pzLnN0cmlwZS5jb20vdjMvcHJpY2luZy10YWJsZS5qc1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFwcGVuZCB0aGUgc2NyaXB0IGVsZW1lbnQgdG8gdGhlIGhlYWQgKG9yIGJvZHkpIG9mIHRoZSBkb2N1bWVudFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcImhlYWRcIikuYXBwZW5kKHNjcmlwdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJpcGVQcmljaW5nVGFibGUgPSAkKFwiPHN0cmlwZS1wcmljaW5nLXRhYmxlLz5cIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTZXQgYXR0cmlidXRlcyBmb3IgdGhlIGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cmlwZVByaWNpbmdUYWJsZS5hdHRyKFwicHJpY2luZy10YWJsZS1pZFwiLCBwcmljaW5nVGFibGVJZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInB1Ymxpc2hhYmxlLWtleVwiLCBwdWJsaXNoYWJsZUtleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuYXR0cihcInN0eWxlXCIsIFwiaGVpZ2h0OiAxMDAlO21heC1oZWlnaHQ6IDEwMCU7XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RyaXBlUHJpY2luZ1RhYmxlLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoc3RyaXBlUHJpY2luZ1RhYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5vbihcImNsaWNrXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpcGVQcmljaW5nVGFibGUuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUJ1dHRvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmF0dHIoXCJzdHlsZVwiLCBcImhlaWdodDogMTAwJSAhaW1wb3J0YW50O1wiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCwgLy8gZXZlcnkgMTAgc2Vjb25kc1xuICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDEwMDAsXG4gICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAwLFxuICAgICAgICBwcmlvcml0eTogMTAwLFxuICAgIH07XG4gICAgUkVELm5vZGVzLnJlZ2lzdGVyVHlwZShcIk9wY1VhLUVuZHBvaW50MlwiLCB7XG4gICAgICAgIGNhdGVnb3J5OiBcImNvbmZpZ1wiLFxuICAgICAgICBwYWxldHRlTGFiZWw6IFwib3BjdWEgZW5kcG9pbnRcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDMvVUEvU2FtcGxlU2VydmVyXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6IGlzVmFsaWRPUENfVUFfVVJJLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFNlY3VyaXR5IE1vZGVcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogeyB2YWx1ZTogXCJOb25lXCIgfSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiB7IHZhbHVlOiBcIkFub255bW91c1wiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIFVzZXJOYW1lXG4gICAgICAgICAgICAvLyBjcmVkZW50aWFsczoge1xuICAgICAgICAgICAgLy8gICAgIHVzZXJOYW1lOiB7IHZhbHVlOiBcIlwiLCB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgLy8gICAgIHBhc3N3b3JkOiB7IHZhbHVlOiBcIlwiLCB0eXBlOiBcInBhc3N3b3JkXCIgfSxcbiAgICAgICAgICAgIC8vICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIENlcnRpZmljYXRlXG4gICAgICAgICAgICAvLyAgICAgdXNlckNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIlwiLCB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgLy8gICAgIHVzZXJQcml2YXRla2V5OiB7IHZhbHVlOiBcIlwiICwgdHlwZTogXCJwYXNzd29yZFwifSxcbiAgICAgICAgICAgIC8vIH0gYXMgYW55IC8qIGNpcmN1bXZlbnQgYSBidWcgaW4gbm9kZS1yZWQgKi8sXG4gICAgICAgICAgICAvLyB1c2VybmFtZVxuICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiB7IHZhbHVlOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhDaHVua0NvdW50OiB7IHZhbHVlOiAxLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSwgLy8gc2hvdWxkIGJlIGF0IGxlYXN0IDgxOTJcbiAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJTbG93IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDIwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogNTAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkZhc3QgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDQwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDI1MCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAyMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIHVzZXJOYW1lOiB7IHR5cGU6IFwidGV4dFwiIH0sXG4gICAgICAgICAgICBwYXNzd29yZDogeyB0eXBlOiBcInBhc3N3b3JkXCIgfSxcbiAgICAgICAgICAgIHVzZXJDZXJ0aWZpY2F0ZTogeyB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgdXNlclByaXZhdGVrZXk6IHsgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IHRoaXMuZW5kcG9pbnQgfHwgXCJpbnZhbGlkIGVuZHBvaW50XCI7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7XG4gICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlQb2xpY3kgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgaWYgKF9zZWN1cml0eVBvbGljeS52YWwoKSA9PT0gXCJOb25lXCIpIHtcbiAgICAgICAgICAgICAgICBfc2VjdXJpdHlNb2RlLnRleHQoXCJOb25lXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gKCgoKCgoKCgoKCByZXRyaWV2ZSBzdWJzY3JpcHRpb24gZGF0YSApKSkpKSkpKSkpXG4gICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zSXRlbXMgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpLmVkaXRhYmxlTGlzdChcIml0ZW1zXCIpO1xuICAgICAgICAgICAgY29uc3QgcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgbiA9ICh4KSA9PiB4O1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uc0l0ZW1zLmVhY2goZnVuY3Rpb24gKGluZGV4LCBpdGVtKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IFwic1wiICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGUuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6ICEhZS5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6ICEhZS5maW5kKFwiLmlucHV0LXB1Ymxpc2hpbmdFbmFibGVkXCIpLmlzKFwiOmNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IG4oZS5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogbihlLmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IG4oZS5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIC8vIGZvcmNlIHRvIGJlIHRydWVcbiAgICAgICAgICAgICAgICBhLnBhcmFtZXRlcnMucHVibGlzaGluZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChhLmlzRGVmYXVsdCAmJiBhLmlkID09PSBcInMwXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbm9ybWFsaXplIGRlZmF1bHQgc3Vic2NyaXB0aW9uIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgYS5uYW1lID0gXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzLnB1c2goYSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHM7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHByZXBhcmUoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcztcbiAgICAgICAgICAgIGNvbnN0IHRhYnMgPSBSRUQudGFicy5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIGlkOiBcIm5vZGUtY29uZmlnLWVuZHBvaW50LXRhYnNcIixcbiAgICAgICAgICAgICAgICBvbmNoYW5nZTogZnVuY3Rpb24gKHRhYikge1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWVuZHBvaW50LXRhYnMtY29udGVudFwiKS5jaGlsZHJlbigpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNcIiArIHRhYi5pZCkuc2hvdygpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItY29ubmVjdGlvblwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIkNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgdGFicy5hZGRUYWIoe1xuICAgICAgICAgICAgICAgIGlkOiBcImVuZHBvaW50LXRhYi1zdWJzY3JpcHRpb25zXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiU3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB0YWJzLnJlc2l6ZSgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIFNlY3VyaXR5IGNvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZVNlY3VyaXR5Q29udHJvbCA9IChzZWN1cml0eU1vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzZWN1cml0eU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgbnVsbDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIk5vbmVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlNpZ25cIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduQW5kRW5jcnlwdFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3AgPSAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcC52YWwoKSA9PT0gXCJOb25lXCIgfHwgc3AudmFsKCkgPT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwLnZhbChcIkJhc2ljMjU2U2hhMjU2XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIuc2VjdGlvbi1zZWN1cml0eVBvbGljeVwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgc2VjdXJpdHlNb2RlIFwiICsgc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdXBkYXRlU2VjdXJpdHlDb250cm9sKG5vZGUuc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlNb2RlID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIik7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NlY3VyaXR5TW9kZSA9IF9zZWN1cml0eU1vZGUudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChuZXdTZWN1cml0eU1vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGljZW5jZVdpZGdldCA9ICQoXCIjbGljZW5jZVdpZGdldFwiKTtcbiAgICAgICAgICAgIGxpY2VuY2VXaWRnZXQubGljZW5jZVdpZGdldCh7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVXNlciBJZGVudGl0eSBDb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdXRoUm93ID0gJChcIi5zZWN0aW9uLXVzZXJJZGVudGl0eVR5cGUtVXNlck5hbWVcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VydFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLUNlcnRpZmljYXRlXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUlkZW50aXR5Q29udHJvbHMgPSAodXNlcklkZW50aXR5VHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlID0gdXNlcklkZW50aXR5VHlwZSB8fCBcIkFub255bW91c1wiO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHVzZXJJZGVudGl0eVR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBbm9ueW1vdXNcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJVc2VyTmFtZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkNlcnRpZmljYXRlXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW52YWxpZCB1c2VySWRlbnRpdHlUeXBlIFwiICsgdXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZUlkZW50aXR5Q29udHJvbHMobm9kZS51c2VySWRlbnRpdHlUeXBlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfdXNlcklkZW50aXR5VHlwZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlcklkZW50aXR5VHlwZVwiKTtcbiAgICAgICAgICAgICAgICBfdXNlcklkZW50aXR5VHlwZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0lkZW50aXR5VHlwZSA9IF91c2VySWRlbnRpdHlUeXBlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5ld0lkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIGFkdmFuY2VkIGNvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgJChcIiN0b2dnbGVBZHZhbmNlZFNlY3Rpb25cIikub24oXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wcm9wKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQsIHNob3cgdGhlIGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaGlkZSBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGNoZWNrQ2VydGlmaWNhdGVcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgJChcIiNjaGVja0NlcnRpZmljYXRlXCIpLm9uKFwiY2xpY2tcIiwgKCkgPT4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbiogKCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0geWllbGQgZmV0Y2goXCIvb3BjdWEtZW5kcG9pbnQyL2NsaWVudF9jZXJ0aWZpY2F0ZS5qc29uXCIpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmZvID0geWllbGQgZGF0YS5qc29uKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHQgPSBKU09OLnN0cmluZ2lmeShpbmZvLCBudWxsLCBcIiBcIik7XG4gICAgICAgICAgICAgICAgICAgIGFsZXJ0KHQpO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFRlc3QgYnV0dG9uXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1hbmFnZUFQSUNhbGwoXCJjb25uZWN0aW9uXCIsICQoXCIjdGVzdC1jb25uZWN0aW9uXCIpLCAoKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IFwiL29wY3VhLWVuZHBvaW50Mi90ZXN0LWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtZW5kcG9pbnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlck5hbWU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJDZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyUHJpdmF0ZWtleVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8gbm90IHRlc3RlZCB5ZXQgLi4uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiAkKFwiI25vZGUtaW5wdXQtY2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiAkKFwiI25vZGUtaW5wdXQtdXNlVHJhbnNwb3J0XCIpLnByb3AoXCJjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heENodW5rQ291bnQ6ICQoXCIjbm9kZS1pbnB1dC1tYXhDaHVua0NvdW50XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiAkKFwiI25vZGUtaW5wdXQtbWF4TWVzc2FnZVNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1yZWNlaXZlQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZW5kQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXNlbmRCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSwgKCkgPT4geyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyAgSW5zdGFsbCBzdWJzY3JpcHRpb25zIExpc3QgbWFuYWdlbWVudFxuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNpemVUb3BpY3MgPSAodG9waWMsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBuZXdXaWR0aCA9IHRvcGljLndpZHRoKCkgfHwgMTAwO1xuICAgICAgICAgICAgICAgICAgICB0b3BpYy5maW5kKFwibGFiZWxcIikudHlwZWRJbnB1dChcIndpZHRoXCIsIG5ld1dpZHRoIC0gMTUpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uTGlzdCA9ICQoXCIjc3Vic2NyaXB0aW9ucy1jb250YWluZXJcIilcbiAgICAgICAgICAgICAgICAgICAgLmNzcyh7IFwibWluLWhlaWdodFwiOiBcIjE1MHB4XCIsIFwibWluLXdpZHRoXCI6IFwiMjYwcHhcIiB9KVxuICAgICAgICAgICAgICAgICAgICAuZWRpdGFibGVMaXN0KHtcbiAgICAgICAgICAgICAgICAgICAgYWRkSXRlbTogKGNvbnRhaW5lciwgaW5kZXgsIGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IF9kYXRhID0gZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSAkKFwiLnRlbXBsYXRlXCIpLmNsb25lKCkuYXBwZW5kVG8oY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cihcImlkXCIpLnJlbW92ZUNsYXNzKFwiaGlkZVwiKS5yZW1vdmVDbGFzcyhcInRlbXBsYXRlXCIpLmF0dHIoXCJkYXRhLWlcIiwgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikudmFsKF9kYXRhLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZExpZmV0aW1lQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLm1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoIHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnByaW9yaXR5IHx8IDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLnN1YnNjcmlwdGlvbi1pZFwiKS50ZXh0KFwiXCIgKyBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LW5hbWVcIikucHJvcChcInJlYWRvbmx5XCIsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiY2hlY2tlZFwiLCBfZGF0YS5pc0RlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgZGVmYXVsdCBzdWJzY3JpcHRpb24gY2Fubm90IGJlIGFjY2lkZW50YWxseSByZW1vdmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoX2RhdGEuaXNEZWZhdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmZpbmQoXCIucmVkLXVpLWVkaXRhYmxlTGlzdC1pdGVtLXJlbW92ZVwiKS5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJkaXNhYmxlZFwiLCB0cnVlKSwgMTApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAvLyBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3ZhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZXNpemVJdGVtOiByZXNpemVUb3BpY3MsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgQWRkU3Vic2NyaXB0aW9uID0gKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gbm9kZS5zdWJzY3JpcHRpb25zIHx8IFtdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHQgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImVtcHR5XCIpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiBzdWJzY3JpcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpcHRpb24uaXNEZWZhdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpcHRpb25MaXN0LmVkaXRhYmxlTGlzdChcImFkZEl0ZW1cIiwgc3Vic2NyaXB0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgQWRkU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSk7XG5cbn0pKCk7Il19
|
9
9
|
</script>
|
10
10
|
<script type="text/x-red" data-template-name="OpcUa-Endpoint2">
|
11
11
|
<div id="licenceWidget"></div>
|