@opcua/for-node-red 2.0.6 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,8 +4,8 @@
4
4
  </style>
5
5
 
6
6
  <script type="text/javascript">
7
- (function(_0x419332,_0x33a4a9){const _0x460658=_0x5741,_0x520dd4=_0x419332();while(!![]){try{const _0x1f1613=-parseInt(_0x460658(0xb3))/0x1+-parseInt(_0x460658(0xcf))/0x2*(parseInt(_0x460658(0xd6))/0x3)+parseInt(_0x460658(0x131))/0x4*(-parseInt(_0x460658(0xe6))/0x5)+parseInt(_0x460658(0xa9))/0x6+-parseInt(_0x460658(0xa3))/0x7*(parseInt(_0x460658(0xea))/0x8)+parseInt(_0x460658(0x11c))/0x9*(parseInt(_0x460658(0xda))/0xa)+parseInt(_0x460658(0xd5))/0xb;if(_0x1f1613===_0x33a4a9)break;else _0x520dd4['push'](_0x520dd4['shift']());}catch(_0x2beff2){_0x520dd4['push'](_0x520dd4['shift']());}}}(_0x45b3,0xba0fd),(function(){'use strict';const _0x57754c=_0x5741;function _0x4bd827(_0x49a852,_0x49cd8d,_0x543fa3,_0x256afa){const _0x5dcf3e=_0x5741,_0x554ec5=$('#'+_0x49a852+_0x5dcf3e(0xb6)),_0x4bbc35=$('#'+_0x49a852+_0x5dcf3e(0xb4)),_0x4bbf0e=$('#'+_0x49a852+_0x5dcf3e(0x99)),_0x150026=$('#'+_0x49a852+_0x5dcf3e(0xaa));let _0x22165e=![];_0x554ec5['hide'](),_0x4bbc35[_0x5dcf3e(0x118)](),_0x4bbf0e[_0x5dcf3e(0x118)](),_0x49cd8d['on']('click',()=>{const _0x1fc92f=_0x5dcf3e;if(_0x22165e)return;_0x22165e=!![],_0x4bbf0e[_0x1fc92f(0x115)](_0x1fc92f(0x118)),_0x4bbf0e[_0x1fc92f(0x12c)]('Testing\x20Connection\x20...'),_0x554ec5['addClass'](_0x1fc92f(0x118)),_0x4bbc35[_0x1fc92f(0xe3)](_0x1fc92f(0x118)),_0x150026[_0x1fc92f(0x12c)]('');const {body:_0x42e268,url:_0x24b2ef}=_0x543fa3();console[_0x1fc92f(0xf1)]('xxxxx',_0x42e268),fetch(_0x24b2ef,{'method':_0x1fc92f(0xe4),'headers':{'Content-Type':_0x1fc92f(0xf4)},'body':JSON[_0x1fc92f(0x100)](_0x42e268)})[_0x1fc92f(0x114)](_0x572bba=>_0x572bba[_0x1fc92f(0xa0)]())[_0x1fc92f(0x114)](_0x8405b0=>{const _0x3dcc99=_0x1fc92f;_0x22165e=![],_0x4bbf0e[_0x3dcc99(0x118)](),console[_0x3dcc99(0xf1)](JSON['stringify'](_0x8405b0,null,'\x20'));if(_0x8405b0[_0x3dcc99(0x132)]==='ok')_0x554ec5['removeClass'](_0x3dcc99(0x118)),_0x4bbc35[_0x3dcc99(0xe3)](_0x3dcc99(0x118)),_0x150026['html'](_0x8405b0['message'][_0x3dcc99(0x134)]('\x0a',_0x3dcc99(0x98))),_0x256afa(null,_0x8405b0);else{const _0x2fcfc7=_0x2ce6b9=>!_0x2ce6b9?'':_0x2ce6b9[_0x3dcc99(0xb8)]('\x0a')[_0x3dcc99(0xd8)](_0x39b366=>_0x3dcc99(0x9f)+_0x39b366+_0x3dcc99(0x11d))['join']('\x0a'),_0x352ed7=_0x52ecc5=>Array['isArray'](_0x52ecc5)?_0x52ecc5[_0x3dcc99(0xd8)](_0x2fcfc7)[_0x3dcc99(0x103)]('\x0a'):_0x2fcfc7(_0x52ecc5);_0x554ec5[_0x3dcc99(0xe3)](_0x3dcc99(0x118)),_0x4bbc35[_0x3dcc99(0x115)](_0x3dcc99(0x118)),_0x150026[_0x3dcc99(0x12c)](_0x352ed7(_0x8405b0[_0x3dcc99(0x125)])+_0x352ed7(_0x8405b0[_0x3dcc99(0xd9)])),_0x256afa(new Error(_0x8405b0[_0x3dcc99(0x132)]),_0x8405b0);}})[_0x1fc92f(0xa4)](_0x206024=>{const _0x4dfefd=_0x1fc92f;_0x22165e=![],_0x4bbf0e['addClass'](_0x4dfefd(0x118)),_0x554ec5[_0x4dfefd(0xe3)](_0x4dfefd(0x118)),_0x4bbc35['removeClass'](_0x4dfefd(0x118)),_0x150026[_0x4dfefd(0x12c)]('internal\x20error\x20'+_0x206024[_0x4dfefd(0x125)]),console[_0x4dfefd(0xf1)]('err',_0x206024),_0x256afa(_0x206024,null);});});}function _0x10b2e2(_0x34e615,_0x4d9f08,_0x1d7fc6,_0x430ba3){function _0x13be71(_0x18c831){return _0x18c831 instanceof _0x1d7fc6?_0x18c831:new _0x1d7fc6(function(_0xf550e){_0xf550e(_0x18c831);});}return new(_0x1d7fc6||(_0x1d7fc6=Promise))(function(_0xff63cd,_0x47644f){const _0x9fa28d=_0x5741;function _0x42be4f(_0x5695a4){const _0x2039e5=_0x5741;try{_0xdec2b0(_0x430ba3[_0x2039e5(0xf2)](_0x5695a4));}catch(_0x5b3571){_0x47644f(_0x5b3571);}}function _0x3ac24a(_0x408280){try{_0xdec2b0(_0x430ba3['throw'](_0x408280));}catch(_0x21dc20){_0x47644f(_0x21dc20);}}function _0xdec2b0(_0x2b3810){const _0x29014a=_0x5741;_0x2b3810[_0x29014a(0xc9)]?_0xff63cd(_0x2b3810[_0x29014a(0x111)]):_0x13be71(_0x2b3810[_0x29014a(0x111)])[_0x29014a(0x114)](_0x42be4f,_0x3ac24a);}_0xdec2b0((_0x430ba3=_0x430ba3[_0x9fa28d(0x11e)](_0x34e615,_0x4d9f08||[]))[_0x9fa28d(0xf2)]());});}typeof SuppressedError===_0x57754c(0x104)?SuppressedError:function(_0x46afe5,_0x21f513,_0x4dc35e){const _0x6b9397=_0x57754c;var _0x11611d=new Error(_0x4dc35e);return _0x11611d['name']=_0x6b9397(0x112),_0x11611d['error']=_0x46afe5,_0x11611d['suppressed']=_0x21f513,_0x11611d;};function _0x3eea9c(_0x311d4d=''){return _0x10b2e2(this,void 0x0,void 0x0,function*(){const _0x16dc07=_0x5741,_0x20833d=_0x311d4d+'/opcua-endpoint2',_0x5ba37f=_0x20833d+_0x16dc07(0xeb),_0x3259ee=yield fetch(_0x5ba37f,{'method':'POST','headers':{'Content-Type':_0x16dc07(0xf4)}});if(_0x3259ee[_0x16dc07(0xbd)]!==0xc8)return console[_0x16dc07(0xf1)](_0x16dc07(0xbc),_0x3259ee[_0x16dc07(0xbd)],_0x3259ee[_0x16dc07(0xcd)]),{};const _0x49fc50=yield _0x3259ee[_0x16dc07(0xa0)]();return _0x49fc50;});}const _0x282473=()=>{const _0x11191a=_0x57754c;$[_0x11191a(0x9b)]('sterfive.licenceWidget',{'options':{'baseUrl':''},'_create'(){const _0x4d662b=_0x11191a,_0x9731eb=this;_0x3eea9c(_0x9731eb[_0x4d662b(0xa1)])['then'](_0xb633e8=>{const _0x337269=_0x4d662b;let _0x1f20fd='',_0x185dc1='',_0x56c02b='';const _0x1c0e3d=_0xb633e8[_0x337269(0xbd)];switch(_0x1c0e3d){case _0x337269(0xfb):_0x1f20fd=_0x337269(0x123);_0xb633e8[_0x337269(0xe9)]?_0x185dc1='Demo\x20licence':(_0x185dc1='Your\x20licence\x20is\x20valid.',_0x56c02b='');break;case _0x337269(0xce):_0x1f20fd=_0x337269(0x10f),_0x185dc1=_0x337269(0xa6),_0x56c02b=_0x337269(0x10e);break;case'FAILED':default:_0x1f20fd=_0x337269(0xb5),_0x185dc1=_0x337269(0xb0),_0x56c02b=_0x337269(0xbf);break;}this[_0x337269(0xba)][_0x337269(0xe3)]('licence-widget'),this[_0x337269(0xba)]['addClass'](_0x337269(0xa2)+_0x1c0e3d),this[_0x337269(0xba)][_0x337269(0xdc)]($('<span>')[_0x337269(0xe3)](_0x337269(0xd4))['append']($(_0x337269(0x127))[_0x337269(0xe3)](_0x1f20fd))),this[_0x337269(0xba)][_0x337269(0xdc)]($('<span>')[_0x337269(0xe3)](_0x337269(0x10c))['text'](_0x185dc1)),this[_0x337269(0xba)][_0x337269(0xdc)]($('<br>')),this['element'][_0x337269(0xdc)]($(_0x337269(0xd1))[_0x337269(0xe3)](_0x337269(0xde))[_0x337269(0xdc)](_0x56c02b));})[_0x4d662b(0xa4)](_0x468fee=>{const _0x79d2f1=_0x4d662b;console[_0x79d2f1(0xf1)](_0x468fee);});}});};_0x282473();function _0x6c017c(_0x210504){const _0x1a6f82=_0x57754c;let _0x55f475;try{_0x55f475=new URL(_0x210504);}catch(_0x2de325){return![];}return _0x55f475[_0x1a6f82(0xc3)]==='opc.tcp:';}const _0x6a0176={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED[_0x57754c(0xf0)][_0x57754c(0xbe)]('OpcUa-Endpoint2',{'category':_0x57754c(0xa5),'defaults':{'name':{'value':''},'endpoint':{'value':'opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','required':!![],'validate':_0x6c017c},'securityMode':{'value':_0x57754c(0x126)},'securityPolicy':{'value':_0x57754c(0x126),'validate':_0x227aaf=>{if(!_0x227aaf)return![];return!![];}},'userIdentityType':{'value':_0x57754c(0xf8)},'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':_0x57754c(0xe2),'isDefault':!![],'parameters':Object['assign']({},_0x6a0176)},{'id':'s2','name':_0x57754c(0x12e),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x57754c(0xfe),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':_0x57754c(0xe8)},'password':{'type':_0x57754c(0xaf)}},'label':function(){const _0x4bf541=_0x57754c;return this[_0x4bf541(0x135)]||this[_0x4bf541(0x121)]||_0x4bf541(0xee);},'oneditsave'(){const _0x138891=_0x57754c,_0x558232=$(_0x138891(0xdf)),_0x316e86=$(_0x138891(0x133));_0x558232[_0x138891(0x9e)]()==='None'&&_0x316e86[_0x138891(0xe8)](_0x138891(0x126));const _0x2aec72=$('#subscriptions-container')[_0x138891(0x9a)](_0x138891(0xdd)),_0x2470bc=[],_0x26657c=_0x34b230=>_0x34b230;_0x2aec72[_0x138891(0xc1)](function(_0x4e7079,_0x51434e){const _0x14c258=_0x138891,_0x45b2de=$(this),_0x2d5748={'id':'s'+_0x4e7079,'name':_0x45b2de[_0x14c258(0x102)](_0x14c258(0xfc))[_0x14c258(0x9e)](),'isDefault':!!_0x45b2de[_0x14c258(0x102)](_0x14c258(0x119))['val'](),'parameters':{'publishingEnabled':!!_0x45b2de[_0x14c258(0x102)](_0x14c258(0x110))['is'](_0x14c258(0x129)),'requestedLifetimeCount':_0x26657c(_0x45b2de[_0x14c258(0x102)](_0x14c258(0xc7))['val']()),'requestedMaxKeepAliveCount':_0x26657c(_0x45b2de['find'](_0x14c258(0xca))['val']()),'requestedPublishingInterval':_0x26657c(_0x45b2de[_0x14c258(0x102)](_0x14c258(0xdb))[_0x14c258(0x9e)]()),'maxNotificationsPerPublish':_0x26657c(_0x45b2de[_0x14c258(0x102)]('.input-maxNotificationsPerPublish')[_0x14c258(0x9e)]()),'priority':_0x26657c(_0x45b2de[_0x14c258(0x102)]('.input-priority')[_0x14c258(0x9e)]())}};_0x2d5748[_0x14c258(0xe5)][_0x14c258(0xab)]=!![],_0x2d5748[_0x14c258(0xc4)]&&_0x2d5748['id']==='s0'&&(_0x2d5748[_0x14c258(0x135)]='Default\x20Subscription'),_0x2470bc['push'](_0x2d5748);}),this[_0x138891(0xae)]=_0x2470bc;},'oneditprepare'(){const _0x3d9fb4=_0x57754c,_0x5eec83=this,_0x10a415=RED[_0x3d9fb4(0x10b)][_0x3d9fb4(0x113)]({'id':'node-config-endpoint-tabs','onchange':function(_0x379331){const _0x5c8442=_0x3d9fb4;$(_0x5c8442(0x10a))[_0x5c8442(0xd3)]()[_0x5c8442(0x118)](),$('#'+_0x379331['id'])[_0x5c8442(0xac)]();}});_0x10a415[_0x3d9fb4(0x109)]({'id':'endpoint-tab-connection','label':_0x3d9fb4(0xcb)},0x0),_0x10a415[_0x3d9fb4(0x109)]({'id':'endpoint-tab-subscriptions','label':_0x3d9fb4(0x9c)},0x1),setTimeout(function(){const _0x465a14=_0x3d9fb4;_0x10a415[_0x465a14(0xed)]();},0x0);{const _0x59d350=_0x37c5a2=>{const _0x1d98da=_0x3d9fb4;switch(_0x37c5a2){case null:case undefined:case'':case _0x1d98da(0x126):$(_0x1d98da(0x122))['hide']();break;case _0x1d98da(0x9d):case'SignAndEncrypt':{const _0x167b11=$('.section-securityPolicy');(_0x167b11[_0x1d98da(0x9e)]()===_0x1d98da(0x126)||_0x167b11[_0x1d98da(0x9e)]()==='')&&_0x167b11[_0x1d98da(0x9e)]('Basic256Sha256'),$(_0x1d98da(0x122))['show']();}break;default:console['log']('invalid\x20securityMode\x20'+_0x37c5a2);}};_0x59d350(_0x5eec83[_0x3d9fb4(0xd0)]);const _0x25e253=$(_0x3d9fb4(0x133));_0x25e253['on'](_0x3d9fb4(0x11a),()=>{const _0x2b55a9=_0x3d9fb4,_0x294db4=_0x25e253[_0x2b55a9(0x9e)]();_0x59d350(_0x294db4);});}const _0xa8a8f0=$('#licenceWidget');_0xa8a8f0['licenceWidget']({'baseUrl':''});{const _0x4a5416=$(_0x3d9fb4(0xfd)),_0x20b17a=$(_0x3d9fb4(0x12b)),_0x57660d=_0x1fa271=>{const _0x491d00=_0x3d9fb4;_0x1fa271=_0x1fa271||_0x491d00(0xf8);switch(_0x1fa271){case _0x491d00(0xf8):$(_0x491d00(0xa7))[_0x491d00(0x9e)](''),$(_0x491d00(0xf5))[_0x491d00(0x9e)](''),_0x4a5416['hide'](),_0x20b17a[_0x491d00(0x118)]();break;case _0x491d00(0xf9):_0x4a5416[_0x491d00(0xac)](),_0x20b17a[_0x491d00(0x118)]();break;case _0x491d00(0x12d):$(_0x491d00(0xa7))['val'](''),$(_0x491d00(0xf5))['val'](''),_0x20b17a[_0x491d00(0xac)](),_0x4a5416[_0x491d00(0x118)]();break;default:console[_0x491d00(0xf1)](_0x491d00(0x12a)+_0x1fa271);}};_0x57660d(_0x5eec83['userIdentityType']);const _0x488d86=$('#node-config-input-userIdentityType');_0x488d86['on'](_0x3d9fb4(0x11a),()=>{const _0x29fcf2=_0x3d9fb4,_0x599d33=_0x488d86[_0x29fcf2(0x9e)]();_0x57660d(_0x599d33);}),$(_0x3d9fb4(0xc6))[_0x3d9fb4(0x118)](),$(_0x3d9fb4(0xe1))['on'](_0x3d9fb4(0x11a),function(){const _0x595c4e=_0x3d9fb4;$(this)[_0x595c4e(0xb9)](_0x595c4e(0xd7))?$(_0x595c4e(0xc6))[_0x595c4e(0xac)]():$(_0x595c4e(0xc6))[_0x595c4e(0x118)]();}),_0x4bd827('connection',$(_0x3d9fb4(0xc8)),()=>({'url':_0x3d9fb4(0xb7),'body':{'endpointNode':{'id':_0x5eec83['id'],'endpoint':$(_0x3d9fb4(0xec))['val'](),'securityMode':$(_0x3d9fb4(0x133))[_0x3d9fb4(0x9e)](),'securityPolicy':$(_0x3d9fb4(0xdf))[_0x3d9fb4(0x9e)](),'userIdentityType':$(_0x3d9fb4(0x130))[_0x3d9fb4(0x9e)](),'userName':$(_0x3d9fb4(0xa7))['val'](),'password':$(_0x3d9fb4(0xf5))[_0x3d9fb4(0x9e)](),'userCertificate':$(_0x3d9fb4(0x11b))[_0x3d9fb4(0x9e)](),'userPrivatekey':$(_0x3d9fb4(0x106))[_0x3d9fb4(0x9e)](),'certificate':$(_0x3d9fb4(0xf3))['val'](),'localfile':$(_0x3d9fb4(0x120))[_0x3d9fb4(0x9e)](),'localkeyfile':$(_0x3d9fb4(0x101))['val'](),'useTransport':$(_0x3d9fb4(0xcc))[_0x3d9fb4(0xb9)](_0x3d9fb4(0xd7)),'maxChunkCount':$(_0x3d9fb4(0xd2))[_0x3d9fb4(0x9e)](),'maxMessageSize':$(_0x3d9fb4(0xbb))['val'](),'receiveBufferSize':$(_0x3d9fb4(0xf7))['val'](),'sendBufferSize':$('#node-input-sendBufferSize')[_0x3d9fb4(0x9e)]()}}}),()=>{});const _0x38cf22=(_0x16945c,_0x11c441)=>{const _0x76cad9=_0x3d9fb4;var _0x1fd1ec=_0x16945c[_0x76cad9(0xc2)]()||0x64;_0x16945c[_0x76cad9(0x102)](_0x76cad9(0xe0))[_0x76cad9(0x116)](_0x76cad9(0xc2),_0x1fd1ec-0xf);},_0x107966=$('#subscriptions-container')[_0x3d9fb4(0x105)]({'min-height':_0x3d9fb4(0x12f),'min-width':_0x3d9fb4(0xb1)})['editableList']({'addItem':(_0x510c23,_0xab5a8,_0x1c9ceb)=>{const _0x42c42e=_0x3d9fb4,_0x5b4d5e=_0x1c9ceb,_0x20bccf=$('.template')[_0x42c42e(0xe7)]()[_0x42c42e(0xad)](_0x510c23);_0x20bccf[_0x42c42e(0xc5)]('id')['removeClass']('hide')[_0x42c42e(0x115)](_0x42c42e(0xff))[_0x42c42e(0xa8)]('data-i',_0xab5a8),_0x20bccf[_0x42c42e(0x102)]('.input-name')[_0x42c42e(0x9e)](_0x5b4d5e[_0x42c42e(0x135)]),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0xdb))['val'](_0x5b4d5e[_0x42c42e(0xe5)][_0x42c42e(0x108)]),_0x20bccf['find'](_0x42c42e(0xca))[_0x42c42e(0x9e)](_0x5b4d5e[_0x42c42e(0xe5)]['requestedMaxKeepAliveCount']),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0xc7))['val'](_0x5b4d5e[_0x42c42e(0xe5)][_0x42c42e(0x128)]),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0xfa))[_0x42c42e(0x9e)](_0x5b4d5e[_0x42c42e(0xe5)]['maxNotificationsPerPublish']||0x0),_0x20bccf['find'](_0x42c42e(0x10d))[_0x42c42e(0x9e)](_0x5b4d5e[_0x42c42e(0xe5)][_0x42c42e(0x107)]||0x0),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0xc0))[_0x42c42e(0xe8)](''+_0xab5a8),_0x5b4d5e[_0x42c42e(0xc4)]&&_0x20bccf['find'](_0x42c42e(0xfc))['prop'](_0x42c42e(0xb2),!![]),_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0x119))[_0x42c42e(0xb9)](_0x42c42e(0xd7),_0x5b4d5e[_0x42c42e(0xc4)]),_0x5b4d5e[_0x42c42e(0xc4)]&&(_0x510c23['find'](_0x42c42e(0x117))[_0x42c42e(0xe3)](_0x42c42e(0x118)),setTimeout(()=>_0x20bccf[_0x42c42e(0x102)](_0x42c42e(0x119))['prop']('disabled',!![]),0xa));},'removable':!![],'resizeItem':_0x38cf22}),_0x162109=()=>{const _0x4dbe35=_0x3d9fb4,_0x1b67f5=_0x5eec83[_0x4dbe35(0xae)]||[];_0x1b67f5[_0x4dbe35(0xef)]===0x0&&_0x1b67f5[_0x4dbe35(0xf6)]({'id':'s1','name':_0x4dbe35(0xe2),'isDefault':!![],'parameters':Object[_0x4dbe35(0x11f)]({},_0x6a0176)});_0x107966[_0x4dbe35(0x9a)](_0x4dbe35(0x124));for(const _0x45e0cd of _0x1b67f5){_0x107966['editableList']('addItem',_0x45e0cd);}};_0x162109();}}});}()));function _0x5741(_0x3d5721,_0x425749){const _0x45b338=_0x45b3();return _0x5741=function(_0x5741d2,_0x3c169c){_0x5741d2=_0x5741d2-0x98;let _0x4abb4b=_0x45b338[_0x5741d2];return _0x4abb4b;},_0x5741(_0x3d5721,_0x425749);}function _0x45b3(){const _0xde9fe8=['Licence\x20expired','#node-config-input-userName','attr','6056094hCkmXq','-messages','publishingEnabled','show','appendTo','subscriptions','password','Your\x20license\x20is\x20currently\x20invalid.','260px','readonly','1017549DfZYqR','-failure','fa\x20fa-exclamation-circle','-success','/opcua-endpoint2/test-connection','split','prop','element','#node-input-maxMessageSize','fechting\x20failed\x20with\x20error','status','registerType','Please\x20<a\x20href=\x22mailto:contact@sterfive.com\x22>\x20contact\x20our\x20support\x20team</a>\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','.subscription-id','each','width','protocol','isDefault','removeAttr','#section-Advanced','.input-requestedLifetimeCount','#test-connection','done','.input-requestedMaxKeepAliveCount','Connection','#node-input-useTransport','statusText','EXPIRED','1212478RwlGtp','securityMode','<span>','#node-input-maxChunkCount','children','licence-widget-icon','28809759YxksMU','6ZSddOU','checked','map','extra','14798980vteAVe','.input-requestedPublishingInterval','append','items','licence-widget-details','#node-config-input-securityPolicy','label','#toggleAdvancedSection','Default\x20Subscription','addClass','POST','parameters','21635WacozL','clone','text','isDemo','2536SlwyHC','/licenceInfo','#node-config-input-endpoint','resize','invalid\x20endpoint','length','nodes','log','next','#node-input-certificate','application/json','#node-config-input-password','push','#node-input-receiveBufferSize','Anonymous','UserName','.input-maxNotificationsPerPublish','AUTHORIZED','.input-name','.section-userIdentityType-UserName','Fast\x20Subscription','template','stringify','#node-input-localkeyfile','find','join','function','css','#node-config-input-userPrivatekey','priority','requestedPublishingInterval','addTab','#node-config-endpoint-tabs-content','tabs','licence-widget-msg','.input-priority','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','fa\x20fa-calendar-time','.input-publishingEnabled','value','SuppressedError','create','then','removeClass','typedInput','.red-ui-editableList-item-remove','hide','.input-isDefault','change','#node-config-input-userCertificate','9HyXNbr','</p>','apply','assign','#node-input-localfile','endpoint','.section-securityPolicy','fa\x20fa-check-circle','empty','message','None','<i>','requestedLifetimeCount',':checked','invalid\x20userIdentityType\x20','.section-userIdentityType-Certificate','html','Certificate','Slow\x20Subscription','150px','#node-config-input-userIdentityType','1352owqJJm','result','#node-config-input-securityMode','replace','name','<br>','-pending','editableList','widget','Subscriptions','Sign','val','<p>','json','baseUrl','licence-widget-','14434XaTybl','catch','config'];_0x45b3=function(){return _0xde9fe8;};return _0x45b3();}
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg0YmQ4MjciLCJfMHg0OWE4NTIiLCJfMHg0OWNkOGQiLCJfMHg1NDNmYTMiLCJfMHgyNTZhZmEiLCJfMHg1NTRlYzUiLCIkIiwiXzB4NGJiYzM1IiwiXzB4NGJiZjBlIiwiXzB4MTUwMDI2IiwiXzB4MjIxNjVlIiwiYm9keSIsIl8weDQyZTI2OCIsInVybCIsIl8weDI0YjJlZiIsImNvbnNvbGUiLCJmZXRjaCIsIkpTT04iLCJfMHg1NzJiYmEiLCJfMHg4NDA1YjAiLCJfMHgyZmNmYzciLCJfMHgyY2U2YjkiLCJfMHgzOWIzNjYiLCJfMHgzNTJlZDciLCJfMHg1MmVjYzUiLCJBcnJheSIsIkVycm9yIiwiXzB4MjA2MDI0IiwiXzB4MTBiMmUyIiwiXzB4MzRlNjE1IiwiXzB4NGQ5ZjA4IiwiXzB4MWQ3ZmM2IiwiXzB4NDMwYmEzIiwiXzB4MTNiZTcxIiwiXzB4MThjODMxIiwiXzB4ZjU1MGUiLCJQcm9taXNlIiwiXzB4ZmY2M2NkIiwiXzB4NDc2NDRmIiwiXzB4NDJiZTRmIiwiXzB4NTY5NWE0IiwiXzB4ZGVjMmIwIiwiXzB4NWIzNTcxIiwiXzB4M2FjMjRhIiwiXzB4NDA4MjgwIiwiXzB4MjFkYzIwIiwiXzB4MmIzODEwIiwiU3VwcHJlc3NlZEVycm9yIiwiXzB4NDZhZmU1IiwiXzB4MjFmNTEzIiwiXzB4NGRjMzVlIiwiXzB4MTE2MTFkIiwiXzB4M2VlYTljIiwiXzB4MzExZDRkIiwiXzB4MjA4MzNkIiwiXzB4NWJhMzdmIiwiXzB4MzI1OWVlIiwiXzB4NDlmYzUwIiwiXzB4MjgyNDczIiwiXzB4OTczMWViIiwiXzB4YjYzM2U4IiwiXzB4MWYyMGZkIiwiXzB4MTg1ZGMxIiwiXzB4NTZjMDJiIiwiXzB4MWMwZTNkIiwiXzB4NDY4ZmVlIiwiXzB4NmMwMTdjIiwiXzB4MjEwNTA0IiwiXzB4NTVmNDc1IiwiVVJMIiwiXzB4MmRlMzI1IiwiXzB4NmEwMTc2IiwiUkVEIiwiXzB4MjI3YWFmIiwiT2JqZWN0IiwiXzB4NTU4MjMyIiwiXzB4MzE2ZTg2IiwiXzB4MmFlYzcyIiwiXzB4MjQ3MGJjIiwiXzB4MjY2NTdjIiwiXzB4MzRiMjMwIiwiXzB4NGU3MDc5IiwiXzB4NTE0MzRlIiwiXzB4NDViMmRlIiwiXzB4MmQ1NzQ4IiwiXzB4NWVlYzgzIiwiXzB4MTBhNDE1IiwiXzB4Mzc5MzMxIiwic2V0VGltZW91dCIsIl8weDU5ZDM1MCIsIl8weDM3YzVhMiIsInVuZGVmaW5lZCIsIl8weDE2N2IxMSIsIl8weDI1ZTI1MyIsIl8weDI5NGRiNCIsIl8weGE4YThmMCIsIl8weDRhNTQxNiIsIl8weDIwYjE3YSIsIl8weDU3NjYwZCIsIl8weDFmYTI3MSIsIl8weDQ4OGQ4NiIsIl8weDU5OWQzMyIsIl8weDM4Y2YyMiIsIl8weDE2OTQ1YyIsIl8weDExYzQ0MSIsIl8weDFmZDFlYyIsIl8weDEwNzk2NiIsIl8weDUxMGMyMyIsIl8weGFiNWE4IiwiXzB4MWM5Y2ViIiwiXzB4NWI0ZDVlIiwiXzB4MjBiY2NmIiwiXzB4MTYyMTA5IiwiXzB4MWI2N2Y1IiwiXzB4NDVlMGNkIl0sIm1hcHBpbmdzIjoiZ21CQUFBLENBQUMsVSxDQUNHLGEsd0JBRUEsU0FBU0EsU0FBVCxDQUF1QkMsU0FBdkIsQ0FBK0JDLFNBQS9CLENBQW9DQyxTQUFwQyxDQUEwQ0MsU0FBMUMsQyx5QkFDVUMsU0FBQSxDQUFjQyxDQUFBLEMsSUFBTUwsUyxnQkFBTixDLENBQ2RNLFNBQUEsQ0FBY0QsQ0FBQSxDLElBQU1MLFMsZ0JBQU4sQyxDQUNkTyxTQUFBLENBQWNGLENBQUEsQyxJQUFNTCxTLGdCQUFOLEMsQ0FDZFEsU0FBQSxDQUFXSCxDQUFBLEMsSUFBTUwsUyxnQkFBTixDLENBQ2pCLElBQUlTLFNBQUEsQyxHQUFKLENBQ0FMLFNBQUEsQyxNQUFBLEcsQ0FDQUUsU0FBQSxDLGdCQUFBLEcsQ0FDQUMsU0FBQSxDLGdCQUFBLEcsQ0FDQU4sU0FBQSxDLElBQUEsRSxPQUFBLENBQWdCLEksOEJBQ1JRLFMsQ0FDQSxPQUNKQSxTQUFBLEMsS0FDQUYsU0FBQSxD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R0FBc0IsRSxDQUN4QzRCLFNBQUEsQyxlQUFBLEksS0FFQUEsU0FBQSxDLGVBQUEsRUFBbUIsQyxJQUNmLEMsSUFEZSxDLE1BRWYsQyxlQUZlLEMsV0FHZixDLElBSGUsQyxZQUlmLENBQVl2QyxNQUFBLEMsZ0JBQUEsRUFBYyxFQUFkLENBQWtCSCxTQUFsQixDQUpHLENBQW5CLEMsQ0FPSm1DLFNBQUEsQyxlQUFBLEUsZ0JBQUEsRUFDQSxVQUFXUSxTQUFYLElBQTJCRCxTQUEzQixDLENBRUlQLFNBQUEsQyxjQUFBLEUsU0FBQSxDQUF5Q1EsU0FBekMsQyxHQTlDUixDQWlEQUYsU0FBQSxFLEdBL1M4QixDQUExQyxDLEVBNUxKLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIGZ1bmN0aW9uIG1hbmFnZUFQSUNhbGwocHJlZml4LCBidG4sIGZ1bmMsIG9uUmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NJY29uID0gJChgIyR7cHJlZml4fS1zdWNjZXNzYCk7XG4gICAgICAgIGNvbnN0IGZhaWx1cmVJY29uID0gJChgIyR7cHJlZml4fS1mYWlsdXJlYCk7XG4gICAgICAgIGNvbnN0IHBlbmRpbmdJY29uID0gJChgIyR7cHJlZml4fS1wZW5kaW5nYCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gJChgIyR7cHJlZml4fS1tZXNzYWdlc2ApO1xuICAgICAgICBsZXQgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdWNjZXNzSWNvbi5oaWRlKCk7XG4gICAgICAgIGZhaWx1cmVJY29uLmhpZGUoKTtcbiAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICBidG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uUGVuZGluZylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLmh0bWwoXCJUZXN0aW5nIENvbm5lY3Rpb24gLi4uXCIpO1xuICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYm9keSwgdXJsIH0gPSBmdW5jKCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInh4eHh4XCIsIGJvZHkpO1xuICAgICAgICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiBkYXRhLmpzb24oKSlcbiAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgXCIgXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5yZXN1bHQgPT09IFwib2tcIikge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChqc29uLm1lc3NhZ2UucmVwbGFjZShcIlxcblwiLCBcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChudWxsLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0ID0gKHN0cikgPT4gIXN0clxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHN0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGA8cD4ke2F9PC9wPmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0MiA9IChzdHIpID0+IChBcnJheS5pc0FycmF5KHN0cikgPyBzdHIubWFwKGFkYXB0KS5qb2luKFwiXFxuXCIpIDogYWRhcHQoc3RyKSk7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGFkYXB0Mihqc29uLm1lc3NhZ2UpICsgYWRhcHQyKGpzb24uZXh0cmEpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobmV3IEVycm9yKGpzb24ucmVzdWx0KSwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiaW50ZXJuYWwgZXJyb3IgXCIgKyBlcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICBvblJlc3VsdChlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImZlY2h0aW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkFVVEhPUklaRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jaGVjay1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5pc0RlbW8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJEZW1vIGxpY2VuY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiWW91ciBsaWNlbmNlIGlzIHZhbGlkLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgZXhwaXJlZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIllvdXIgbGljZW5zZSBoYXMgZXhwaXJlZC4gUGxlYXNlIGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkZBSUxFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIllvdXIgbGljZW5zZSBpcyBjdXJyZW50bHkgaW52YWxpZC5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsZWFzZSA8YSBocmVmPVwibWFpbHRvOmNvbnRhY3RAc3RlcmZpdmUuY29tXCI+IGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbTwvYT4gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8qKiAqL1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmVsZW1lbnQudGV4dChcIkxpY2VuY2UgXCIgKyBKU09OLnN0cmluZ2lmeShqc29uKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1cIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWljb25cIikuYXBwZW5kKCQoXCI8aT5cIikuYWRkQ2xhc3MoaWNvbikpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtbXNnXCIpLnRleHQobXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1kZXRhaWxzXCIpLmFwcGVuZChkZXRhaWxzKSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCxcbiAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAxMDAwLFxuICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMCxcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICB9O1xuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1FbmRwb2ludDJcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJjb25maWdcIixcbiAgICAgICAgZGVmYXVsdHM6IHtcbiAgICAgICAgICAgIG5hbWU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIGVuZHBvaW50OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwib3BjLnRjcDovL29wY3VhZGVtby5zdGVyZml2ZS5jb206MjY1NDMvVUEvU2FtcGxlU2VydmVyXCIsXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6IGlzVmFsaWRPUENfVUFfVVJJLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIFNlY3VyaXR5IE1vZGVcbiAgICAgICAgICAgIHNlY3VyaXR5TW9kZTogeyB2YWx1ZTogXCJOb25lXCIgfSxcbiAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IFwiTm9uZVwiLFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlOiAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiB7IHZhbHVlOiBcIkFub255bW91c1wiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIFVzZXJOYW1lXG4gICAgICAgICAgICB1c2VyTmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdmFsdWU6IFwiXCIsIHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICAgICAgLy8gdG8gdXNlIHdoZW4gdXNlcklkZW50aXR5VHlwZSBpcyBDZXJ0aWZpY2F0ZVxuICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgLy8gdXNlcm5hbWVcbiAgICAgICAgICAgIC8vIFRoZXNlIGFyZSBmaXhlZCBvciBjYW4gYmUgcmVhZCB0aHJvdWdoIGVuZFBvaW50XG4gICAgICAgICAgICBjZXJ0aWZpY2F0ZTogeyB2YWx1ZTogXCJuXCIgfSxcbiAgICAgICAgICAgIGxvY2FsZmlsZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgbG9jYWxrZXlmaWxlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgdXNlVHJhbnNwb3J0OiB7IHZhbHVlOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICBtYXhDaHVua0NvdW50OiB7IHZhbHVlOiAxLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heE1lc3NhZ2VTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiB7IHZhbHVlOiA4MTkyLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnM6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJTbG93IFN1YnNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaXNoaW5nRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDIwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogNTAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkZhc3QgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDQwMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IDI1MCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiAyMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgY3JlZGVudGlhbHM6IHtcbiAgICAgICAgICAgIHVzZXI6IHsgdHlwZTogXCJ0ZXh0XCIgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7IHR5cGU6IFwicGFzc3dvcmRcIiB9LFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmFtZSB8fCB0aGlzLmVuZHBvaW50IHx8IFwiaW52YWxpZCBlbmRwb2ludFwiO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRzYXZlKCkge1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5UG9saWN5ID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKTtcbiAgICAgICAgICAgIGNvbnN0IF9zZWN1cml0eU1vZGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKTtcbiAgICAgICAgICAgIGlmIChfc2VjdXJpdHlQb2xpY3kudmFsKCkgPT09IFwiTm9uZVwiKSB7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS50ZXh0KFwiTm9uZVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vICgoKCgoKCgoKCggcmV0cmlldmUgc3Vic2NyaXB0aW9uIGRhdGEgKSkpKSkpKSkpKVxuICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uc0l0ZW1zID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKS5lZGl0YWJsZUxpc3QoXCJpdGVtc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IHMgPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeCkgPT4geDtcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbnNJdGVtcy5lYWNoKGZ1bmN0aW9uIChpbmRleCwgaXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGUgPSAkKHRoaXMpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcInNcIiArIGluZGV4LFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBlLmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiAhIWUuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiAhIWUuZmluZChcIi5pbnB1dC1wdWJsaXNoaW5nRW5hYmxlZFwiKS5pcyhcIjpjaGVja2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogbihlLmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2g6IG4oZS5maW5kKFwiLmlucHV0LW1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoXCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5OiBuKGUuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBmb3JjZSB0byBiZSB0cnVlXG4gICAgICAgICAgICAgICAgYS5wYXJhbWV0ZXJzLnB1Ymxpc2hpbmdFbmFibGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBpZiAoYS5pc0RlZmF1bHQgJiYgYS5pZCA9PT0gXCJzMFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5vcm1hbGl6ZSBkZWZhdWx0IHN1YnNjcmlwdGlvbiBuYW1lXG4gICAgICAgICAgICAgICAgICAgIGEubmFtZSA9IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcy5wdXNoKGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBzO1xuICAgICAgICB9LFxuICAgICAgICBvbmVkaXRwcmVwYXJlKCkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB0YWJzID0gUkVELnRhYnMuY3JlYXRlKHtcbiAgICAgICAgICAgICAgICBpZDogXCJub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzXCIsXG4gICAgICAgICAgICAgICAgb25jaGFuZ2U6IGZ1bmN0aW9uICh0YWIpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1lbmRwb2ludC10YWJzLWNvbnRlbnRcIikuY2hpbGRyZW4oKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICQoXCIjXCIgKyB0YWIuaWQpLnNob3coKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWJzLmFkZFRhYih7XG4gICAgICAgICAgICAgICAgaWQ6IFwiZW5kcG9pbnQtdGFiLWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICBsYWJlbDogXCJDb25uZWN0aW9uXCIsXG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItc3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIlN1YnNjcmlwdGlvbnNcIixcbiAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgdGFicy5yZXNpemUoKTtcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSBTZWN1cml0eSBjb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVTZWN1cml0eUNvbnRyb2wgPSAoc2VjdXJpdHlNb2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoc2VjdXJpdHlNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIG51bGw6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJOb25lXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiU2lnbkFuZEVuY3J5cHRcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNwID0gJChcIi5zZWN0aW9uLXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3AudmFsKCkgPT09IFwiTm9uZVwiIHx8IHNwLnZhbCgpID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcC52YWwoXCJCYXNpYzI1NlNoYTI1NlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJpbnZhbGlkIHNlY3VyaXR5TW9kZSBcIiArIHNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChub2RlLnNlY3VyaXR5TW9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgICAgIF9zZWN1cml0eU1vZGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWN1cml0eU1vZGUgPSBfc2VjdXJpdHlNb2RlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVTZWN1cml0eUNvbnRyb2wobmV3U2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGxpY2VuY2VXaWRnZXQgPSAkKFwiI2xpY2VuY2VXaWRnZXRcIik7XG4gICAgICAgICAgICBsaWNlbmNlV2lkZ2V0LmxpY2VuY2VXaWRnZXQoe1xuICAgICAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAvLyBoYW5kbGUgdGhlIFVzZXIgSWRlbnRpdHkgQ29udHJvbHNcbiAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLVVzZXJOYW1lXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNlcnRSb3cgPSAkKFwiLnNlY3Rpb24tdXNlcklkZW50aXR5VHlwZS1DZXJ0aWZpY2F0ZVwiKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJZGVudGl0eUNvbnRyb2xzID0gKHVzZXJJZGVudGl0eVR5cGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdXNlcklkZW50aXR5VHlwZSA9IHVzZXJJZGVudGl0eVR5cGUgfHwgXCJBbm9ueW1vdXNcIjtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoICh1c2VySWRlbnRpdHlUeXBlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiQW5vbnltb3VzXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiVXNlck5hbWVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJDZXJ0aWZpY2F0ZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgdXNlcklkZW50aXR5VHlwZSBcIiArIHVzZXJJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5vZGUudXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgX3VzZXJJZGVudGl0eVR5cGUgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIik7XG4gICAgICAgICAgICAgICAgX3VzZXJJZGVudGl0eVR5cGUub24oXCJjaGFuZ2VcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdJZGVudGl0eVR5cGUgPSBfdXNlcklkZW50aXR5VHlwZS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlSWRlbnRpdHlDb250cm9scyhuZXdJZGVudGl0eVR5cGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIGFkdmFuY2VkIGNvbnRyb2xzXG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAkKFwiI3NlY3Rpb24tQWR2YW5jZWRcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICQoXCIjdG9nZ2xlQWR2YW5jZWRTZWN0aW9uXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykucHJvcChcImNoZWNrZWRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBzaG93IHRoZSBkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIGhpZGUgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVGVzdCBidXR0b25cbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIG1hbmFnZUFQSUNhbGwoXCJjb25uZWN0aW9uXCIsICQoXCIjdGVzdC1jb25uZWN0aW9uXCIpLCAoKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB1cmw6IFwiL29wY3VhLWVuZHBvaW50Mi90ZXN0LWNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnROb2RlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IG5vZGUuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kcG9pbnQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtZW5kcG9pbnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5TW9kZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eVBvbGljeTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eVBvbGljeVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJJZGVudGl0eVR5cGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlck5hbWU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlck5hbWVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtcGFzc3dvcmRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlckNlcnRpZmljYXRlOiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJDZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyUHJpdmF0ZWtleTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyUHJpdmF0ZWtleVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLy8gbm90IHRlc3RlZCB5ZXQgLi4uOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlOiAkKFwiI25vZGUtaW5wdXQtY2VydGlmaWNhdGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxmaWxlOiAkKFwiI25vZGUtaW5wdXQtbG9jYWxmaWxlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2Fsa2V5ZmlsZTogJChcIiNub2RlLWlucHV0LWxvY2Fsa2V5ZmlsZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VUcmFuc3BvcnQ6ICQoXCIjbm9kZS1pbnB1dC11c2VUcmFuc3BvcnRcIikucHJvcChcImNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4Q2h1bmtDb3VudDogJChcIiNub2RlLWlucHV0LW1heENodW5rQ291bnRcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6ICQoXCIjbm9kZS1pbnB1dC1tYXhNZXNzYWdlU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlQnVmZmVyU2l6ZTogJChcIiNub2RlLWlucHV0LXJlY2VpdmVCdWZmZXJTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtc2VuZEJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pLCAoKSA9PiB7IH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gIEluc3RhbGwgc3Vic2NyaXB0aW9ucyBMaXN0IG1hbmFnZW1lbnRcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc2l6ZVRvcGljcyA9ICh0b3BpYywgaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5ld1dpZHRoID0gdG9waWMud2lkdGgoKSB8fCAxMDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcGljLmZpbmQoXCJsYWJlbFwiKS50eXBlZElucHV0KFwid2lkdGhcIiwgbmV3V2lkdGggLSAxNSk7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25MaXN0ID0gJChcIiNzdWJzY3JpcHRpb25zLWNvbnRhaW5lclwiKVxuICAgICAgICAgICAgICAgICAgICAuY3NzKHsgXCJtaW4taGVpZ2h0XCI6IFwiMTUwcHhcIiwgXCJtaW4td2lkdGhcIjogXCIyNjBweFwiIH0pXG4gICAgICAgICAgICAgICAgICAgIC5lZGl0YWJsZUxpc3Qoe1xuICAgICAgICAgICAgICAgICAgICBhZGRJdGVtOiAoY29udGFpbmVyLCBpbmRleCwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX2RhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9ICQoXCIudGVtcGxhdGVcIikuY2xvbmUoKS5hcHBlbmRUbyhjb250YWluZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5yZW1vdmVBdHRyKFwiaWRcIikucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpLnJlbW92ZUNsYXNzKFwidGVtcGxhdGVcIikuYXR0cihcImRhdGEtaVwiLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS52YWwoX2RhdGEubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsXCIpLnZhbChfZGF0YS5wYXJhbWV0ZXJzLnJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTWF4S2VlcEFsaXZlQ291bnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudC5maW5kKFwiLmlucHV0LXJlcXVlc3RlZExpZmV0aW1lQ291bnRcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkTGlmZXRpbWVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMubWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2ggfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcHJpb3JpdHlcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucHJpb3JpdHkgfHwgMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuc3Vic2NyaXB0aW9uLWlkXCIpLnRleHQoXCJcIiArIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtbmFtZVwiKS5wcm9wKFwicmVhZG9ubHlcIiwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtaXNEZWZhdWx0XCIpLnByb3AoXCJjaGVja2VkXCIsIF9kYXRhLmlzRGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhhdCBkZWZhdWx0IHN1YnNjcmlwdGlvbiBjYW5ub3QgYmUgYWNjaWRlbnRhbGx5IHJlbW92ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChfZGF0YS5pc0RlZmF1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuZmluZChcIi5yZWQtdWktZWRpdGFibGVMaXN0LWl0ZW0tcmVtb3ZlXCIpLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImRpc2FibGVkXCIsIHRydWUpLCAxMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZW1vdmFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlc2l6ZUl0ZW06IHJlc2l6ZVRvcGljcyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBjb25zdCBBZGRTdWJzY3JpcHRpb24gPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSBub2RlLnN1YnNjcmlwdGlvbnMgfHwgW107XG4gICAgICAgICAgICAgICAgICAgIGlmIChzdWJzY3JpcHRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIG1pc3NpbmcgZGVmYXVsdCBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNEZWZhdWx0OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRTdWJzY3JpcHRpb25QYXJhbWV0ZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Vic2NyaXB0aW9uIG9mIHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN1YnNjcmlwdGlvbi5pc0RlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdGlvbkxpc3QuZWRpdGFibGVMaXN0KFwiYWRkSXRlbVwiLCBzdWJzY3JpcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBBZGRTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxufSkoKTsiXX0=
7
+ function _0x2afe(_0xffa21d,_0x19b91f){const _0x246f6c=_0x246f();return _0x2afe=function(_0x2afe2e,_0x57bbcc){_0x2afe2e=_0x2afe2e-0x14a;let _0x42bcab=_0x246f6c[_0x2afe2e];return _0x42bcab;},_0x2afe(_0xffa21d,_0x19b91f);}function _0x246f(){const _0x35ea57=['extra','connection','subscriptions','node-config-endpoint-tabs','userIdentityType','Licence\x20expired','</p>','licence-widget-icon','#node-input-localkeyfile','.input-name','items','AUTHORIZED','#node-input-maxMessageSize','#node-input-useTransport','-pending','clone','resize','-failure','internal\x20error\x20','show','stringify','EXPIRED','typedInput','data-i','#node-config-input-userIdentityType','removeClass','status','#node-config-input-password','next','Fast\x20Subscription','append','disabled','addTab','#node-input-receiveBufferSize','log','protocol','prop','requestedPublishingInterval','2041259lmjhNT','addClass','Your\x20licence\x20is\x20valid.','push','Your\x20license\x20has\x20expired.\x20Please\x20contact\x20our\x20support\x20team\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.','readonly','assign','Default\x20Subscription','function','None','UserName','66XTctwG','13OidbGW','.input-requestedLifetimeCount','Slow\x20Subscription','isArray','password','.template','FAILED','Basic256Sha256','134410SYuYih','.input-requestedMaxKeepAliveCount','find','.input-requestedPublishingInterval','invalid\x20userIdentityType\x20','change','widget','.section-securityPolicy','Subscriptions','#node-input-certificate','done','#node-config-input-userName','.input-priority','addItem','registerType','1087740zDOMEn','css','then','endpoint-tab-connection','baseUrl','val','xxxxx','click','each','#licenceWidget','name','priority','sterfive.licenceWidget','opc.tcp:','endpoint','config','length','#node-config-input-securityPolicy','appendTo','#node-input-maxChunkCount','licence-widget-msg','260px','opc.tcp://opcuademo.sterfive.com:26543/UA/SampleServer','attr','2432234fxyQBg','invalid\x20securityMode\x20','POST','licence-widget-details','432xyonYi','<i>','fechting\x20failed\x20with\x20error','suppressed','Your\x20license\x20is\x20currently\x20invalid.','SignAndEncrypt','value','catch','#toggleAdvancedSection','result','38020qoQIIo','/licenceInfo','12bHmZSf','Sign','invalid\x20endpoint','width','licence-widget','map','json','.input-isDefault','isDemo','54385awIoPF','.input-maxNotificationsPerPublish','.section-userIdentityType-Certificate','28800RWcbmI','requestedLifetimeCount','#node-config-input-securityMode','requestedMaxKeepAliveCount','4ZwJzVO','#subscriptions-container','-messages','message','fa\x20fa-calendar-time','fa\x20fa-check-circle','licenceWidget','hide','Demo\x20licence','licence-widget-','#section-Advanced','text','maxNotificationsPerPublish','join','checked','isDefault','SuppressedError','removeAttr','application/json','/opcua-endpoint2','parameters','<span>','#node-config-endpoint-tabs-content','#node-config-input-userCertificate','8WCxMcf','editableList','<br>','template','html','element'];_0x246f=function(){return _0x35ea57;};return _0x246f();}(function(_0x4d923c,_0x5b9c37){const _0xa5fbb4=_0x2afe,_0x3fe1fd=_0x4d923c();while(!![]){try{const _0x4def58=parseInt(_0xa5fbb4(0x19b))/0x1*(parseInt(_0xa5fbb4(0x154))/0x2)+parseInt(_0xa5fbb4(0x18b))/0x3*(parseInt(_0xa5fbb4(0x189))/0x4)+parseInt(_0xa5fbb4(0x194))/0x5*(parseInt(_0xa5fbb4(0x14b))/0x6)+parseInt(_0xa5fbb4(0x17b))/0x7*(-parseInt(_0xa5fbb4(0x1b3))/0x8)+-parseInt(_0xa5fbb4(0x17f))/0x9*(parseInt(_0xa5fbb4(0x197))/0xa)+parseInt(_0xa5fbb4(0x1df))/0xb+-parseInt(_0xa5fbb4(0x163))/0xc*(-parseInt(_0xa5fbb4(0x14c))/0xd);if(_0x4def58===_0x5b9c37)break;else _0x3fe1fd['push'](_0x3fe1fd['shift']());}catch(_0x4c1012){_0x3fe1fd['push'](_0x3fe1fd['shift']());}}}(_0x246f,0x34fa7),(function(){'use strict';const _0x8a04e2=_0x2afe;function _0x42873f(_0x6d1887,_0x508828,_0xc39dcc,_0x1badc5){const _0x4522f6=_0x2afe,_0x1b0e90=$('#'+_0x6d1887+'-success'),_0x2f6110=$('#'+_0x6d1887+_0x4522f6(0x1ca)),_0x4d66f2=$('#'+_0x6d1887+_0x4522f6(0x1c7)),_0x2915dd=$('#'+_0x6d1887+_0x4522f6(0x19d));let _0x13fbe9=![];_0x1b0e90['hide'](),_0x2f6110['hide'](),_0x4d66f2[_0x4522f6(0x1a2)](),_0x508828['on'](_0x4522f6(0x16a),()=>{const _0x4d5290=_0x4522f6;if(_0x13fbe9)return;_0x13fbe9=!![],_0x4d66f2['removeClass'](_0x4d5290(0x1a2)),_0x4d66f2[_0x4d5290(0x1b7)]('Testing\x20Connection\x20...'),_0x1b0e90[_0x4d5290(0x1e0)]('hide'),_0x2f6110[_0x4d5290(0x1e0)](_0x4d5290(0x1a2)),_0x2915dd[_0x4d5290(0x1b7)]('');const {body:_0x7abd42,url:_0x2c1364}=_0xc39dcc();console[_0x4d5290(0x1db)](_0x4d5290(0x169),_0x7abd42),fetch(_0x2c1364,{'method':_0x4d5290(0x17d),'headers':{'Content-Type':_0x4d5290(0x1ad)},'body':JSON[_0x4d5290(0x1cd)](_0x7abd42)})[_0x4d5290(0x165)](_0x5c7efe=>_0x5c7efe[_0x4d5290(0x191)]())[_0x4d5290(0x165)](_0x2ffc7b=>{const _0xe12b4e=_0x4d5290;_0x13fbe9=![],_0x4d66f2[_0xe12b4e(0x1a2)](),console[_0xe12b4e(0x1db)](JSON[_0xe12b4e(0x1cd)](_0x2ffc7b,null,'\x20'));if(_0x2ffc7b['result']==='ok')_0x1b0e90[_0xe12b4e(0x1d2)](_0xe12b4e(0x1a2)),_0x2f6110[_0xe12b4e(0x1e0)](_0xe12b4e(0x1a2)),_0x2915dd[_0xe12b4e(0x1b7)](_0x2ffc7b[_0xe12b4e(0x19e)]['replace']('\x0a','<br>')),_0x1badc5(null,_0x2ffc7b);else{const _0x566249=_0x2777e1=>!_0x2777e1?'':_0x2777e1['split']('\x0a')['map'](_0x236887=>'<p>'+_0x236887+_0xe12b4e(0x1bf))['join']('\x0a'),_0x254d89=_0x5adf2d=>Array[_0xe12b4e(0x14f)](_0x5adf2d)?_0x5adf2d[_0xe12b4e(0x190)](_0x566249)[_0xe12b4e(0x1a8)]('\x0a'):_0x566249(_0x5adf2d);_0x1b0e90['addClass'](_0xe12b4e(0x1a2)),_0x2f6110[_0xe12b4e(0x1d2)](_0xe12b4e(0x1a2)),_0x2915dd[_0xe12b4e(0x1b7)](_0x254d89(_0x2ffc7b[_0xe12b4e(0x19e)])+_0x254d89(_0x2ffc7b[_0xe12b4e(0x1b9)])),_0x1badc5(new Error(_0x2ffc7b[_0xe12b4e(0x188)]),_0x2ffc7b);}})[_0x4d5290(0x186)](_0x3006ec=>{const _0x104ceb=_0x4d5290;_0x13fbe9=![],_0x4d66f2[_0x104ceb(0x1e0)](_0x104ceb(0x1a2)),_0x1b0e90[_0x104ceb(0x1e0)](_0x104ceb(0x1a2)),_0x2f6110['removeClass']('hide'),_0x2915dd['html'](_0x104ceb(0x1cb)+_0x3006ec[_0x104ceb(0x19e)]),console['log']('err',_0x3006ec),_0x1badc5(_0x3006ec,null);});});}function _0x345d55(_0x81f5ed,_0x10dede,_0x5585ff,_0x45d35e){function _0x391b7f(_0x4be97d){return _0x4be97d instanceof _0x5585ff?_0x4be97d:new _0x5585ff(function(_0x1799a4){_0x1799a4(_0x4be97d);});}return new(_0x5585ff||(_0x5585ff=Promise))(function(_0x42ff49,_0x185cb8){const _0x14562f=_0x2afe;function _0x388c27(_0x3239cd){const _0x4bec98=_0x2afe;try{_0x1dc2f9(_0x45d35e[_0x4bec98(0x1d5)](_0x3239cd));}catch(_0x375192){_0x185cb8(_0x375192);}}function _0x5a5d38(_0x4dbec0){try{_0x1dc2f9(_0x45d35e['throw'](_0x4dbec0));}catch(_0x5c48dd){_0x185cb8(_0x5c48dd);}}function _0x1dc2f9(_0x2bd655){const _0x3a8a18=_0x2afe;_0x2bd655[_0x3a8a18(0x15e)]?_0x42ff49(_0x2bd655[_0x3a8a18(0x185)]):_0x391b7f(_0x2bd655[_0x3a8a18(0x185)])[_0x3a8a18(0x165)](_0x388c27,_0x5a5d38);}_0x1dc2f9((_0x45d35e=_0x45d35e['apply'](_0x81f5ed,_0x10dede||[]))[_0x14562f(0x1d5)]());});}typeof SuppressedError===_0x8a04e2(0x1e7)?SuppressedError:function(_0x388fc2,_0x2f8a2f,_0x1e70d8){const _0xd344a3=_0x8a04e2;var _0x452ba1=new Error(_0x1e70d8);return _0x452ba1[_0xd344a3(0x16d)]=_0xd344a3(0x1ab),_0x452ba1['error']=_0x388fc2,_0x452ba1[_0xd344a3(0x182)]=_0x2f8a2f,_0x452ba1;};function _0x54f0e2(_0x5e6e4b=''){return _0x345d55(this,void 0x0,void 0x0,function*(){const _0x4e28f7=_0x2afe,_0x3f699e=_0x5e6e4b+_0x4e28f7(0x1ae),_0x483603=_0x3f699e+_0x4e28f7(0x18a),_0x21c9f4=yield fetch(_0x483603,{'method':'POST','headers':{'Content-Type':_0x4e28f7(0x1ad)}});if(_0x21c9f4[_0x4e28f7(0x1d3)]!==0xc8)return console[_0x4e28f7(0x1db)](_0x4e28f7(0x181),_0x21c9f4[_0x4e28f7(0x1d3)],_0x21c9f4['statusText']),{};const _0x2a0371=yield _0x21c9f4[_0x4e28f7(0x191)]();return _0x2a0371;});}const _0x465339=()=>{const _0x580045=_0x8a04e2;$[_0x580045(0x15a)](_0x580045(0x16f),{'options':{'baseUrl':''},'_create'(){const _0x16e261=_0x580045,_0x5b4f52=this;_0x54f0e2(_0x5b4f52[_0x16e261(0x167)])[_0x16e261(0x165)](_0xcc6fa8=>{const _0x307fca=_0x16e261;let _0x58a277='',_0x2c2429='',_0x51541c='';const _0x2252ae=_0xcc6fa8[_0x307fca(0x1d3)];switch(_0x2252ae){case _0x307fca(0x1c4):_0x58a277=_0x307fca(0x1a0);_0xcc6fa8[_0x307fca(0x193)]?_0x2c2429=_0x307fca(0x1a3):(_0x2c2429=_0x307fca(0x1e1),_0x51541c='');break;case _0x307fca(0x1ce):_0x58a277=_0x307fca(0x19f),_0x2c2429=_0x307fca(0x1be),_0x51541c=_0x307fca(0x1e3);break;case _0x307fca(0x152):default:_0x58a277='fa\x20fa-exclamation-circle',_0x2c2429=_0x307fca(0x183),_0x51541c='Please\x20<a\x20href=\x22mailto:contact@sterfive.com\x22>\x20contact\x20our\x20support\x20team</a>\x20or\x20visit\x20our\x20website\x20to\x20renew\x20your\x20license\x20and\x20regain\x20access\x20to\x20our\x20services.';break;}this['element'][_0x307fca(0x1e0)](_0x307fca(0x18f)),this[_0x307fca(0x1b8)]['addClass'](_0x307fca(0x1a4)+_0x2252ae),this[_0x307fca(0x1b8)][_0x307fca(0x1d7)]($('<span>')[_0x307fca(0x1e0)](_0x307fca(0x1c0))[_0x307fca(0x1d7)]($(_0x307fca(0x180))['addClass'](_0x58a277))),this[_0x307fca(0x1b8)]['append']($(_0x307fca(0x1b0))[_0x307fca(0x1e0)](_0x307fca(0x177))['text'](_0x2c2429)),this[_0x307fca(0x1b8)][_0x307fca(0x1d7)]($(_0x307fca(0x1b5))),this['element'][_0x307fca(0x1d7)]($(_0x307fca(0x1b0))[_0x307fca(0x1e0)](_0x307fca(0x17e))[_0x307fca(0x1d7)](_0x51541c));})['catch'](_0x49a7f7=>{const _0x3ba205=_0x16e261;console[_0x3ba205(0x1db)](_0x49a7f7);});}});};_0x465339();function _0x135141(_0x132569){const _0x357ab0=_0x8a04e2;let _0x44cdf1;try{_0x44cdf1=new URL(_0x132569);}catch(_0x3acb2e){return![];}return _0x44cdf1[_0x357ab0(0x1dc)]===_0x357ab0(0x170);}const _0x1fd602={'publishingEnabled':!![],'requestedLifetimeCount':0x3e8,'requestedMaxKeepAliveCount':0xa,'requestedPublishingInterval':0x3e8,'maxNotificationsPerPublish':0x0,'priority':0x64};RED['nodes'][_0x8a04e2(0x162)]('OpcUa-Endpoint2',{'category':_0x8a04e2(0x172),'paletteLabel':'Opc-Ua\x20Endpoint','defaults':{'name':{'value':''},'endpoint':{'value':_0x8a04e2(0x179),'required':!![],'validate':_0x135141},'securityMode':{'value':_0x8a04e2(0x1e8)},'securityPolicy':{'value':_0x8a04e2(0x1e8),'validate':_0x2c022a=>{if(!_0x2c022a)return![];return!![];}},'userIdentityType':{'value':'Anonymous'},'userName':{'value':''},'password':{'value':'','type':_0x8a04e2(0x150)},'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':_0x8a04e2(0x1e6),'isDefault':!![],'parameters':Object['assign']({},_0x1fd602)},{'id':'s2','name':_0x8a04e2(0x14e),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0x64,'requestedMaxKeepAliveCount':0x14,'requestedPublishingInterval':0x1388,'maxNotificationsPerPublish':0x64,'priority':0xa}},{'id':'s3','name':_0x8a04e2(0x1d6),'isDefault':![],'parameters':{'publishingEnabled':!![],'requestedLifetimeCount':0xfa0,'requestedMaxKeepAliveCount':0x64,'requestedPublishingInterval':0xfa,'maxNotificationsPerPublish':0x64,'priority':0xc8}}],'required':![]}},'credentials':{'user':{'type':'text'},'password':{'type':_0x8a04e2(0x150)}},'label':function(){const _0x1d2cb6=_0x8a04e2;return this[_0x1d2cb6(0x16d)]||this[_0x1d2cb6(0x171)]||_0x1d2cb6(0x18d);},'oneditsave'(){const _0x3c0bf8=_0x8a04e2,_0x3536c8=$(_0x3c0bf8(0x174)),_0x25351f=$('#node-config-input-securityMode');_0x3536c8['val']()===_0x3c0bf8(0x1e8)&&_0x25351f[_0x3c0bf8(0x1a6)]('None');const _0x319c1=$(_0x3c0bf8(0x19c))['editableList'](_0x3c0bf8(0x1c3)),_0x330f30=[],_0x13fe4b=_0x247dec=>_0x247dec;_0x319c1[_0x3c0bf8(0x16b)](function(_0x34528f,_0x38bbaa){const _0x53059d=_0x3c0bf8,_0x5813a6=$(this),_0x2311e6={'id':'s'+_0x34528f,'name':_0x5813a6[_0x53059d(0x156)](_0x53059d(0x1c2))[_0x53059d(0x168)](),'isDefault':!!_0x5813a6[_0x53059d(0x156)](_0x53059d(0x192))[_0x53059d(0x168)](),'parameters':{'publishingEnabled':!!_0x5813a6[_0x53059d(0x156)]('.input-publishingEnabled')['is'](':checked'),'requestedLifetimeCount':_0x13fe4b(_0x5813a6['find']('.input-requestedLifetimeCount')[_0x53059d(0x168)]()),'requestedMaxKeepAliveCount':_0x13fe4b(_0x5813a6[_0x53059d(0x156)]('.input-requestedMaxKeepAliveCount')['val']()),'requestedPublishingInterval':_0x13fe4b(_0x5813a6['find'](_0x53059d(0x157))[_0x53059d(0x168)]()),'maxNotificationsPerPublish':_0x13fe4b(_0x5813a6['find']('.input-maxNotificationsPerPublish')[_0x53059d(0x168)]()),'priority':_0x13fe4b(_0x5813a6[_0x53059d(0x156)](_0x53059d(0x160))[_0x53059d(0x168)]())}};_0x2311e6[_0x53059d(0x1af)]['publishingEnabled']=!![],_0x2311e6[_0x53059d(0x1aa)]&&_0x2311e6['id']==='s0'&&(_0x2311e6[_0x53059d(0x16d)]=_0x53059d(0x1e6)),_0x330f30[_0x53059d(0x1e2)](_0x2311e6);}),this['subscriptions']=_0x330f30;},'oneditprepare'(){const _0x2d8b6e=_0x8a04e2,_0x42f1c8=this,_0x49977a=RED['tabs']['create']({'id':_0x2d8b6e(0x1bc),'onchange':function(_0x5e9690){const _0x4f8e87=_0x2d8b6e;$(_0x4f8e87(0x1b1))['children']()['hide'](),$('#'+_0x5e9690['id'])[_0x4f8e87(0x1cc)]();}});_0x49977a['addTab']({'id':_0x2d8b6e(0x166),'label':'Connection'},0x0),_0x49977a[_0x2d8b6e(0x1d9)]({'id':'endpoint-tab-subscriptions','label':_0x2d8b6e(0x15c)},0x1),setTimeout(function(){const _0x30f9dd=_0x2d8b6e;_0x49977a[_0x30f9dd(0x1c9)]();},0x0);{const _0x424448=_0x3f0ec0=>{const _0x5b6971=_0x2d8b6e;switch(_0x3f0ec0){case null:case undefined:case'':case _0x5b6971(0x1e8):$(_0x5b6971(0x15b))[_0x5b6971(0x1a2)]();break;case _0x5b6971(0x18c):case _0x5b6971(0x184):{const _0x5ee4d1=$(_0x5b6971(0x15b));(_0x5ee4d1[_0x5b6971(0x168)]()===_0x5b6971(0x1e8)||_0x5ee4d1[_0x5b6971(0x168)]()==='')&&_0x5ee4d1[_0x5b6971(0x168)](_0x5b6971(0x153)),$(_0x5b6971(0x15b))[_0x5b6971(0x1cc)]();}break;default:console['log'](_0x5b6971(0x17c)+_0x3f0ec0);}};_0x424448(_0x42f1c8['securityMode']);const _0x29d1af=$(_0x2d8b6e(0x199));_0x29d1af['on']('change',()=>{const _0x218e0c=_0x2d8b6e,_0x2fb302=_0x29d1af[_0x218e0c(0x168)]();_0x424448(_0x2fb302);});}const _0x178cf9=$(_0x2d8b6e(0x16c));_0x178cf9[_0x2d8b6e(0x1a1)]({'baseUrl':''});{const _0xcb9677=$('.section-userIdentityType-UserName'),_0x4a429f=$(_0x2d8b6e(0x196)),_0x3f530c=_0x225ed0=>{const _0xe12517=_0x2d8b6e;_0x225ed0=_0x225ed0||'Anonymous';switch(_0x225ed0){case'Anonymous':$('#node-config-input-userName')[_0xe12517(0x168)](''),$(_0xe12517(0x1d4))[_0xe12517(0x168)](''),_0xcb9677['hide'](),_0x4a429f[_0xe12517(0x1a2)]();break;case _0xe12517(0x14a):_0xcb9677[_0xe12517(0x1cc)](),_0x4a429f[_0xe12517(0x1a2)]();break;case'Certificate':$('#node-config-input-userName')['val'](''),$(_0xe12517(0x1d4))[_0xe12517(0x168)](''),_0x4a429f[_0xe12517(0x1cc)](),_0xcb9677[_0xe12517(0x1a2)]();break;default:console[_0xe12517(0x1db)](_0xe12517(0x158)+_0x225ed0);}};_0x3f530c(_0x42f1c8[_0x2d8b6e(0x1bd)]);const _0xe8bf83=$('#node-config-input-userIdentityType');_0xe8bf83['on']('change',()=>{const _0x2988c2=_0x2d8b6e,_0x2855f0=_0xe8bf83[_0x2988c2(0x168)]();_0x3f530c(_0x2855f0);}),$(_0x2d8b6e(0x1a5))['hide'](),$(_0x2d8b6e(0x187))['on'](_0x2d8b6e(0x159),function(){const _0x2f6aba=_0x2d8b6e;$(this)[_0x2f6aba(0x1dd)](_0x2f6aba(0x1a9))?$(_0x2f6aba(0x1a5))['show']():$('#section-Advanced')[_0x2f6aba(0x1a2)]();}),_0x42873f(_0x2d8b6e(0x1ba),$('#test-connection'),()=>({'url':'/opcua-endpoint2/test-connection','body':{'endpointNode':{'id':_0x42f1c8['id'],'endpoint':$('#node-config-input-endpoint')[_0x2d8b6e(0x168)](),'securityMode':$(_0x2d8b6e(0x199))['val'](),'securityPolicy':$('#node-config-input-securityPolicy')[_0x2d8b6e(0x168)](),'userIdentityType':$(_0x2d8b6e(0x1d1))[_0x2d8b6e(0x168)](),'userName':$(_0x2d8b6e(0x15f))[_0x2d8b6e(0x168)](),'password':$(_0x2d8b6e(0x1d4))[_0x2d8b6e(0x168)](),'userCertificate':$(_0x2d8b6e(0x1b2))[_0x2d8b6e(0x168)](),'userPrivatekey':$('#node-config-input-userPrivatekey')['val'](),'certificate':$(_0x2d8b6e(0x15d))[_0x2d8b6e(0x168)](),'localfile':$('#node-input-localfile')[_0x2d8b6e(0x168)](),'localkeyfile':$(_0x2d8b6e(0x1c1))[_0x2d8b6e(0x168)](),'useTransport':$(_0x2d8b6e(0x1c6))[_0x2d8b6e(0x1dd)]('checked'),'maxChunkCount':$(_0x2d8b6e(0x176))[_0x2d8b6e(0x168)](),'maxMessageSize':$(_0x2d8b6e(0x1c5))[_0x2d8b6e(0x168)](),'receiveBufferSize':$(_0x2d8b6e(0x1da))[_0x2d8b6e(0x168)](),'sendBufferSize':$('#node-input-sendBufferSize')['val']()}}}),()=>{});const _0x207078=(_0x3c0aff,_0x22820e)=>{const _0x111698=_0x2d8b6e;var _0x44cad6=_0x3c0aff['width']()||0x64;_0x3c0aff[_0x111698(0x156)]('label')[_0x111698(0x1cf)](_0x111698(0x18e),_0x44cad6-0xf);},_0x503795=$(_0x2d8b6e(0x19c))[_0x2d8b6e(0x164)]({'min-height':'150px','min-width':_0x2d8b6e(0x178)})['editableList']({'addItem':(_0x1ed792,_0x3edcd5,_0x148d24)=>{const _0x5f1399=_0x2d8b6e,_0x10e08d=_0x148d24,_0x3aeb4c=$(_0x5f1399(0x151))[_0x5f1399(0x1c8)]()[_0x5f1399(0x175)](_0x1ed792);_0x3aeb4c[_0x5f1399(0x1ac)]('id')['removeClass'](_0x5f1399(0x1a2))[_0x5f1399(0x1d2)](_0x5f1399(0x1b6))[_0x5f1399(0x17a)](_0x5f1399(0x1d0),_0x3edcd5),_0x3aeb4c['find'](_0x5f1399(0x1c2))[_0x5f1399(0x168)](_0x10e08d[_0x5f1399(0x16d)]),_0x3aeb4c['find']('.input-requestedPublishingInterval')['val'](_0x10e08d[_0x5f1399(0x1af)][_0x5f1399(0x1de)]),_0x3aeb4c[_0x5f1399(0x156)](_0x5f1399(0x155))[_0x5f1399(0x168)](_0x10e08d[_0x5f1399(0x1af)][_0x5f1399(0x19a)]),_0x3aeb4c['find'](_0x5f1399(0x14d))[_0x5f1399(0x168)](_0x10e08d[_0x5f1399(0x1af)][_0x5f1399(0x198)]),_0x3aeb4c[_0x5f1399(0x156)](_0x5f1399(0x195))['val'](_0x10e08d['parameters'][_0x5f1399(0x1a7)]||0x0),_0x3aeb4c[_0x5f1399(0x156)](_0x5f1399(0x160))[_0x5f1399(0x168)](_0x10e08d['parameters'][_0x5f1399(0x16e)]||0x0),_0x3aeb4c['find']('.subscription-id')['text'](''+_0x3edcd5),_0x10e08d['isDefault']&&_0x3aeb4c[_0x5f1399(0x156)]('.input-name')[_0x5f1399(0x1dd)](_0x5f1399(0x1e4),!![]),_0x3aeb4c['find']('.input-isDefault')[_0x5f1399(0x1dd)](_0x5f1399(0x1a9),_0x10e08d['isDefault']),_0x10e08d[_0x5f1399(0x1aa)]&&(_0x1ed792[_0x5f1399(0x156)]('.red-ui-editableList-item-remove')['addClass'](_0x5f1399(0x1a2)),setTimeout(()=>_0x3aeb4c[_0x5f1399(0x156)](_0x5f1399(0x192))[_0x5f1399(0x1dd)](_0x5f1399(0x1d8),!![]),0xa));},'removable':!![],'resizeItem':_0x207078}),_0x5d267f=()=>{const _0x39948a=_0x2d8b6e,_0xafbe6c=_0x42f1c8[_0x39948a(0x1bb)]||[];_0xafbe6c[_0x39948a(0x173)]===0x0&&_0xafbe6c[_0x39948a(0x1e2)]({'id':'s1','name':_0x39948a(0x1e6),'isDefault':!![],'parameters':Object[_0x39948a(0x1e5)]({},_0x1fd602)});_0x503795['editableList']('empty');for(const _0x54270a of _0xafbe6c){_0x503795[_0x39948a(0x1b4)](_0x39948a(0x161),_0x54270a);}};_0x5d267f();}}});}()));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNvdXJjZU1hcCJdLCJuYW1lcyI6WyJfMHg0Mjg3M2YiLCJfMHg2ZDE4ODciLCJfMHg1MDg4MjgiLCJfMHhjMzlkY2MiLCJfMHgxYmFkYzUiLCJfMHgxYjBlOTAiLCIkIiwiXzB4MmY2MTEwIiwiXzB4NGQ2NmYyIiwiXzB4MjkxNWRkIiwiXzB4MTNmYmU5IiwiYm9keSIsIl8weDdhYmQ0MiIsInVybCIsIl8weDJjMTM2NCIsImNvbnNvbGUiLCJmZXRjaCIsIkpTT04iLCJfMHg1YzdlZmUiLCJfMHgyZmZjN2IiLCJfMHg1NjYyNDkiLCJfMHgyNzc3ZTEiLCJfMHgyMzY4ODciLCJfMHgyNTRkODkiLCJfMHg1YWRmMmQiLCJBcnJheSIsIkVycm9yIiwiXzB4MzAwNmVjIiwiXzB4MzQ1ZDU1IiwiXzB4ODFmNWVkIiwiXzB4MTBkZWRlIiwiXzB4NTU4NWZmIiwiXzB4NDVkMzVlIiwiXzB4MzkxYjdmIiwiXzB4NGJlOTdkIiwiXzB4MTc5OWE0IiwiUHJvbWlzZSIsIl8weDQyZmY0OSIsIl8weDE4NWNiOCIsIl8weDM4OGMyNyIsIl8weDMyMzljZCIsIl8weDFkYzJmOSIsIl8weDM3NTE5MiIsIl8weDVhNWQzOCIsIl8weDRkYmVjMCIsIl8weDVjNDhkZCIsIl8weDJiZDY1NSIsIlN1cHByZXNzZWRFcnJvciIsIl8weDM4OGZjMiIsIl8weDJmOGEyZiIsIl8weDFlNzBkOCIsIl8weDQ1MmJhMSIsIl8weDU0ZjBlMiIsIl8weDVlNmU0YiIsIl8weDNmNjk5ZSIsIl8weDQ4MzYwMyIsIl8weDIxYzlmNCIsIl8weDJhMDM3MSIsIl8weDQ2NTMzOSIsIl8weDViNGY1MiIsIl8weGNjNmZhOCIsIl8weDU4YTI3NyIsIl8weDJjMjQyOSIsIl8weDUxNTQxYyIsIl8weDIyNTJhZSIsIl8weDQ5YTdmNyIsIl8weDEzNTE0MSIsIl8weDEzMjU2OSIsIl8weDQ0Y2RmMSIsIlVSTCIsIl8weDNhY2IyZSIsIl8weDFmZDYwMiIsIlJFRCIsIl8weDJjMDIyYSIsIk9iamVjdCIsIl8weDM1MzZjOCIsIl8weDI1MzUxZiIsIl8weDMxOWMxIiwiXzB4MzMwZjMwIiwiXzB4MTNmZTRiIiwiXzB4MjQ3ZGVjIiwiXzB4MzQ1MjhmIiwiXzB4MzhiYmFhIiwiXzB4NTgxM2E2IiwiXzB4MjMxMWU2IiwiXzB4NDJmMWM4IiwiXzB4NDk5NzdhIiwiXzB4NWU5NjkwIiwic2V0VGltZW91dCIsIl8weDQyNDQ0OCIsIl8weDNmMGVjMCIsInVuZGVmaW5lZCIsIl8weDVlZTRkMSIsIl8weDI5ZDFhZiIsIl8weDJmYjMwMiIsIl8weDE3OGNmOSIsIl8weGNiOTY3NyIsIl8weDRhNDI5ZiIsIl8weDNmNTMwYyIsIl8weDIyNWVkMCIsIl8weGU4YmY4MyIsIl8weDI4NTVmMCIsIl8weDIwNzA3OCIsIl8weDNjMGFmZiIsIl8weDIyODIwZSIsIl8weDQ0Y2FkNiIsIl8weDUwMzc5NSIsIl8weDFlZDc5MiIsIl8weDNlZGNkNSIsIl8weDE0OGQyNCIsIl8weDEwZTA4ZCIsIl8weDNhZWI0YyIsIl8weDVkMjY3ZiIsIl8weGFmYmU2YyIsIl8weDU0MjcwYSJdLCJtYXBwaW5ncyI6IjR0SEFBQSxDQUFDLFUsQ0FDRyxhLHdCQUVBLFNBQVNBLFNBQVQsQ0FBdUJDLFNBQXZCLENBQStCQyxTQUEvQixDQUFvQ0MsU0FBcEMsQ0FBMENDLFNBQTFDLEMseUJBQ1VDLFNBQUEsQ0FBY0MsQ0FBQSxDLElBQU1MLFMsV0FBTixDLENBQ2RNLFNBQUEsQ0FBY0QsQ0FBQSxDLElBQU1MLFMsaUJBQU4sQyxDQUNkTyxTQUFBLENBQWNGLENBQUEsQyxJQUFNTCxTLGlCQUFOLEMsQ0FDZFEsU0FBQSxDQUFXSCxDQUFBLEMsSUFBTUwsUyxpQkFBTixDLENBQ2pCLElBQUlTLFNBQUEsQyxHQUFKLENBQ0FMLFNBQUEsQyxNQUFBLEcsQ0FDQUUsU0FBQSxDLE1BQUEsRyxDQUNBQyxTQUFBLEMsZ0JBQUEsRyxDQUNBTixTQUFBLEMsSUFBQSxFLGdCQUFBLENBQWdCLEksOEJBQ1JRLFMsQ0FDQSxPQUNKQSxTQUFBLEMsS0FDQUYsU0FBQSxD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QixTQUFBLEMsZ0JBQUEsRSxnQkFBQSxFLGdCQUFBLEUsZ0JBQUEsQyxJQUFBLENBQWpCLEMsR0FBQSxDLEdBbkJNLEMsV0F1QmQsQyxJQXZCYyxDLFlBd0JkLENBQVlULFNBeEJFLENBRk8sQ0FKekIsQ0FnQ01VLFNBQUEsQ0FBa0IsSSwyQkFDZEMsU0FBQSxDQUFnQjVCLFNBQUEsQyxnQkFBQSxHQUFzQixFLENBQ3hDNEIsU0FBQSxDLGdCQUFBLEksS0FFQUEsU0FBQSxDLGdCQUFBLEVBQW1CLEMsSUFDZixDLElBRGUsQyxNQUVmLEMsZ0JBRmUsQyxXQUdmLEMsSUFIZSxDLFlBSWYsQ0FBWXZDLE1BQUEsQyxnQkFBQSxFQUFjLEVBQWQsQ0FBa0JILFNBQWxCLENBSkcsQ0FBbkIsQyxDQU9KbUMsU0FBQSxDLGNBQUEsRSxPQUFBLEVBQ0EsVUFBV1EsU0FBWCxJQUEyQkQsU0FBM0IsQyxDQUVJUCxTQUFBLEMsZ0JBQUEsRSxnQkFBQSxDQUF5Q1EsU0FBekMsQyxHQTlDUixDQWlEQUYsU0FBQSxFLEdBaFQ4QixDQUExQyxDLEVBNUxKLEciLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICAgICd1c2Ugc3RyaWN0JztcblxuICAgIGZ1bmN0aW9uIG1hbmFnZUFQSUNhbGwocHJlZml4LCBidG4sIGZ1bmMsIG9uUmVzdWx0KSB7XG4gICAgICAgIGNvbnN0IHN1Y2Nlc3NJY29uID0gJChgIyR7cHJlZml4fS1zdWNjZXNzYCk7XG4gICAgICAgIGNvbnN0IGZhaWx1cmVJY29uID0gJChgIyR7cHJlZml4fS1mYWlsdXJlYCk7XG4gICAgICAgIGNvbnN0IHBlbmRpbmdJY29uID0gJChgIyR7cHJlZml4fS1wZW5kaW5nYCk7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gJChgIyR7cHJlZml4fS1tZXNzYWdlc2ApO1xuICAgICAgICBsZXQgYWN0aW9uUGVuZGluZyA9IGZhbHNlO1xuICAgICAgICBzdWNjZXNzSWNvbi5oaWRlKCk7XG4gICAgICAgIGZhaWx1cmVJY29uLmhpZGUoKTtcbiAgICAgICAgcGVuZGluZ0ljb24uaGlkZSgpO1xuICAgICAgICBidG4ub24oXCJjbGlja1wiLCAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoYWN0aW9uUGVuZGluZylcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBhY3Rpb25QZW5kaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgIHBlbmRpbmdJY29uLmh0bWwoXCJUZXN0aW5nIENvbm5lY3Rpb24gLi4uXCIpO1xuICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgZmFpbHVyZUljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChcIlwiKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYm9keSwgdXJsIH0gPSBmdW5jKCk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcInh4eHh4XCIsIGJvZHkpO1xuICAgICAgICAgICAgZmV0Y2godXJsLCB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC50aGVuKChkYXRhKSA9PiBkYXRhLmpzb24oKSlcbiAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5oaWRlKCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoanNvbiwgbnVsbCwgXCIgXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoanNvbi5yZXN1bHQgPT09IFwib2tcIikge1xuICAgICAgICAgICAgICAgICAgICBzdWNjZXNzSWNvbi5yZW1vdmVDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXMuaHRtbChqc29uLm1lc3NhZ2UucmVwbGFjZShcIlxcblwiLCBcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICBvblJlc3VsdChudWxsLCBqc29uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0ID0gKHN0cikgPT4gIXN0clxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcIlwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHN0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zcGxpdChcIlxcblwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGA8cD4ke2F9PC9wPmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGFkYXB0MiA9IChzdHIpID0+IChBcnJheS5pc0FycmF5KHN0cikgPyBzdHIubWFwKGFkYXB0KS5qb2luKFwiXFxuXCIpIDogYWRhcHQoc3RyKSk7XG4gICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NJY29uLmFkZENsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZmFpbHVyZUljb24ucmVtb3ZlQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKGFkYXB0Mihqc29uLm1lc3NhZ2UpICsgYWRhcHQyKGpzb24uZXh0cmEpKTtcbiAgICAgICAgICAgICAgICAgICAgb25SZXN1bHQobmV3IEVycm9yKGpzb24ucmVzdWx0KSwganNvbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIGFjdGlvblBlbmRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBwZW5kaW5nSWNvbi5hZGRDbGFzcyhcImhpZGVcIik7XG4gICAgICAgICAgICAgICAgc3VjY2Vzc0ljb24uYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgIGZhaWx1cmVJY29uLnJlbW92ZUNsYXNzKFwiaGlkZVwiKTtcbiAgICAgICAgICAgICAgICBtZXNzYWdlcy5odG1sKFwiaW50ZXJuYWwgZXJyb3IgXCIgKyBlcnIubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJlcnJcIiwgZXJyKTtcbiAgICAgICAgICAgICAgICBvblJlc3VsdChlcnIsIG51bGwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgIENvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxyXG5cclxuICAgIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxyXG4gICAgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLlxyXG5cclxuICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEhcclxuICAgIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWVxyXG4gICAgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULFxyXG4gICAgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NXHJcbiAgICBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUlxyXG4gICAgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUlxyXG4gICAgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cclxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbiAgICAvKiBnbG9iYWwgUmVmbGVjdCwgUHJvbWlzZSwgU3VwcHJlc3NlZEVycm9yLCBTeW1ib2wgKi9cclxuXHJcblxyXG4gICAgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xyXG4gICAgICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxyXG4gICAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xyXG4gICAgICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XHJcbiAgICAgICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxyXG4gICAgICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxyXG4gICAgICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdHlwZW9mIFN1cHByZXNzZWRFcnJvciA9PT0gXCJmdW5jdGlvblwiID8gU3VwcHJlc3NlZEVycm9yIDogZnVuY3Rpb24gKGVycm9yLCBzdXBwcmVzc2VkLCBtZXNzYWdlKSB7XHJcbiAgICAgICAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XHJcbiAgICAgICAgcmV0dXJuIGUubmFtZSA9IFwiU3VwcHJlc3NlZEVycm9yXCIsIGUuZXJyb3IgPSBlcnJvciwgZS5zdXBwcmVzc2VkID0gc3VwcHJlc3NlZCwgZTtcclxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBmZXRjaExpY2VuY2VJbmZvKGJhc2VVcmwgPSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBfX2F3YWl0ZXIodGhpcywgdm9pZCAwLCB2b2lkIDAsIGZ1bmN0aW9uKiAoKSB7XG4gICAgICAgICAgICBjb25zdCByb290ID0gYCR7YmFzZVVybH0vb3BjdWEtZW5kcG9pbnQyYDtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGAke3Jvb3R9L2xpY2VuY2VJbmZvYDtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB5aWVsZCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGRhdGEuc3RhdHVzICE9PSAyMDApIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImZlY2h0aW5nIGZhaWxlZCB3aXRoIGVycm9yXCIsIGRhdGEuc3RhdHVzLCBkYXRhLnN0YXR1c1RleHQpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGpzb24gPSB5aWVsZCBkYXRhLmpzb24oKTtcbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgZGVjbGFyZUxpY2VuY2VXaWRnZXQgPSAoKSA9PiB7XG4gICAgICAgICQud2lkZ2V0KFwic3RlcmZpdmUubGljZW5jZVdpZGdldFwiLCB7XG4gICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBfY3JlYXRlKCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xuICAgICAgICAgICAgICAgIGZldGNoTGljZW5jZUluZm8odGhhdC5iYXNlVXJsKVxuICAgICAgICAgICAgICAgICAgICAudGhlbigoanNvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgaWNvbiA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGxldCBtc2cgPSBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBsZXQgZGV0YWlscyA9IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXR1cyA9IGpzb24uc3RhdHVzO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkFVVEhPUklaRURcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1jaGVjay1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoanNvbi5pc0RlbW8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnID0gXCJEZW1vIGxpY2VuY2VcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IFwiWW91ciBsaWNlbmNlIGlzIHZhbGlkLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb24gPSBcImZhIGZhLWNhbGVuZGFyLXRpbWVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIkxpY2VuY2UgZXhwaXJlZFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbHMgPVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIllvdXIgbGljZW5zZSBoYXMgZXhwaXJlZC4gUGxlYXNlIGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbSBvciB2aXNpdCBvdXIgd2Vic2l0ZSB0byByZW5ldyB5b3VyIGxpY2Vuc2UgYW5kIHJlZ2FpbiBhY2Nlc3MgdG8gb3VyIHNlcnZpY2VzLlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkZBSUxFRFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpY29uID0gXCJmYSBmYS1leGNsYW1hdGlvbi1jaXJjbGVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPSBcIllvdXIgbGljZW5zZSBpcyBjdXJyZW50bHkgaW52YWxpZC5cIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWxzID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BsZWFzZSA8YSBocmVmPVwibWFpbHRvOmNvbnRhY3RAc3RlcmZpdmUuY29tXCI+IGNvbnRhY3Qgb3VyIHN1cHBvcnQgdGVhbTwvYT4gb3IgdmlzaXQgb3VyIHdlYnNpdGUgdG8gcmVuZXcgeW91ciBsaWNlbnNlIGFuZCByZWdhaW4gYWNjZXNzIHRvIG91ciBzZXJ2aWNlcy4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8qKiAqL1xuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLmVsZW1lbnQudGV4dChcIkxpY2VuY2UgXCIgKyBKU09OLnN0cmluZ2lmeShqc29uKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0XCIpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1cIiArIHN0YXR1cyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxzcGFuPlwiKS5hZGRDbGFzcyhcImxpY2VuY2Utd2lkZ2V0LWljb25cIikuYXBwZW5kKCQoXCI8aT5cIikuYWRkQ2xhc3MoaWNvbikpKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZCgkKFwiPHNwYW4+XCIpLmFkZENsYXNzKFwibGljZW5jZS13aWRnZXQtbXNnXCIpLnRleHQobXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmQoJChcIjxicj5cIikpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kKCQoXCI8c3Bhbj5cIikuYWRkQ2xhc3MoXCJsaWNlbmNlLXdpZGdldC1kZXRhaWxzXCIpLmFwcGVuZChkZXRhaWxzKSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZXJyKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBkZWNsYXJlTGljZW5jZVdpZGdldCgpO1xuICAgIGZ1bmN0aW9uIGlzVmFsaWRPUENfVUFfVVJJKHN0cikge1xuICAgICAgICBsZXQgdXJsO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdXJsID0gbmV3IFVSTChzdHIpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChfKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVybC5wcm90b2NvbCA9PT0gXCJvcGMudGNwOlwiO1xuICAgIH1cbiAgICBjb25zdCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyA9IHtcbiAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMDAsXG4gICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiAxMCxcbiAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiAxMDAwLFxuICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogMCxcbiAgICAgICAgcHJpb3JpdHk6IDEwMCxcbiAgICB9O1xuICAgIFJFRC5ub2Rlcy5yZWdpc3RlclR5cGUoXCJPcGNVYS1FbmRwb2ludDJcIiwge1xuICAgICAgICBjYXRlZ29yeTogXCJjb25maWdcIixcbiAgICAgICAgcGFsZXR0ZUxhYmVsOiBcIk9wYy1VYSBFbmRwb2ludFwiLFxuICAgICAgICBkZWZhdWx0czoge1xuICAgICAgICAgICAgbmFtZTogeyB2YWx1ZTogXCJcIiB9LFxuICAgICAgICAgICAgZW5kcG9pbnQ6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJvcGMudGNwOi8vb3BjdWFkZW1vLnN0ZXJmaXZlLmNvbToyNjU0My9VQS9TYW1wbGVTZXJ2ZXJcIixcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZTogaXNWYWxpZE9QQ19VQV9VUkksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLy8gU2VjdXJpdHkgTW9kZVxuICAgICAgICAgICAgc2VjdXJpdHlNb2RlOiB7IHZhbHVlOiBcIk5vbmVcIiB9LFxuICAgICAgICAgICAgc2VjdXJpdHlQb2xpY3k6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJOb25lXCIsXG4gICAgICAgICAgICAgICAgdmFsaWRhdGU6ICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGU6IHsgdmFsdWU6IFwiQW5vbnltb3VzXCIgfSxcbiAgICAgICAgICAgIC8vIHRvIHVzZSB3aGVuIHVzZXJJZGVudGl0eVR5cGUgaXMgVXNlck5hbWVcbiAgICAgICAgICAgIHVzZXJOYW1lOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBwYXNzd29yZDogeyB2YWx1ZTogXCJcIiwgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgICAgICAvLyB0byB1c2Ugd2hlbiB1c2VySWRlbnRpdHlUeXBlIGlzIENlcnRpZmljYXRlXG4gICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICAvLyB1c2VybmFtZVxuICAgICAgICAgICAgLy8gVGhlc2UgYXJlIGZpeGVkIG9yIGNhbiBiZSByZWFkIHRocm91Z2ggZW5kUG9pbnRcbiAgICAgICAgICAgIGNlcnRpZmljYXRlOiB7IHZhbHVlOiBcIm5cIiB9LFxuICAgICAgICAgICAgbG9jYWxmaWxlOiB7IHZhbHVlOiBcIlwiIH0sXG4gICAgICAgICAgICBsb2NhbGtleWZpbGU6IHsgdmFsdWU6IFwiXCIgfSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICB1c2VUcmFuc3BvcnQ6IHsgdmFsdWU6IGZhbHNlLCByZXF1aXJlZDogZmFsc2UgfSxcbiAgICAgICAgICAgIG1heENodW5rQ291bnQ6IHsgdmFsdWU6IDEsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgbWF4TWVzc2FnZVNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgcmVjZWl2ZUJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6IHsgdmFsdWU6IDgxOTIsIHJlcXVpcmVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uczoge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIkRlZmF1bHQgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0U3Vic2NyaXB0aW9uUGFyYW1ldGVycyksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInMyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIlNsb3cgU3Vic2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1Ymxpc2hpbmdFbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZExpZmV0aW1lQ291bnQ6IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMjAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsOiA1MDAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IDEwLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwiczNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRmFzdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGlzRGVmYXVsdDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdGVkTGlmZXRpbWVDb3VudDogNDAwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudDogMTAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbDogMjUwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heE5vdGlmaWNhdGlvbnNQZXJQdWJsaXNoOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IDIwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBjcmVkZW50aWFsczoge1xuICAgICAgICAgICAgdXNlcjogeyB0eXBlOiBcInRleHRcIiB9LFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHsgdHlwZTogXCJwYXNzd29yZFwiIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGxhYmVsOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5uYW1lIHx8IHRoaXMuZW5kcG9pbnQgfHwgXCJpbnZhbGlkIGVuZHBvaW50XCI7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHNhdmUoKSB7XG4gICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlQb2xpY3kgPSAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5UG9saWN5XCIpO1xuICAgICAgICAgICAgY29uc3QgX3NlY3VyaXR5TW9kZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpO1xuICAgICAgICAgICAgaWYgKF9zZWN1cml0eVBvbGljeS52YWwoKSA9PT0gXCJOb25lXCIpIHtcbiAgICAgICAgICAgICAgICBfc2VjdXJpdHlNb2RlLnRleHQoXCJOb25lXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gKCgoKCgoKCgoKCByZXRyaWV2ZSBzdWJzY3JpcHRpb24gZGF0YSApKSkpKSkpKSkpXG4gICAgICAgICAgICBjb25zdCBzdWJzY3JpcHRpb25zSXRlbXMgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpLmVkaXRhYmxlTGlzdChcIml0ZW1zXCIpO1xuICAgICAgICAgICAgY29uc3QgcyA9IFtdO1xuICAgICAgICAgICAgY29uc3QgbiA9ICh4KSA9PiB4O1xuICAgICAgICAgICAgc3Vic2NyaXB0aW9uc0l0ZW1zLmVhY2goZnVuY3Rpb24gKGluZGV4LCBpdGVtKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZSA9ICQodGhpcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgYSA9IHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IFwic1wiICsgaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IGUuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6ICEhZS5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHVibGlzaGluZ0VuYWJsZWQ6ICEhZS5maW5kKFwiLmlucHV0LXB1Ymxpc2hpbmdFbmFibGVkXCIpLmlzKFwiOmNoZWNrZWRcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRMaWZldGltZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRMaWZldGltZUNvdW50XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3RlZE1heEtlZXBBbGl2ZUNvdW50OiBuKGUuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWw6IG4oZS5maW5kKFwiLmlucHV0LXJlcXVlc3RlZFB1Ymxpc2hpbmdJbnRlcnZhbFwiKS52YWwoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaDogbihlLmZpbmQoXCIuaW5wdXQtbWF4Tm90aWZpY2F0aW9uc1BlclB1Ymxpc2hcIikudmFsKCkpLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpb3JpdHk6IG4oZS5maW5kKFwiLmlucHV0LXByaW9yaXR5XCIpLnZhbCgpKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIC8vIGZvcmNlIHRvIGJlIHRydWVcbiAgICAgICAgICAgICAgICBhLnBhcmFtZXRlcnMucHVibGlzaGluZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChhLmlzRGVmYXVsdCAmJiBhLmlkID09PSBcInMwXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gbm9ybWFsaXplIGRlZmF1bHQgc3Vic2NyaXB0aW9uIG5hbWVcbiAgICAgICAgICAgICAgICAgICAgYS5uYW1lID0gXCJEZWZhdWx0IFN1YnNjcmlwdGlvblwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzLnB1c2goYSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHM7XG4gICAgICAgIH0sXG4gICAgICAgIG9uZWRpdHByZXBhcmUoKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gdGhpcztcbiAgICAgICAgICAgIGNvbnN0IHRhYnMgPSBSRUQudGFicy5jcmVhdGUoe1xuICAgICAgICAgICAgICAgIGlkOiBcIm5vZGUtY29uZmlnLWVuZHBvaW50LXRhYnNcIixcbiAgICAgICAgICAgICAgICBvbmNoYW5nZTogZnVuY3Rpb24gKHRhYikge1xuICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWVuZHBvaW50LXRhYnMtY29udGVudFwiKS5jaGlsZHJlbigpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNcIiArIHRhYi5pZCkuc2hvdygpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRhYnMuYWRkVGFiKHtcbiAgICAgICAgICAgICAgICBpZDogXCJlbmRwb2ludC10YWItY29ubmVjdGlvblwiLFxuICAgICAgICAgICAgICAgIGxhYmVsOiBcIkNvbm5lY3Rpb25cIixcbiAgICAgICAgICAgIH0sIDApO1xuICAgICAgICAgICAgdGFicy5hZGRUYWIoe1xuICAgICAgICAgICAgICAgIGlkOiBcImVuZHBvaW50LXRhYi1zdWJzY3JpcHRpb25zXCIsXG4gICAgICAgICAgICAgICAgbGFiZWw6IFwiU3Vic2NyaXB0aW9uc1wiLFxuICAgICAgICAgICAgfSwgMSk7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB0YWJzLnJlc2l6ZSgpO1xuICAgICAgICAgICAgfSwgMCk7XG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgLy8gaGFuZGxlIFNlY3VyaXR5IGNvbnRyb2xzXG4gICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZVNlY3VyaXR5Q29udHJvbCA9IChzZWN1cml0eU1vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChzZWN1cml0eU1vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgbnVsbDpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIk5vbmVcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIikuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIlNpZ25cIjpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJTaWduQW5kRW5jcnlwdFwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3AgPSAkKFwiLnNlY3Rpb24tc2VjdXJpdHlQb2xpY3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzcC52YWwoKSA9PT0gXCJOb25lXCIgfHwgc3AudmFsKCkgPT09IFwiXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwLnZhbChcIkJhc2ljMjU2U2hhMjU2XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoXCIuc2VjdGlvbi1zZWN1cml0eVBvbGljeVwiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcImludmFsaWQgc2VjdXJpdHlNb2RlIFwiICsgc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdXBkYXRlU2VjdXJpdHlDb250cm9sKG5vZGUuc2VjdXJpdHlNb2RlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfc2VjdXJpdHlNb2RlID0gJChcIiNub2RlLWNvbmZpZy1pbnB1dC1zZWN1cml0eU1vZGVcIik7XG4gICAgICAgICAgICAgICAgX3NlY3VyaXR5TW9kZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld1NlY3VyaXR5TW9kZSA9IF9zZWN1cml0eU1vZGUudmFsKCk7XG4gICAgICAgICAgICAgICAgICAgIHVwZGF0ZVNlY3VyaXR5Q29udHJvbChuZXdTZWN1cml0eU1vZGUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGljZW5jZVdpZGdldCA9ICQoXCIjbGljZW5jZVdpZGdldFwiKTtcbiAgICAgICAgICAgIGxpY2VuY2VXaWRnZXQubGljZW5jZVdpZGdldCh7XG4gICAgICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIC8vIGhhbmRsZSB0aGUgVXNlciBJZGVudGl0eSBDb250cm9sc1xuICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhdXRoUm93ID0gJChcIi5zZWN0aW9uLXVzZXJJZGVudGl0eVR5cGUtVXNlck5hbWVcIik7XG4gICAgICAgICAgICAgICAgY29uc3QgY2VydFJvdyA9ICQoXCIuc2VjdGlvbi11c2VySWRlbnRpdHlUeXBlLUNlcnRpZmljYXRlXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHVwZGF0ZUlkZW50aXR5Q29udHJvbHMgPSAodXNlcklkZW50aXR5VHlwZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB1c2VySWRlbnRpdHlUeXBlID0gdXNlcklkZW50aXR5VHlwZSB8fCBcIkFub255bW91c1wiO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHVzZXJJZGVudGl0eVR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJBbm9ueW1vdXNcIjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJOYW1lXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKFwiI25vZGUtY29uZmlnLWlucHV0LXBhc3N3b3JkXCIpLnZhbChcIlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRoUm93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0Um93LmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgXCJVc2VyTmFtZVwiOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhSb3cuc2hvdygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRSb3cuaGlkZSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBcIkNlcnRpZmljYXRlXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydFJvdy5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aFJvdy5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiaW52YWxpZCB1c2VySWRlbnRpdHlUeXBlIFwiICsgdXNlcklkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHVwZGF0ZUlkZW50aXR5Q29udHJvbHMobm9kZS51c2VySWRlbnRpdHlUeXBlKTtcbiAgICAgICAgICAgICAgICBjb25zdCBfdXNlcklkZW50aXR5VHlwZSA9ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlcklkZW50aXR5VHlwZVwiKTtcbiAgICAgICAgICAgICAgICBfdXNlcklkZW50aXR5VHlwZS5vbihcImNoYW5nZVwiLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0lkZW50aXR5VHlwZSA9IF91c2VySWRlbnRpdHlUeXBlLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGVJZGVudGl0eUNvbnRyb2xzKG5ld0lkZW50aXR5VHlwZSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyBoYW5kbGUgYWR2YW5jZWQgY29udHJvbHNcbiAgICAgICAgICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgICAgICAgICQoXCIjc2VjdGlvbi1BZHZhbmNlZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgJChcIiN0b2dnbGVBZHZhbmNlZFNlY3Rpb25cIikub24oXCJjaGFuZ2VcIiwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wcm9wKFwiY2hlY2tlZFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNoZWNrYm94IGlzIGNoZWNrZWQsIHNob3cgdGhlIGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgaGlkZSBpdFxuICAgICAgICAgICAgICAgICAgICAgICAgJChcIiNzZWN0aW9uLUFkdmFuY2VkXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgLy8gaGFuZGxlIHRoZSBUZXN0IGJ1dHRvblxuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgbWFuYWdlQVBJQ2FsbChcImNvbm5lY3Rpb25cIiwgJChcIiN0ZXN0LWNvbm5lY3Rpb25cIiksICgpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHVybDogXCIvb3BjdWEtZW5kcG9pbnQyL3Rlc3QtY29ubmVjdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludE5vZGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogbm9kZS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRwb2ludDogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1lbmRwb2ludFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN1cml0eU1vZGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtc2VjdXJpdHlNb2RlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3VyaXR5UG9saWN5OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXNlY3VyaXR5UG9saWN5XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJJZGVudGl0eVR5cGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlcklkZW50aXR5VHlwZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyTmFtZTogJChcIiNub2RlLWNvbmZpZy1pbnB1dC11c2VyTmFtZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZDogJChcIiNub2RlLWNvbmZpZy1pbnB1dC1wYXNzd29yZFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyQ2VydGlmaWNhdGU6ICQoXCIjbm9kZS1jb25maWctaW5wdXQtdXNlckNlcnRpZmljYXRlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJQcml2YXRla2V5OiAkKFwiI25vZGUtY29uZmlnLWlucHV0LXVzZXJQcml2YXRla2V5XCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vLyBub3QgdGVzdGVkIHlldCAuLi46XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGU6ICQoXCIjbm9kZS1pbnB1dC1jZXJ0aWZpY2F0ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGZpbGU6ICQoXCIjbm9kZS1pbnB1dC1sb2NhbGZpbGVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYWxrZXlmaWxlOiAkKFwiI25vZGUtaW5wdXQtbG9jYWxrZXlmaWxlXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZVRyYW5zcG9ydDogJChcIiNub2RlLWlucHV0LXVzZVRyYW5zcG9ydFwiKS5wcm9wKFwiY2hlY2tlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhDaHVua0NvdW50OiAkKFwiI25vZGUtaW5wdXQtbWF4Q2h1bmtDb3VudFwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhNZXNzYWdlU2l6ZTogJChcIiNub2RlLWlucHV0LW1heE1lc3NhZ2VTaXplXCIpLnZhbCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY2VpdmVCdWZmZXJTaXplOiAkKFwiI25vZGUtaW5wdXQtcmVjZWl2ZUJ1ZmZlclNpemVcIikudmFsKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZEJ1ZmZlclNpemU6ICQoXCIjbm9kZS1pbnB1dC1zZW5kQnVmZmVyU2l6ZVwiKS52YWwoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksICgpID0+IHsgfSk7XG4gICAgICAgICAgICAgICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgICAvLyAgSW5zdGFsbCBzdWJzY3JpcHRpb25zIExpc3QgbWFuYWdlbWVudFxuICAgICAgICAgICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICAgICAgICAgY29uc3QgcmVzaXplVG9waWNzID0gKHRvcGljLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbmV3V2lkdGggPSB0b3BpYy53aWR0aCgpIHx8IDEwMDtcbiAgICAgICAgICAgICAgICAgICAgdG9waWMuZmluZChcImxhYmVsXCIpLnR5cGVkSW5wdXQoXCJ3aWR0aFwiLCBuZXdXaWR0aCAtIDE1KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbkxpc3QgPSAkKFwiI3N1YnNjcmlwdGlvbnMtY29udGFpbmVyXCIpXG4gICAgICAgICAgICAgICAgICAgIC5jc3MoeyBcIm1pbi1oZWlnaHRcIjogXCIxNTBweFwiLCBcIm1pbi13aWR0aFwiOiBcIjI2MHB4XCIgfSlcbiAgICAgICAgICAgICAgICAgICAgLmVkaXRhYmxlTGlzdCh7XG4gICAgICAgICAgICAgICAgICAgIGFkZEl0ZW06IChjb250YWluZXIsIGluZGV4LCBkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBfZGF0YSA9IGRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gJChcIi50ZW1wbGF0ZVwiKS5jbG9uZSgpLmFwcGVuZFRvKGNvbnRhaW5lcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHIoXCJpZFwiKS5yZW1vdmVDbGFzcyhcImhpZGVcIikucmVtb3ZlQ2xhc3MoXCJ0ZW1wbGF0ZVwiKS5hdHRyKFwiZGF0YS1pXCIsIGluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnZhbChfZGF0YS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRQdWJsaXNoaW5nSW50ZXJ2YWxcIikudmFsKF9kYXRhLnBhcmFtZXRlcnMucmVxdWVzdGVkUHVibGlzaGluZ0ludGVydmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRNYXhLZWVwQWxpdmVDb3VudCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LmZpbmQoXCIuaW5wdXQtcmVxdWVzdGVkTGlmZXRpbWVDb3VudFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5yZXF1ZXN0ZWRMaWZldGltZUNvdW50KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaFwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5tYXhOb3RpZmljYXRpb25zUGVyUHVibGlzaCB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1wcmlvcml0eVwiKS52YWwoX2RhdGEucGFyYW1ldGVycy5wcmlvcml0eSB8fCAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5zdWJzY3JpcHRpb24taWRcIikudGV4dChcIlwiICsgaW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1uYW1lXCIpLnByb3AoXCJyZWFkb25seVwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuZmluZChcIi5pbnB1dC1pc0RlZmF1bHRcIikucHJvcChcImNoZWNrZWRcIiwgX2RhdGEuaXNEZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1ha2Ugc3VyZSB0aGF0IGRlZmF1bHQgc3Vic2NyaXB0aW9uIGNhbm5vdCBiZSBhY2NpZGVudGFsbHkgcmVtb3ZlZFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKF9kYXRhLmlzRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5maW5kKFwiLnJlZC11aS1lZGl0YWJsZUxpc3QtaXRlbS1yZW1vdmVcIikuYWRkQ2xhc3MoXCJoaWRlXCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gZWxlbWVudC5maW5kKFwiLmlucHV0LWlzRGVmYXVsdFwiKS5wcm9wKFwiZGlzYWJsZWRcIiwgdHJ1ZSksIDEwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgLy8gc29ydGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHJlbW92YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgcmVzaXplSXRlbTogcmVzaXplVG9waWNzLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IEFkZFN1YnNjcmlwdGlvbiA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IG5vZGUuc3Vic2NyaXB0aW9ucyB8fCBbXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN1YnNjcmlwdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBhZGQgbWlzc2luZyBkZWZhdWx0IHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJzMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwiRGVmYXVsdCBTdWJzY3JpcHRpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0RlZmF1bHQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczogT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdFN1YnNjcmlwdGlvblBhcmFtZXRlcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJlbXB0eVwiKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2Ygc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3Vic2NyaXB0aW9uLmlzRGVmYXVsdCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0aW9uTGlzdC5lZGl0YWJsZUxpc3QoXCJhZGRJdGVtXCIsIHN1YnNjcmlwdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIEFkZFN1YnNjcmlwdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgIH0pO1xuXG59KSgpOyJdfQ==
9
9
  </script>
10
10
  <script type="text/x-red" data-template-name="OpcUa-Endpoint2">
11
11
  <style>