tx · Es72izsZMZjiBxwxizhdfZyrArmzwXKBAdynqyEZK3ub

3N2rk3yzChsJp4wCS5VLo5Q3ifLmDChfbzQ:  -0.12900000 Waves

2019.12.04 14:26 [793910] data 3N2rk3yzChsJp4wCS5VLo5Q3ifLmDChfbzQ > SELF 0.00000000 Waves

3N2rk3yzChsJp4wCS5VLo5Q3ifLmDChfbzQ: newOne?runtime.js?2?2: "base64:eShlLHIpfX0pKX1mdW5jdGlvbiBFZShlLHQpe2lmKCFab25lW3Quc3ltYm9sKCJwYXRjaEV2ZW50VGFyZ2V0IildKXtmb3IodmFyIG49dC5nZXRHbG9iYWxPYmplY3RzKCkscj1uLmV2ZW50TmFtZXMsbz1uLnpvbmVTeW1ib2xFdmVudE5hbWVzLGE9bi5UUlVFX1NUUixpPW4uRkFMU0VfU1RSLGM9bi5aT05FX1NZTUJPTF9QUkVGSVgscz0wO3M8ci5sZW5ndGg7cysrKXt2YXIgdT1yW3NdLGw9YysodStpKSxmPWMrKHUrYSk7b1t1XT17fSxvW3VdW2ldPWwsb1t1XVthXT1mfXZhciBwPWUuRXZlbnRUYXJnZXQ7aWYocCYmcC5wcm90b3R5cGUpcmV0dXJuIHQucGF0Y2hFdmVudFRhcmdldChlLFtwJiZwLnByb3RvdHlwZV0pLCEwfX1ab25lLl9fbG9hZF9wYXRjaCgibGVnYWN5IiwoZnVuY3Rpb24oZSl7dmFyIHQ9ZVtab25lLl9fc3ltYm9sX18oImxlZ2FjeVBhdGNoIildO3QmJnQoKX0pKSxab25lLl9fbG9hZF9wYXRjaCgidGltZXJzIiwoZnVuY3Rpb24oZSl7d2UoZSwic2V0IiwiY2xlYXIiLCJUaW1lb3V0Iiksd2UoZSwic2V0IiwiY2xlYXIiLCJJbnRlcnZhbCIpLHdlKGUsInNldCIsImNsZWFyIiwiSW1tZWRpYXRlIil9KSksWm9uZS5fX2xvYWRfcGF0Y2goInJlcXVlc3RBbmltYXRpb25GcmFtZSIsKGZ1bmN0aW9uKGUpe3dlKGUsInJlcXVlc3QiLCJjYW5jZWwiLCJBbmltYXRpb25GcmFtZSIpLHdlKGUsIm1velJlcXVlc3QiLCJtb3pDYW5jZWwiLCJBbmltYXRpb25GcmFtZSIpLHdlKGUsIndlYmtpdFJlcXVlc3QiLCJ3ZWJraXRDYW5jZWwiLCJBbmltYXRpb25GcmFtZSIpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJibG9ja2luZyIsKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVsiYWxlcnQiLCJwcm9tcHQiLCJjb25maXJtIl0scj0wO3I8bi5sZW5ndGg7cisrKVIoZSxuW3JdLChmdW5jdGlvbihuLHIsbyl7cmV0dXJuIGZ1bmN0aW9uKHIsYSl7cmV0dXJuIHQuY3VycmVudC5ydW4obixlLGEsbyl9fSkpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJFdmVudFRhcmdldCIsKGZ1bmN0aW9uKGUsdCxuKXshZnVuY3Rpb24oZSx0KXt0LnBhdGNoRXZlbnRQcm90b3R5cGUoZSx0KX0oZSxuKSxFZShlLG4pO3ZhciByPWUuWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldDtyJiZyLnByb3RvdHlwZSYmbi5wYXRjaEV2ZW50VGFyZ2V0KGUsW3IucHJvdG90eXBlXSksQygiTXV0YXRpb25PYnNlcnZlciIpLEMoIldlYktpdE11dGF0aW9uT2JzZXJ2ZXIiKSxDKCJJbnRlcnNlY3Rpb25PYnNlcnZlciIpLEMoIkZpbGVSZWFkZXIiKX0pKSxab25lLl9fbG9hZF9wYXRjaCgib25fcHJvcGVydHkiLChmdW5jdGlvbihlLHQsbil7bWUobixlKSxPYmplY3QuZGVmaW5lUHJvcGVydHk9ZnVuY3Rpb24oZSx0LG4pe2lmKG9lKGUsdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFzc2lnbiB0byByZWFkIG9ubHkgcHJvcGVydHkgJyIrdCsiJyBvZiAiK2UpO3ZhciByPW4uY29uZmlndXJhYmxlO3JldHVybiJwcm90b3R5cGUiIT09dCYmKG49YWUoZSx0LG4pKSxpZShlLHQsbixyKX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24obil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix0W25dKX0pKSxlfSxPYmplY3QuY3JlYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIm9iamVjdCIhPXR5cGVvZiB0fHxPYmplY3QuaXNGcm96ZW4odCl8fE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3Rbbl09YWUoZSxuLHRbbl0pfSkpLHRlKGUsdCl9LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lZShlLHQpO3JldHVybiBuJiZvZShlLHQpJiYobi5jb25maWd1cmFibGU9ITEpLG59fSkpLFpvbmUuX19sb2FkX3BhdGNoKCJjdXN0b21FbGVtZW50cyIsKGZ1bmN0aW9uKGUsdCxuKXshZnVuY3Rpb24oZSx0KXt2YXIgbj10LmdldEdsb2JhbE9iamVjdHMoKTsobi5pc0Jyb3dzZXJ8fG4uaXNNaXgpJiZlLmN1c3RvbUVsZW1lbnRzJiYiY3VzdG9tRWxlbWVudHMiaW4gZSYmdC5wYXRjaENhbGxiYWNrcyh0LGUuY3VzdG9tRWxlbWVudHMsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIixbImNvbm5lY3RlZENhbGxiYWNrIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJhZG9wdGVkQ2FsbGJhY2siLCJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2siXSl9KGUsbil9KSksWm9uZS5fX2xvYWRfcGF0Y2goIlhIUiIsKGZ1bmN0aW9uKGUsdCl7IWZ1bmN0aW9uKGUpe3ZhciBsPWUuWE1MSHR0cFJlcXVlc3Q7aWYobCl7dmFyIGY9bC5wcm90b3R5cGUscD1mW3NdLGg9Zlt1XTtpZighcCl7dmFyIHk9ZS5YTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0O2lmKHkpe3ZhciBnPXkucHJvdG90eXBlO3A9Z1tzXSxoPWdbdV19fXZhciBfPSJyZWFkeXN0YXRlY2hhbmdlIixtPSJzY2hlZHVsZWQiLGI9UihmLCJvcGVuIiwoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVtyXT0wPT10WzJdLGVbaV09dFsxXSxiLmFwcGx5KGUsdCl9fSkpLGs9digiZmV0Y2hUYXNrQWJvcnRpbmciKSxUPXYoImZldGNoVGFza1NjaGVkdWxpbmciKSx3PVIoZiwic2VuZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7aWYoITA9PT10LmN1cnJlbnRbVF0pcmV0dXJuIHcuYXBwbHkoZSxuKTtpZihlW3JdKXJldHVybiB3LmFwcGx5KGUsbik7dmFyIG89e3RhcmdldDplLHVybDplW2ldLGlzUGVyaW9kaWM6ITEsYXJnczpuLGFib3J0ZWQ6ITF9LGE9ZCgiWE1MSHR0cFJlcXVlc3Quc2VuZCIsUyxvLE8sUCk7ZSYmITA9PT1lW2NdJiYhby5hYm9ydGVkJiZhLnN0YXRlPT09bSYmYS5pbnZva2UoKX19KSksRT1SKGYsImFib3J0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSxyKXt2YXIgbz1lW25dO2lmKG8mJiJzdHJpbmciPT10eXBlb2Ygby50eXBlKXtpZihudWxsPT1vLmNhbmNlbEZufHxvLmRhdGEmJm8uZGF0YS5hYm9ydGVkKXJldHVybjtvLnpvbmUuY2FuY2VsVGFzayhvKX1lbHNlIGlmKCEwPT09dC5jdXJyZW50W2tdKXJldHVybiBFLmFwcGx5KGUscil9fSkpfWZ1bmN0aW9uIE8oZSl7dmFyIHQ9ZS5kYXRhLHI9dC50YXJnZXQ7clthXT0hMSxyW2NdPSExO3ZhciBpPXJbb107cHx8KHA9cltzXSxoPXJbdV0pLGkmJmguY2FsbChyLF8saSk7dmFyIGw9cltvXT1mdW5jdGlvbigpe2lmKHIucmVhZHlTdGF0ZT09PXIuRE9ORSlpZighdC5hYm9ydGVkJiZyW2FdJiZlLnN0YXRlPT09bSl7dmFyIG49ci5fX3pvbmVfc3ltYm9sX19sb2FkZmFsc2U7aWYobiYmbi5sZW5ndGg+MCl7dmFyIG89ZS5pbnZva2U7ZS5pbnZva2U9ZnVuY3Rpb24oKXtmb3IodmFyIG49ci5fX3pvbmVfc3ltYm9sX19sb2FkZmFsc2UsYT0wO2E8bi5sZW5ndGg7YSsrKW5bYV09PT1lJiZuLnNwbGljZShhLDEpO3QuYWJvcnRlZHx8ZS5zdGF0ZSE9PW18fG8uY2FsbChlKX0sbi5wdXNoKGUpfWVsc2UgZS5pbnZva2UoKX1lbHNlIHQuYWJvcnRlZHx8ITEhPT1yW2FdfHwocltjXT0hMCl9O3JldHVybiBwLmNhbGwocixfLGwpLHJbbl18fChyW25dPWUpLHcuYXBwbHkocix0LmFyZ3MpLHJbYV09ITAsZX1mdW5jdGlvbiBTKCl7fWZ1bmN0aW9uIFAoZSl7dmFyIHQ9ZS5kYXRhO3JldHVybiB0LmFib3J0ZWQ9ITAsRS5hcHBseSh0LnRhcmdldCx0LmFyZ3MpfX0oZSk7dmFyIG49digieGhyVGFzayIpLHI9digieGhyU3luYyIpLG89digieGhyTGlzdGVuZXIiKSxhPXYoInhoclNjaGVkdWxlZCIpLGk9digieGhyVVJMIiksYz12KCJ4aHJFcnJvckJlZm9yZVNjaGVkdWxlZCIpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJnZW9sb2NhdGlvbiIsKGZ1bmN0aW9uKHQpe3QubmF2aWdhdG9yJiZ0Lm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmZnVuY3Rpb24odCxuKXtmb3IodmFyIHI9dC5jb25zdHJ1Y3Rvci5uYW1lLG89ZnVuY3Rpb24obyl7dmFyIGE9bltvXSxpPXRbYV07aWYoaSl7aWYoIVQoZSh0LGEpKSlyZXR1cm4iY29udGludWUiO3RbYV09ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0aGlzLGsoYXJndW1lbnRzLHIrIi4iK2EpKX07cmV0dXJuIE0odCxlKSx0fShpKX19LGE9MDthPG4ubGVuZ3RoO2ErKylvKGEpfSh0Lm5hdmlnYXRvci5nZW9sb2NhdGlvbixbImdldEN1cnJlbnRQb3NpdGlvbiIsIndhdGNoUG9zaXRpb24iXSl9KSksWm9uZS5fX2xvYWRfcGF0Y2goIlByb21pc2VSZWplY3Rpb25FdmVudCIsKGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24obil7WShlLHQpLmZvckVhY2goKGZ1bmN0aW9uKHIpe3ZhciBvPWUuUHJvbWlzZVJlamVjdGlvbkV2ZW50O2lmKG8pe3ZhciBhPW5ldyBvKHQse3Byb21pc2U6bi5wcm9taXNlLHJlYXNvbjpuLnJlamVjdGlvbn0pO3IuaW52b2tlKGEpfX0pKX19ZS5Qcm9taXNlUmVqZWN0aW9uRXZlbnQmJih0W3YoInVuaGFuZGxlZFByb21pc2VSZWplY3Rpb25IYW5kbGVyIildPW4oInVuaGFuZGxlZHJlamVjdGlvbiIpLHRbdigicmVqZWN0aW9uSGFuZGxlZEhhbmRsZXIiKV09bigicmVqZWN0aW9uaGFuZGxlZCIpKX0pKX0oKX0sMjpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4oImhOL2ciKX0sImhOL2ciOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4oIjBUV3AiKX0sbXJTRzpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSxuLmQodCwiX19leHRlbmRzIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQodCwiX19hc3NpZ24iLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZCh0LCJfX3Jlc3QiLChmdW5jdGlvbigpe3JldHVybiBpfSkpLG4uZCh0LCJfX2RlY29yYXRlIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQodCwiX19wYXJhbSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKHQsIl9fbWV0YWRhdGEiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZCh0LCJfX2F3YWl0ZXIiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLG4uZCh0LCJfX2dlbmVyYXRvciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksbi5kKHQsIl9fZXhwb3J0U3RhciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksbi5kKHQsIl9fdmFsdWVzIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxuLmQodCwiX19yZWFkIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxuLmQodCwiX19zcHJlYWQiLChmdW5jdGlvbigpe3JldHVybiB2fSkpLG4uZCh0LCJfX3NwcmVhZEFycmF5cyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksbi5kKHQsIl9fYXdhaXQiLChmdW5jdGlvbigpe3JldHVybiBnfSkpLG4uZCh0LCJfX2FzeW5jR2VuZXJhdG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4gX30pKSxuLmQodCwiX19hc3luY0RlbGVnYXRvciIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksbi5kKHQsIl9fYXN5bmNWYWx1ZXMiLChmdW5jdGlvbigpe3JldHVybiBifSkpLG4uZCh0LCJfX21ha2VUZW1wbGF0ZU9iamVjdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSksbi5kKHQsIl9faW1wb3J0U3RhciIsKGZ1bmN0aW9uKCl7cmV0dXJuIFR9KSksbi5kKHQsIl9faW1wb3J0RGVmYXVsdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHd9KSk7dmFyIHI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ocj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gdCl0Lmhhc093blByb3BlcnR5KG4pJiYoZVtuXT10W25dKX0pKGUsdCl9O2Z1bmN0aW9uIG8oZSx0KXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXIoZSx0KSxlLnByb3RvdHlwZT1udWxsPT09dD9PYmplY3QuY3JlYXRlKHQpOihuLnByb3RvdHlwZT10LnByb3RvdHlwZSxuZXcgbil9dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4oYT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQsbj0xLHI9YXJndW1lbnRzLmxlbmd0aDtuPHI7bisrKWZvcih2YXIgbyBpbiB0PWFyZ3VtZW50c1tuXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxvKSYmKGVbb109dFtvXSk7cmV0dXJuIGV9KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIGkoZSx0KXt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmdC5pbmRleE9mKHIpPDAmJihuW3JdPWVbcl0pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxyLmxlbmd0aDtvKyspdC5pbmRleE9mKHJbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHJbb10pJiYobltyW29dXT1lW3Jbb11dKX1yZXR1cm4gbn1mdW5jdGlvbiBjKGUsdCxuLHIpe3ZhciBvLGE9YXJndW1lbnRzLmxlbmd0aCxpPWE8Mz90Om51bGw9PT1yP3I9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pOnI7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlpPVJlZmxlY3QuZGVjb3JhdGUoZSx0LG4scik7ZWxzZSBmb3IodmFyIGM9ZS5sZW5ndGgtMTtjPj0wO2MtLSkobz1lW2NdKSYmKGk9KGE8Mz9vKGkpOmE+Mz9vKHQsbixpKTpvKHQsbikpfHxpKTtyZXR1cm4gYT4zJiZpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLGkpLGl9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBmdW5jdGlvbihuLHIpe3QobixyLGUpfX1mdW5jdGlvbiB1KGUsdCl7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShlLHQpfWZ1bmN0aW9uIGwoZSx0LG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKG8sYSl7ZnVuY3Rpb24gaShlKXt0cnl7cyhyLm5leHQoZSkpfWNhdGNoKHQpe2EodCl9fWZ1bmN0aW9uIGMoZSl7dHJ5e3Moci50aHJvdyhlKSl9Y2F0Y2godCl7YSh0KX19ZnVuY3Rpb24gcyhlKXtlLmRvbmU/byhlLnZhbHVlKTpuZXcgbigoZnVuY3Rpb24odCl7dChlLnZhbHVlKX0pKS50aGVuKGksYyl9cygocj1yLmFwcGx5KGUsdHx8W10pKS5uZXh0KCkpfSkpfWZ1bmN0aW9uIGYoZSx0KXt2YXIgbixyLG8sYSxpPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBhPXtuZXh0OmMoMCksdGhyb3c6YygxKSxyZXR1cm46YygyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGFbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksYTtmdW5jdGlvbiBjKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIGkubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6aS5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1pLm9wcy5wb3AoKSxpLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKG89KG89aS50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJig2PT09YVswXXx8Mj09PWFbMF0pKXtpPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtpLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJmkubGFiZWw8b1sxXSl7aS5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZpLmxhYmVsPG9bMl0pe2kubGFiZWw9b1syXSxpLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJmkub3BzLnBvcCgpLGkudHJ5cy5wb3AoKTtjb250aW51ZX1hPXQuY2FsbChlLGkpfWNhdGNoKGMpe2E9WzYsY10scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fWZ1bmN0aW9uIHAoZSx0KXtmb3IodmFyIG4gaW4gZSl0Lmhhc093blByb3BlcnR5KG4pfHwodFtuXT1lW25dKX1mdW5jdGlvbiBoKGUpe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXSxuPTA7cmV0dXJuIHQ/dC5jYWxsKGUpOntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGUmJm4+PWUubGVuZ3RoJiYoZT12b2lkIDApLHt2YWx1ZTplJiZlW24rK10sZG9uZTohZX19fX1mdW5jdGlvbiBkKGUsdCl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdO2lmKCFuKXJldHVybiBlO3ZhciByLG8sYT1uLmNhbGwoZSksaT1bXTt0cnl7Zm9yKDsodm9pZCAwPT09dHx8dC0tID4wKSYmIShyPWEubmV4dCgpKS5kb25lOylpLnB1c2goci52YWx1ZSl9Y2F0Y2goYyl7bz17ZXJyb3I6Y319ZmluYWxseXt0cnl7ciYmIXIuZG9uZSYmKG49YS5yZXR1cm4pJiZuLmNhbGwoYSl9ZmluYWxseXtpZihvKXRocm93IG8uZXJyb3J9fXJldHVybiBpfWZ1bmN0aW9uIHYoKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZT1lLmNvbmNhdChkKGFyZ3VtZW50c1t0XSkpO3JldHVybiBlfWZ1bmN0aW9uIHkoKXtmb3IodmFyIGU9MCx0PTAsbj1hcmd1bWVudHMubGVuZ3RoO3Q8bjt0KyspZSs9YXJndW1lbnRzW3RdLmxlbmd0aDt2YXIgcj1BcnJheShlKSxvPTA7Zm9yKHQ9MDt0PG47dCsrKWZvcih2YXIgYT1hcmd1bWVudHNbdF0saT0wLGM9YS5sZW5ndGg7aTxjO2krKyxvKyspcltvXT1hW2ldO3JldHVybiByfWZ1bmN0aW9uIGcoZSl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBnPyh0aGlzLnY9ZSx0aGlzKTpuZXcgZyhlKX1mdW5jdGlvbiBfKGUsdCxuKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIHIsbz1uLmFwcGx5KGUsdHx8W10pLGE9W107cmV0dXJuIHI9e30saSgibmV4dCIpLGkoInRocm93IiksaSgicmV0dXJuIikscltTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30scjtmdW5jdGlvbiBpKGUpe29bZV0mJihyW2VdPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixyKXthLnB1c2goW2UsdCxuLHJdKT4xfHxjKGUsdCl9KSl9KX1mdW5jdGlvbiBjKGUsdCl7dHJ5eyhuPW9bZV0odCkpLnZhbHVlIGluc3RhbmNlb2YgZz9Qcm9taXNlLnJlc29sdmUobi52YWx1ZS52KS50aGVuKHMsdSk6bChhWzBdWzJdLG4pfWNhdGNoKHIpe2woYVswXVszXSxyKX12YXIgbn1mdW5jdGlvbiBzKGUpe2MoIm5leHQiLGUpfWZ1bmN0aW9uIHUoZSl7YygidGhyb3ciLGUpfWZ1bmN0aW9uIGwoZSx0KXtlKHQpLGEuc2hpZnQoKSxhLmxlbmd0aCYmYyhhWzBdWzBdLGFbMF1bMV0pfX1mdW5jdGlvbiBtKGUpe3ZhciB0LG47cmV0dXJuIHQ9e30scigibmV4dCIpLHIoInRocm93IiwoZnVuY3Rpb24oZSl7dGhyb3cgZX0pKSxyKCJyZXR1cm4iKSx0W1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdDtmdW5jdGlvbiByKHIsbyl7dFtyXT1lW3JdP2Z1bmN0aW9uKHQpe3JldHVybihuPSFuKT97dmFsdWU6ZyhlW3JdKHQpKSxkb25lOiJyZXR1cm4iPT09cn06bz9vKHQpOnR9Om99fWZ1bmN0aW9uIGIoZSl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciB0LG49ZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIG4/bi5jYWxsKGUpOihlPWgoZSksdD17fSxyKCJuZXh0IikscigidGhyb3ciKSxyKCJyZXR1cm4iKSx0W1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSx0KTtmdW5jdGlvbiByKG4pe3Rbbl09ZVtuXSYmZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG8peyFmdW5jdGlvbihlLHQsbixyKXtQcm9taXNlLnJlc29sdmUocikudGhlbigoZnVuY3Rpb24odCl7ZSh7dmFsdWU6dCxkb25lOm59KX0pLHQpfShyLG8sKHQ9ZVtuXSh0KSkuZG9uZSx0LnZhbHVlKX0pKX19fWZ1bmN0aW9uIGsoZSx0KXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJyYXciLHt2YWx1ZTp0fSk6ZS5yYXc9dCxlfWZ1bmN0aW9uIFQoZSl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19fX0sW1syLDBdXV0pOw=="
3N2rk3yzChsJp4wCS5VLo5Q3ifLmDChfbzQ: newOne?runtime.js?2?1: "base64:dWxsO2lmKGEmJiEodT1hW3NdKSYmKHU9YVtzXT1hW3JdLFQoYSYmZShhLHIpKSkpe3ZhciBsPW8odSxzLHIpO2Fbcl09ZnVuY3Rpb24oKXtyZXR1cm4gbCh0aGlzLGFyZ3VtZW50cyl9LE0oYVtyXSx1KSxJJiYoaT11LGM9YVtyXSwiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyYmT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhpKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksZSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGMsZSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlbZV19LHNldDpmdW5jdGlvbihuKXsoIXR8fHQud3JpdGFibGUmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnNldCkmJihpW2VdPW4pfSxlbnVtZXJhYmxlOiF0fHx0LmVudW1lcmFibGUsY29uZmlndXJhYmxlOiF0fHx0LmNvbmZpZ3VyYWJsZX0pfSkpKX1yZXR1cm4gdX1mdW5jdGlvbiB4KGUsdCxuKXt2YXIgcj1udWxsO2Z1bmN0aW9uIG8oZSl7dmFyIHQ9ZS5kYXRhO3JldHVybiB0LmFyZ3NbdC5jYklkeF09ZnVuY3Rpb24oKXtlLmludm9rZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHIuYXBwbHkodC50YXJnZXQsdC5hcmdzKSxlfXI9UihlLHQsKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LHIpe3ZhciBhPW4odCxyKTtyZXR1cm4gYS5jYklkeD49MCYmImZ1bmN0aW9uIj09dHlwZW9mIHJbYS5jYklkeF0/ZChhLm5hbWUsclthLmNiSWR4XSxhLG8pOmUuYXBwbHkodCxyKX19KSl9ZnVuY3Rpb24gTShlLHQpe2VbdigiT3JpZ2luYWxEZWxlZ2F0ZSIpXT10fXZhciBMPSExLE49ITE7ZnVuY3Rpb24gRigpe3RyeXt2YXIgZT1nLm5hdmlnYXRvci51c2VyQWdlbnQ7aWYoLTEhPT1lLmluZGV4T2YoIk1TSUUgIil8fC0xIT09ZS5pbmRleE9mKCJUcmlkZW50LyIpKXJldHVybiEwfWNhdGNoKHQpe31yZXR1cm4hMX1mdW5jdGlvbiBBKCl7aWYoTClyZXR1cm4gTjtMPSEwO3RyeXt2YXIgZT1nLm5hdmlnYXRvci51c2VyQWdlbnQ7LTE9PT1lLmluZGV4T2YoIk1TSUUgIikmJi0xPT09ZS5pbmRleE9mKCJUcmlkZW50LyIpJiYtMT09PWUuaW5kZXhPZigiRWRnZS8iKXx8KE49ITApfWNhdGNoKHQpe31yZXR1cm4gTn1ab25lLl9fbG9hZF9wYXRjaCgidG9TdHJpbmciLChmdW5jdGlvbihlKXt2YXIgdD1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsbj12KCJPcmlnaW5hbERlbGVnYXRlIikscj12KCJQcm9taXNlIiksbz12KCJFcnJvciIpLGE9ZnVuY3Rpb24oKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcyl7dmFyIGE9dGhpc1tuXTtpZihhKXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBhP3QuY2FsbChhKTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk7aWYodGhpcz09PVByb21pc2Upe3ZhciBpPWVbcl07aWYoaSlyZXR1cm4gdC5jYWxsKGkpfWlmKHRoaXM9PT1FcnJvcil7dmFyIGM9ZVtvXTtpZihjKXJldHVybiB0LmNhbGwoYyl9fXJldHVybiB0LmNhbGwodGhpcyl9O2Fbbl09dCxGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc9YTt2YXIgaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO09iamVjdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIFByb21pc2U/IltvYmplY3QgUHJvbWlzZV0iOmkuY2FsbCh0aGlzKX19KSk7dmFyIEg9ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpdHJ5e3ZhciBHPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0g9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLEcsRyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLEcsRyl9Y2F0Y2goT2Upe0g9ITF9dmFyIEI9e3VzZUc6ITB9LFc9e30scT17fSxVPS9eX196b25lX3N5bWJvbF9fKFx3KykodHJ1ZXxmYWxzZSkkLyxWPSJfX3pvbmVfc3ltYm9sX19wcm9wYWdhdGlvblN0b3BwZWQiO2Z1bmN0aW9uIFgoZSx0LHIpe3ZhciBvPXImJnIuYWRkfHxpLGE9ciYmci5ybXx8YyxzPXImJnIubGlzdGVuZXJzfHwiZXZlbnRMaXN0ZW5lcnMiLHU9ciYmci5ybUFsbHx8InJlbW92ZUFsbExpc3RlbmVycyIsaD12KG8pLGQ9Ii4iK28rIjoiLHk9InByZXBlbmRMaXN0ZW5lciIsZz0iLiIreSsiOiIsXz1mdW5jdGlvbihlLHQsbil7aWYoIWUuaXNSZW1vdmVkKXt2YXIgcj1lLmNhbGxiYWNrOyJvYmplY3QiPT10eXBlb2YgciYmci5oYW5kbGVFdmVudCYmKGUuY2FsbGJhY2s9ZnVuY3Rpb24oZSl7cmV0dXJuIHIuaGFuZGxlRXZlbnQoZSl9LGUub3JpZ2luYWxEZWxlZ2F0ZT1yKSxlLmludm9rZShlLHQsW25dKTt2YXIgbz1lLm9wdGlvbnM7byYmIm9iamVjdCI9PXR5cGVvZiBvJiZvLm9uY2UmJnRbYV0uY2FsbCh0LG4udHlwZSxlLm9yaWdpbmFsRGVsZWdhdGU/ZS5vcmlnaW5hbERlbGVnYXRlOmUuY2FsbGJhY2ssbyl9fSxtPWZ1bmN0aW9uKHQpe2lmKHQ9dHx8ZS5ldmVudCl7dmFyIG49dGhpc3x8dC50YXJnZXR8fGUscj1uW1dbdC50eXBlXVtmXV07aWYocilpZigxPT09ci5sZW5ndGgpXyhyWzBdLG4sdCk7ZWxzZSBmb3IodmFyIG89ci5zbGljZSgpLGE9MDthPG8ubGVuZ3RoJiYoIXR8fCEwIT09dFtWXSk7YSsrKV8ob1thXSxuLHQpfX0sYj1mdW5jdGlvbih0KXtpZih0PXR8fGUuZXZlbnQpe3ZhciBuPXRoaXN8fHQudGFyZ2V0fHxlLHI9bltXW3QudHlwZV1bbF1dO2lmKHIpaWYoMT09PXIubGVuZ3RoKV8oclswXSxuLHQpO2Vsc2UgZm9yKHZhciBvPXIuc2xpY2UoKSxhPTA7YTxvLmxlbmd0aCYmKCF0fHwhMCE9PXRbVl0pO2ErKylfKG9bYV0sbix0KX19O2Z1bmN0aW9uIGsodCxyKXtpZighdClyZXR1cm4hMTt2YXIgaT0hMDtyJiZ2b2lkIDAhPT1yLnVzZUcmJihpPXIudXNlRyk7dmFyIGM9ciYmci52aCxfPSEwO3ImJnZvaWQgMCE9PXIuY2hrRHVwJiYoXz1yLmNoa0R1cCk7dmFyIGs9ITE7ciYmdm9pZCAwIT09ci5ydCYmKGs9ci5ydCk7Zm9yKHZhciBUPXQ7VCYmIVQuaGFzT3duUHJvcGVydHkobyk7KVQ9bihUKTtpZighVCYmdFtvXSYmKFQ9dCksIVQpcmV0dXJuITE7aWYoVFtoXSlyZXR1cm4hMTt2YXIgdyxPPXImJnIuZXZlbnROYW1lVG9TdHJpbmcsUz17fSxQPVRbaF09VFtvXSxEPVRbdihhKV09VFthXSxaPVRbdihzKV09VFtzXSxqPVRbdih1KV09VFt1XTtmdW5jdGlvbiB6KGUpe0h8fCJib29sZWFuIj09dHlwZW9mIFMub3B0aW9uc3x8bnVsbD09Uy5vcHRpb25zfHwoZS5vcHRpb25zPSEhUy5vcHRpb25zLmNhcHR1cmUsUy5vcHRpb25zPWUub3B0aW9ucyl9ciYmci5wcmVwZW5kJiYodz1UW3Yoci5wcmVwZW5kKV09VFtyLnByZXBlbmRdKTt2YXIgQz1pP2Z1bmN0aW9uKGUpe2lmKCFTLmlzRXhpc3RpbmcpcmV0dXJuIHooZSksUC5jYWxsKFMudGFyZ2V0LFMuZXZlbnROYW1lLFMuY2FwdHVyZT9iOm0sUy5vcHRpb25zKX06ZnVuY3Rpb24oZSl7cmV0dXJuIHooZSksUC5jYWxsKFMudGFyZ2V0LFMuZXZlbnROYW1lLGUuaW52b2tlLFMub3B0aW9ucyl9LEk9aT9mdW5jdGlvbihlKXtpZighZS5pc1JlbW92ZWQpe3ZhciB0PVdbZS5ldmVudE5hbWVdLG49dm9pZCAwO3QmJihuPXRbZS5jYXB0dXJlP2w6Zl0pO3ZhciByPW4mJmUudGFyZ2V0W25dO2lmKHIpZm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspaWYocltvXT09PWUpe3Iuc3BsaWNlKG8sMSksZS5pc1JlbW92ZWQ9ITAsMD09PXIubGVuZ3RoJiYoZS5hbGxSZW1vdmVkPSEwLGUudGFyZ2V0W25dPW51bGwpO2JyZWFrfX1pZihlLmFsbFJlbW92ZWQpcmV0dXJuIEQuY2FsbChlLnRhcmdldCxlLmV2ZW50TmFtZSxlLmNhcHR1cmU/YjptLGUub3B0aW9ucyl9OmZ1bmN0aW9uKGUpe3JldHVybiBELmNhbGwoZS50YXJnZXQsZS5ldmVudE5hbWUsZS5pbnZva2UsZS5vcHRpb25zKX0sUj1yJiZyLmRpZmY/ci5kaWZmOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIHQ7cmV0dXJuImZ1bmN0aW9uIj09PW4mJmUuY2FsbGJhY2s9PT10fHwib2JqZWN0Ij09PW4mJmUub3JpZ2luYWxEZWxlZ2F0ZT09PXR9LHg9Wm9uZVtab25lLl9fc3ltYm9sX18oIkJMQUNLX0xJU1RFRF9FVkVOVFMiKV0sTD1mdW5jdGlvbih0LG4scixvLGEscyl7cmV0dXJuIHZvaWQgMD09PWEmJihhPSExKSx2b2lkIDA9PT1zJiYocz0hMSksZnVuY3Rpb24oKXt2YXIgdT10aGlzfHxlLGg9YXJndW1lbnRzWzBdLGQ9YXJndW1lbnRzWzFdO2lmKCFkKXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZihFJiYidW5jYXVnaHRFeGNlcHRpb24iPT09aClyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIHY9ITE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGQpe2lmKCFkLmhhbmRsZUV2ZW50KXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2PSEwfWlmKCFjfHxjKHQsZCx1LGFyZ3VtZW50cykpe3ZhciB5LGc9YXJndW1lbnRzWzJdO2lmKHgpZm9yKHZhciBtPTA7bTx4Lmxlbmd0aDttKyspaWYoaD09PXhbbV0pcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBiPSExO3ZvaWQgMD09PWc/eT0hMTohMD09PWc/eT0hMDohMT09PWc/eT0hMTooeT0hIWcmJiEhZy5jYXB0dXJlLGI9ISFnJiYhIWcub25jZSk7dmFyIGssVD1ab25lLmN1cnJlbnQsdz1XW2hdO2lmKHcpaz13W3k/bDpmXTtlbHNle3ZhciBQPShPP08oaCk6aCkrZixEPShPP08oaCk6aCkrbCxaPXArUCxqPXArRDtXW2hdPXt9LFdbaF1bZl09WixXW2hdW2xdPWosaz15P2o6Wn12YXIgeixDPXVba10sST0hMTtpZihDKXtpZihJPSEwLF8pZm9yKG09MDttPEMubGVuZ3RoO20rKylpZihSKENbbV0sZCkpcmV0dXJufWVsc2UgQz11W2tdPVtdO3ZhciBNPXUuY29uc3RydWN0b3IubmFtZSxMPXFbTV07TCYmKHo9TFtoXSksenx8KHo9TStuKyhPP08oaCk6aCkpLFMub3B0aW9ucz1nLGImJihTLm9wdGlvbnMub25jZT0hMSksUy50YXJnZXQ9dSxTLmNhcHR1cmU9eSxTLmV2ZW50TmFtZT1oLFMuaXNFeGlzdGluZz1JO3ZhciBOPWk/Qjp2b2lkIDA7TiYmKE4udGFza0RhdGE9Uyk7dmFyIEY9VC5zY2hlZHVsZUV2ZW50VGFzayh6LGQsTixyLG8pO3JldHVybiBTLnRhcmdldD1udWxsLE4mJihOLnRhc2tEYXRhPW51bGwpLGImJihnLm9uY2U9ITApLChIfHwiYm9vbGVhbiIhPXR5cGVvZiBGLm9wdGlvbnMpJiYoRi5vcHRpb25zPWcpLEYudGFyZ2V0PXUsRi5jYXB0dXJlPXksRi5ldmVudE5hbWU9aCx2JiYoRi5vcmlnaW5hbERlbGVnYXRlPWQpLHM/Qy51bnNoaWZ0KEYpOkMucHVzaChGKSxhP3U6dm9pZCAwfX19O3JldHVybiBUW29dPUwoUCxkLEMsSSxrKSx3JiYoVFt5XT1MKHcsZywoZnVuY3Rpb24oZSl7cmV0dXJuIHcuY2FsbChTLnRhcmdldCxTLmV2ZW50TmFtZSxlLmludm9rZSxTLm9wdGlvbnMpfSksSSxrLCEwKSksVFthXT1mdW5jdGlvbigpe3ZhciB0LG49dGhpc3x8ZSxyPWFyZ3VtZW50c1swXSxvPWFyZ3VtZW50c1syXTt0PXZvaWQgMCE9PW8mJighMD09PW98fCExIT09byYmISFvJiYhIW8uY2FwdHVyZSk7dmFyIGE9YXJndW1lbnRzWzFdO2lmKCFhKXJldHVybiBELmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighY3x8YyhELGEsbixhcmd1bWVudHMpKXt2YXIgaSxzPVdbcl07cyYmKGk9c1t0P2w6Zl0pO3ZhciB1PWkmJm5baV07aWYodSlmb3IodmFyIHA9MDtwPHUubGVuZ3RoO3ArKyl7dmFyIGg9dVtwXTtpZihSKGgsYSkpcmV0dXJuIHUuc3BsaWNlKHAsMSksaC5pc1JlbW92ZWQ9ITAsMD09PXUubGVuZ3RoJiYoaC5hbGxSZW1vdmVkPSEwLG5baV09bnVsbCksaC56b25lLmNhbmNlbFRhc2soaCksaz9uOnZvaWQgMH1yZXR1cm4gRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSxUW3NdPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXN8fGUsbj1hcmd1bWVudHNbMF0scj1bXSxvPVkodCxPP08obik6biksYT0wO2E8by5sZW5ndGg7YSsrKXt2YXIgaT1vW2FdLGM9aS5vcmlnaW5hbERlbGVnYXRlP2kub3JpZ2luYWxEZWxlZ2F0ZTppLmNhbGxiYWNrO3IucHVzaChjKX1yZXR1cm4gcn0sVFt1XT1mdW5jdGlvbigpe3ZhciB0PXRoaXN8fGUsbj1hcmd1bWVudHNbMF07aWYobil7dmFyIHI9V1tuXTtpZihyKXt2YXIgbz1yW2ZdLGk9cltsXSxjPXRbb10scz10W2ldO2lmKGMpe3ZhciBwPWMuc2xpY2UoKTtmb3Iodj0wO3Y8cC5sZW5ndGg7disrKXRoaXNbYV0uY2FsbCh0aGlzLG4sKGg9cFt2XSkub3JpZ2luYWxEZWxlZ2F0ZT9oLm9yaWdpbmFsRGVsZWdhdGU6aC5jYWxsYmFjayxoLm9wdGlvbnMpfWlmKHMpZm9yKHA9cy5zbGljZSgpLHY9MDt2PHAubGVuZ3RoO3YrKyl7dmFyIGg7dGhpc1thXS5jYWxsKHRoaXMsbiwoaD1wW3ZdKS5vcmlnaW5hbERlbGVnYXRlP2gub3JpZ2luYWxEZWxlZ2F0ZTpoLmNhbGxiYWNrLGgub3B0aW9ucyl9fX1lbHNle2Zvcih2YXIgZD1PYmplY3Qua2V5cyh0KSx2PTA7djxkLmxlbmd0aDt2Kyspe3ZhciB5PWRbdl0sZz1VLmV4ZWMoeSksXz1nJiZnWzFdO18mJiJyZW1vdmVMaXN0ZW5lciIhPT1fJiZ0aGlzW3VdLmNhbGwodGhpcyxfKX10aGlzW3VdLmNhbGwodGhpcywicmVtb3ZlTGlzdGVuZXIiKX1pZihrKXJldHVybiB0aGlzfSxNKFRbb10sUCksTShUW2FdLEQpLGomJk0oVFt1XSxqKSxaJiZNKFRbc10sWiksITB9Zm9yKHZhciBUPVtdLHc9MDt3PHQubGVuZ3RoO3crKylUW3ddPWsodFt3XSxyKTtyZXR1cm4gVH1mdW5jdGlvbiBZKGUsdCl7dmFyIG49W107Zm9yKHZhciByIGluIGUpe3ZhciBvPVUuZXhlYyhyKSxhPW8mJm9bMV07aWYoYSYmKCF0fHxhPT09dCkpe3ZhciBpPWVbcl07aWYoaSlmb3IodmFyIGM9MDtjPGkubGVuZ3RoO2MrKyluLnB1c2goaVtjXSl9fXJldHVybiBufWZ1bmN0aW9uIEooZSx0KXt2YXIgbj1lLkV2ZW50O24mJm4ucHJvdG90eXBlJiZ0LnBhdGNoTWV0aG9kKG4ucHJvdG90eXBlLCJzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24iLChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXt0W1ZdPSEwLGUmJmUuYXBwbHkodCxuKX19KSl9ZnVuY3Rpb24gSyhlLHQsbixyLG8pe3ZhciBhPVpvbmUuX19zeW1ib2xfXyhyKTtpZighdFthXSl7dmFyIGk9dFthXT10W3JdO3Rbcl09ZnVuY3Rpb24oYSxjLHMpe3JldHVybiBjJiZjLnByb3RvdHlwZSYmby5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbz1uKyIuIityKyI6OiIrdCxhPWMucHJvdG90eXBlO2lmKGEuaGFzT3duUHJvcGVydHkodCkpe3ZhciBpPWUuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEsdCk7aSYmaS52YWx1ZT8oaS52YWx1ZT1lLndyYXBXaXRoQ3VycmVudFpvbmUoaS52YWx1ZSxvKSxlLl9yZWRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLHQsaSkpOmFbdF0mJihhW3RdPWUud3JhcFdpdGhDdXJyZW50Wm9uZShhW3RdLG8pKX1lbHNlIGFbdF0mJihhW3RdPWUud3JhcFdpdGhDdXJyZW50Wm9uZShhW3RdLG8pKX0pKSxpLmNhbGwodCxhLGMscyl9LGUuYXR0YWNoT3JpZ2luVG9QYXRjaGVkKHRbcl0saSl9fXZhciBRPVpvbmUuX19zeW1ib2xfXywkPU9iamVjdFtRKCJkZWZpbmVQcm9wZXJ0eSIpXT1PYmplY3QuZGVmaW5lUHJvcGVydHksZWU9T2JqZWN0W1EoImdldE93blByb3BlcnR5RGVzY3JpcHRvciIpXT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHRlPU9iamVjdC5jcmVhdGUsbmU9USgidW5jb25maWd1cmFibGVzIik7ZnVuY3Rpb24gcmUoZSx0LG4pe3ZhciByPW4uY29uZmlndXJhYmxlO3JldHVybiBpZShlLHQsbj1hZShlLHQsbikscil9ZnVuY3Rpb24gb2UoZSx0KXtyZXR1cm4gZSYmZVtuZV0mJmVbbmVdW3RdfWZ1bmN0aW9uIGFlKGUsdCxuKXtyZXR1cm4gT2JqZWN0LmlzRnJvemVuKG4pfHwobi5jb25maWd1cmFibGU9ITApLG4uY29uZmlndXJhYmxlfHwoZVtuZV18fE9iamVjdC5pc0Zyb3plbihlKXx8JChlLG5lLHt3cml0YWJsZTohMCx2YWx1ZTp7fX0pLGVbbmVdJiYoZVtuZV1bdF09ITApKSxufWZ1bmN0aW9uIGllKGUsdCxuLHIpe3RyeXtyZXR1cm4gJChlLHQsbil9Y2F0Y2goYSl7aWYoIW4uY29uZmlndXJhYmxlKXRocm93IGE7dm9pZCAwPT09cj9kZWxldGUgbi5jb25maWd1cmFibGU6bi5jb25maWd1cmFibGU9cjt0cnl7cmV0dXJuICQoZSx0LG4pfWNhdGNoKGEpe3ZhciBvPW51bGw7dHJ5e289SlNPTi5zdHJpbmdpZnkobil9Y2F0Y2goYSl7bz1uLnRvU3RyaW5nKCl9Y29uc29sZS5sb2coIkF0dGVtcHRpbmcgdG8gY29uZmlndXJlICciK3QrIicgd2l0aCBkZXNjcmlwdG9yICciK28rIicgb24gb2JqZWN0ICciK2UrIicgYW5kIGdvdCBlcnJvciwgZ2l2aW5nIHVwOiAiK2EpfX19dmFyIGNlPVsiYWJzb2x1dGVkZXZpY2VvcmllbnRhdGlvbiIsImFmdGVyaW5wdXQiLCJhZnRlcnByaW50IiwiYXBwaW5zdGFsbGVkIiwiYmVmb3JlaW5zdGFsbHByb21wdCIsImJlZm9yZXByaW50IiwiYmVmb3JldW5sb2FkIiwiZGV2aWNlbGlnaHQiLCJkZXZpY2Vtb3Rpb24iLCJkZXZpY2VvcmllbnRhdGlvbiIsImRldmljZW9yaWVudGF0aW9uYWJzb2x1dGUiLCJkZXZpY2Vwcm94aW1pdHkiLCJoYXNoY2hhbmdlIiwibGFuZ3VhZ2VjaGFuZ2UiLCJtZXNzYWdlIiwibW96YmVmb3JlcGFpbnQiLCJvZmZsaW5lIiwib25saW5lIiwicGFpbnQiLCJwYWdlc2hvdyIsInBhZ2VoaWRlIiwicG9wc3RhdGUiLCJyZWplY3Rpb25oYW5kbGVkIiwic3RvcmFnZSIsInVuaGFuZGxlZHJlamVjdGlvbiIsInVubG9hZCIsInVzZXJwcm94aW1pdHkiLCJ2cmRpc3BseWNvbm5lY3RlZCIsInZyZGlzcGxheWRpc2Nvbm5lY3RlZCIsInZyZGlzcGxheXByZXNlbnRjaGFuZ2UiXSxzZT1bImVuY3J5cHRlZCIsIndhaXRpbmdmb3JrZXkiLCJtc25lZWRrZXkiLCJtb3ppbnRlcnJ1cHRiZWdpbiIsIm1vemludGVycnVwdGVuZCJdLHVlPVsibG9hZCJdLGxlPVsiYmx1ciIsImVycm9yIiwiZm9jdXMiLCJsb2FkIiwicmVzaXplIiwic2Nyb2xsIiwibWVzc2FnZWVycm9yIl0sZmU9WyJib3VuY2UiLCJmaW5pc2giLCJzdGFydCJdLHBlPVsibG9hZHN0YXJ0IiwicHJvZ3Jlc3MiLCJhYm9ydCIsImVycm9yIiwibG9hZCIsInByb2dyZXNzIiwidGltZW91dCIsImxvYWRlbmQiLCJyZWFkeXN0YXRlY2hhbmdlIl0saGU9WyJ1cGdyYWRlbmVlZGVkIiwiY29tcGxldGUiLCJhYm9ydCIsInN1Y2Nlc3MiLCJlcnJvciIsImJsb2NrZWQiLCJ2ZXJzaW9uY2hhbmdlIiwiY2xvc2UiXSxkZT1bImNsb3NlIiwiZXJyb3IiLCJvcGVuIiwibWVzc2FnZSJdLHZlPVsiZXJyb3IiLCJtZXNzYWdlIl0seWU9WyJhYm9ydCIsImFuaW1hdGlvbmNhbmNlbCIsImFuaW1hdGlvbmVuZCIsImFuaW1hdGlvbml0ZXJhdGlvbiIsImF1eGNsaWNrIiwiYmVmb3JlaW5wdXQiLCJibHVyIiwiY2FuY2VsIiwiY2FucGxheSIsImNhbnBsYXl0aHJvdWdoIiwiY2hhbmdlIiwiY29tcG9zaXRpb25zdGFydCIsImNvbXBvc2l0aW9udXBkYXRlIiwiY29tcG9zaXRpb25lbmQiLCJjdWVjaGFuZ2UiLCJjbGljayIsImNsb3NlIiwiY29udGV4dG1lbnUiLCJjdXJlY2hhbmdlIiwiZGJsY2xpY2siLCJkcmFnIiwiZHJhZ2VuZCIsImRyYWdlbnRlciIsImRyYWdleGl0IiwiZHJhZ2xlYXZlIiwiZHJhZ292ZXIiLCJkcm9wIiwiZHVyYXRpb25jaGFuZ2UiLCJlbXB0aWVkIiwiZW5kZWQiLCJlcnJvciIsImZvY3VzIiwiZm9jdXNpbiIsImZvY3Vzb3V0IiwiZ290cG9pbnRlcmNhcHR1cmUiLCJpbnB1dCIsImludmFsaWQiLCJrZXlkb3duIiwia2V5cHJlc3MiLCJrZXl1cCIsImxvYWQiLCJsb2Fkc3RhcnQiLCJsb2FkZWRkYXRhIiwibG9hZGVkbWV0YWRhdGEiLCJsb3N0cG9pbnRlcmNhcHR1cmUiLCJtb3VzZWRvd24iLCJtb3VzZWVudGVyIiwibW91c2VsZWF2ZSIsIm1vdXNlbW92ZSIsIm1vdXNlb3V0IiwibW91c2VvdmVyIiwibW91c2V1cCIsIm1vdXNld2hlZWwiLCJvcmllbnRhdGlvbmNoYW5nZSIsInBhdXNlIiwicGxheSIsInBsYXlpbmciLCJwb2ludGVyY2FuY2VsIiwicG9pbnRlcmRvd24iLCJwb2ludGVyZW50ZXIiLCJwb2ludGVybGVhdmUiLCJwb2ludGVybG9ja2NoYW5nZSIsIm1venBvaW50ZXJsb2NrY2hhbmdlIiwid2Via2l0cG9pbnRlcmxvY2tlcmNoYW5nZSIsInBvaW50ZXJsb2NrZXJyb3IiLCJtb3pwb2ludGVybG9ja2Vycm9yIiwid2Via2l0cG9pbnRlcmxvY2tlcnJvciIsInBvaW50ZXJtb3ZlIiwicG9pbnRvdXQiLCJwb2ludGVyb3ZlciIsInBvaW50ZXJ1cCIsInByb2dyZXNzIiwicmF0ZWNoYW5nZSIsInJlc2V0IiwicmVzaXplIiwic2Nyb2xsIiwic2Vla2VkIiwic2Vla2luZyIsInNlbGVjdCIsInNlbGVjdGlvbmNoYW5nZSIsInNlbGVjdHN0YXJ0Iiwic2hvdyIsInNvcnQiLCJzdGFsbGVkIiwic3VibWl0Iiwic3VzcGVuZCIsInRpbWV1cGRhdGUiLCJ2b2x1bWVjaGFuZ2UiLCJ0b3VjaGNhbmNlbCIsInRvdWNobW92ZSIsInRvdWNoc3RhcnQiLCJ0b3VjaGVuZCIsInRyYW5zaXRpb25jYW5jZWwiLCJ0cmFuc2l0aW9uZW5kIiwid2FpdGluZyIsIndoZWVsIl0uY29uY2F0KFsid2ViZ2xjb250ZXh0cmVzdG9yZWQiLCJ3ZWJnbGNvbnRleHRsb3N0Iiwid2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvciJdLFsiYXV0b2NvbXBsZXRlIiwiYXV0b2NvbXBsZXRlZXJyb3IiXSxbInRvZ2dsZSJdLFsiYWZ0ZXJzY3JpcHRleGVjdXRlIiwiYmVmb3Jlc2NyaXB0ZXhlY3V0ZSIsIkRPTUNvbnRlbnRMb2FkZWQiLCJmcmVlemUiLCJmdWxsc2NyZWVuY2hhbmdlIiwibW96ZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtc2Z1bGxzY3JlZW5jaGFuZ2UiLCJmdWxsc2NyZWVuZXJyb3IiLCJtb3pmdWxsc2NyZWVuZXJyb3IiLCJ3ZWJraXRmdWxsc2NyZWVuZXJyb3IiLCJtc2Z1bGxzY3JlZW5lcnJvciIsInJlYWR5c3RhdGVjaGFuZ2UiLCJ2aXNpYmlsaXR5Y2hhbmdlIiwicmVzdW1lIl0sY2UsWyJiZWZvcmVjb3B5IiwiYmVmb3JlY3V0IiwiYmVmb3JlcGFzdGUiLCJjb3B5IiwiY3V0IiwicGFzdGUiLCJkcmFnc3RhcnQiLCJsb2FkZW5kIiwiYW5pbWF0aW9uc3RhcnQiLCJzZWFyY2giLCJ0cmFuc2l0aW9ucnVuIiwidHJhbnNpdGlvbnN0YXJ0Iiwid2Via2l0YW5pbWF0aW9uZW5kIiwid2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiwid2Via2l0YW5pbWF0aW9uc3RhcnQiLCJ3ZWJraXR0cmFuc2l0aW9uZW5kIl0sWyJhY3RpdmF0ZSIsImFmdGVydXBkYXRlIiwiYXJpYXJlcXVlc3QiLCJiZWZvcmVhY3RpdmF0ZSIsImJlZm9yZWRlYWN0aXZhdGUiLCJiZWZvcmVlZGl0Zm9jdXMiLCJiZWZvcmV1cGRhdGUiLCJjZWxsY2hhbmdlIiwiY29udHJvbHNlbGVjdCIsImRhdGFhdmFpbGFibGUiLCJkYXRhc2V0Y2hhbmdlZCIsImRhdGFzZXRjb21wbGV0ZSIsImVycm9ydXBkYXRlIiwiZmlsdGVyY2hhbmdlIiwibGF5b3V0Y29tcGxldGUiLCJsb3NlY2FwdHVyZSIsIm1vdmUiLCJtb3ZlZW5kIiwibW92ZXN0YXJ0IiwicHJvcGVydHljaGFuZ2UiLCJyZXNpemVlbmQiLCJyZXNpemVzdGFydCIsInJvd2VudGVyIiwicm93ZXhpdCIsInJvd3NkZWxldGUiLCJyb3dzaW5zZXJ0ZWQiLCJjb21tYW5kIiwiY29tcGFzc25lZWRzY2FsaWJyYXRpb24iLCJkZWFjdGl2YXRlIiwiaGVscCIsIm1zY29udGVudHpvb20iLCJtc21hbmlwdWxhdGlvbnN0YXRlY2hhbmdlZCIsIm1zZ2VzdHVyZWNoYW5nZSIsIm1zZ2VzdHVyZWRvdWJsZXRhcCIsIm1zZ2VzdHVyZWVuZCIsIm1zZ2VzdHVyZWhvbGQiLCJtc2dlc3R1cmVzdGFydCIsIm1zZ2VzdHVyZXRhcCIsIm1zZ290cG9pbnRlcmNhcHR1cmUiLCJtc2luZXJ0aWFzdGFydCIsIm1zbG9zdHBvaW50ZXJjYXB0dXJlIiwibXNwb2ludGVyY2FuY2VsIiwibXNwb2ludGVyZG93biIsIm1zcG9pbnRlcmVudGVyIiwibXNwb2ludGVyaG92ZXIiLCJtc3BvaW50ZXJsZWF2ZSIsIm1zcG9pbnRlcm1vdmUiLCJtc3BvaW50ZXJvdXQiLCJtc3BvaW50ZXJvdmVyIiwibXNwb2ludGVydXAiLCJwb2ludGVyb3V0IiwibXNzaXRlbW9kZWp1bXBsaXN0aXRlbXJlbW92ZWQiLCJtc3RodW1ibmFpbGNsaWNrIiwic3RvcCIsInN0b3JhZ2Vjb21taXQiXSk7ZnVuY3Rpb24gZ2UoZSx0LG4pe2lmKCFufHwwPT09bi5sZW5ndGgpcmV0dXJuIHQ7dmFyIHI9bi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldD09PWV9KSk7aWYoIXJ8fDA9PT1yLmxlbmd0aClyZXR1cm4gdDt2YXIgbz1yWzBdLmlnbm9yZVByb3BlcnRpZXM7cmV0dXJuIHQuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4tMT09PW8uaW5kZXhPZihlKX0pKX1mdW5jdGlvbiBfZShlLHQsbixyKXtlJiZqKGUsZ2UoZSx0LG4pLHIpfWZ1bmN0aW9uIG1lKGUsdCl7aWYoKCFFfHxTKSYmIVpvbmVbZS5zeW1ib2woInBhdGNoRXZlbnRzIildKXt2YXIgcj0idW5kZWZpbmVkIiE9dHlwZW9mIFdlYlNvY2tldCxvPXQuX19ab25lX2lnbm9yZV9vbl9wcm9wZXJ0aWVzO2lmKE8pe3ZhciBhPXdpbmRvdyxpPUY/W3t0YXJnZXQ6YSxpZ25vcmVQcm9wZXJ0aWVzOlsiZXJyb3IiXX1dOltdO19lKGEseWUuY29uY2F0KFsibWVzc2FnZWVycm9yIl0pLG8/by5jb25jYXQoaSk6byxuKGEpKSxfZShEb2N1bWVudC5wcm90b3R5cGUseWUsbyksdm9pZCAwIT09YS5TVkdFbGVtZW50JiZfZShhLlNWR0VsZW1lbnQucHJvdG90eXBlLHllLG8pLF9lKEVsZW1lbnQucHJvdG90eXBlLHllLG8pLF9lKEhUTUxFbGVtZW50LnByb3RvdHlwZSx5ZSxvKSxfZShIVE1MTWVkaWFFbGVtZW50LnByb3RvdHlwZSxzZSxvKSxfZShIVE1MRnJhbWVTZXRFbGVtZW50LnByb3RvdHlwZSxjZS5jb25jYXQobGUpLG8pLF9lKEhUTUxCb2R5RWxlbWVudC5wcm90b3R5cGUsY2UuY29uY2F0KGxlKSxvKSxfZShIVE1MRnJhbWVFbGVtZW50LnByb3RvdHlwZSx1ZSxvKSxfZShIVE1MSUZyYW1lRWxlbWVudC5wcm90b3R5cGUsdWUsbyk7dmFyIGM9YS5IVE1MTWFycXVlZUVsZW1lbnQ7YyYmX2UoYy5wcm90b3R5cGUsZmUsbyk7dmFyIHM9YS5Xb3JrZXI7cyYmX2Uocy5wcm90b3R5cGUsdmUsbyl9dmFyIHU9dC5YTUxIdHRwUmVxdWVzdDt1JiZfZSh1LnByb3RvdHlwZSxwZSxvKTt2YXIgbD10LlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ7bCYmX2UobCYmbC5wcm90b3R5cGUscGUsbyksInVuZGVmaW5lZCIhPXR5cGVvZiBJREJJbmRleCYmKF9lKElEQkluZGV4LnByb3RvdHlwZSxoZSxvKSxfZShJREJSZXF1ZXN0LnByb3RvdHlwZSxoZSxvKSxfZShJREJPcGVuREJSZXF1ZXN0LnByb3RvdHlwZSxoZSxvKSxfZShJREJEYXRhYmFzZS5wcm90b3R5cGUsaGUsbyksX2UoSURCVHJhbnNhY3Rpb24ucHJvdG90eXBlLGhlLG8pLF9lKElEQkN1cnNvci5wcm90b3R5cGUsaGUsbykpLHImJl9lKFdlYlNvY2tldC5wcm90b3R5cGUsZGUsbyl9fWZ1bmN0aW9uIGJlKGUsdCl7dmFyIG49dC5nZXRHbG9iYWxPYmplY3RzKCkscj1uLmV2ZW50TmFtZXMsbz1uLmdsb2JhbFNvdXJjZXMsYT1uLnpvbmVTeW1ib2xFdmVudE5hbWVzLGk9bi5UUlVFX1NUUixjPW4uRkFMU0VfU1RSLHM9bi5aT05FX1NZTUJPTF9QUkVGSVgsdT0iQW5jaG9yLEFyZWEsQXVkaW8sQlIsQmFzZSxCYXNlRm9udCxCb2R5LEJ1dHRvbixDYW52YXMsQ29udGVudCxETGlzdCxEaXJlY3RvcnksRGl2LEVtYmVkLEZpZWxkU2V0LEZvbnQsRm9ybSxGcmFtZSxGcmFtZVNldCxIUixIZWFkLEhlYWRpbmcsSHRtbCxJRnJhbWUsSW1hZ2UsSW5wdXQsS2V5Z2VuLExJLExhYmVsLExlZ2VuZCxMaW5rLE1hcCxNYXJxdWVlLE1lZGlhLE1lbnUsTWV0YSxNZXRlcixNb2QsT0xpc3QsT2JqZWN0LE9wdEdyb3VwLE9wdGlvbixPdXRwdXQsUGFyYWdyYXBoLFByZSxQcm9ncmVzcyxRdW90ZSxTY3JpcHQsU2VsZWN0LFNvdXJjZSxTcGFuLFN0eWxlLFRhYmxlQ2FwdGlvbixUYWJsZUNlbGwsVGFibGVDb2wsVGFibGUsVGFibGVSb3csVGFibGVTZWN0aW9uLFRleHRBcmVhLFRpdGxlLFRyYWNrLFVMaXN0LFVua25vd24sVmlkZW8iLGw9IkFwcGxpY2F0aW9uQ2FjaGUsRXZlbnRTb3VyY2UsRmlsZVJlYWRlcixJbnB1dE1ldGhvZENvbnRleHQsTWVkaWFDb250cm9sbGVyLE1lc3NhZ2VQb3J0LE5vZGUsUGVyZm9ybWFuY2UsU1ZHRWxlbWVudEluc3RhbmNlLFNoYXJlZFdvcmtlcixUZXh0VHJhY2ssVGV4dFRyYWNrQ3VlLFRleHRUcmFja0xpc3QsV2ViS2l0TmFtZWRGbG93LFdpbmRvdyxXb3JrZXIsV29ya2VyR2xvYmFsU2NvcGUsWE1MSHR0cFJlcXVlc3QsWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCxYTUxIdHRwUmVxdWVzdFVwbG9hZCxJREJSZXF1ZXN0LElEQk9wZW5EQlJlcXVlc3QsSURCRGF0YWJhc2UsSURCVHJhbnNhY3Rpb24sSURCQ3Vyc29yLERCSW5kZXgsV2ViU29ja2V0Ii5zcGxpdCgiLCIpLGY9W10scD1lLnd0ZixoPXUuc3BsaXQoIiwiKTtwP2Y9aC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiJIVE1MIitlKyJFbGVtZW50In0pKS5jb25jYXQobCk6ZS5FdmVudFRhcmdldD9mLnB1c2goIkV2ZW50VGFyZ2V0Iik6Zj1sO2Zvcih2YXIgZD1lLl9fWm9uZV9kaXNhYmxlX0lFX2NoZWNrfHwhMSx2PWUuX19ab25lX2VuYWJsZV9jcm9zc19jb250ZXh0X2NoZWNrfHwhMSx5PXQuaXNJRU9yRWRnZSgpLGc9ImZ1bmN0aW9uIF9fQlJPV1NFUlRPT0xTX0NPTlNPTEVfU0FGRUZVTkMoKSB7IFtuYXRpdmUgY29kZV0gfSIsXz0wO188ci5sZW5ndGg7XysrKXt2YXIgbT1zKygoRT1yW19dKStjKSxiPXMrKEUraSk7YVtFXT17fSxhW0VdW2NdPW0sYVtFXVtpXT1ifWZvcihfPTA7Xzx1Lmxlbmd0aDtfKyspZm9yKHZhciBrPWhbX10sVD1vW2tdPXt9LHc9MDt3PHIubGVuZ3RoO3crKyl7dmFyIEU7VFtFPXJbd11dPWsrIi5hZGRFdmVudExpc3RlbmVyOiIrRX12YXIgTz1bXTtmb3IoXz0wO188Zi5sZW5ndGg7XysrKXt2YXIgUz1lW2ZbX11dO08ucHVzaChTJiZTLnByb3RvdHlwZSl9cmV0dXJuIHQucGF0Y2hFdmVudFRhcmdldChlLE8se3ZoOmZ1bmN0aW9uKGUsdCxuLHIpe2lmKCFkJiZ5KXtpZih2KXRyeXt2YXIgbztpZigiW29iamVjdCBGdW5jdGlvbldyYXBwZXJdIj09PShvPXQudG9TdHJpbmcoKSl8fG89PWcpcmV0dXJuIGUuYXBwbHkobixyKSwhMX1jYXRjaChhKXtyZXR1cm4gZS5hcHBseShuLHIpLCExfWVsc2UgaWYoIltvYmplY3QgRnVuY3Rpb25XcmFwcGVyXSI9PT0obz10LnRvU3RyaW5nKCkpfHxvPT1nKXJldHVybiBlLmFwcGx5KG4sciksITF9ZWxzZSBpZih2KXRyeXt0LnRvU3RyaW5nKCl9Y2F0Y2goYSl7cmV0dXJuIGUuYXBwbHkobixyKSwhMX1yZXR1cm4hMH19KSxab25lW3Quc3ltYm9sKCJwYXRjaEV2ZW50VGFyZ2V0IildPSEhZS5FdmVudFRhcmdldCwhMH1mdW5jdGlvbiBrZShlLHQpe3ZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpO2lmKCghbi5pc05vZGV8fG4uaXNNaXgpJiYhZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmdldEdsb2JhbE9iamVjdHMoKTtpZigobi5pc0Jyb3dzZXJ8fG4uaXNNaXgpJiYhZS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLCJvbmNsaWNrIikmJiJ1bmRlZmluZWQiIT10eXBlb2YgRWxlbWVudCl7dmFyIHI9ZS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRWxlbWVudC5wcm90b3R5cGUsIm9uY2xpY2siKTtpZihyJiYhci5jb25maWd1cmFibGUpcmV0dXJuITE7aWYocil7ZS5PYmplY3REZWZpbmVQcm9wZXJ0eShFbGVtZW50LnByb3RvdHlwZSwib25jbGljayIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiEwfX0pO3ZhciBvPSEhZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikub25jbGljaztyZXR1cm4gZS5PYmplY3REZWZpbmVQcm9wZXJ0eShFbGVtZW50LnByb3RvdHlwZSwib25jbGljayIsciksb319dmFyIGE9dC5YTUxIdHRwUmVxdWVzdDtpZighYSlyZXR1cm4hMTt2YXIgaT1hLnByb3RvdHlwZSxjPWUuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksIm9ucmVhZHlzdGF0ZWNoYW5nZSIpO2lmKGMpcmV0dXJuIGUuT2JqZWN0RGVmaW5lUHJvcGVydHkoaSwib25yZWFkeXN0YXRlY2hhbmdlIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuITB9fSksbz0hISh1PW5ldyBhKS5vbnJlYWR5c3RhdGVjaGFuZ2UsZS5PYmplY3REZWZpbmVQcm9wZXJ0eShpLCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGN8fHt9KSxvO3ZhciBzPWUuc3ltYm9sKCJmYWtlIik7ZS5PYmplY3REZWZpbmVQcm9wZXJ0eShpLCJvbnJlYWR5c3RhdGVjaGFuZ2UiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tzXX0sc2V0OmZ1bmN0aW9uKGUpe3RoaXNbc109ZX19KTt2YXIgdT1uZXcgYSxsPWZ1bmN0aW9uKCl7fTtyZXR1cm4gdS5vbnJlYWR5c3RhdGVjaGFuZ2U9bCxvPXVbc109PT1sLHUub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsb30oZSx0KSl7dmFyIHI9InVuZGVmaW5lZCIhPXR5cGVvZiBXZWJTb2NrZXQ7IWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmdldEdsb2JhbE9iamVjdHMoKS5ldmVudE5hbWVzLG49ZS5zeW1ib2woInVuYm91bmQiKSxyPWZ1bmN0aW9uKHIpe3ZhciBvPXRbcl0sYT0ib24iK287c2VsZi5hZGRFdmVudExpc3RlbmVyKG8sKGZ1bmN0aW9uKHQpe3ZhciByLG8saT10LnRhcmdldDtmb3Iobz1pP2kuY29uc3RydWN0b3IubmFtZSsiLiIrYToidW5rbm93bi4iK2E7aTspaVthXSYmIWlbYV1bbl0mJigocj1lLndyYXBXaXRoQ3VycmVudFpvbmUoaVthXSxvKSlbbl09aVthXSxpW2FdPXIpLGk9aS5wYXJlbnRFbGVtZW50fSksITApfSxvPTA7bzx0Lmxlbmd0aDtvKyspcihvKX0oZSksZS5wYXRjaENsYXNzKCJYTUxIdHRwUmVxdWVzdCIpLHImJmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5nZXRHbG9iYWxPYmplY3RzKCkscj1uLkFERF9FVkVOVF9MSVNURU5FUl9TVFIsbz1uLlJFTU9WRV9FVkVOVF9MSVNURU5FUl9TVFIsYT10LldlYlNvY2tldDt0LkV2ZW50VGFyZ2V0fHxlLnBhdGNoRXZlbnRUYXJnZXQodCxbYS5wcm90b3R5cGVdKSx0LldlYlNvY2tldD1mdW5jdGlvbih0LG4pe3ZhciBpLGMscz1hcmd1bWVudHMubGVuZ3RoPjE/bmV3IGEodCxuKTpuZXcgYSh0KSx1PWUuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHMsIm9ubWVzc2FnZSIpO3JldHVybiB1JiYhMT09PXUuY29uZmlndXJhYmxlPyhpPWUuT2JqZWN0Q3JlYXRlKHMpLGM9cyxbcixvLCJzZW5kIiwiY2xvc2UiXS5mb3JFYWNoKChmdW5jdGlvbih0KXtpW3RdPWZ1bmN0aW9uKCl7dmFyIG49ZS5BcnJheVNsaWNlLmNhbGwoYXJndW1lbnRzKTtpZih0PT09cnx8dD09PW8pe3ZhciBhPW4ubGVuZ3RoPjA/blswXTp2b2lkIDA7aWYoYSl7dmFyIGM9Wm9uZS5fX3N5bWJvbF9fKCJPTl9QUk9QRVJUWSIrYSk7c1tjXT1pW2NdfX1yZXR1cm4gc1t0XS5hcHBseShzLG4pfX0pKSk6aT1zLGUucGF0Y2hPblByb3BlcnRpZXMoaSxbImNsb3NlIiwiZXJyb3IiLCJtZXNzYWdlIiwib3BlbiJdLGMpLGl9O3ZhciBpPXQuV2ViU29ja2V0O2Zvcih2YXIgYyBpbiBhKWlbY109YVtjXX0oZSx0KSxab25lW2Uuc3ltYm9sKCJwYXRjaEV2ZW50cyIpXT0hMH19Wm9uZS5fX2xvYWRfcGF0Y2goInV0aWwiLChmdW5jdGlvbihuLHIscyl7cy5wYXRjaE9uUHJvcGVydGllcz1qLHMucGF0Y2hNZXRob2Q9UixzLmJpbmRBcmd1bWVudHM9ayxzLnBhdGNoTWFjcm9UYXNrPXg7dmFyIHU9ci5fX3N5bWJvbF9fKCJCTEFDS19MSVNURURfRVZFTlRTIiksZD1yLl9fc3ltYm9sX18oIlVOUEFUQ0hFRF9FVkVOVFMiKTtuW2RdJiYoblt1XT1uW2RdKSxuW3VdJiYoclt1XT1yW2RdPW5bdV0pLHMucGF0Y2hFdmVudFByb3RvdHlwZT1KLHMucGF0Y2hFdmVudFRhcmdldD1YLHMuaXNJRU9yRWRnZT1BLHMuT2JqZWN0RGVmaW5lUHJvcGVydHk9dCxzLk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcj1lLHMuT2JqZWN0Q3JlYXRlPW8scy5BcnJheVNsaWNlPWEscy5wYXRjaENsYXNzPUMscy53cmFwV2l0aEN1cnJlbnRab25lPWgscy5maWx0ZXJQcm9wZXJ0aWVzPWdlLHMuYXR0YWNoT3JpZ2luVG9QYXRjaGVkPU0scy5fcmVkZWZpbmVQcm9wZXJ0eT1yZSxzLnBhdGNoQ2FsbGJhY2tzPUsscy5nZXRHbG9iYWxPYmplY3RzPWZ1bmN0aW9uKCl7cmV0dXJue2dsb2JhbFNvdXJjZXM6cSx6b25lU3ltYm9sRXZlbnROYW1lczpXLGV2ZW50TmFtZXM6eWUsaXNCcm93c2VyOk8saXNNaXg6Uyxpc05vZGU6RSxUUlVFX1NUUjpsLEZBTFNFX1NUUjpmLFpPTkVfU1lNQk9MX1BSRUZJWDpwLEFERF9FVkVOVF9MSVNURU5FUl9TVFI6aSxSRU1PVkVfRVZFTlRfTElTVEVORVJfU1RSOmN9fX0pKSxmdW5jdGlvbihlKXtlLl9fem9uZV9zeW1ib2xfX2xlZ2FjeVBhdGNoPWZ1bmN0aW9uKCl7dmFyIHQ9ZS5ab25lO3QuX19sb2FkX3BhdGNoKCJyZWdpc3RlckVsZW1lbnQiLChmdW5jdGlvbihlLHQsbil7IWZ1bmN0aW9uKGUsdCl7dmFyIG49dC5nZXRHbG9iYWxPYmplY3RzKCk7KG4uaXNCcm93c2VyfHxuLmlzTWl4KSYmInJlZ2lzdGVyRWxlbWVudCJpbiBlLmRvY3VtZW50JiZ0LnBhdGNoQ2FsbGJhY2tzKHQsZG9jdW1lbnQsIkRvY3VtZW50IiwicmVnaXN0ZXJFbGVtZW50IixbImNyZWF0ZWRDYWxsYmFjayIsImF0dGFjaGVkQ2FsbGJhY2siLCJkZXRhY2hlZENhbGxiYWNrIiwiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIl0pfShlLG4pfSkpLHQuX19sb2FkX3BhdGNoKCJFdmVudFRhcmdldExlZ2FjeSIsKGZ1bmN0aW9uKGUsdCxuKXtiZShlLG4pLGtlKG4sZSl9KSl9fSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93fHwidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGZ8fGdsb2JhbCk7dmFyIFRlPXYoInpvbmVUYXNrIik7ZnVuY3Rpb24gd2UoZSx0LG4scil7dmFyIG89bnVsbCxhPW51bGw7bis9cjt2YXIgaT17fTtmdW5jdGlvbiBjKHQpe3ZhciBuPXQuZGF0YTtyZXR1cm4gbi5hcmdzWzBdPWZ1bmN0aW9uKCl7dHJ5e3QuaW52b2tlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1maW5hbGx5e3QuZGF0YSYmdC5kYXRhLmlzUGVyaW9kaWN8fCgibnVtYmVyIj09dHlwZW9mIG4uaGFuZGxlSWQ/ZGVsZXRlIGlbbi5oYW5kbGVJZF06bi5oYW5kbGVJZCYmKG4uaGFuZGxlSWRbVGVdPW51bGwpKX19LG4uaGFuZGxlSWQ9by5hcHBseShlLG4uYXJncyksdH1mdW5jdGlvbiBzKGUpe3JldHVybiBhKGUuZGF0YS5oYW5kbGVJZCl9bz1SKGUsdCs9ciwoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG8sYSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGFbMF0pe3ZhciB1PWQodCxhWzBdLHtpc1BlcmlvZGljOiJJbnRlcnZhbCI9PT1yLGRlbGF5OiJUaW1lb3V0Ij09PXJ8fCJJbnRlcnZhbCI9PT1yP2FbMV18fDA6dm9pZCAwLGFyZ3M6YX0sYyxzKTtpZighdSlyZXR1cm4gdTt2YXIgbD11LmRhdGEuaGFuZGxlSWQ7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBsP2lbbF09dTpsJiYobFtUZV09dSksbCYmbC5yZWYmJmwudW5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlZiYmImZ1bmN0aW9uIj09dHlwZW9mIGwudW5yZWYmJih1LnJlZj1sLnJlZi5iaW5kKGwpLHUudW5yZWY9bC51bnJlZi5iaW5kKGwpKSwibnVtYmVyIj09dHlwZW9mIGx8fGw/bDp1fXJldHVybiBuLmFwcGx5KGUsYSl9fSkpLGE9UihlLG4sKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIpe3ZhciBvLGE9clswXTsibnVtYmVyIj09dHlwZW9mIGE/bz1pW2FdOihvPWEmJmFbVGVdKXx8KG89YSksbyYmInN0cmluZyI9PXR5cGVvZiBvLnR5cGU/Im5vdFNjaGVkdWxlZCIhPT1vLnN0YXRlJiYoby5jYW5jZWxGbiYmby5kYXRhLmlzUGVyaW9kaWN8fDA9PT1vLnJ1bkNvdW50KSYmKCJudW1iZXIiPT10eXBlb2YgYT9kZWxldGUgaVthXTphJiYoYVtUZV09bnVsbCksby56b25lLmNhbmNlbFRhc2sobykpOnQuYXBwbA=="
3N2rk3yzChsJp4wCS5VLo5Q3ifLmDChfbzQ: newOne?runtime.js?2?0: "base64:KHdpbmRvdy53ZWJwYWNrSnNvbnA9d2luZG93LndlYnBhY2tKc29ucHx8W10pLnB1c2goW1syXSx7IjBUV3AiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJtclNHIikuX192YWx1ZXM7IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyFmdW5jdGlvbihlKXt2YXIgdD1lLnBlcmZvcm1hbmNlO2Z1bmN0aW9uIG4oZSl7dCYmdC5tYXJrJiZ0Lm1hcmsoZSl9ZnVuY3Rpb24gcihlLG4pe3QmJnQubWVhc3VyZSYmdC5tZWFzdXJlKGUsbil9bigiWm9uZSIpO3ZhciBvPSEwPT09ZS5fX3pvbmVfc3ltYm9sX19mb3JjZUR1cGxpY2F0ZVpvbmVDaGVjaztpZihlLlpvbmUpe2lmKG98fCJmdW5jdGlvbiIhPXR5cGVvZiBlLlpvbmUuX19zeW1ib2xfXyl0aHJvdyBuZXcgRXJyb3IoIlpvbmUgYWxyZWFkeSBsb2FkZWQuIik7cmV0dXJuIGUuWm9uZX12YXIgYSxpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLHQpe3RoaXMuX3BhcmVudD1lLHRoaXMuX25hbWU9dD90Lm5hbWV8fCJ1bm5hbWVkIjoiPHJvb3Q+Iix0aGlzLl9wcm9wZXJ0aWVzPXQmJnQucHJvcGVydGllc3x8e30sdGhpcy5fem9uZURlbGVnYXRlPW5ldyBzKHRoaXMsdGhpcy5fcGFyZW50JiZ0aGlzLl9wYXJlbnQuX3pvbmVEZWxlZ2F0ZSx0KX1yZXR1cm4gdC5hc3NlcnRab25lUGF0Y2hlZD1mdW5jdGlvbigpe2lmKGUuUHJvbWlzZSE9PVAuWm9uZUF3YXJlUHJvbWlzZSl0aHJvdyBuZXcgRXJyb3IoIlpvbmUuanMgaGFzIGRldGVjdGVkIHRoYXQgWm9uZUF3YXJlUHJvbWlzZSBgKHdpbmRvd3xnbG9iYWwpLlByb21pc2VgIGhhcyBiZWVuIG92ZXJ3cml0dGVuLlxuTW9zdCBsaWtlbHkgY2F1c2UgaXMgdGhhdCBhIFByb21pc2UgcG9seWZpbGwgaGFzIGJlZW4gbG9hZGVkIGFmdGVyIFpvbmUuanMgKFBvbHlmaWxsaW5nIFByb21pc2UgYXBpIGlzIG5vdCBuZWNlc3Nhcnkgd2hlbiB6b25lLmpzIGlzIGxvYWRlZC4gSWYgeW91IG11c3QgbG9hZCBvbmUsIGRvIHNvIGJlZm9yZSBsb2FkaW5nIHpvbmUuanMuKSIpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicm9vdCIse2dldDpmdW5jdGlvbigpe2Zvcih2YXIgZT10LmN1cnJlbnQ7ZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImN1cnJlbnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWi56b25lfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJjdXJyZW50VGFzayIse2dldDpmdW5jdGlvbigpe3JldHVybiBqfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHQuX19sb2FkX3BhdGNoPWZ1bmN0aW9uKGEsaSl7aWYoUC5oYXNPd25Qcm9wZXJ0eShhKSl7aWYobyl0aHJvdyBFcnJvcigiQWxyZWFkeSBsb2FkZWQgcGF0Y2g6ICIrYSl9ZWxzZSBpZighZVsiX19ab25lX2Rpc2FibGVfIithXSl7dmFyIGM9IlpvbmU6IithO24oYyksUFthXT1pKGUsdCxEKSxyKGMsYyl9fSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInBhcmVudCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYXJlbnR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJuYW1lIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25hbWV9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksdC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0Wm9uZVdpdGgoZSk7aWYodClyZXR1cm4gdC5fcHJvcGVydGllc1tlXX0sdC5wcm90b3R5cGUuZ2V0Wm9uZVdpdGg9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXRoaXM7dDspe2lmKHQuX3Byb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIHQ7dD10Ll9wYXJlbnR9cmV0dXJuIG51bGx9LHQucHJvdG90eXBlLmZvcms9ZnVuY3Rpb24oZSl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJab25lU3BlYyByZXF1aXJlZCEiKTtyZXR1cm4gdGhpcy5fem9uZURlbGVnYXRlLmZvcmsodGhpcyxlKX0sdC5wcm90b3R5cGUud3JhcD1mdW5jdGlvbihlLHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiRXhwZWN0aW5nIGZ1bmN0aW9uIGdvdDogIitlKTt2YXIgbj10aGlzLl96b25lRGVsZWdhdGUuaW50ZXJjZXB0KHRoaXMsZSx0KSxyPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHIucnVuR3VhcmRlZChuLHRoaXMsYXJndW1lbnRzLHQpfX0sdC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKGUsdCxuLHIpe1o9e3BhcmVudDpaLHpvbmU6dGhpc307dHJ5e3JldHVybiB0aGlzLl96b25lRGVsZWdhdGUuaW52b2tlKHRoaXMsZSx0LG4scil9ZmluYWxseXtaPVoucGFyZW50fX0sdC5wcm90b3R5cGUucnVuR3VhcmRlZD1mdW5jdGlvbihlLHQsbixyKXt2b2lkIDA9PT10JiYodD1udWxsKSxaPXtwYXJlbnQ6Wix6b25lOnRoaXN9O3RyeXt0cnl7cmV0dXJuIHRoaXMuX3pvbmVEZWxlZ2F0ZS5pbnZva2UodGhpcyxlLHQsbixyKX1jYXRjaChvKXtpZih0aGlzLl96b25lRGVsZWdhdGUuaGFuZGxlRXJyb3IodGhpcyxvKSl0aHJvdyBvfX1maW5hbGx5e1o9Wi5wYXJlbnR9fSx0LnByb3RvdHlwZS5ydW5UYXNrPWZ1bmN0aW9uKGUsdCxuKXtpZihlLnpvbmUhPXRoaXMpdGhyb3cgbmV3IEVycm9yKCJBIHRhc2sgY2FuIG9ubHkgYmUgcnVuIGluIHRoZSB6b25lIG9mIGNyZWF0aW9uISAoQ3JlYXRpb246ICIrKGUuem9uZXx8ZykubmFtZSsiOyBFeGVjdXRpb246ICIrdGhpcy5uYW1lKyIpIik7aWYoZS5zdGF0ZSE9PV98fGUudHlwZSE9PVMmJmUudHlwZSE9PU8pe3ZhciByPWUuc3RhdGUhPWs7ciYmZS5fdHJhbnNpdGlvblRvKGssYiksZS5ydW5Db3VudCsrO3ZhciBvPWo7aj1lLFo9e3BhcmVudDpaLHpvbmU6dGhpc307dHJ5e2UudHlwZT09TyYmZS5kYXRhJiYhZS5kYXRhLmlzUGVyaW9kaWMmJihlLmNhbmNlbEZuPXZvaWQgMCk7dHJ5e3JldHVybiB0aGlzLl96b25lRGVsZWdhdGUuaW52b2tlVGFzayh0aGlzLGUsdCxuKX1jYXRjaChhKXtpZih0aGlzLl96b25lRGVsZWdhdGUuaGFuZGxlRXJyb3IodGhpcyxhKSl0aHJvdyBhfX1maW5hbGx5e2Uuc3RhdGUhPT1fJiZlLnN0YXRlIT09dyYmKGUudHlwZT09U3x8ZS5kYXRhJiZlLmRhdGEuaXNQZXJpb2RpYz9yJiZlLl90cmFuc2l0aW9uVG8oYixrKTooZS5ydW5Db3VudD0wLHRoaXMuX3VwZGF0ZVRhc2tDb3VudChlLC0xKSxyJiZlLl90cmFuc2l0aW9uVG8oXyxrLF8pKSksWj1aLnBhcmVudCxqPW99fX0sdC5wcm90b3R5cGUuc2NoZWR1bGVUYXNrPWZ1bmN0aW9uKGUpe2lmKGUuem9uZSYmZS56b25lIT09dGhpcylmb3IodmFyIHQ9dGhpczt0Oyl7aWYodD09PWUuem9uZSl0aHJvdyBFcnJvcigiY2FuIG5vdCByZXNjaGVkdWxlIHRhc2sgdG8gIit0aGlzLm5hbWUrIiB3aGljaCBpcyBkZXNjZW5kYW50cyBvZiB0aGUgb3JpZ2luYWwgem9uZSAiK2Uuem9uZS5uYW1lKTt0PXQucGFyZW50fWUuX3RyYW5zaXRpb25UbyhtLF8pO3ZhciBuPVtdO2UuX3pvbmVEZWxlZ2F0ZXM9bixlLl96b25lPXRoaXM7dHJ5e2U9dGhpcy5fem9uZURlbGVnYXRlLnNjaGVkdWxlVGFzayh0aGlzLGUpfWNhdGNoKHIpe3Rocm93IGUuX3RyYW5zaXRpb25Ubyh3LG0sXyksdGhpcy5fem9uZURlbGVnYXRlLmhhbmRsZUVycm9yKHRoaXMscikscn1yZXR1cm4gZS5fem9uZURlbGVnYXRlcz09PW4mJnRoaXMuX3VwZGF0ZVRhc2tDb3VudChlLDEpLGUuc3RhdGU9PW0mJmUuX3RyYW5zaXRpb25UbyhiLG0pLGV9LHQucHJvdG90eXBlLnNjaGVkdWxlTWljcm9UYXNrPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLnNjaGVkdWxlVGFzayhuZXcgdShFLGUsdCxuLHIsdm9pZCAwKSl9LHQucHJvdG90eXBlLnNjaGVkdWxlTWFjcm9UYXNrPWZ1bmN0aW9uKGUsdCxuLHIsbyl7cmV0dXJuIHRoaXMuc2NoZWR1bGVUYXNrKG5ldyB1KE8sZSx0LG4scixvKSl9LHQucHJvdG90eXBlLnNjaGVkdWxlRXZlbnRUYXNrPWZ1bmN0aW9uKGUsdCxuLHIsbyl7cmV0dXJuIHRoaXMuc2NoZWR1bGVUYXNrKG5ldyB1KFMsZSx0LG4scixvKSl9LHQucHJvdG90eXBlLmNhbmNlbFRhc2s9ZnVuY3Rpb24oZSl7aWYoZS56b25lIT10aGlzKXRocm93IG5ldyBFcnJvcigiQSB0YXNrIGNhbiBvbmx5IGJlIGNhbmNlbGxlZCBpbiB0aGUgem9uZSBvZiBjcmVhdGlvbiEgKENyZWF0aW9uOiAiKyhlLnpvbmV8fGcpLm5hbWUrIjsgRXhlY3V0aW9uOiAiK3RoaXMubmFtZSsiKSIpO2UuX3RyYW5zaXRpb25UbyhULGIsayk7dHJ5e3RoaXMuX3pvbmVEZWxlZ2F0ZS5jYW5jZWxUYXNrKHRoaXMsZSl9Y2F0Y2godCl7dGhyb3cgZS5fdHJhbnNpdGlvblRvKHcsVCksdGhpcy5fem9uZURlbGVnYXRlLmhhbmRsZUVycm9yKHRoaXMsdCksdH1yZXR1cm4gdGhpcy5fdXBkYXRlVGFza0NvdW50KGUsLTEpLGUuX3RyYW5zaXRpb25UbyhfLFQpLGUucnVuQ291bnQ9MCxlfSx0LnByb3RvdHlwZS5fdXBkYXRlVGFza0NvdW50PWZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5fem9uZURlbGVnYXRlczstMT09dCYmKGUuX3pvbmVEZWxlZ2F0ZXM9bnVsbCk7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXS5fdXBkYXRlVGFza0NvdW50KGUudHlwZSx0KX0sdC5fX3N5bWJvbF9fPUksdH0oKSxjPXtuYW1lOiIiLG9uSGFzVGFzazpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gZS5oYXNUYXNrKG4scil9LG9uU2NoZWR1bGVUYXNrOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBlLnNjaGVkdWxlVGFzayhuLHIpfSxvbkludm9rZVRhc2s6ZnVuY3Rpb24oZSx0LG4scixvLGEpe3JldHVybiBlLmludm9rZVRhc2sobixyLG8sYSl9LG9uQ2FuY2VsVGFzazpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gZS5jYW5jZWxUYXNrKG4scil9fSxzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbil7dGhpcy5fdGFza0NvdW50cz17bWljcm9UYXNrOjAsbWFjcm9UYXNrOjAsZXZlbnRUYXNrOjB9LHRoaXMuem9uZT1lLHRoaXMuX3BhcmVudERlbGVnYXRlPXQsdGhpcy5fZm9ya1pTPW4mJihuJiZuLm9uRm9yaz9uOnQuX2ZvcmtaUyksdGhpcy5fZm9ya0RsZ3Q9biYmKG4ub25Gb3JrP3Q6dC5fZm9ya0RsZ3QpLHRoaXMuX2ZvcmtDdXJyWm9uZT1uJiYobi5vbkZvcms/dGhpcy56b25lOnQuem9uZSksdGhpcy5faW50ZXJjZXB0WlM9biYmKG4ub25JbnRlcmNlcHQ/bjp0Ll9pbnRlcmNlcHRaUyksdGhpcy5faW50ZXJjZXB0RGxndD1uJiYobi5vbkludGVyY2VwdD90OnQuX2ludGVyY2VwdERsZ3QpLHRoaXMuX2ludGVyY2VwdEN1cnJab25lPW4mJihuLm9uSW50ZXJjZXB0P3RoaXMuem9uZTp0LnpvbmUpLHRoaXMuX2ludm9rZVpTPW4mJihuLm9uSW52b2tlP246dC5faW52b2tlWlMpLHRoaXMuX2ludm9rZURsZ3Q9biYmKG4ub25JbnZva2U/dDp0Ll9pbnZva2VEbGd0KSx0aGlzLl9pbnZva2VDdXJyWm9uZT1uJiYobi5vbkludm9rZT90aGlzLnpvbmU6dC56b25lKSx0aGlzLl9oYW5kbGVFcnJvclpTPW4mJihuLm9uSGFuZGxlRXJyb3I/bjp0Ll9oYW5kbGVFcnJvclpTKSx0aGlzLl9oYW5kbGVFcnJvckRsZ3Q9biYmKG4ub25IYW5kbGVFcnJvcj90OnQuX2hhbmRsZUVycm9yRGxndCksdGhpcy5faGFuZGxlRXJyb3JDdXJyWm9uZT1uJiYobi5vbkhhbmRsZUVycm9yP3RoaXMuem9uZTp0LnpvbmUpLHRoaXMuX3NjaGVkdWxlVGFza1pTPW4mJihuLm9uU2NoZWR1bGVUYXNrP246dC5fc2NoZWR1bGVUYXNrWlMpLHRoaXMuX3NjaGVkdWxlVGFza0RsZ3Q9biYmKG4ub25TY2hlZHVsZVRhc2s/dDp0Ll9zY2hlZHVsZVRhc2tEbGd0KSx0aGlzLl9zY2hlZHVsZVRhc2tDdXJyWm9uZT1uJiYobi5vblNjaGVkdWxlVGFzaz90aGlzLnpvbmU6dC56b25lKSx0aGlzLl9pbnZva2VUYXNrWlM9biYmKG4ub25JbnZva2VUYXNrP246dC5faW52b2tlVGFza1pTKSx0aGlzLl9pbnZva2VUYXNrRGxndD1uJiYobi5vbkludm9rZVRhc2s/dDp0Ll9pbnZva2VUYXNrRGxndCksdGhpcy5faW52b2tlVGFza0N1cnJab25lPW4mJihuLm9uSW52b2tlVGFzaz90aGlzLnpvbmU6dC56b25lKSx0aGlzLl9jYW5jZWxUYXNrWlM9biYmKG4ub25DYW5jZWxUYXNrP246dC5fY2FuY2VsVGFza1pTKSx0aGlzLl9jYW5jZWxUYXNrRGxndD1uJiYobi5vbkNhbmNlbFRhc2s/dDp0Ll9jYW5jZWxUYXNrRGxndCksdGhpcy5fY2FuY2VsVGFza0N1cnJab25lPW4mJihuLm9uQ2FuY2VsVGFzaz90aGlzLnpvbmU6dC56b25lKSx0aGlzLl9oYXNUYXNrWlM9bnVsbCx0aGlzLl9oYXNUYXNrRGxndD1udWxsLHRoaXMuX2hhc1Rhc2tEbGd0T3duZXI9bnVsbCx0aGlzLl9oYXNUYXNrQ3VyclpvbmU9bnVsbDt2YXIgcj1uJiZuLm9uSGFzVGFzazsocnx8dCYmdC5faGFzVGFza1pTKSYmKHRoaXMuX2hhc1Rhc2taUz1yP246Yyx0aGlzLl9oYXNUYXNrRGxndD10LHRoaXMuX2hhc1Rhc2tEbGd0T3duZXI9dGhpcyx0aGlzLl9oYXNUYXNrQ3VyclpvbmU9ZSxuLm9uU2NoZWR1bGVUYXNrfHwodGhpcy5fc2NoZWR1bGVUYXNrWlM9Yyx0aGlzLl9zY2hlZHVsZVRhc2tEbGd0PXQsdGhpcy5fc2NoZWR1bGVUYXNrQ3VyclpvbmU9dGhpcy56b25lKSxuLm9uSW52b2tlVGFza3x8KHRoaXMuX2ludm9rZVRhc2taUz1jLHRoaXMuX2ludm9rZVRhc2tEbGd0PXQsdGhpcy5faW52b2tlVGFza0N1cnJab25lPXRoaXMuem9uZSksbi5vbkNhbmNlbFRhc2t8fCh0aGlzLl9jYW5jZWxUYXNrWlM9Yyx0aGlzLl9jYW5jZWxUYXNrRGxndD10LHRoaXMuX2NhbmNlbFRhc2tDdXJyWm9uZT10aGlzLnpvbmUpKX1yZXR1cm4gZS5wcm90b3R5cGUuZm9yaz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9mb3JrWlM/dGhpcy5fZm9ya1pTLm9uRm9yayh0aGlzLl9mb3JrRGxndCx0aGlzLnpvbmUsZSx0KTpuZXcgaShlLHQpfSxlLnByb3RvdHlwZS5pbnRlcmNlcHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLl9pbnRlcmNlcHRaUz90aGlzLl9pbnRlcmNlcHRaUy5vbkludGVyY2VwdCh0aGlzLl9pbnRlcmNlcHREbGd0LHRoaXMuX2ludGVyY2VwdEN1cnJab25lLGUsdCxuKTp0fSxlLnByb3RvdHlwZS5pbnZva2U9ZnVuY3Rpb24oZSx0LG4scixvKXtyZXR1cm4gdGhpcy5faW52b2tlWlM/dGhpcy5faW52b2tlWlMub25JbnZva2UodGhpcy5faW52b2tlRGxndCx0aGlzLl9pbnZva2VDdXJyWm9uZSxlLHQsbixyLG8pOnQuYXBwbHkobixyKX0sZS5wcm90b3R5cGUuaGFuZGxlRXJyb3I9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hdGhpcy5faGFuZGxlRXJyb3JaU3x8dGhpcy5faGFuZGxlRXJyb3JaUy5vbkhhbmRsZUVycm9yKHRoaXMuX2hhbmRsZUVycm9yRGxndCx0aGlzLl9oYW5kbGVFcnJvckN1cnJab25lLGUsdCl9LGUucHJvdG90eXBlLnNjaGVkdWxlVGFzaz1mdW5jdGlvbihlLHQpe3ZhciBuPXQ7aWYodGhpcy5fc2NoZWR1bGVUYXNrWlMpdGhpcy5faGFzVGFza1pTJiZuLl96b25lRGVsZWdhdGVzLnB1c2godGhpcy5faGFzVGFza0RsZ3RPd25lciksKG49dGhpcy5fc2NoZWR1bGVUYXNrWlMub25TY2hlZHVsZVRhc2sodGhpcy5fc2NoZWR1bGVUYXNrRGxndCx0aGlzLl9zY2hlZHVsZVRhc2tDdXJyWm9uZSxlLHQpKXx8KG49dCk7ZWxzZSBpZih0LnNjaGVkdWxlRm4pdC5zY2hlZHVsZUZuKHQpO2Vsc2V7aWYodC50eXBlIT1FKXRocm93IG5ldyBFcnJvcigiVGFzayBpcyBtaXNzaW5nIHNjaGVkdWxlRm4uIik7dih0KX1yZXR1cm4gbn0sZS5wcm90b3R5cGUuaW52b2tlVGFzaz1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5faW52b2tlVGFza1pTP3RoaXMuX2ludm9rZVRhc2taUy5vbkludm9rZVRhc2sodGhpcy5faW52b2tlVGFza0RsZ3QsdGhpcy5faW52b2tlVGFza0N1cnJab25lLGUsdCxuLHIpOnQuY2FsbGJhY2suYXBwbHkobixyKX0sZS5wcm90b3R5cGUuY2FuY2VsVGFzaz1mdW5jdGlvbihlLHQpe3ZhciBuO2lmKHRoaXMuX2NhbmNlbFRhc2taUyluPXRoaXMuX2NhbmNlbFRhc2taUy5vbkNhbmNlbFRhc2sodGhpcy5fY2FuY2VsVGFza0RsZ3QsdGhpcy5fY2FuY2VsVGFza0N1cnJab25lLGUsdCk7ZWxzZXtpZighdC5jYW5jZWxGbil0aHJvdyBFcnJvcigiVGFzayBpcyBub3QgY2FuY2VsYWJsZSIpO249dC5jYW5jZWxGbih0KX1yZXR1cm4gbn0sZS5wcm90b3R5cGUuaGFzVGFzaz1mdW5jdGlvbihlLHQpe3RyeXt0aGlzLl9oYXNUYXNrWlMmJnRoaXMuX2hhc1Rhc2taUy5vbkhhc1Rhc2sodGhpcy5faGFzVGFza0RsZ3QsdGhpcy5faGFzVGFza0N1cnJab25lLGUsdCl9Y2F0Y2gobil7dGhpcy5oYW5kbGVFcnJvcihlLG4pfX0sZS5wcm90b3R5cGUuX3VwZGF0ZVRhc2tDb3VudD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuX3Rhc2tDb3VudHMscj1uW2VdLG89bltlXT1yK3Q7aWYobzwwKXRocm93IG5ldyBFcnJvcigiTW9yZSB0YXNrcyBleGVjdXRlZCB0aGVuIHdlcmUgc2NoZWR1bGVkLiIpOzAhPXImJjAhPW98fHRoaXMuaGFzVGFzayh0aGlzLnpvbmUse21pY3JvVGFzazpuLm1pY3JvVGFzaz4wLG1hY3JvVGFzazpuLm1hY3JvVGFzaz4wLGV2ZW50VGFzazpuLmV2ZW50VGFzaz4wLGNoYW5nZTplfSl9LGV9KCksdT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQobixyLG8sYSxpLGMpe3RoaXMuX3pvbmU9bnVsbCx0aGlzLnJ1bkNvdW50PTAsdGhpcy5fem9uZURlbGVnYXRlcz1udWxsLHRoaXMuX3N0YXRlPSJub3RTY2hlZHVsZWQiLHRoaXMudHlwZT1uLHRoaXMuc291cmNlPXIsdGhpcy5kYXRhPWEsdGhpcy5zY2hlZHVsZUZuPWksdGhpcy5jYW5jZWxGbj1jLHRoaXMuY2FsbGJhY2s9bzt2YXIgcz10aGlzO3RoaXMuaW52b2tlPW49PT1TJiZhJiZhLnVzZUc/dC5pbnZva2VUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIHQuaW52b2tlVGFzay5jYWxsKGUscyx0aGlzLGFyZ3VtZW50cyl9fXJldHVybiB0Lmludm9rZVRhc2s9ZnVuY3Rpb24oZSx0LG4pe2V8fChlPXRoaXMpLHorKzt0cnl7cmV0dXJuIGUucnVuQ291bnQrKyxlLnpvbmUucnVuVGFzayhlLHQsbil9ZmluYWxseXsxPT16JiZ5KCksei0tfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJ6b25lIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3pvbmV9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJzdGF0ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdGF0ZX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5jYW5jZWxTY2hlZHVsZVJlcXVlc3Q9ZnVuY3Rpb24oKXt0aGlzLl90cmFuc2l0aW9uVG8oXyxtKX0sdC5wcm90b3R5cGUuX3RyYW5zaXRpb25Ubz1mdW5jdGlvbihlLHQsbil7aWYodGhpcy5fc3RhdGUhPT10JiZ0aGlzLl9zdGF0ZSE9PW4pdGhyb3cgbmV3IEVycm9yKHRoaXMudHlwZSsiICciK3RoaXMuc291cmNlKyInOiBjYW4gbm90IHRyYW5zaXRpb24gdG8gJyIrZSsiJywgZXhwZWN0aW5nIHN0YXRlICciK3QrIiciKyhuPyIgb3IgJyIrbisiJyI6IiIpKyIsIHdhcyAnIit0aGlzLl9zdGF0ZSsiJy4iKTt0aGlzLl9zdGF0ZT1lLGU9PV8mJih0aGlzLl96b25lRGVsZWdhdGVzPW51bGwpfSx0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGEmJnZvaWQgMCE9PXRoaXMuZGF0YS5oYW5kbGVJZD90aGlzLmRhdGEuaGFuZGxlSWQudG9TdHJpbmcoKTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcyl9LHQucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOnRoaXMudHlwZSxzdGF0ZTp0aGlzLnN0YXRlLHNvdXJjZTp0aGlzLnNvdXJjZSx6b25lOnRoaXMuem9uZS5uYW1lLHJ1bkNvdW50OnRoaXMucnVuQ291bnR9fSx0fSgpLGw9SSgic2V0VGltZW91dCIpLGY9SSgiUHJvbWlzZSIpLHA9SSgidGhlbiIpLGg9W10sZD0hMTtmdW5jdGlvbiB2KHQpe2lmKDA9PT16JiYwPT09aC5sZW5ndGgpaWYoYXx8ZVtmXSYmKGE9ZVtmXS5yZXNvbHZlKDApKSxhKXt2YXIgbj1hW3BdO258fChuPWEudGhlbiksbi5jYWxsKGEseSl9ZWxzZSBlW2xdKHksMCk7dCYmaC5wdXNoKHQpfWZ1bmN0aW9uIHkoKXtpZighZCl7Zm9yKGQ9ITA7aC5sZW5ndGg7KXt2YXIgZT1oO2g9W107Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBuPWVbdF07dHJ5e24uem9uZS5ydW5UYXNrKG4sbnVsbCxudWxsKX1jYXRjaChyKXtELm9uVW5oYW5kbGVkRXJyb3Iocil9fX1ELm1pY3JvdGFza0RyYWluRG9uZSgpLGQ9ITF9fXZhciBnPXtuYW1lOiJOTyBaT05FIn0sXz0ibm90U2NoZWR1bGVkIixtPSJzY2hlZHVsaW5nIixiPSJzY2hlZHVsZWQiLGs9InJ1bm5pbmciLFQ9ImNhbmNlbGluZyIsdz0idW5rbm93biIsRT0ibWljcm9UYXNrIixPPSJtYWNyb1Rhc2siLFM9ImV2ZW50VGFzayIsUD17fSxEPXtzeW1ib2w6SSxjdXJyZW50Wm9uZUZyYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIFp9LG9uVW5oYW5kbGVkRXJyb3I6QyxtaWNyb3Rhc2tEcmFpbkRvbmU6QyxzY2hlZHVsZU1pY3JvVGFzazp2LHNob3dVbmNhdWdodEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIWlbSSgiaWdub3JlQ29uc29sZUVycm9yVW5jYXVnaHRFcnJvciIpXX0scGF0Y2hFdmVudFRhcmdldDpmdW5jdGlvbigpe3JldHVybltdfSxwYXRjaE9uUHJvcGVydGllczpDLHBhdGNoTWV0aG9kOmZ1bmN0aW9uKCl7cmV0dXJuIEN9LGJpbmRBcmd1bWVudHM6ZnVuY3Rpb24oKXtyZXR1cm5bXX0scGF0Y2hUaGVuOmZ1bmN0aW9uKCl7cmV0dXJuIEN9LHBhdGNoTWFjcm9UYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIEN9LHNldE5hdGl2ZVByb21pc2U6ZnVuY3Rpb24oZSl7ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUucmVzb2x2ZSYmKGE9ZS5yZXNvbHZlKDApKX0scGF0Y2hFdmVudFByb3RvdHlwZTpmdW5jdGlvbigpe3JldHVybiBDfSxpc0lFT3JFZGdlOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGdldEdsb2JhbE9iamVjdHM6ZnVuY3Rpb24oKXt9LE9iamVjdERlZmluZVByb3BlcnR5OmZ1bmN0aW9uKCl7cmV0dXJuIEN9LE9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbigpe30sT2JqZWN0Q3JlYXRlOmZ1bmN0aW9uKCl7fSxBcnJheVNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuW119LHBhdGNoQ2xhc3M6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sd3JhcFdpdGhDdXJyZW50Wm9uZTpmdW5jdGlvbigpe3JldHVybiBDfSxmaWx0ZXJQcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuW119LGF0dGFjaE9yaWdpblRvUGF0Y2hlZDpmdW5jdGlvbigpe3JldHVybiBDfSxfcmVkZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbigpe3JldHVybiBDfSxwYXRjaENhbGxiYWNrczpmdW5jdGlvbigpe3JldHVybiBDfX0sWj17cGFyZW50Om51bGwsem9uZTpuZXcgaShudWxsLG51bGwpfSxqPW51bGwsej0wO2Z1bmN0aW9uIEMoKXt9ZnVuY3Rpb24gSShlKXtyZXR1cm4iX196b25lX3N5bWJvbF9fIitlfXIoIlpvbmUiLCJab25lIiksZS5ab25lPWl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3d8fCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZnx8Z2xvYmFsKSxab25lLl9fbG9hZF9wYXRjaCgiWm9uZUF3YXJlUHJvbWlzZSIsKGZ1bmN0aW9uKGUsdCxuKXt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGE9T2JqZWN0LmRlZmluZVByb3BlcnR5LGk9bi5zeW1ib2wsYz1bXSxzPWkoIlByb21pc2UiKSx1PWkoInRoZW4iKSxsPSJfX2NyZWF0aW9uVHJhY2VfXyI7bi5vblVuaGFuZGxlZEVycm9yPWZ1bmN0aW9uKGUpe2lmKG4uc2hvd1VuY2F1Z2h0RXJyb3IoKSl7dmFyIHQ9ZSYmZS5yZWplY3Rpb247dD9jb25zb2xlLmVycm9yKCJVbmhhbmRsZWQgUHJvbWlzZSByZWplY3Rpb246Iix0IGluc3RhbmNlb2YgRXJyb3I/dC5tZXNzYWdlOnQsIjsgWm9uZToiLGUuem9uZS5uYW1lLCI7IFRhc2s6IixlLnRhc2smJmUudGFzay5zb3VyY2UsIjsgVmFsdWU6Iix0LHQgaW5zdGFuY2VvZiBFcnJvcj90LnN0YWNrOnZvaWQgMCk6Y29uc29sZS5lcnJvcihlKX19LG4ubWljcm90YXNrRHJhaW5Eb25lPWZ1bmN0aW9uKCl7Zm9yKDtjLmxlbmd0aDspZm9yKHZhciBlPWZ1bmN0aW9uKCl7dmFyIGU9Yy5zaGlmdCgpO3RyeXtlLnpvbmUucnVuR3VhcmRlZCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfWNhdGNoKHQpe3AodCl9fTtjLmxlbmd0aDspZSgpfTt2YXIgZj1pKCJ1bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uSGFuZGxlciIpO2Z1bmN0aW9uIHAoZSl7bi5vblVuaGFuZGxlZEVycm9yKGUpO3RyeXt2YXIgcj10W2ZdO3ImJiJmdW5jdGlvbiI9PXR5cGVvZiByJiZyLmNhbGwodGhpcyxlKX1jYXRjaChvKXt9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGUmJmUudGhlbn1mdW5jdGlvbiBkKGUpe3JldHVybiBlfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIFIucmVqZWN0KGUpfXZhciB5PWkoInN0YXRlIiksZz1pKCJ2YWx1ZSIpLF89aSgiZmluYWxseSIpLG09aSgicGFyZW50UHJvbWlzZVZhbHVlIiksYj1pKCJwYXJlbnRQcm9taXNlU3RhdGUiKSxrPSJQcm9taXNlLnRoZW4iLFQ9bnVsbCx3PSEwLEU9ITEsTz0wO2Z1bmN0aW9uIFMoZSx0KXtyZXR1cm4gZnVuY3Rpb24obil7dHJ5e2ooZSx0LG4pfWNhdGNoKHIpe2ooZSwhMSxyKX19fXZhciBQPWZ1bmN0aW9uKCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe2V8fChlPSEwLHQuYXBwbHkobnVsbCxhcmd1bWVudHMpKX19fSxEPSJQcm9taXNlIHJlc29sdmVkIHdpdGggaXRzZWxmIixaPWkoImN1cnJlbnRUYXNrVHJhY2UiKTtmdW5jdGlvbiBqKGUscixvKXt2YXIgaSxzPVAoKTtpZihlPT09byl0aHJvdyBuZXcgVHlwZUVycm9yKEQpO2lmKGVbeV09PT1UKXt2YXIgdT1udWxsO3RyeXsib2JqZWN0IiE9dHlwZW9mIG8mJiJmdW5jdGlvbiIhPXR5cGVvZiBvfHwodT1vJiZvLnRoZW4pfWNhdGNoKHYpe3JldHVybiBzKChmdW5jdGlvbigpe2ooZSwhMSx2KX0pKSgpLGV9aWYociE9PUUmJm8gaW5zdGFuY2VvZiBSJiZvLmhhc093blByb3BlcnR5KHkpJiZvLmhhc093blByb3BlcnR5KGcpJiZvW3ldIT09VClDKG8pLGooZSxvW3ldLG9bZ10pO2Vsc2UgaWYociE9PUUmJiJmdW5jdGlvbiI9PXR5cGVvZiB1KXRyeXt1LmNhbGwobyxzKFMoZSxyKSkscyhTKGUsITEpKSl9Y2F0Y2godil7cygoZnVuY3Rpb24oKXtqKGUsITEsdil9KSkoKX1lbHNle2VbeV09cjt2YXIgZj1lW2ddO2lmKGVbZ109byxlW19dPT09XyYmcj09PXcmJihlW3ldPWVbYl0sZVtnXT1lW21dKSxyPT09RSYmbyBpbnN0YW5jZW9mIEVycm9yKXt2YXIgcD10LmN1cnJlbnRUYXNrJiZ0LmN1cnJlbnRUYXNrLmRhdGEmJnQuY3VycmVudFRhc2suZGF0YVtsXTtwJiZhKG8sWix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsdmFsdWU6cH0pfWZvcih2YXIgaD0wO2g8Zi5sZW5ndGg7KUkoZSxmW2grK10sZltoKytdLGZbaCsrXSxmW2grK10pO2lmKDA9PWYubGVuZ3RoJiZyPT1FKXtlW3ldPU87dHJ5e3Rocm93IG5ldyBFcnJvcigiVW5jYXVnaHQgKGluIHByb21pc2UpOiAiKygoaT1vKSYmaS50b1N0cmluZz09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc/KGkuY29uc3RydWN0b3ImJmkuY29uc3RydWN0b3IubmFtZXx8IiIpKyI6ICIrSlNPTi5zdHJpbmdpZnkoaSk6aT9pLnRvU3RyaW5nKCk6T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGkpKSsobyYmby5zdGFjaz8iXG4iK28uc3RhY2s6IiIpKX1jYXRjaCh2KXt2YXIgZD12O2QucmVqZWN0aW9uPW8sZC5wcm9taXNlPWUsZC56b25lPXQuY3VycmVudCxkLnRhc2s9dC5jdXJyZW50VGFzayxjLnB1c2goZCksbi5zY2hlZHVsZU1pY3JvVGFzaygpfX19fXJldHVybiBlfXZhciB6PWkoInJlamVjdGlvbkhhbmRsZWRIYW5kbGVyIik7ZnVuY3Rpb24gQyhlKXtpZihlW3ldPT09Tyl7dHJ5e3ZhciBuPXRbel07biYmImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4uY2FsbCh0aGlzLHtyZWplY3Rpb246ZVtnXSxwcm9taXNlOmV9KX1jYXRjaChvKXt9ZVt5XT1FO2Zvcih2YXIgcj0wO3I8Yy5sZW5ndGg7cisrKWU9PT1jW3JdLnByb21pc2UmJmMuc3BsaWNlKHIsMSl9fWZ1bmN0aW9uIEkoZSx0LG4scixvKXtDKGUpO3ZhciBhPWVbeV0saT1hPyJmdW5jdGlvbiI9PXR5cGVvZiByP3I6ZDoiZnVuY3Rpb24iPT10eXBlb2Ygbz9vOnY7dC5zY2hlZHVsZU1pY3JvVGFzayhrLChmdW5jdGlvbigpe3RyeXt2YXIgcj1lW2ddLG89biYmXz09PW5bX107byYmKG5bbV09cixuW2JdPWEpO3ZhciBjPXQucnVuKGksdm9pZCAwLG8mJmkhPT12JiZpIT09ZD9bXTpbcl0pO2oobiwhMCxjKX1jYXRjaChzKXtqKG4sITEscyl9fSksbil9dmFyIFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBFcnJvcigiTXVzdCBiZSBhbiBpbnN0YW5jZW9mIFByb21pc2UuIik7dGhpc1t5XT1ULHRoaXNbZ109W107dHJ5e3QmJnQoUyh0aGlzLHcpLFModGhpcyxFKSl9Y2F0Y2gobil7aih0aGlzLCExLG4pfX1yZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiBab25lQXdhcmVQcm9taXNlKCkgeyBbbmF0aXZlIGNvZGVdIH0ifSxlLnJlc29sdmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGoobmV3IHRoaXMobnVsbCksdyxlKX0sZS5yZWplY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIGoobmV3IHRoaXMobnVsbCksRSxlKX0sZS5yYWNlPWZ1bmN0aW9uKGUpe3ZhciB0LG4sbyxhLGk9bmV3IHRoaXMoKGZ1bmN0aW9uKGUsdCl7bz1lLGE9dH0pKTtmdW5jdGlvbiBjKGUpe28oZSl9ZnVuY3Rpb24gcyhlKXthKGUpfXRyeXtmb3IodmFyIHU9cihlKSxsPXUubmV4dCgpOyFsLmRvbmU7bD11Lm5leHQoKSl7dmFyIGY9bC52YWx1ZTtoKGYpfHwoZj10aGlzLnJlc29sdmUoZikpLGYudGhlbihjLHMpfX1jYXRjaChwKXt0PXtlcnJvcjpwfX1maW5hbGx5e3RyeXtsJiYhbC5kb25lJiYobj11LnJldHVybikmJm4uY2FsbCh1KX1maW5hbGx5e2lmKHQpdGhyb3cgdC5lcnJvcn19cmV0dXJuIGl9LGUuYWxsPWZ1bmN0aW9uKGUpe3ZhciB0LG4sbyxhLGk9bmV3IHRoaXMoKGZ1bmN0aW9uKGUsdCl7bz1lLGE9dH0pKSxjPTIscz0wLHU9W10sbD1mdW5jdGlvbihlKXtoKGUpfHwoZT1mLnJlc29sdmUoZSkpO3ZhciB0PXM7ZS50aGVuKChmdW5jdGlvbihlKXt1W3RdPWUsMD09LS1jJiZvKHUpfSksYSksYysrLHMrK30sZj10aGlzO3RyeXtmb3IodmFyIHA9cihlKSxkPXAubmV4dCgpOyFkLmRvbmU7ZD1wLm5leHQoKSlsKGQudmFsdWUpfWNhdGNoKHYpe3Q9e2Vycm9yOnZ9fWZpbmFsbHl7dHJ5e2QmJiFkLmRvbmUmJihuPXAucmV0dXJuKSYmbi5jYWxsKHApfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX1yZXR1cm4gMD09KGMtPTIpJiZvKHUpLGl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxTeW1ib2wudG9TdHJpbmdUYWcse2dldDpmdW5jdGlvbigpe3JldHVybiJQcm9taXNlIn0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsbil7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IobnVsbCksbz10LmN1cnJlbnQ7cmV0dXJuIHRoaXNbeV09PVQ/dGhpc1tnXS5wdXNoKG8scixlLG4pOkkodGhpcyxvLHIsZSxuKSxyfSxlLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50aGVuKG51bGwsZSl9LGUucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24oZSl7dmFyIG49bmV3IHRoaXMuY29uc3RydWN0b3IobnVsbCk7bltfXT1fO3ZhciByPXQuY3VycmVudDtyZXR1cm4gdGhpc1t5XT09VD90aGlzW2ddLnB1c2gocixuLGUsZSk6SSh0aGlzLHIsbixlLGUpLG59LGV9KCk7Ui5yZXNvbHZlPVIucmVzb2x2ZSxSLnJlamVjdD1SLnJlamVjdCxSLnJhY2U9Ui5yYWNlLFIuYWxsPVIuYWxsO3ZhciB4PWVbc109ZS5Qcm9taXNlLE09dC5fX3N5bWJvbF9fKCJab25lQXdhcmVQcm9taXNlIiksTD1vKGUsIlByb21pc2UiKTtMJiYhTC5jb25maWd1cmFibGV8fChMJiZkZWxldGUgTC53cml0YWJsZSxMJiZkZWxldGUgTC52YWx1ZSxMfHwoTD17Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9KSxMLmdldD1mdW5jdGlvbigpe3JldHVybiBlW01dP2VbTV06ZVtzXX0sTC5zZXQ9ZnVuY3Rpb24odCl7dD09PVI/ZVtNXT10OihlW3NdPXQsdC5wcm90b3R5cGVbdV18fEEodCksbi5zZXROYXRpdmVQcm9taXNlKHQpKX0sYShlLCJQcm9taXNlIixMKSksZS5Qcm9taXNlPVI7dmFyIE4sRj1pKCJ0aGVuUGF0Y2hlZCIpO2Z1bmN0aW9uIEEoZSl7dmFyIHQ9ZS5wcm90b3R5cGUsbj1vKHQsInRoZW4iKTtpZighbnx8ITEhPT1uLndyaXRhYmxlJiZuLmNvbmZpZ3VyYWJsZSl7dmFyIHI9dC50aGVuO3RbdV09cixlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gbmV3IFIoKGZ1bmN0aW9uKGUsdCl7ci5jYWxsKG4sZSx0KX0pKS50aGVuKGUsdCl9LGVbRl09ITB9fWlmKG4ucGF0Y2hUaGVuPUEseCl7QSh4KTt2YXIgSD1lLmZldGNoOyJmdW5jdGlvbiI9PXR5cGVvZiBIJiYoZVtuLnN5bWJvbCgiZmV0Y2giKV09SCxlLmZldGNoPShOPUgsZnVuY3Rpb24oKXt2YXIgZT1OLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZihlIGluc3RhbmNlb2YgUilyZXR1cm4gZTt2YXIgdD1lLmNvbnN0cnVjdG9yO3JldHVybiB0W0ZdfHxBKHQpLGV9KSl9cmV0dXJuIFByb21pc2VbdC5fX3N5bWJvbF9fKCJ1bmNhdWdodFByb21pc2VFcnJvcnMiKV09YyxSfSkpO3ZhciBlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsdD1PYmplY3QuZGVmaW5lUHJvcGVydHksbj1PYmplY3QuZ2V0UHJvdG90eXBlT2Ysbz1PYmplY3QuY3JlYXRlLGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLGk9ImFkZEV2ZW50TGlzdGVuZXIiLGM9InJlbW92ZUV2ZW50TGlzdGVuZXIiLHM9Wm9uZS5fX3N5bWJvbF9fKGkpLHU9Wm9uZS5fX3N5bWJvbF9fKGMpLGw9InRydWUiLGY9ImZhbHNlIixwPSJfX3pvbmVfc3ltYm9sX18iO2Z1bmN0aW9uIGgoZSx0KXtyZXR1cm4gWm9uZS5jdXJyZW50LndyYXAoZSx0KX1mdW5jdGlvbiBkKGUsdCxuLHIsbyl7cmV0dXJuIFpvbmUuY3VycmVudC5zY2hlZHVsZU1hY3JvVGFzayhlLHQsbixyLG8pfXZhciB2PVpvbmUuX19zeW1ib2xfXyx5PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LGc9eT93aW5kb3c6dm9pZCAwLF89eSYmZ3x8Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmfHxnbG9iYWwsbT0icmVtb3ZlQXR0cmlidXRlIixiPVtudWxsXTtmdW5jdGlvbiBrKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLTE7bj49MDtuLS0pImZ1bmN0aW9uIj09dHlwZW9mIGVbbl0mJihlW25dPWgoZVtuXSx0KyJfIituKSk7cmV0dXJuIGV9ZnVuY3Rpb24gVChlKXtyZXR1cm4hZXx8ITEhPT1lLndyaXRhYmxlJiYhKCJmdW5jdGlvbiI9PXR5cGVvZiBlLmdldCYmdm9pZCAwPT09ZS5zZXQpfXZhciB3PSJ1bmRlZmluZWQiIT10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGUmJnNlbGYgaW5zdGFuY2VvZiBXb3JrZXJHbG9iYWxTY29wZSxFPSEoIm53ImluIF8pJiZ2b2lkIDAhPT1fLnByb2Nlc3MmJiJbb2JqZWN0IHByb2Nlc3NdIj09PXt9LnRvU3RyaW5nLmNhbGwoXy5wcm9jZXNzKSxPPSFFJiYhdyYmISgheXx8IWcuSFRNTEVsZW1lbnQpLFM9dm9pZCAwIT09Xy5wcm9jZXNzJiYiW29iamVjdCBwcm9jZXNzXSI9PT17fS50b1N0cmluZy5jYWxsKF8ucHJvY2VzcykmJiF3JiYhKCF5fHwhZy5IVE1MRWxlbWVudCksUD17fSxEPWZ1bmN0aW9uKGUpe2lmKGU9ZXx8Xy5ldmVudCl7dmFyIHQ9UFtlLnR5cGVdO3R8fCh0PVBbZS50eXBlXT12KCJPTl9QUk9QRVJUWSIrZS50eXBlKSk7dmFyIG4scj10aGlzfHxlLnRhcmdldHx8XyxvPXJbdF07aWYoTyYmcj09PWcmJiJlcnJvciI9PT1lLnR5cGUpe3ZhciBhPWU7ITA9PT0obj1vJiZvLmNhbGwodGhpcyxhLm1lc3NhZ2UsYS5maWxlbmFtZSxhLmxpbmVubyxhLmNvbG5vLGEuZXJyb3IpKSYmZS5wcmV2ZW50RGVmYXVsdCgpfWVsc2UgbnVsbD09KG49byYmby5hcHBseSh0aGlzLGFyZ3VtZW50cykpfHxufHxlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIG59fTtmdW5jdGlvbiBaKG4scixvKXt2YXIgYT1lKG4scik7aWYoIWEmJm8mJmUobyxyKSYmKGE9e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksYSYmYS5jb25maWd1cmFibGUpe3ZhciBpPXYoIm9uIityKyJwYXRjaGVkIik7aWYoIW4uaGFzT3duUHJvcGVydHkoaSl8fCFuW2ldKXtkZWxldGUgYS53cml0YWJsZSxkZWxldGUgYS52YWx1ZTt2YXIgYz1hLmdldCxzPWEuc2V0LHU9ci5zdWJzdHIoMiksbD1QW3VdO2x8fChsPVBbdV09digiT05fUFJPUEVSVFkiK3UpKSxhLnNldD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3R8fG4hPT1ffHwodD1fKSx0JiYodFtsXSYmdC5yZW1vdmVFdmVudExpc3RlbmVyKHUsRCkscyYmcy5hcHBseSh0LGIpLCJmdW5jdGlvbiI9PXR5cGVvZiBlPyh0W2xdPWUsdC5hZGRFdmVudExpc3RlbmVyKHUsRCwhMSkpOnRbbF09bnVsbCl9LGEuZ2V0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZihlfHxuIT09X3x8KGU9XyksIWUpcmV0dXJuIG51bGw7dmFyIHQ9ZVtsXTtpZih0KXJldHVybiB0O2lmKGMpe3ZhciBvPWMmJmMuY2FsbCh0aGlzKTtpZihvKXJldHVybiBhLnNldC5jYWxsKHRoaXMsbyksImZ1bmN0aW9uIj09dHlwZW9mIGVbbV0mJmUucmVtb3ZlQXR0cmlidXRlKHIpLG99cmV0dXJuIG51bGx9LHQobixyLGEpLG5baV09ITB9fX1mdW5jdGlvbiBqKGUsdCxuKXtpZih0KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKVooZSwib24iK3Rbcl0sbik7ZWxzZXt2YXIgbz1bXTtmb3IodmFyIGEgaW4gZSkib24iPT1hLnN1YnN0cigwLDIpJiZvLnB1c2goYSk7Zm9yKHZhciBpPTA7aTxvLmxlbmd0aDtpKyspWihlLG9baV0sbil9fXZhciB6PXYoIm9yaWdpbmFsSW5zdGFuY2UiKTtmdW5jdGlvbiBDKGUpe3ZhciBuPV9bZV07aWYobil7X1t2KGUpXT1uLF9bZV09ZnVuY3Rpb24oKXt2YXIgdD1rKGFyZ3VtZW50cyxlKTtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMDp0aGlzW3pdPW5ldyBuO2JyZWFrO2Nhc2UgMTp0aGlzW3pdPW5ldyBuKHRbMF0pO2JyZWFrO2Nhc2UgMjp0aGlzW3pdPW5ldyBuKHRbMF0sdFsxXSk7YnJlYWs7Y2FzZSAzOnRoaXNbel09bmV3IG4odFswXSx0WzFdLHRbMl0pO2JyZWFrO2Nhc2UgNDp0aGlzW3pdPW5ldyBuKHRbMF0sdFsxXSx0WzJdLHRbM10pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJBcmcgbGlzdCB0b28gbG9uZy4iKX19LE0oX1tlXSxuKTt2YXIgcixvPW5ldyBuKChmdW5jdGlvbigpe30pKTtmb3IociBpbiBvKSJYTUxIdHRwUmVxdWVzdCI9PT1lJiYicmVzcG9uc2VCbG9iIj09PXJ8fGZ1bmN0aW9uKG4peyJmdW5jdGlvbiI9PXR5cGVvZiBvW25dP19bZV0ucHJvdG90eXBlW25dPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbel1bbl0uYXBwbHkodGhpc1t6XSxhcmd1bWVudHMpfTp0KF9bZV0ucHJvdG90eXBlLG4se3NldDpmdW5jdGlvbih0KXsiZnVuY3Rpb24iPT10eXBlb2YgdD8odGhpc1t6XVtuXT1oKHQsZSsiLiIrbiksTSh0aGlzW3pdW25dLHQpKTp0aGlzW3pdW25dPXR9LGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzW3pdW25dfX0pfShyKTtmb3IociBpbiBuKSJwcm90b3R5cGUiIT09ciYmbi5oYXNPd25Qcm9wZXJ0eShyKSYmKF9bZV1bcl09bltyXSl9fXZhciBJPSExO2Z1bmN0aW9uIFIodCxyLG8pe2Zvcih2YXIgYT10O2EmJiFhLmhhc093blByb3BlcnR5KHIpOylhPW4oYSk7IWEmJnRbcl0mJihhPXQpO3ZhciBpLGMscz12KHIpLHU9bg=="

{ "type": 12, "id": "Es72izsZMZjiBxwxizhdfZyrArmzwXKBAdynqyEZK3ub", "fee": 12900000, "feeAssetId": null, "timestamp": 1575458789588, "version": 1, "sender": "3N2rk3yzChsJp4wCS5VLo5Q3ifLmDChfbzQ", "senderPublicKey": "BdACbbxkapMbmbtG7UxdPQ5Y8grEhk9cNxLNGAF5znme", "proofs": [ "rsVgetGd5Yh1yTMHMfGvTpNQ1piBWBhTEAK38xhYvk8TaDcJajoXhYzTu4ausDAvJ2FDgtgUQanXkUbMKzTowVZ" ], "data": [ { "key": "newOne?runtime.js?2?0", "type": "binary", "value": "base64:KHdpbmRvdy53ZWJwYWNrSnNvbnA9d2luZG93LndlYnBhY2tKc29ucHx8W10pLnB1c2goW1syXSx7IjBUV3AiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJtclNHIikuX192YWx1ZXM7IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiOyFmdW5jdGlvbihlKXt2YXIgdD1lLnBlcmZvcm1hbmNlO2Z1bmN0aW9uIG4oZSl7dCYmdC5tYXJrJiZ0Lm1hcmsoZSl9ZnVuY3Rpb24gcihlLG4pe3QmJnQubWVhc3VyZSYmdC5tZWFzdXJlKGUsbil9bigiWm9uZSIpO3ZhciBvPSEwPT09ZS5fX3pvbmVfc3ltYm9sX19mb3JjZUR1cGxpY2F0ZVpvbmVDaGVjaztpZihlLlpvbmUpe2lmKG98fCJmdW5jdGlvbiIhPXR5cGVvZiBlLlpvbmUuX19zeW1ib2xfXyl0aHJvdyBuZXcgRXJyb3IoIlpvbmUgYWxyZWFkeSBsb2FkZWQuIik7cmV0dXJuIGUuWm9uZX12YXIgYSxpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLHQpe3RoaXMuX3BhcmVudD1lLHRoaXMuX25hbWU9dD90Lm5hbWV8fCJ1bm5hbWVkIjoiPHJvb3Q+Iix0aGlzLl9wcm9wZXJ0aWVzPXQmJnQucHJvcGVydGllc3x8e30sdGhpcy5fem9uZURlbGVnYXRlPW5ldyBzKHRoaXMsdGhpcy5fcGFyZW50JiZ0aGlzLl9wYXJlbnQuX3pvbmVEZWxlZ2F0ZSx0KX1yZXR1cm4gdC5hc3NlcnRab25lUGF0Y2hlZD1mdW5jdGlvbigpe2lmKGUuUHJvbWlzZSE9PVAuWm9uZUF3YXJlUHJvbWlzZSl0aHJvdyBuZXcgRXJyb3IoIlpvbmUuanMgaGFzIGRldGVjdGVkIHRoYXQgWm9uZUF3YXJlUHJvbWlzZSBgKHdpbmRvd3xnbG9iYWwpLlByb21pc2VgIGhhcyBiZWVuIG92ZXJ3cml0dGVuLlxuTW9zdCBsaWtlbHkgY2F1c2UgaXMgdGhhdCBhIFByb21pc2UgcG9seWZpbGwgaGFzIGJlZW4gbG9hZGVkIGFmdGVyIFpvbmUuanMgKFBvbHlmaWxsaW5nIFByb21pc2UgYXBpIGlzIG5vdCBuZWNlc3Nhcnkgd2hlbiB6b25lLmpzIGlzIGxvYWRlZC4gSWYgeW91IG11c3QgbG9hZCBvbmUsIGRvIHNvIGJlZm9yZSBsb2FkaW5nIHpvbmUuanMuKSIpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwicm9vdCIse2dldDpmdW5jdGlvbigpe2Zvcih2YXIgZT10LmN1cnJlbnQ7ZS5wYXJlbnQ7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImN1cnJlbnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWi56b25lfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJjdXJyZW50VGFzayIse2dldDpmdW5jdGlvbigpe3JldHVybiBqfSxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pLHQuX19sb2FkX3BhdGNoPWZ1bmN0aW9uKGEsaSl7aWYoUC5oYXNPd25Qcm9wZXJ0eShhKSl7aWYobyl0aHJvdyBFcnJvcigiQWxyZWFkeSBsb2FkZWQgcGF0Y2g6ICIrYSl9ZWxzZSBpZighZVsiX19ab25lX2Rpc2FibGVfIithXSl7dmFyIGM9IlpvbmU6IithO24oYyksUFthXT1pKGUsdCxEKSxyKGMsYyl9fSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm90b3R5cGUsInBhcmVudCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYXJlbnR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJuYW1lIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25hbWV9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksdC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0Wm9uZVdpdGgoZSk7aWYodClyZXR1cm4gdC5fcHJvcGVydGllc1tlXX0sdC5wcm90b3R5cGUuZ2V0Wm9uZVdpdGg9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXRoaXM7dDspe2lmKHQuX3Byb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIHQ7dD10Ll9wYXJlbnR9cmV0dXJuIG51bGx9LHQucHJvdG90eXBlLmZvcms9ZnVuY3Rpb24oZSl7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJab25lU3BlYyByZXF1aXJlZCEiKTtyZXR1cm4gdGhpcy5fem9uZURlbGVnYXRlLmZvcmsodGhpcyxlKX0sdC5wcm90b3R5cGUud3JhcD1mdW5jdGlvbihlLHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiRXhwZWN0aW5nIGZ1bmN0aW9uIGdvdDogIitlKTt2YXIgbj10aGlzLl96b25lRGVsZWdhdGUuaW50ZXJjZXB0KHRoaXMsZSx0KSxyPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHIucnVuR3VhcmRlZChuLHRoaXMsYXJndW1lbnRzLHQpfX0sdC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKGUsdCxuLHIpe1o9e3BhcmVudDpaLHpvbmU6dGhpc307dHJ5e3JldHVybiB0aGlzLl96b25lRGVsZWdhdGUuaW52b2tlKHRoaXMsZSx0LG4scil9ZmluYWxseXtaPVoucGFyZW50fX0sdC5wcm90b3R5cGUucnVuR3VhcmRlZD1mdW5jdGlvbihlLHQsbixyKXt2b2lkIDA9PT10JiYodD1udWxsKSxaPXtwYXJlbnQ6Wix6b25lOnRoaXN9O3RyeXt0cnl7cmV0dXJuIHRoaXMuX3pvbmVEZWxlZ2F0ZS5pbnZva2UodGhpcyxlLHQsbixyKX1jYXRjaChvKXtpZih0aGlzLl96b25lRGVsZWdhdGUuaGFuZGxlRXJyb3IodGhpcyxvKSl0aHJvdyBvfX1maW5hbGx5e1o9Wi5wYXJlbnR9fSx0LnByb3RvdHlwZS5ydW5UYXNrPWZ1bmN0aW9uKGUsdCxuKXtpZihlLnpvbmUhPXRoaXMpdGhyb3cgbmV3IEVycm9yKCJBIHRhc2sgY2FuIG9ubHkgYmUgcnVuIGluIHRoZSB6b25lIG9mIGNyZWF0aW9uISAoQ3JlYXRpb246ICIrKGUuem9uZXx8ZykubmFtZSsiOyBFeGVjdXRpb246ICIrdGhpcy5uYW1lKyIpIik7aWYoZS5zdGF0ZSE9PV98fGUudHlwZSE9PVMmJmUudHlwZSE9PU8pe3ZhciByPWUuc3RhdGUhPWs7ciYmZS5fdHJhbnNpdGlvblRvKGssYiksZS5ydW5Db3VudCsrO3ZhciBvPWo7aj1lLFo9e3BhcmVudDpaLHpvbmU6dGhpc307dHJ5e2UudHlwZT09TyYmZS5kYXRhJiYhZS5kYXRhLmlzUGVyaW9kaWMmJihlLmNhbmNlbEZuPXZvaWQgMCk7dHJ5e3JldHVybiB0aGlzLl96b25lRGVsZWdhdGUuaW52b2tlVGFzayh0aGlzLGUsdCxuKX1jYXRjaChhKXtpZih0aGlzLl96b25lRGVsZWdhdGUuaGFuZGxlRXJyb3IodGhpcyxhKSl0aHJvdyBhfX1maW5hbGx5e2Uuc3RhdGUhPT1fJiZlLnN0YXRlIT09dyYmKGUudHlwZT09U3x8ZS5kYXRhJiZlLmRhdGEuaXNQZXJpb2RpYz9yJiZlLl90cmFuc2l0aW9uVG8oYixrKTooZS5ydW5Db3VudD0wLHRoaXMuX3VwZGF0ZVRhc2tDb3VudChlLC0xKSxyJiZlLl90cmFuc2l0aW9uVG8oXyxrLF8pKSksWj1aLnBhcmVudCxqPW99fX0sdC5wcm90b3R5cGUuc2NoZWR1bGVUYXNrPWZ1bmN0aW9uKGUpe2lmKGUuem9uZSYmZS56b25lIT09dGhpcylmb3IodmFyIHQ9dGhpczt0Oyl7aWYodD09PWUuem9uZSl0aHJvdyBFcnJvcigiY2FuIG5vdCByZXNjaGVkdWxlIHRhc2sgdG8gIit0aGlzLm5hbWUrIiB3aGljaCBpcyBkZXNjZW5kYW50cyBvZiB0aGUgb3JpZ2luYWwgem9uZSAiK2Uuem9uZS5uYW1lKTt0PXQucGFyZW50fWUuX3RyYW5zaXRpb25UbyhtLF8pO3ZhciBuPVtdO2UuX3pvbmVEZWxlZ2F0ZXM9bixlLl96b25lPXRoaXM7dHJ5e2U9dGhpcy5fem9uZURlbGVnYXRlLnNjaGVkdWxlVGFzayh0aGlzLGUpfWNhdGNoKHIpe3Rocm93IGUuX3RyYW5zaXRpb25Ubyh3LG0sXyksdGhpcy5fem9uZURlbGVnYXRlLmhhbmRsZUVycm9yKHRoaXMscikscn1yZXR1cm4gZS5fem9uZURlbGVnYXRlcz09PW4mJnRoaXMuX3VwZGF0ZVRhc2tDb3VudChlLDEpLGUuc3RhdGU9PW0mJmUuX3RyYW5zaXRpb25UbyhiLG0pLGV9LHQucHJvdG90eXBlLnNjaGVkdWxlTWljcm9UYXNrPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLnNjaGVkdWxlVGFzayhuZXcgdShFLGUsdCxuLHIsdm9pZCAwKSl9LHQucHJvdG90eXBlLnNjaGVkdWxlTWFjcm9UYXNrPWZ1bmN0aW9uKGUsdCxuLHIsbyl7cmV0dXJuIHRoaXMuc2NoZWR1bGVUYXNrKG5ldyB1KE8sZSx0LG4scixvKSl9LHQucHJvdG90eXBlLnNjaGVkdWxlRXZlbnRUYXNrPWZ1bmN0aW9uKGUsdCxuLHIsbyl7cmV0dXJuIHRoaXMuc2NoZWR1bGVUYXNrKG5ldyB1KFMsZSx0LG4scixvKSl9LHQucHJvdG90eXBlLmNhbmNlbFRhc2s9ZnVuY3Rpb24oZSl7aWYoZS56b25lIT10aGlzKXRocm93IG5ldyBFcnJvcigiQSB0YXNrIGNhbiBvbmx5IGJlIGNhbmNlbGxlZCBpbiB0aGUgem9uZSBvZiBjcmVhdGlvbiEgKENyZWF0aW9uOiAiKyhlLnpvbmV8fGcpLm5hbWUrIjsgRXhlY3V0aW9uOiAiK3RoaXMubmFtZSsiKSIpO2UuX3RyYW5zaXRpb25UbyhULGIsayk7dHJ5e3RoaXMuX3pvbmVEZWxlZ2F0ZS5jYW5jZWxUYXNrKHRoaXMsZSl9Y2F0Y2godCl7dGhyb3cgZS5fdHJhbnNpdGlvblRvKHcsVCksdGhpcy5fem9uZURlbGVnYXRlLmhhbmRsZUVycm9yKHRoaXMsdCksdH1yZXR1cm4gdGhpcy5fdXBkYXRlVGFza0NvdW50KGUsLTEpLGUuX3RyYW5zaXRpb25UbyhfLFQpLGUucnVuQ291bnQ9MCxlfSx0LnByb3RvdHlwZS5fdXBkYXRlVGFza0NvdW50PWZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5fem9uZURlbGVnYXRlczstMT09dCYmKGUuX3pvbmVEZWxlZ2F0ZXM9bnVsbCk7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspbltyXS5fdXBkYXRlVGFza0NvdW50KGUudHlwZSx0KX0sdC5fX3N5bWJvbF9fPUksdH0oKSxjPXtuYW1lOiIiLG9uSGFzVGFzazpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gZS5oYXNUYXNrKG4scil9LG9uU2NoZWR1bGVUYXNrOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBlLnNjaGVkdWxlVGFzayhuLHIpfSxvbkludm9rZVRhc2s6ZnVuY3Rpb24oZSx0LG4scixvLGEpe3JldHVybiBlLmludm9rZVRhc2sobixyLG8sYSl9LG9uQ2FuY2VsVGFzazpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gZS5jYW5jZWxUYXNrKG4scil9fSxzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsbil7dGhpcy5fdGFza0NvdW50cz17bWljcm9UYXNrOjAsbWFjcm9UYXNrOjAsZXZlbnRUYXNrOjB9LHRoaXMuem9uZT1lLHRoaXMuX3BhcmVudERlbGVnYXRlPXQsdGhpcy5fZm9ya1pTPW4mJihuJiZuLm9uRm9yaz9uOnQuX2ZvcmtaUyksdGhpcy5fZm9ya0RsZ3Q9biYmKG4ub25Gb3JrP3Q6dC5fZm9ya0RsZ3QpLHRoaXMuX2ZvcmtDdXJyWm9uZT1uJiYobi5vbkZvcms/dGhpcy56b25lOnQuem9uZSksdGhpcy5faW50ZXJjZXB0WlM9biYmKG4ub25JbnRlcmNlcHQ/bjp0Ll9pbnRlcmNlcHRaUyksdGhpcy5faW50ZXJjZXB0RGxndD1uJiYobi5vbkludGVyY2VwdD90OnQuX2ludGVyY2VwdERsZ3QpLHRoaXMuX2ludGVyY2VwdEN1cnJab25lPW4mJihuLm9uSW50ZXJjZXB0P3RoaXMuem9uZTp0LnpvbmUpLHRoaXMuX2ludm9rZVpTPW4mJihuLm9uSW52b2tlP246dC5faW52b2tlWlMpLHRoaXMuX2ludm9rZURsZ3Q9biYmKG4ub25JbnZva2U/dDp0Ll9pbnZva2VEbGd0KSx0aGlzLl9pbnZva2VDdXJyWm9uZT1uJiYobi5vbkludm9rZT90aGlzLnpvbmU6dC56b25lKSx0aGlzLl9oYW5kbGVFcnJvclpTPW4mJihuLm9uSGFuZGxlRXJyb3I/bjp0Ll9oYW5kbGVFcnJvclpTKSx0aGlzLl9oYW5kbGVFcnJvckRsZ3Q9biYmKG4ub25IYW5kbGVFcnJvcj90OnQuX2hhbmRsZUVycm9yRGxndCksdGhpcy5faGFuZGxlRXJyb3JDdXJyWm9uZT1uJiYobi5vbkhhbmRsZUVycm9yP3RoaXMuem9uZTp0LnpvbmUpLHRoaXMuX3NjaGVkdWxlVGFza1pTPW4mJihuLm9uU2NoZWR1bGVUYXNrP246dC5fc2NoZWR1bGVUYXNrWlMpLHRoaXMuX3NjaGVkdWxlVGFza0RsZ3Q9biYmKG4ub25TY2hlZHVsZVRhc2s/dDp0Ll9zY2hlZHVsZVRhc2tEbGd0KSx0aGlzLl9zY2hlZHVsZVRhc2tDdXJyWm9uZT1uJiYobi5vblNjaGVkdWxlVGFzaz90aGlzLnpvbmU6dC56b25lKSx0aGlzLl9pbnZva2VUYXNrWlM9biYmKG4ub25JbnZva2VUYXNrP246dC5faW52b2tlVGFza1pTKSx0aGlzLl9pbnZva2VUYXNrRGxndD1uJiYobi5vbkludm9rZVRhc2s/dDp0Ll9pbnZva2VUYXNrRGxndCksdGhpcy5faW52b2tlVGFza0N1cnJab25lPW4mJihuLm9uSW52b2tlVGFzaz90aGlzLnpvbmU6dC56b25lKSx0aGlzLl9jYW5jZWxUYXNrWlM9biYmKG4ub25DYW5jZWxUYXNrP246dC5fY2FuY2VsVGFza1pTKSx0aGlzLl9jYW5jZWxUYXNrRGxndD1uJiYobi5vbkNhbmNlbFRhc2s/dDp0Ll9jYW5jZWxUYXNrRGxndCksdGhpcy5fY2FuY2VsVGFza0N1cnJab25lPW4mJihuLm9uQ2FuY2VsVGFzaz90aGlzLnpvbmU6dC56b25lKSx0aGlzLl9oYXNUYXNrWlM9bnVsbCx0aGlzLl9oYXNUYXNrRGxndD1udWxsLHRoaXMuX2hhc1Rhc2tEbGd0T3duZXI9bnVsbCx0aGlzLl9oYXNUYXNrQ3VyclpvbmU9bnVsbDt2YXIgcj1uJiZuLm9uSGFzVGFzazsocnx8dCYmdC5faGFzVGFza1pTKSYmKHRoaXMuX2hhc1Rhc2taUz1yP246Yyx0aGlzLl9oYXNUYXNrRGxndD10LHRoaXMuX2hhc1Rhc2tEbGd0T3duZXI9dGhpcyx0aGlzLl9oYXNUYXNrQ3VyclpvbmU9ZSxuLm9uU2NoZWR1bGVUYXNrfHwodGhpcy5fc2NoZWR1bGVUYXNrWlM9Yyx0aGlzLl9zY2hlZHVsZVRhc2tEbGd0PXQsdGhpcy5fc2NoZWR1bGVUYXNrQ3VyclpvbmU9dGhpcy56b25lKSxuLm9uSW52b2tlVGFza3x8KHRoaXMuX2ludm9rZVRhc2taUz1jLHRoaXMuX2ludm9rZVRhc2tEbGd0PXQsdGhpcy5faW52b2tlVGFza0N1cnJab25lPXRoaXMuem9uZSksbi5vbkNhbmNlbFRhc2t8fCh0aGlzLl9jYW5jZWxUYXNrWlM9Yyx0aGlzLl9jYW5jZWxUYXNrRGxndD10LHRoaXMuX2NhbmNlbFRhc2tDdXJyWm9uZT10aGlzLnpvbmUpKX1yZXR1cm4gZS5wcm90b3R5cGUuZm9yaz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9mb3JrWlM/dGhpcy5fZm9ya1pTLm9uRm9yayh0aGlzLl9mb3JrRGxndCx0aGlzLnpvbmUsZSx0KTpuZXcgaShlLHQpfSxlLnByb3RvdHlwZS5pbnRlcmNlcHQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0aGlzLl9pbnRlcmNlcHRaUz90aGlzLl9pbnRlcmNlcHRaUy5vbkludGVyY2VwdCh0aGlzLl9pbnRlcmNlcHREbGd0LHRoaXMuX2ludGVyY2VwdEN1cnJab25lLGUsdCxuKTp0fSxlLnByb3RvdHlwZS5pbnZva2U9ZnVuY3Rpb24oZSx0LG4scixvKXtyZXR1cm4gdGhpcy5faW52b2tlWlM/dGhpcy5faW52b2tlWlMub25JbnZva2UodGhpcy5faW52b2tlRGxndCx0aGlzLl9pbnZva2VDdXJyWm9uZSxlLHQsbixyLG8pOnQuYXBwbHkobixyKX0sZS5wcm90b3R5cGUuaGFuZGxlRXJyb3I9ZnVuY3Rpb24oZSx0KXtyZXR1cm4hdGhpcy5faGFuZGxlRXJyb3JaU3x8dGhpcy5faGFuZGxlRXJyb3JaUy5vbkhhbmRsZUVycm9yKHRoaXMuX2hhbmRsZUVycm9yRGxndCx0aGlzLl9oYW5kbGVFcnJvckN1cnJab25lLGUsdCl9LGUucHJvdG90eXBlLnNjaGVkdWxlVGFzaz1mdW5jdGlvbihlLHQpe3ZhciBuPXQ7aWYodGhpcy5fc2NoZWR1bGVUYXNrWlMpdGhpcy5faGFzVGFza1pTJiZuLl96b25lRGVsZWdhdGVzLnB1c2godGhpcy5faGFzVGFza0RsZ3RPd25lciksKG49dGhpcy5fc2NoZWR1bGVUYXNrWlMub25TY2hlZHVsZVRhc2sodGhpcy5fc2NoZWR1bGVUYXNrRGxndCx0aGlzLl9zY2hlZHVsZVRhc2tDdXJyWm9uZSxlLHQpKXx8KG49dCk7ZWxzZSBpZih0LnNjaGVkdWxlRm4pdC5zY2hlZHVsZUZuKHQpO2Vsc2V7aWYodC50eXBlIT1FKXRocm93IG5ldyBFcnJvcigiVGFzayBpcyBtaXNzaW5nIHNjaGVkdWxlRm4uIik7dih0KX1yZXR1cm4gbn0sZS5wcm90b3R5cGUuaW52b2tlVGFzaz1mdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gdGhpcy5faW52b2tlVGFza1pTP3RoaXMuX2ludm9rZVRhc2taUy5vbkludm9rZVRhc2sodGhpcy5faW52b2tlVGFza0RsZ3QsdGhpcy5faW52b2tlVGFza0N1cnJab25lLGUsdCxuLHIpOnQuY2FsbGJhY2suYXBwbHkobixyKX0sZS5wcm90b3R5cGUuY2FuY2VsVGFzaz1mdW5jdGlvbihlLHQpe3ZhciBuO2lmKHRoaXMuX2NhbmNlbFRhc2taUyluPXRoaXMuX2NhbmNlbFRhc2taUy5vbkNhbmNlbFRhc2sodGhpcy5fY2FuY2VsVGFza0RsZ3QsdGhpcy5fY2FuY2VsVGFza0N1cnJab25lLGUsdCk7ZWxzZXtpZighdC5jYW5jZWxGbil0aHJvdyBFcnJvcigiVGFzayBpcyBub3QgY2FuY2VsYWJsZSIpO249dC5jYW5jZWxGbih0KX1yZXR1cm4gbn0sZS5wcm90b3R5cGUuaGFzVGFzaz1mdW5jdGlvbihlLHQpe3RyeXt0aGlzLl9oYXNUYXNrWlMmJnRoaXMuX2hhc1Rhc2taUy5vbkhhc1Rhc2sodGhpcy5faGFzVGFza0RsZ3QsdGhpcy5faGFzVGFza0N1cnJab25lLGUsdCl9Y2F0Y2gobil7dGhpcy5oYW5kbGVFcnJvcihlLG4pfX0sZS5wcm90b3R5cGUuX3VwZGF0ZVRhc2tDb3VudD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuX3Rhc2tDb3VudHMscj1uW2VdLG89bltlXT1yK3Q7aWYobzwwKXRocm93IG5ldyBFcnJvcigiTW9yZSB0YXNrcyBleGVjdXRlZCB0aGVuIHdlcmUgc2NoZWR1bGVkLiIpOzAhPXImJjAhPW98fHRoaXMuaGFzVGFzayh0aGlzLnpvbmUse21pY3JvVGFzazpuLm1pY3JvVGFzaz4wLG1hY3JvVGFzazpuLm1hY3JvVGFzaz4wLGV2ZW50VGFzazpuLmV2ZW50VGFzaz4wLGNoYW5nZTplfSl9LGV9KCksdT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQobixyLG8sYSxpLGMpe3RoaXMuX3pvbmU9bnVsbCx0aGlzLnJ1bkNvdW50PTAsdGhpcy5fem9uZURlbGVnYXRlcz1udWxsLHRoaXMuX3N0YXRlPSJub3RTY2hlZHVsZWQiLHRoaXMudHlwZT1uLHRoaXMuc291cmNlPXIsdGhpcy5kYXRhPWEsdGhpcy5zY2hlZHVsZUZuPWksdGhpcy5jYW5jZWxGbj1jLHRoaXMuY2FsbGJhY2s9bzt2YXIgcz10aGlzO3RoaXMuaW52b2tlPW49PT1TJiZhJiZhLnVzZUc/dC5pbnZva2VUYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIHQuaW52b2tlVGFzay5jYWxsKGUscyx0aGlzLGFyZ3VtZW50cyl9fXJldHVybiB0Lmludm9rZVRhc2s9ZnVuY3Rpb24oZSx0LG4pe2V8fChlPXRoaXMpLHorKzt0cnl7cmV0dXJuIGUucnVuQ291bnQrKyxlLnpvbmUucnVuVGFzayhlLHQsbil9ZmluYWxseXsxPT16JiZ5KCksei0tfX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJ6b25lIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3pvbmV9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCJzdGF0ZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zdGF0ZX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSx0LnByb3RvdHlwZS5jYW5jZWxTY2hlZHVsZVJlcXVlc3Q9ZnVuY3Rpb24oKXt0aGlzLl90cmFuc2l0aW9uVG8oXyxtKX0sdC5wcm90b3R5cGUuX3RyYW5zaXRpb25Ubz1mdW5jdGlvbihlLHQsbil7aWYodGhpcy5fc3RhdGUhPT10JiZ0aGlzLl9zdGF0ZSE9PW4pdGhyb3cgbmV3IEVycm9yKHRoaXMudHlwZSsiICciK3RoaXMuc291cmNlKyInOiBjYW4gbm90IHRyYW5zaXRpb24gdG8gJyIrZSsiJywgZXhwZWN0aW5nIHN0YXRlICciK3QrIiciKyhuPyIgb3IgJyIrbisiJyI6IiIpKyIsIHdhcyAnIit0aGlzLl9zdGF0ZSsiJy4iKTt0aGlzLl9zdGF0ZT1lLGU9PV8mJih0aGlzLl96b25lRGVsZWdhdGVzPW51bGwpfSx0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRhdGEmJnZvaWQgMCE9PXRoaXMuZGF0YS5oYW5kbGVJZD90aGlzLmRhdGEuaGFuZGxlSWQudG9TdHJpbmcoKTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcyl9LHQucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOnRoaXMudHlwZSxzdGF0ZTp0aGlzLnN0YXRlLHNvdXJjZTp0aGlzLnNvdXJjZSx6b25lOnRoaXMuem9uZS5uYW1lLHJ1bkNvdW50OnRoaXMucnVuQ291bnR9fSx0fSgpLGw9SSgic2V0VGltZW91dCIpLGY9SSgiUHJvbWlzZSIpLHA9SSgidGhlbiIpLGg9W10sZD0hMTtmdW5jdGlvbiB2KHQpe2lmKDA9PT16JiYwPT09aC5sZW5ndGgpaWYoYXx8ZVtmXSYmKGE9ZVtmXS5yZXNvbHZlKDApKSxhKXt2YXIgbj1hW3BdO258fChuPWEudGhlbiksbi5jYWxsKGEseSl9ZWxzZSBlW2xdKHksMCk7dCYmaC5wdXNoKHQpfWZ1bmN0aW9uIHkoKXtpZighZCl7Zm9yKGQ9ITA7aC5sZW5ndGg7KXt2YXIgZT1oO2g9W107Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciBuPWVbdF07dHJ5e24uem9uZS5ydW5UYXNrKG4sbnVsbCxudWxsKX1jYXRjaChyKXtELm9uVW5oYW5kbGVkRXJyb3Iocil9fX1ELm1pY3JvdGFza0RyYWluRG9uZSgpLGQ9ITF9fXZhciBnPXtuYW1lOiJOTyBaT05FIn0sXz0ibm90U2NoZWR1bGVkIixtPSJzY2hlZHVsaW5nIixiPSJzY2hlZHVsZWQiLGs9InJ1bm5pbmciLFQ9ImNhbmNlbGluZyIsdz0idW5rbm93biIsRT0ibWljcm9UYXNrIixPPSJtYWNyb1Rhc2siLFM9ImV2ZW50VGFzayIsUD17fSxEPXtzeW1ib2w6SSxjdXJyZW50Wm9uZUZyYW1lOmZ1bmN0aW9uKCl7cmV0dXJuIFp9LG9uVW5oYW5kbGVkRXJyb3I6QyxtaWNyb3Rhc2tEcmFpbkRvbmU6QyxzY2hlZHVsZU1pY3JvVGFzazp2LHNob3dVbmNhdWdodEVycm9yOmZ1bmN0aW9uKCl7cmV0dXJuIWlbSSgiaWdub3JlQ29uc29sZUVycm9yVW5jYXVnaHRFcnJvciIpXX0scGF0Y2hFdmVudFRhcmdldDpmdW5jdGlvbigpe3JldHVybltdfSxwYXRjaE9uUHJvcGVydGllczpDLHBhdGNoTWV0aG9kOmZ1bmN0aW9uKCl7cmV0dXJuIEN9LGJpbmRBcmd1bWVudHM6ZnVuY3Rpb24oKXtyZXR1cm5bXX0scGF0Y2hUaGVuOmZ1bmN0aW9uKCl7cmV0dXJuIEN9LHBhdGNoTWFjcm9UYXNrOmZ1bmN0aW9uKCl7cmV0dXJuIEN9LHNldE5hdGl2ZVByb21pc2U6ZnVuY3Rpb24oZSl7ZSYmImZ1bmN0aW9uIj09dHlwZW9mIGUucmVzb2x2ZSYmKGE9ZS5yZXNvbHZlKDApKX0scGF0Y2hFdmVudFByb3RvdHlwZTpmdW5jdGlvbigpe3JldHVybiBDfSxpc0lFT3JFZGdlOmZ1bmN0aW9uKCl7cmV0dXJuITF9LGdldEdsb2JhbE9iamVjdHM6ZnVuY3Rpb24oKXt9LE9iamVjdERlZmluZVByb3BlcnR5OmZ1bmN0aW9uKCl7cmV0dXJuIEN9LE9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbigpe30sT2JqZWN0Q3JlYXRlOmZ1bmN0aW9uKCl7fSxBcnJheVNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuW119LHBhdGNoQ2xhc3M6ZnVuY3Rpb24oKXtyZXR1cm4gQ30sd3JhcFdpdGhDdXJyZW50Wm9uZTpmdW5jdGlvbigpe3JldHVybiBDfSxmaWx0ZXJQcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7cmV0dXJuW119LGF0dGFjaE9yaWdpblRvUGF0Y2hlZDpmdW5jdGlvbigpe3JldHVybiBDfSxfcmVkZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbigpe3JldHVybiBDfSxwYXRjaENhbGxiYWNrczpmdW5jdGlvbigpe3JldHVybiBDfX0sWj17cGFyZW50Om51bGwsem9uZTpuZXcgaShudWxsLG51bGwpfSxqPW51bGwsej0wO2Z1bmN0aW9uIEMoKXt9ZnVuY3Rpb24gSShlKXtyZXR1cm4iX196b25lX3N5bWJvbF9fIitlfXIoIlpvbmUiLCJab25lIiksZS5ab25lPWl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3d8fCJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZnx8Z2xvYmFsKSxab25lLl9fbG9hZF9wYXRjaCgiWm9uZUF3YXJlUHJvbWlzZSIsKGZ1bmN0aW9uKGUsdCxuKXt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGE9T2JqZWN0LmRlZmluZVByb3BlcnR5LGk9bi5zeW1ib2wsYz1bXSxzPWkoIlByb21pc2UiKSx1PWkoInRoZW4iKSxsPSJfX2NyZWF0aW9uVHJhY2VfXyI7bi5vblVuaGFuZGxlZEVycm9yPWZ1bmN0aW9uKGUpe2lmKG4uc2hvd1VuY2F1Z2h0RXJyb3IoKSl7dmFyIHQ9ZSYmZS5yZWplY3Rpb247dD9jb25zb2xlLmVycm9yKCJVbmhhbmRsZWQgUHJvbWlzZSByZWplY3Rpb246Iix0IGluc3RhbmNlb2YgRXJyb3I/dC5tZXNzYWdlOnQsIjsgWm9uZToiLGUuem9uZS5uYW1lLCI7IFRhc2s6IixlLnRhc2smJmUudGFzay5zb3VyY2UsIjsgVmFsdWU6Iix0LHQgaW5zdGFuY2VvZiBFcnJvcj90LnN0YWNrOnZvaWQgMCk6Y29uc29sZS5lcnJvcihlKX19LG4ubWljcm90YXNrRHJhaW5Eb25lPWZ1bmN0aW9uKCl7Zm9yKDtjLmxlbmd0aDspZm9yKHZhciBlPWZ1bmN0aW9uKCl7dmFyIGU9Yy5zaGlmdCgpO3RyeXtlLnpvbmUucnVuR3VhcmRlZCgoZnVuY3Rpb24oKXt0aHJvdyBlfSkpfWNhdGNoKHQpe3AodCl9fTtjLmxlbmd0aDspZSgpfTt2YXIgZj1pKCJ1bmhhbmRsZWRQcm9taXNlUmVqZWN0aW9uSGFuZGxlciIpO2Z1bmN0aW9uIHAoZSl7bi5vblVuaGFuZGxlZEVycm9yKGUpO3RyeXt2YXIgcj10W2ZdO3ImJiJmdW5jdGlvbiI9PXR5cGVvZiByJiZyLmNhbGwodGhpcyxlKX1jYXRjaChvKXt9fWZ1bmN0aW9uIGgoZSl7cmV0dXJuIGUmJmUudGhlbn1mdW5jdGlvbiBkKGUpe3JldHVybiBlfWZ1bmN0aW9uIHYoZSl7cmV0dXJuIFIucmVqZWN0KGUpfXZhciB5PWkoInN0YXRlIiksZz1pKCJ2YWx1ZSIpLF89aSgiZmluYWxseSIpLG09aSgicGFyZW50UHJvbWlzZVZhbHVlIiksYj1pKCJwYXJlbnRQcm9taXNlU3RhdGUiKSxrPSJQcm9taXNlLnRoZW4iLFQ9bnVsbCx3PSEwLEU9ITEsTz0wO2Z1bmN0aW9uIFMoZSx0KXtyZXR1cm4gZnVuY3Rpb24obil7dHJ5e2ooZSx0LG4pfWNhdGNoKHIpe2ooZSwhMSxyKX19fXZhciBQPWZ1bmN0aW9uKCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe2V8fChlPSEwLHQuYXBwbHkobnVsbCxhcmd1bWVudHMpKX19fSxEPSJQcm9taXNlIHJlc29sdmVkIHdpdGggaXRzZWxmIixaPWkoImN1cnJlbnRUYXNrVHJhY2UiKTtmdW5jdGlvbiBqKGUscixvKXt2YXIgaSxzPVAoKTtpZihlPT09byl0aHJvdyBuZXcgVHlwZUVycm9yKEQpO2lmKGVbeV09PT1UKXt2YXIgdT1udWxsO3RyeXsib2JqZWN0IiE9dHlwZW9mIG8mJiJmdW5jdGlvbiIhPXR5cGVvZiBvfHwodT1vJiZvLnRoZW4pfWNhdGNoKHYpe3JldHVybiBzKChmdW5jdGlvbigpe2ooZSwhMSx2KX0pKSgpLGV9aWYociE9PUUmJm8gaW5zdGFuY2VvZiBSJiZvLmhhc093blByb3BlcnR5KHkpJiZvLmhhc093blByb3BlcnR5KGcpJiZvW3ldIT09VClDKG8pLGooZSxvW3ldLG9bZ10pO2Vsc2UgaWYociE9PUUmJiJmdW5jdGlvbiI9PXR5cGVvZiB1KXRyeXt1LmNhbGwobyxzKFMoZSxyKSkscyhTKGUsITEpKSl9Y2F0Y2godil7cygoZnVuY3Rpb24oKXtqKGUsITEsdil9KSkoKX1lbHNle2VbeV09cjt2YXIgZj1lW2ddO2lmKGVbZ109byxlW19dPT09XyYmcj09PXcmJihlW3ldPWVbYl0sZVtnXT1lW21dKSxyPT09RSYmbyBpbnN0YW5jZW9mIEVycm9yKXt2YXIgcD10LmN1cnJlbnRUYXNrJiZ0LmN1cnJlbnRUYXNrLmRhdGEmJnQuY3VycmVudFRhc2suZGF0YVtsXTtwJiZhKG8sWix7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsdmFsdWU6cH0pfWZvcih2YXIgaD0wO2g8Zi5sZW5ndGg7KUkoZSxmW2grK10sZltoKytdLGZbaCsrXSxmW2grK10pO2lmKDA9PWYubGVuZ3RoJiZyPT1FKXtlW3ldPU87dHJ5e3Rocm93IG5ldyBFcnJvcigiVW5jYXVnaHQgKGluIHByb21pc2UpOiAiKygoaT1vKSYmaS50b1N0cmluZz09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc/KGkuY29uc3RydWN0b3ImJmkuY29uc3RydWN0b3IubmFtZXx8IiIpKyI6ICIrSlNPTi5zdHJpbmdpZnkoaSk6aT9pLnRvU3RyaW5nKCk6T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGkpKSsobyYmby5zdGFjaz8iXG4iK28uc3RhY2s6IiIpKX1jYXRjaCh2KXt2YXIgZD12O2QucmVqZWN0aW9uPW8sZC5wcm9taXNlPWUsZC56b25lPXQuY3VycmVudCxkLnRhc2s9dC5jdXJyZW50VGFzayxjLnB1c2goZCksbi5zY2hlZHVsZU1pY3JvVGFzaygpfX19fXJldHVybiBlfXZhciB6PWkoInJlamVjdGlvbkhhbmRsZWRIYW5kbGVyIik7ZnVuY3Rpb24gQyhlKXtpZihlW3ldPT09Tyl7dHJ5e3ZhciBuPXRbel07biYmImZ1bmN0aW9uIj09dHlwZW9mIG4mJm4uY2FsbCh0aGlzLHtyZWplY3Rpb246ZVtnXSxwcm9taXNlOmV9KX1jYXRjaChvKXt9ZVt5XT1FO2Zvcih2YXIgcj0wO3I8Yy5sZW5ndGg7cisrKWU9PT1jW3JdLnByb21pc2UmJmMuc3BsaWNlKHIsMSl9fWZ1bmN0aW9uIEkoZSx0LG4scixvKXtDKGUpO3ZhciBhPWVbeV0saT1hPyJmdW5jdGlvbiI9PXR5cGVvZiByP3I6ZDoiZnVuY3Rpb24iPT10eXBlb2Ygbz9vOnY7dC5zY2hlZHVsZU1pY3JvVGFzayhrLChmdW5jdGlvbigpe3RyeXt2YXIgcj1lW2ddLG89biYmXz09PW5bX107byYmKG5bbV09cixuW2JdPWEpO3ZhciBjPXQucnVuKGksdm9pZCAwLG8mJmkhPT12JiZpIT09ZD9bXTpbcl0pO2oobiwhMCxjKX1jYXRjaChzKXtqKG4sITEscyl9fSksbil9dmFyIFI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBFcnJvcigiTXVzdCBiZSBhbiBpbnN0YW5jZW9mIFByb21pc2UuIik7dGhpc1t5XT1ULHRoaXNbZ109W107dHJ5e3QmJnQoUyh0aGlzLHcpLFModGhpcyxFKSl9Y2F0Y2gobil7aih0aGlzLCExLG4pfX1yZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiBab25lQXdhcmVQcm9taXNlKCkgeyBbbmF0aXZlIGNvZGVdIH0ifSxlLnJlc29sdmU9ZnVuY3Rpb24oZSl7cmV0dXJuIGoobmV3IHRoaXMobnVsbCksdyxlKX0sZS5yZWplY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIGoobmV3IHRoaXMobnVsbCksRSxlKX0sZS5yYWNlPWZ1bmN0aW9uKGUpe3ZhciB0LG4sbyxhLGk9bmV3IHRoaXMoKGZ1bmN0aW9uKGUsdCl7bz1lLGE9dH0pKTtmdW5jdGlvbiBjKGUpe28oZSl9ZnVuY3Rpb24gcyhlKXthKGUpfXRyeXtmb3IodmFyIHU9cihlKSxsPXUubmV4dCgpOyFsLmRvbmU7bD11Lm5leHQoKSl7dmFyIGY9bC52YWx1ZTtoKGYpfHwoZj10aGlzLnJlc29sdmUoZikpLGYudGhlbihjLHMpfX1jYXRjaChwKXt0PXtlcnJvcjpwfX1maW5hbGx5e3RyeXtsJiYhbC5kb25lJiYobj11LnJldHVybikmJm4uY2FsbCh1KX1maW5hbGx5e2lmKHQpdGhyb3cgdC5lcnJvcn19cmV0dXJuIGl9LGUuYWxsPWZ1bmN0aW9uKGUpe3ZhciB0LG4sbyxhLGk9bmV3IHRoaXMoKGZ1bmN0aW9uKGUsdCl7bz1lLGE9dH0pKSxjPTIscz0wLHU9W10sbD1mdW5jdGlvbihlKXtoKGUpfHwoZT1mLnJlc29sdmUoZSkpO3ZhciB0PXM7ZS50aGVuKChmdW5jdGlvbihlKXt1W3RdPWUsMD09LS1jJiZvKHUpfSksYSksYysrLHMrK30sZj10aGlzO3RyeXtmb3IodmFyIHA9cihlKSxkPXAubmV4dCgpOyFkLmRvbmU7ZD1wLm5leHQoKSlsKGQudmFsdWUpfWNhdGNoKHYpe3Q9e2Vycm9yOnZ9fWZpbmFsbHl7dHJ5e2QmJiFkLmRvbmUmJihuPXAucmV0dXJuKSYmbi5jYWxsKHApfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX1yZXR1cm4gMD09KGMtPTIpJiZvKHUpLGl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxTeW1ib2wudG9TdHJpbmdUYWcse2dldDpmdW5jdGlvbigpe3JldHVybiJQcm9taXNlIn0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsbil7dmFyIHI9bmV3IHRoaXMuY29uc3RydWN0b3IobnVsbCksbz10LmN1cnJlbnQ7cmV0dXJuIHRoaXNbeV09PVQ/dGhpc1tnXS5wdXNoKG8scixlLG4pOkkodGhpcyxvLHIsZSxuKSxyfSxlLnByb3RvdHlwZS5jYXRjaD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50aGVuKG51bGwsZSl9LGUucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24oZSl7dmFyIG49bmV3IHRoaXMuY29uc3RydWN0b3IobnVsbCk7bltfXT1fO3ZhciByPXQuY3VycmVudDtyZXR1cm4gdGhpc1t5XT09VD90aGlzW2ddLnB1c2gocixuLGUsZSk6SSh0aGlzLHIsbixlLGUpLG59LGV9KCk7Ui5yZXNvbHZlPVIucmVzb2x2ZSxSLnJlamVjdD1SLnJlamVjdCxSLnJhY2U9Ui5yYWNlLFIuYWxsPVIuYWxsO3ZhciB4PWVbc109ZS5Qcm9taXNlLE09dC5fX3N5bWJvbF9fKCJab25lQXdhcmVQcm9taXNlIiksTD1vKGUsIlByb21pc2UiKTtMJiYhTC5jb25maWd1cmFibGV8fChMJiZkZWxldGUgTC53cml0YWJsZSxMJiZkZWxldGUgTC52YWx1ZSxMfHwoTD17Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9KSxMLmdldD1mdW5jdGlvbigpe3JldHVybiBlW01dP2VbTV06ZVtzXX0sTC5zZXQ9ZnVuY3Rpb24odCl7dD09PVI/ZVtNXT10OihlW3NdPXQsdC5wcm90b3R5cGVbdV18fEEodCksbi5zZXROYXRpdmVQcm9taXNlKHQpKX0sYShlLCJQcm9taXNlIixMKSksZS5Qcm9taXNlPVI7dmFyIE4sRj1pKCJ0aGVuUGF0Y2hlZCIpO2Z1bmN0aW9uIEEoZSl7dmFyIHQ9ZS5wcm90b3R5cGUsbj1vKHQsInRoZW4iKTtpZighbnx8ITEhPT1uLndyaXRhYmxlJiZuLmNvbmZpZ3VyYWJsZSl7dmFyIHI9dC50aGVuO3RbdV09cixlLnByb3RvdHlwZS50aGVuPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gbmV3IFIoKGZ1bmN0aW9uKGUsdCl7ci5jYWxsKG4sZSx0KX0pKS50aGVuKGUsdCl9LGVbRl09ITB9fWlmKG4ucGF0Y2hUaGVuPUEseCl7QSh4KTt2YXIgSD1lLmZldGNoOyJmdW5jdGlvbiI9PXR5cGVvZiBIJiYoZVtuLnN5bWJvbCgiZmV0Y2giKV09SCxlLmZldGNoPShOPUgsZnVuY3Rpb24oKXt2YXIgZT1OLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZihlIGluc3RhbmNlb2YgUilyZXR1cm4gZTt2YXIgdD1lLmNvbnN0cnVjdG9yO3JldHVybiB0W0ZdfHxBKHQpLGV9KSl9cmV0dXJuIFByb21pc2VbdC5fX3N5bWJvbF9fKCJ1bmNhdWdodFByb21pc2VFcnJvcnMiKV09YyxSfSkpO3ZhciBlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IsdD1PYmplY3QuZGVmaW5lUHJvcGVydHksbj1PYmplY3QuZ2V0UHJvdG90eXBlT2Ysbz1PYmplY3QuY3JlYXRlLGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLGk9ImFkZEV2ZW50TGlzdGVuZXIiLGM9InJlbW92ZUV2ZW50TGlzdGVuZXIiLHM9Wm9uZS5fX3N5bWJvbF9fKGkpLHU9Wm9uZS5fX3N5bWJvbF9fKGMpLGw9InRydWUiLGY9ImZhbHNlIixwPSJfX3pvbmVfc3ltYm9sX18iO2Z1bmN0aW9uIGgoZSx0KXtyZXR1cm4gWm9uZS5jdXJyZW50LndyYXAoZSx0KX1mdW5jdGlvbiBkKGUsdCxuLHIsbyl7cmV0dXJuIFpvbmUuY3VycmVudC5zY2hlZHVsZU1hY3JvVGFzayhlLHQsbixyLG8pfXZhciB2PVpvbmUuX19zeW1ib2xfXyx5PSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93LGc9eT93aW5kb3c6dm9pZCAwLF89eSYmZ3x8Im9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmfHxnbG9iYWwsbT0icmVtb3ZlQXR0cmlidXRlIixiPVtudWxsXTtmdW5jdGlvbiBrKGUsdCl7Zm9yKHZhciBuPWUubGVuZ3RoLTE7bj49MDtuLS0pImZ1bmN0aW9uIj09dHlwZW9mIGVbbl0mJihlW25dPWgoZVtuXSx0KyJfIituKSk7cmV0dXJuIGV9ZnVuY3Rpb24gVChlKXtyZXR1cm4hZXx8ITEhPT1lLndyaXRhYmxlJiYhKCJmdW5jdGlvbiI9PXR5cGVvZiBlLmdldCYmdm9pZCAwPT09ZS5zZXQpfXZhciB3PSJ1bmRlZmluZWQiIT10eXBlb2YgV29ya2VyR2xvYmFsU2NvcGUmJnNlbGYgaW5zdGFuY2VvZiBXb3JrZXJHbG9iYWxTY29wZSxFPSEoIm53ImluIF8pJiZ2b2lkIDAhPT1fLnByb2Nlc3MmJiJbb2JqZWN0IHByb2Nlc3NdIj09PXt9LnRvU3RyaW5nLmNhbGwoXy5wcm9jZXNzKSxPPSFFJiYhdyYmISgheXx8IWcuSFRNTEVsZW1lbnQpLFM9dm9pZCAwIT09Xy5wcm9jZXNzJiYiW29iamVjdCBwcm9jZXNzXSI9PT17fS50b1N0cmluZy5jYWxsKF8ucHJvY2VzcykmJiF3JiYhKCF5fHwhZy5IVE1MRWxlbWVudCksUD17fSxEPWZ1bmN0aW9uKGUpe2lmKGU9ZXx8Xy5ldmVudCl7dmFyIHQ9UFtlLnR5cGVdO3R8fCh0PVBbZS50eXBlXT12KCJPTl9QUk9QRVJUWSIrZS50eXBlKSk7dmFyIG4scj10aGlzfHxlLnRhcmdldHx8XyxvPXJbdF07aWYoTyYmcj09PWcmJiJlcnJvciI9PT1lLnR5cGUpe3ZhciBhPWU7ITA9PT0obj1vJiZvLmNhbGwodGhpcyxhLm1lc3NhZ2UsYS5maWxlbmFtZSxhLmxpbmVubyxhLmNvbG5vLGEuZXJyb3IpKSYmZS5wcmV2ZW50RGVmYXVsdCgpfWVsc2UgbnVsbD09KG49byYmby5hcHBseSh0aGlzLGFyZ3VtZW50cykpfHxufHxlLnByZXZlbnREZWZhdWx0KCk7cmV0dXJuIG59fTtmdW5jdGlvbiBaKG4scixvKXt2YXIgYT1lKG4scik7aWYoIWEmJm8mJmUobyxyKSYmKGE9e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksYSYmYS5jb25maWd1cmFibGUpe3ZhciBpPXYoIm9uIityKyJwYXRjaGVkIik7aWYoIW4uaGFzT3duUHJvcGVydHkoaSl8fCFuW2ldKXtkZWxldGUgYS53cml0YWJsZSxkZWxldGUgYS52YWx1ZTt2YXIgYz1hLmdldCxzPWEuc2V0LHU9ci5zdWJzdHIoMiksbD1QW3VdO2x8fChsPVBbdV09digiT05fUFJPUEVSVFkiK3UpKSxhLnNldD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3R8fG4hPT1ffHwodD1fKSx0JiYodFtsXSYmdC5yZW1vdmVFdmVudExpc3RlbmVyKHUsRCkscyYmcy5hcHBseSh0LGIpLCJmdW5jdGlvbiI9PXR5cGVvZiBlPyh0W2xdPWUsdC5hZGRFdmVudExpc3RlbmVyKHUsRCwhMSkpOnRbbF09bnVsbCl9LGEuZ2V0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZihlfHxuIT09X3x8KGU9XyksIWUpcmV0dXJuIG51bGw7dmFyIHQ9ZVtsXTtpZih0KXJldHVybiB0O2lmKGMpe3ZhciBvPWMmJmMuY2FsbCh0aGlzKTtpZihvKXJldHVybiBhLnNldC5jYWxsKHRoaXMsbyksImZ1bmN0aW9uIj09dHlwZW9mIGVbbV0mJmUucmVtb3ZlQXR0cmlidXRlKHIpLG99cmV0dXJuIG51bGx9LHQobixyLGEpLG5baV09ITB9fX1mdW5jdGlvbiBqKGUsdCxuKXtpZih0KWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKVooZSwib24iK3Rbcl0sbik7ZWxzZXt2YXIgbz1bXTtmb3IodmFyIGEgaW4gZSkib24iPT1hLnN1YnN0cigwLDIpJiZvLnB1c2goYSk7Zm9yKHZhciBpPTA7aTxvLmxlbmd0aDtpKyspWihlLG9baV0sbil9fXZhciB6PXYoIm9yaWdpbmFsSW5zdGFuY2UiKTtmdW5jdGlvbiBDKGUpe3ZhciBuPV9bZV07aWYobil7X1t2KGUpXT1uLF9bZV09ZnVuY3Rpb24oKXt2YXIgdD1rKGFyZ3VtZW50cyxlKTtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMDp0aGlzW3pdPW5ldyBuO2JyZWFrO2Nhc2UgMTp0aGlzW3pdPW5ldyBuKHRbMF0pO2JyZWFrO2Nhc2UgMjp0aGlzW3pdPW5ldyBuKHRbMF0sdFsxXSk7YnJlYWs7Y2FzZSAzOnRoaXNbel09bmV3IG4odFswXSx0WzFdLHRbMl0pO2JyZWFrO2Nhc2UgNDp0aGlzW3pdPW5ldyBuKHRbMF0sdFsxXSx0WzJdLHRbM10pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJBcmcgbGlzdCB0b28gbG9uZy4iKX19LE0oX1tlXSxuKTt2YXIgcixvPW5ldyBuKChmdW5jdGlvbigpe30pKTtmb3IociBpbiBvKSJYTUxIdHRwUmVxdWVzdCI9PT1lJiYicmVzcG9uc2VCbG9iIj09PXJ8fGZ1bmN0aW9uKG4peyJmdW5jdGlvbiI9PXR5cGVvZiBvW25dP19bZV0ucHJvdG90eXBlW25dPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbel1bbl0uYXBwbHkodGhpc1t6XSxhcmd1bWVudHMpfTp0KF9bZV0ucHJvdG90eXBlLG4se3NldDpmdW5jdGlvbih0KXsiZnVuY3Rpb24iPT10eXBlb2YgdD8odGhpc1t6XVtuXT1oKHQsZSsiLiIrbiksTSh0aGlzW3pdW25dLHQpKTp0aGlzW3pdW25dPXR9LGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzW3pdW25dfX0pfShyKTtmb3IociBpbiBuKSJwcm90b3R5cGUiIT09ciYmbi5oYXNPd25Qcm9wZXJ0eShyKSYmKF9bZV1bcl09bltyXSl9fXZhciBJPSExO2Z1bmN0aW9uIFIodCxyLG8pe2Zvcih2YXIgYT10O2EmJiFhLmhhc093blByb3BlcnR5KHIpOylhPW4oYSk7IWEmJnRbcl0mJihhPXQpO3ZhciBpLGMscz12KHIpLHU9bg==" }, { "key": "newOne?runtime.js?2?1", "type": "binary", "value": "base64:dWxsO2lmKGEmJiEodT1hW3NdKSYmKHU9YVtzXT1hW3JdLFQoYSYmZShhLHIpKSkpe3ZhciBsPW8odSxzLHIpO2Fbcl09ZnVuY3Rpb24oKXtyZXR1cm4gbCh0aGlzLGFyZ3VtZW50cyl9LE0oYVtyXSx1KSxJJiYoaT11LGM9YVtyXSwiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyYmT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhpKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksZSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGMsZSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlbZV19LHNldDpmdW5jdGlvbihuKXsoIXR8fHQud3JpdGFibGUmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnNldCkmJihpW2VdPW4pfSxlbnVtZXJhYmxlOiF0fHx0LmVudW1lcmFibGUsY29uZmlndXJhYmxlOiF0fHx0LmNvbmZpZ3VyYWJsZX0pfSkpKX1yZXR1cm4gdX1mdW5jdGlvbiB4KGUsdCxuKXt2YXIgcj1udWxsO2Z1bmN0aW9uIG8oZSl7dmFyIHQ9ZS5kYXRhO3JldHVybiB0LmFyZ3NbdC5jYklkeF09ZnVuY3Rpb24oKXtlLmludm9rZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHIuYXBwbHkodC50YXJnZXQsdC5hcmdzKSxlfXI9UihlLHQsKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LHIpe3ZhciBhPW4odCxyKTtyZXR1cm4gYS5jYklkeD49MCYmImZ1bmN0aW9uIj09dHlwZW9mIHJbYS5jYklkeF0/ZChhLm5hbWUsclthLmNiSWR4XSxhLG8pOmUuYXBwbHkodCxyKX19KSl9ZnVuY3Rpb24gTShlLHQpe2VbdigiT3JpZ2luYWxEZWxlZ2F0ZSIpXT10fXZhciBMPSExLE49ITE7ZnVuY3Rpb24gRigpe3RyeXt2YXIgZT1nLm5hdmlnYXRvci51c2VyQWdlbnQ7aWYoLTEhPT1lLmluZGV4T2YoIk1TSUUgIil8fC0xIT09ZS5pbmRleE9mKCJUcmlkZW50LyIpKXJldHVybiEwfWNhdGNoKHQpe31yZXR1cm4hMX1mdW5jdGlvbiBBKCl7aWYoTClyZXR1cm4gTjtMPSEwO3RyeXt2YXIgZT1nLm5hdmlnYXRvci51c2VyQWdlbnQ7LTE9PT1lLmluZGV4T2YoIk1TSUUgIikmJi0xPT09ZS5pbmRleE9mKCJUcmlkZW50LyIpJiYtMT09PWUuaW5kZXhPZigiRWRnZS8iKXx8KE49ITApfWNhdGNoKHQpe31yZXR1cm4gTn1ab25lLl9fbG9hZF9wYXRjaCgidG9TdHJpbmciLChmdW5jdGlvbihlKXt2YXIgdD1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsbj12KCJPcmlnaW5hbERlbGVnYXRlIikscj12KCJQcm9taXNlIiksbz12KCJFcnJvciIpLGE9ZnVuY3Rpb24oKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdGhpcyl7dmFyIGE9dGhpc1tuXTtpZihhKXJldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBhP3QuY2FsbChhKTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk7aWYodGhpcz09PVByb21pc2Upe3ZhciBpPWVbcl07aWYoaSlyZXR1cm4gdC5jYWxsKGkpfWlmKHRoaXM9PT1FcnJvcil7dmFyIGM9ZVtvXTtpZihjKXJldHVybiB0LmNhbGwoYyl9fXJldHVybiB0LmNhbGwodGhpcyl9O2Fbbl09dCxGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc9YTt2YXIgaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO09iamVjdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIFByb21pc2U/IltvYmplY3QgUHJvbWlzZV0iOmkuY2FsbCh0aGlzKX19KSk7dmFyIEg9ITE7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpdHJ5e3ZhciBHPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe0g9ITB9fSk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLEcsRyksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLEcsRyl9Y2F0Y2goT2Upe0g9ITF9dmFyIEI9e3VzZUc6ITB9LFc9e30scT17fSxVPS9eX196b25lX3N5bWJvbF9fKFx3KykodHJ1ZXxmYWxzZSkkLyxWPSJfX3pvbmVfc3ltYm9sX19wcm9wYWdhdGlvblN0b3BwZWQiO2Z1bmN0aW9uIFgoZSx0LHIpe3ZhciBvPXImJnIuYWRkfHxpLGE9ciYmci5ybXx8YyxzPXImJnIubGlzdGVuZXJzfHwiZXZlbnRMaXN0ZW5lcnMiLHU9ciYmci5ybUFsbHx8InJlbW92ZUFsbExpc3RlbmVycyIsaD12KG8pLGQ9Ii4iK28rIjoiLHk9InByZXBlbmRMaXN0ZW5lciIsZz0iLiIreSsiOiIsXz1mdW5jdGlvbihlLHQsbil7aWYoIWUuaXNSZW1vdmVkKXt2YXIgcj1lLmNhbGxiYWNrOyJvYmplY3QiPT10eXBlb2YgciYmci5oYW5kbGVFdmVudCYmKGUuY2FsbGJhY2s9ZnVuY3Rpb24oZSl7cmV0dXJuIHIuaGFuZGxlRXZlbnQoZSl9LGUub3JpZ2luYWxEZWxlZ2F0ZT1yKSxlLmludm9rZShlLHQsW25dKTt2YXIgbz1lLm9wdGlvbnM7byYmIm9iamVjdCI9PXR5cGVvZiBvJiZvLm9uY2UmJnRbYV0uY2FsbCh0LG4udHlwZSxlLm9yaWdpbmFsRGVsZWdhdGU/ZS5vcmlnaW5hbERlbGVnYXRlOmUuY2FsbGJhY2ssbyl9fSxtPWZ1bmN0aW9uKHQpe2lmKHQ9dHx8ZS5ldmVudCl7dmFyIG49dGhpc3x8dC50YXJnZXR8fGUscj1uW1dbdC50eXBlXVtmXV07aWYocilpZigxPT09ci5sZW5ndGgpXyhyWzBdLG4sdCk7ZWxzZSBmb3IodmFyIG89ci5zbGljZSgpLGE9MDthPG8ubGVuZ3RoJiYoIXR8fCEwIT09dFtWXSk7YSsrKV8ob1thXSxuLHQpfX0sYj1mdW5jdGlvbih0KXtpZih0PXR8fGUuZXZlbnQpe3ZhciBuPXRoaXN8fHQudGFyZ2V0fHxlLHI9bltXW3QudHlwZV1bbF1dO2lmKHIpaWYoMT09PXIubGVuZ3RoKV8oclswXSxuLHQpO2Vsc2UgZm9yKHZhciBvPXIuc2xpY2UoKSxhPTA7YTxvLmxlbmd0aCYmKCF0fHwhMCE9PXRbVl0pO2ErKylfKG9bYV0sbix0KX19O2Z1bmN0aW9uIGsodCxyKXtpZighdClyZXR1cm4hMTt2YXIgaT0hMDtyJiZ2b2lkIDAhPT1yLnVzZUcmJihpPXIudXNlRyk7dmFyIGM9ciYmci52aCxfPSEwO3ImJnZvaWQgMCE9PXIuY2hrRHVwJiYoXz1yLmNoa0R1cCk7dmFyIGs9ITE7ciYmdm9pZCAwIT09ci5ydCYmKGs9ci5ydCk7Zm9yKHZhciBUPXQ7VCYmIVQuaGFzT3duUHJvcGVydHkobyk7KVQ9bihUKTtpZighVCYmdFtvXSYmKFQ9dCksIVQpcmV0dXJuITE7aWYoVFtoXSlyZXR1cm4hMTt2YXIgdyxPPXImJnIuZXZlbnROYW1lVG9TdHJpbmcsUz17fSxQPVRbaF09VFtvXSxEPVRbdihhKV09VFthXSxaPVRbdihzKV09VFtzXSxqPVRbdih1KV09VFt1XTtmdW5jdGlvbiB6KGUpe0h8fCJib29sZWFuIj09dHlwZW9mIFMub3B0aW9uc3x8bnVsbD09Uy5vcHRpb25zfHwoZS5vcHRpb25zPSEhUy5vcHRpb25zLmNhcHR1cmUsUy5vcHRpb25zPWUub3B0aW9ucyl9ciYmci5wcmVwZW5kJiYodz1UW3Yoci5wcmVwZW5kKV09VFtyLnByZXBlbmRdKTt2YXIgQz1pP2Z1bmN0aW9uKGUpe2lmKCFTLmlzRXhpc3RpbmcpcmV0dXJuIHooZSksUC5jYWxsKFMudGFyZ2V0LFMuZXZlbnROYW1lLFMuY2FwdHVyZT9iOm0sUy5vcHRpb25zKX06ZnVuY3Rpb24oZSl7cmV0dXJuIHooZSksUC5jYWxsKFMudGFyZ2V0LFMuZXZlbnROYW1lLGUuaW52b2tlLFMub3B0aW9ucyl9LEk9aT9mdW5jdGlvbihlKXtpZighZS5pc1JlbW92ZWQpe3ZhciB0PVdbZS5ldmVudE5hbWVdLG49dm9pZCAwO3QmJihuPXRbZS5jYXB0dXJlP2w6Zl0pO3ZhciByPW4mJmUudGFyZ2V0W25dO2lmKHIpZm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspaWYocltvXT09PWUpe3Iuc3BsaWNlKG8sMSksZS5pc1JlbW92ZWQ9ITAsMD09PXIubGVuZ3RoJiYoZS5hbGxSZW1vdmVkPSEwLGUudGFyZ2V0W25dPW51bGwpO2JyZWFrfX1pZihlLmFsbFJlbW92ZWQpcmV0dXJuIEQuY2FsbChlLnRhcmdldCxlLmV2ZW50TmFtZSxlLmNhcHR1cmU/YjptLGUub3B0aW9ucyl9OmZ1bmN0aW9uKGUpe3JldHVybiBELmNhbGwoZS50YXJnZXQsZS5ldmVudE5hbWUsZS5pbnZva2UsZS5vcHRpb25zKX0sUj1yJiZyLmRpZmY/ci5kaWZmOmZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIHQ7cmV0dXJuImZ1bmN0aW9uIj09PW4mJmUuY2FsbGJhY2s9PT10fHwib2JqZWN0Ij09PW4mJmUub3JpZ2luYWxEZWxlZ2F0ZT09PXR9LHg9Wm9uZVtab25lLl9fc3ltYm9sX18oIkJMQUNLX0xJU1RFRF9FVkVOVFMiKV0sTD1mdW5jdGlvbih0LG4scixvLGEscyl7cmV0dXJuIHZvaWQgMD09PWEmJihhPSExKSx2b2lkIDA9PT1zJiYocz0hMSksZnVuY3Rpb24oKXt2YXIgdT10aGlzfHxlLGg9YXJndW1lbnRzWzBdLGQ9YXJndW1lbnRzWzFdO2lmKCFkKXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZihFJiYidW5jYXVnaHRFeGNlcHRpb24iPT09aClyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIHY9ITE7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGQpe2lmKCFkLmhhbmRsZUV2ZW50KXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2PSEwfWlmKCFjfHxjKHQsZCx1LGFyZ3VtZW50cykpe3ZhciB5LGc9YXJndW1lbnRzWzJdO2lmKHgpZm9yKHZhciBtPTA7bTx4Lmxlbmd0aDttKyspaWYoaD09PXhbbV0pcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBiPSExO3ZvaWQgMD09PWc/eT0hMTohMD09PWc/eT0hMDohMT09PWc/eT0hMTooeT0hIWcmJiEhZy5jYXB0dXJlLGI9ISFnJiYhIWcub25jZSk7dmFyIGssVD1ab25lLmN1cnJlbnQsdz1XW2hdO2lmKHcpaz13W3k/bDpmXTtlbHNle3ZhciBQPShPP08oaCk6aCkrZixEPShPP08oaCk6aCkrbCxaPXArUCxqPXArRDtXW2hdPXt9LFdbaF1bZl09WixXW2hdW2xdPWosaz15P2o6Wn12YXIgeixDPXVba10sST0hMTtpZihDKXtpZihJPSEwLF8pZm9yKG09MDttPEMubGVuZ3RoO20rKylpZihSKENbbV0sZCkpcmV0dXJufWVsc2UgQz11W2tdPVtdO3ZhciBNPXUuY29uc3RydWN0b3IubmFtZSxMPXFbTV07TCYmKHo9TFtoXSksenx8KHo9TStuKyhPP08oaCk6aCkpLFMub3B0aW9ucz1nLGImJihTLm9wdGlvbnMub25jZT0hMSksUy50YXJnZXQ9dSxTLmNhcHR1cmU9eSxTLmV2ZW50TmFtZT1oLFMuaXNFeGlzdGluZz1JO3ZhciBOPWk/Qjp2b2lkIDA7TiYmKE4udGFza0RhdGE9Uyk7dmFyIEY9VC5zY2hlZHVsZUV2ZW50VGFzayh6LGQsTixyLG8pO3JldHVybiBTLnRhcmdldD1udWxsLE4mJihOLnRhc2tEYXRhPW51bGwpLGImJihnLm9uY2U9ITApLChIfHwiYm9vbGVhbiIhPXR5cGVvZiBGLm9wdGlvbnMpJiYoRi5vcHRpb25zPWcpLEYudGFyZ2V0PXUsRi5jYXB0dXJlPXksRi5ldmVudE5hbWU9aCx2JiYoRi5vcmlnaW5hbERlbGVnYXRlPWQpLHM/Qy51bnNoaWZ0KEYpOkMucHVzaChGKSxhP3U6dm9pZCAwfX19O3JldHVybiBUW29dPUwoUCxkLEMsSSxrKSx3JiYoVFt5XT1MKHcsZywoZnVuY3Rpb24oZSl7cmV0dXJuIHcuY2FsbChTLnRhcmdldCxTLmV2ZW50TmFtZSxlLmludm9rZSxTLm9wdGlvbnMpfSksSSxrLCEwKSksVFthXT1mdW5jdGlvbigpe3ZhciB0LG49dGhpc3x8ZSxyPWFyZ3VtZW50c1swXSxvPWFyZ3VtZW50c1syXTt0PXZvaWQgMCE9PW8mJighMD09PW98fCExIT09byYmISFvJiYhIW8uY2FwdHVyZSk7dmFyIGE9YXJndW1lbnRzWzFdO2lmKCFhKXJldHVybiBELmFwcGx5KHRoaXMsYXJndW1lbnRzKTtpZighY3x8YyhELGEsbixhcmd1bWVudHMpKXt2YXIgaSxzPVdbcl07cyYmKGk9c1t0P2w6Zl0pO3ZhciB1PWkmJm5baV07aWYodSlmb3IodmFyIHA9MDtwPHUubGVuZ3RoO3ArKyl7dmFyIGg9dVtwXTtpZihSKGgsYSkpcmV0dXJuIHUuc3BsaWNlKHAsMSksaC5pc1JlbW92ZWQ9ITAsMD09PXUubGVuZ3RoJiYoaC5hbGxSZW1vdmVkPSEwLG5baV09bnVsbCksaC56b25lLmNhbmNlbFRhc2soaCksaz9uOnZvaWQgMH1yZXR1cm4gRC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSxUW3NdPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXN8fGUsbj1hcmd1bWVudHNbMF0scj1bXSxvPVkodCxPP08obik6biksYT0wO2E8by5sZW5ndGg7YSsrKXt2YXIgaT1vW2FdLGM9aS5vcmlnaW5hbERlbGVnYXRlP2kub3JpZ2luYWxEZWxlZ2F0ZTppLmNhbGxiYWNrO3IucHVzaChjKX1yZXR1cm4gcn0sVFt1XT1mdW5jdGlvbigpe3ZhciB0PXRoaXN8fGUsbj1hcmd1bWVudHNbMF07aWYobil7dmFyIHI9V1tuXTtpZihyKXt2YXIgbz1yW2ZdLGk9cltsXSxjPXRbb10scz10W2ldO2lmKGMpe3ZhciBwPWMuc2xpY2UoKTtmb3Iodj0wO3Y8cC5sZW5ndGg7disrKXRoaXNbYV0uY2FsbCh0aGlzLG4sKGg9cFt2XSkub3JpZ2luYWxEZWxlZ2F0ZT9oLm9yaWdpbmFsRGVsZWdhdGU6aC5jYWxsYmFjayxoLm9wdGlvbnMpfWlmKHMpZm9yKHA9cy5zbGljZSgpLHY9MDt2PHAubGVuZ3RoO3YrKyl7dmFyIGg7dGhpc1thXS5jYWxsKHRoaXMsbiwoaD1wW3ZdKS5vcmlnaW5hbERlbGVnYXRlP2gub3JpZ2luYWxEZWxlZ2F0ZTpoLmNhbGxiYWNrLGgub3B0aW9ucyl9fX1lbHNle2Zvcih2YXIgZD1PYmplY3Qua2V5cyh0KSx2PTA7djxkLmxlbmd0aDt2Kyspe3ZhciB5PWRbdl0sZz1VLmV4ZWMoeSksXz1nJiZnWzFdO18mJiJyZW1vdmVMaXN0ZW5lciIhPT1fJiZ0aGlzW3VdLmNhbGwodGhpcyxfKX10aGlzW3VdLmNhbGwodGhpcywicmVtb3ZlTGlzdGVuZXIiKX1pZihrKXJldHVybiB0aGlzfSxNKFRbb10sUCksTShUW2FdLEQpLGomJk0oVFt1XSxqKSxaJiZNKFRbc10sWiksITB9Zm9yKHZhciBUPVtdLHc9MDt3PHQubGVuZ3RoO3crKylUW3ddPWsodFt3XSxyKTtyZXR1cm4gVH1mdW5jdGlvbiBZKGUsdCl7dmFyIG49W107Zm9yKHZhciByIGluIGUpe3ZhciBvPVUuZXhlYyhyKSxhPW8mJm9bMV07aWYoYSYmKCF0fHxhPT09dCkpe3ZhciBpPWVbcl07aWYoaSlmb3IodmFyIGM9MDtjPGkubGVuZ3RoO2MrKyluLnB1c2goaVtjXSl9fXJldHVybiBufWZ1bmN0aW9uIEooZSx0KXt2YXIgbj1lLkV2ZW50O24mJm4ucHJvdG90eXBlJiZ0LnBhdGNoTWV0aG9kKG4ucHJvdG90eXBlLCJzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24iLChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXt0W1ZdPSEwLGUmJmUuYXBwbHkodCxuKX19KSl9ZnVuY3Rpb24gSyhlLHQsbixyLG8pe3ZhciBhPVpvbmUuX19zeW1ib2xfXyhyKTtpZighdFthXSl7dmFyIGk9dFthXT10W3JdO3Rbcl09ZnVuY3Rpb24oYSxjLHMpe3JldHVybiBjJiZjLnByb3RvdHlwZSYmby5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbz1uKyIuIityKyI6OiIrdCxhPWMucHJvdG90eXBlO2lmKGEuaGFzT3duUHJvcGVydHkodCkpe3ZhciBpPWUuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEsdCk7aSYmaS52YWx1ZT8oaS52YWx1ZT1lLndyYXBXaXRoQ3VycmVudFpvbmUoaS52YWx1ZSxvKSxlLl9yZWRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLHQsaSkpOmFbdF0mJihhW3RdPWUud3JhcFdpdGhDdXJyZW50Wm9uZShhW3RdLG8pKX1lbHNlIGFbdF0mJihhW3RdPWUud3JhcFdpdGhDdXJyZW50Wm9uZShhW3RdLG8pKX0pKSxpLmNhbGwodCxhLGMscyl9LGUuYXR0YWNoT3JpZ2luVG9QYXRjaGVkKHRbcl0saSl9fXZhciBRPVpvbmUuX19zeW1ib2xfXywkPU9iamVjdFtRKCJkZWZpbmVQcm9wZXJ0eSIpXT1PYmplY3QuZGVmaW5lUHJvcGVydHksZWU9T2JqZWN0W1EoImdldE93blByb3BlcnR5RGVzY3JpcHRvciIpXT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHRlPU9iamVjdC5jcmVhdGUsbmU9USgidW5jb25maWd1cmFibGVzIik7ZnVuY3Rpb24gcmUoZSx0LG4pe3ZhciByPW4uY29uZmlndXJhYmxlO3JldHVybiBpZShlLHQsbj1hZShlLHQsbikscil9ZnVuY3Rpb24gb2UoZSx0KXtyZXR1cm4gZSYmZVtuZV0mJmVbbmVdW3RdfWZ1bmN0aW9uIGFlKGUsdCxuKXtyZXR1cm4gT2JqZWN0LmlzRnJvemVuKG4pfHwobi5jb25maWd1cmFibGU9ITApLG4uY29uZmlndXJhYmxlfHwoZVtuZV18fE9iamVjdC5pc0Zyb3plbihlKXx8JChlLG5lLHt3cml0YWJsZTohMCx2YWx1ZTp7fX0pLGVbbmVdJiYoZVtuZV1bdF09ITApKSxufWZ1bmN0aW9uIGllKGUsdCxuLHIpe3RyeXtyZXR1cm4gJChlLHQsbil9Y2F0Y2goYSl7aWYoIW4uY29uZmlndXJhYmxlKXRocm93IGE7dm9pZCAwPT09cj9kZWxldGUgbi5jb25maWd1cmFibGU6bi5jb25maWd1cmFibGU9cjt0cnl7cmV0dXJuICQoZSx0LG4pfWNhdGNoKGEpe3ZhciBvPW51bGw7dHJ5e289SlNPTi5zdHJpbmdpZnkobil9Y2F0Y2goYSl7bz1uLnRvU3RyaW5nKCl9Y29uc29sZS5sb2coIkF0dGVtcHRpbmcgdG8gY29uZmlndXJlICciK3QrIicgd2l0aCBkZXNjcmlwdG9yICciK28rIicgb24gb2JqZWN0ICciK2UrIicgYW5kIGdvdCBlcnJvciwgZ2l2aW5nIHVwOiAiK2EpfX19dmFyIGNlPVsiYWJzb2x1dGVkZXZpY2VvcmllbnRhdGlvbiIsImFmdGVyaW5wdXQiLCJhZnRlcnByaW50IiwiYXBwaW5zdGFsbGVkIiwiYmVmb3JlaW5zdGFsbHByb21wdCIsImJlZm9yZXByaW50IiwiYmVmb3JldW5sb2FkIiwiZGV2aWNlbGlnaHQiLCJkZXZpY2Vtb3Rpb24iLCJkZXZpY2VvcmllbnRhdGlvbiIsImRldmljZW9yaWVudGF0aW9uYWJzb2x1dGUiLCJkZXZpY2Vwcm94aW1pdHkiLCJoYXNoY2hhbmdlIiwibGFuZ3VhZ2VjaGFuZ2UiLCJtZXNzYWdlIiwibW96YmVmb3JlcGFpbnQiLCJvZmZsaW5lIiwib25saW5lIiwicGFpbnQiLCJwYWdlc2hvdyIsInBhZ2VoaWRlIiwicG9wc3RhdGUiLCJyZWplY3Rpb25oYW5kbGVkIiwic3RvcmFnZSIsInVuaGFuZGxlZHJlamVjdGlvbiIsInVubG9hZCIsInVzZXJwcm94aW1pdHkiLCJ2cmRpc3BseWNvbm5lY3RlZCIsInZyZGlzcGxheWRpc2Nvbm5lY3RlZCIsInZyZGlzcGxheXByZXNlbnRjaGFuZ2UiXSxzZT1bImVuY3J5cHRlZCIsIndhaXRpbmdmb3JrZXkiLCJtc25lZWRrZXkiLCJtb3ppbnRlcnJ1cHRiZWdpbiIsIm1vemludGVycnVwdGVuZCJdLHVlPVsibG9hZCJdLGxlPVsiYmx1ciIsImVycm9yIiwiZm9jdXMiLCJsb2FkIiwicmVzaXplIiwic2Nyb2xsIiwibWVzc2FnZWVycm9yIl0sZmU9WyJib3VuY2UiLCJmaW5pc2giLCJzdGFydCJdLHBlPVsibG9hZHN0YXJ0IiwicHJvZ3Jlc3MiLCJhYm9ydCIsImVycm9yIiwibG9hZCIsInByb2dyZXNzIiwidGltZW91dCIsImxvYWRlbmQiLCJyZWFkeXN0YXRlY2hhbmdlIl0saGU9WyJ1cGdyYWRlbmVlZGVkIiwiY29tcGxldGUiLCJhYm9ydCIsInN1Y2Nlc3MiLCJlcnJvciIsImJsb2NrZWQiLCJ2ZXJzaW9uY2hhbmdlIiwiY2xvc2UiXSxkZT1bImNsb3NlIiwiZXJyb3IiLCJvcGVuIiwibWVzc2FnZSJdLHZlPVsiZXJyb3IiLCJtZXNzYWdlIl0seWU9WyJhYm9ydCIsImFuaW1hdGlvbmNhbmNlbCIsImFuaW1hdGlvbmVuZCIsImFuaW1hdGlvbml0ZXJhdGlvbiIsImF1eGNsaWNrIiwiYmVmb3JlaW5wdXQiLCJibHVyIiwiY2FuY2VsIiwiY2FucGxheSIsImNhbnBsYXl0aHJvdWdoIiwiY2hhbmdlIiwiY29tcG9zaXRpb25zdGFydCIsImNvbXBvc2l0aW9udXBkYXRlIiwiY29tcG9zaXRpb25lbmQiLCJjdWVjaGFuZ2UiLCJjbGljayIsImNsb3NlIiwiY29udGV4dG1lbnUiLCJjdXJlY2hhbmdlIiwiZGJsY2xpY2siLCJkcmFnIiwiZHJhZ2VuZCIsImRyYWdlbnRlciIsImRyYWdleGl0IiwiZHJhZ2xlYXZlIiwiZHJhZ292ZXIiLCJkcm9wIiwiZHVyYXRpb25jaGFuZ2UiLCJlbXB0aWVkIiwiZW5kZWQiLCJlcnJvciIsImZvY3VzIiwiZm9jdXNpbiIsImZvY3Vzb3V0IiwiZ290cG9pbnRlcmNhcHR1cmUiLCJpbnB1dCIsImludmFsaWQiLCJrZXlkb3duIiwia2V5cHJlc3MiLCJrZXl1cCIsImxvYWQiLCJsb2Fkc3RhcnQiLCJsb2FkZWRkYXRhIiwibG9hZGVkbWV0YWRhdGEiLCJsb3N0cG9pbnRlcmNhcHR1cmUiLCJtb3VzZWRvd24iLCJtb3VzZWVudGVyIiwibW91c2VsZWF2ZSIsIm1vdXNlbW92ZSIsIm1vdXNlb3V0IiwibW91c2VvdmVyIiwibW91c2V1cCIsIm1vdXNld2hlZWwiLCJvcmllbnRhdGlvbmNoYW5nZSIsInBhdXNlIiwicGxheSIsInBsYXlpbmciLCJwb2ludGVyY2FuY2VsIiwicG9pbnRlcmRvd24iLCJwb2ludGVyZW50ZXIiLCJwb2ludGVybGVhdmUiLCJwb2ludGVybG9ja2NoYW5nZSIsIm1venBvaW50ZXJsb2NrY2hhbmdlIiwid2Via2l0cG9pbnRlcmxvY2tlcmNoYW5nZSIsInBvaW50ZXJsb2NrZXJyb3IiLCJtb3pwb2ludGVybG9ja2Vycm9yIiwid2Via2l0cG9pbnRlcmxvY2tlcnJvciIsInBvaW50ZXJtb3ZlIiwicG9pbnRvdXQiLCJwb2ludGVyb3ZlciIsInBvaW50ZXJ1cCIsInByb2dyZXNzIiwicmF0ZWNoYW5nZSIsInJlc2V0IiwicmVzaXplIiwic2Nyb2xsIiwic2Vla2VkIiwic2Vla2luZyIsInNlbGVjdCIsInNlbGVjdGlvbmNoYW5nZSIsInNlbGVjdHN0YXJ0Iiwic2hvdyIsInNvcnQiLCJzdGFsbGVkIiwic3VibWl0Iiwic3VzcGVuZCIsInRpbWV1cGRhdGUiLCJ2b2x1bWVjaGFuZ2UiLCJ0b3VjaGNhbmNlbCIsInRvdWNobW92ZSIsInRvdWNoc3RhcnQiLCJ0b3VjaGVuZCIsInRyYW5zaXRpb25jYW5jZWwiLCJ0cmFuc2l0aW9uZW5kIiwid2FpdGluZyIsIndoZWVsIl0uY29uY2F0KFsid2ViZ2xjb250ZXh0cmVzdG9yZWQiLCJ3ZWJnbGNvbnRleHRsb3N0Iiwid2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvciJdLFsiYXV0b2NvbXBsZXRlIiwiYXV0b2NvbXBsZXRlZXJyb3IiXSxbInRvZ2dsZSJdLFsiYWZ0ZXJzY3JpcHRleGVjdXRlIiwiYmVmb3Jlc2NyaXB0ZXhlY3V0ZSIsIkRPTUNvbnRlbnRMb2FkZWQiLCJmcmVlemUiLCJmdWxsc2NyZWVuY2hhbmdlIiwibW96ZnVsbHNjcmVlbmNoYW5nZSIsIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLCJtc2Z1bGxzY3JlZW5jaGFuZ2UiLCJmdWxsc2NyZWVuZXJyb3IiLCJtb3pmdWxsc2NyZWVuZXJyb3IiLCJ3ZWJraXRmdWxsc2NyZWVuZXJyb3IiLCJtc2Z1bGxzY3JlZW5lcnJvciIsInJlYWR5c3RhdGVjaGFuZ2UiLCJ2aXNpYmlsaXR5Y2hhbmdlIiwicmVzdW1lIl0sY2UsWyJiZWZvcmVjb3B5IiwiYmVmb3JlY3V0IiwiYmVmb3JlcGFzdGUiLCJjb3B5IiwiY3V0IiwicGFzdGUiLCJkcmFnc3RhcnQiLCJsb2FkZW5kIiwiYW5pbWF0aW9uc3RhcnQiLCJzZWFyY2giLCJ0cmFuc2l0aW9ucnVuIiwidHJhbnNpdGlvbnN0YXJ0Iiwid2Via2l0YW5pbWF0aW9uZW5kIiwid2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uIiwid2Via2l0YW5pbWF0aW9uc3RhcnQiLCJ3ZWJraXR0cmFuc2l0aW9uZW5kIl0sWyJhY3RpdmF0ZSIsImFmdGVydXBkYXRlIiwiYXJpYXJlcXVlc3QiLCJiZWZvcmVhY3RpdmF0ZSIsImJlZm9yZWRlYWN0aXZhdGUiLCJiZWZvcmVlZGl0Zm9jdXMiLCJiZWZvcmV1cGRhdGUiLCJjZWxsY2hhbmdlIiwiY29udHJvbHNlbGVjdCIsImRhdGFhdmFpbGFibGUiLCJkYXRhc2V0Y2hhbmdlZCIsImRhdGFzZXRjb21wbGV0ZSIsImVycm9ydXBkYXRlIiwiZmlsdGVyY2hhbmdlIiwibGF5b3V0Y29tcGxldGUiLCJsb3NlY2FwdHVyZSIsIm1vdmUiLCJtb3ZlZW5kIiwibW92ZXN0YXJ0IiwicHJvcGVydHljaGFuZ2UiLCJyZXNpemVlbmQiLCJyZXNpemVzdGFydCIsInJvd2VudGVyIiwicm93ZXhpdCIsInJvd3NkZWxldGUiLCJyb3dzaW5zZXJ0ZWQiLCJjb21tYW5kIiwiY29tcGFzc25lZWRzY2FsaWJyYXRpb24iLCJkZWFjdGl2YXRlIiwiaGVscCIsIm1zY29udGVudHpvb20iLCJtc21hbmlwdWxhdGlvbnN0YXRlY2hhbmdlZCIsIm1zZ2VzdHVyZWNoYW5nZSIsIm1zZ2VzdHVyZWRvdWJsZXRhcCIsIm1zZ2VzdHVyZWVuZCIsIm1zZ2VzdHVyZWhvbGQiLCJtc2dlc3R1cmVzdGFydCIsIm1zZ2VzdHVyZXRhcCIsIm1zZ290cG9pbnRlcmNhcHR1cmUiLCJtc2luZXJ0aWFzdGFydCIsIm1zbG9zdHBvaW50ZXJjYXB0dXJlIiwibXNwb2ludGVyY2FuY2VsIiwibXNwb2ludGVyZG93biIsIm1zcG9pbnRlcmVudGVyIiwibXNwb2ludGVyaG92ZXIiLCJtc3BvaW50ZXJsZWF2ZSIsIm1zcG9pbnRlcm1vdmUiLCJtc3BvaW50ZXJvdXQiLCJtc3BvaW50ZXJvdmVyIiwibXNwb2ludGVydXAiLCJwb2ludGVyb3V0IiwibXNzaXRlbW9kZWp1bXBsaXN0aXRlbXJlbW92ZWQiLCJtc3RodW1ibmFpbGNsaWNrIiwic3RvcCIsInN0b3JhZ2Vjb21taXQiXSk7ZnVuY3Rpb24gZ2UoZSx0LG4pe2lmKCFufHwwPT09bi5sZW5ndGgpcmV0dXJuIHQ7dmFyIHI9bi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRhcmdldD09PWV9KSk7aWYoIXJ8fDA9PT1yLmxlbmd0aClyZXR1cm4gdDt2YXIgbz1yWzBdLmlnbm9yZVByb3BlcnRpZXM7cmV0dXJuIHQuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4tMT09PW8uaW5kZXhPZihlKX0pKX1mdW5jdGlvbiBfZShlLHQsbixyKXtlJiZqKGUsZ2UoZSx0LG4pLHIpfWZ1bmN0aW9uIG1lKGUsdCl7aWYoKCFFfHxTKSYmIVpvbmVbZS5zeW1ib2woInBhdGNoRXZlbnRzIildKXt2YXIgcj0idW5kZWZpbmVkIiE9dHlwZW9mIFdlYlNvY2tldCxvPXQuX19ab25lX2lnbm9yZV9vbl9wcm9wZXJ0aWVzO2lmKE8pe3ZhciBhPXdpbmRvdyxpPUY/W3t0YXJnZXQ6YSxpZ25vcmVQcm9wZXJ0aWVzOlsiZXJyb3IiXX1dOltdO19lKGEseWUuY29uY2F0KFsibWVzc2FnZWVycm9yIl0pLG8/by5jb25jYXQoaSk6byxuKGEpKSxfZShEb2N1bWVudC5wcm90b3R5cGUseWUsbyksdm9pZCAwIT09YS5TVkdFbGVtZW50JiZfZShhLlNWR0VsZW1lbnQucHJvdG90eXBlLHllLG8pLF9lKEVsZW1lbnQucHJvdG90eXBlLHllLG8pLF9lKEhUTUxFbGVtZW50LnByb3RvdHlwZSx5ZSxvKSxfZShIVE1MTWVkaWFFbGVtZW50LnByb3RvdHlwZSxzZSxvKSxfZShIVE1MRnJhbWVTZXRFbGVtZW50LnByb3RvdHlwZSxjZS5jb25jYXQobGUpLG8pLF9lKEhUTUxCb2R5RWxlbWVudC5wcm90b3R5cGUsY2UuY29uY2F0KGxlKSxvKSxfZShIVE1MRnJhbWVFbGVtZW50LnByb3RvdHlwZSx1ZSxvKSxfZShIVE1MSUZyYW1lRWxlbWVudC5wcm90b3R5cGUsdWUsbyk7dmFyIGM9YS5IVE1MTWFycXVlZUVsZW1lbnQ7YyYmX2UoYy5wcm90b3R5cGUsZmUsbyk7dmFyIHM9YS5Xb3JrZXI7cyYmX2Uocy5wcm90b3R5cGUsdmUsbyl9dmFyIHU9dC5YTUxIdHRwUmVxdWVzdDt1JiZfZSh1LnByb3RvdHlwZSxwZSxvKTt2YXIgbD10LlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ7bCYmX2UobCYmbC5wcm90b3R5cGUscGUsbyksInVuZGVmaW5lZCIhPXR5cGVvZiBJREJJbmRleCYmKF9lKElEQkluZGV4LnByb3RvdHlwZSxoZSxvKSxfZShJREJSZXF1ZXN0LnByb3RvdHlwZSxoZSxvKSxfZShJREJPcGVuREJSZXF1ZXN0LnByb3RvdHlwZSxoZSxvKSxfZShJREJEYXRhYmFzZS5wcm90b3R5cGUsaGUsbyksX2UoSURCVHJhbnNhY3Rpb24ucHJvdG90eXBlLGhlLG8pLF9lKElEQkN1cnNvci5wcm90b3R5cGUsaGUsbykpLHImJl9lKFdlYlNvY2tldC5wcm90b3R5cGUsZGUsbyl9fWZ1bmN0aW9uIGJlKGUsdCl7dmFyIG49dC5nZXRHbG9iYWxPYmplY3RzKCkscj1uLmV2ZW50TmFtZXMsbz1uLmdsb2JhbFNvdXJjZXMsYT1uLnpvbmVTeW1ib2xFdmVudE5hbWVzLGk9bi5UUlVFX1NUUixjPW4uRkFMU0VfU1RSLHM9bi5aT05FX1NZTUJPTF9QUkVGSVgsdT0iQW5jaG9yLEFyZWEsQXVkaW8sQlIsQmFzZSxCYXNlRm9udCxCb2R5LEJ1dHRvbixDYW52YXMsQ29udGVudCxETGlzdCxEaXJlY3RvcnksRGl2LEVtYmVkLEZpZWxkU2V0LEZvbnQsRm9ybSxGcmFtZSxGcmFtZVNldCxIUixIZWFkLEhlYWRpbmcsSHRtbCxJRnJhbWUsSW1hZ2UsSW5wdXQsS2V5Z2VuLExJLExhYmVsLExlZ2VuZCxMaW5rLE1hcCxNYXJxdWVlLE1lZGlhLE1lbnUsTWV0YSxNZXRlcixNb2QsT0xpc3QsT2JqZWN0LE9wdEdyb3VwLE9wdGlvbixPdXRwdXQsUGFyYWdyYXBoLFByZSxQcm9ncmVzcyxRdW90ZSxTY3JpcHQsU2VsZWN0LFNvdXJjZSxTcGFuLFN0eWxlLFRhYmxlQ2FwdGlvbixUYWJsZUNlbGwsVGFibGVDb2wsVGFibGUsVGFibGVSb3csVGFibGVTZWN0aW9uLFRleHRBcmVhLFRpdGxlLFRyYWNrLFVMaXN0LFVua25vd24sVmlkZW8iLGw9IkFwcGxpY2F0aW9uQ2FjaGUsRXZlbnRTb3VyY2UsRmlsZVJlYWRlcixJbnB1dE1ldGhvZENvbnRleHQsTWVkaWFDb250cm9sbGVyLE1lc3NhZ2VQb3J0LE5vZGUsUGVyZm9ybWFuY2UsU1ZHRWxlbWVudEluc3RhbmNlLFNoYXJlZFdvcmtlcixUZXh0VHJhY2ssVGV4dFRyYWNrQ3VlLFRleHRUcmFja0xpc3QsV2ViS2l0TmFtZWRGbG93LFdpbmRvdyxXb3JrZXIsV29ya2VyR2xvYmFsU2NvcGUsWE1MSHR0cFJlcXVlc3QsWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldCxYTUxIdHRwUmVxdWVzdFVwbG9hZCxJREJSZXF1ZXN0LElEQk9wZW5EQlJlcXVlc3QsSURCRGF0YWJhc2UsSURCVHJhbnNhY3Rpb24sSURCQ3Vyc29yLERCSW5kZXgsV2ViU29ja2V0Ii5zcGxpdCgiLCIpLGY9W10scD1lLnd0ZixoPXUuc3BsaXQoIiwiKTtwP2Y9aC5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiJIVE1MIitlKyJFbGVtZW50In0pKS5jb25jYXQobCk6ZS5FdmVudFRhcmdldD9mLnB1c2goIkV2ZW50VGFyZ2V0Iik6Zj1sO2Zvcih2YXIgZD1lLl9fWm9uZV9kaXNhYmxlX0lFX2NoZWNrfHwhMSx2PWUuX19ab25lX2VuYWJsZV9jcm9zc19jb250ZXh0X2NoZWNrfHwhMSx5PXQuaXNJRU9yRWRnZSgpLGc9ImZ1bmN0aW9uIF9fQlJPV1NFUlRPT0xTX0NPTlNPTEVfU0FGRUZVTkMoKSB7IFtuYXRpdmUgY29kZV0gfSIsXz0wO188ci5sZW5ndGg7XysrKXt2YXIgbT1zKygoRT1yW19dKStjKSxiPXMrKEUraSk7YVtFXT17fSxhW0VdW2NdPW0sYVtFXVtpXT1ifWZvcihfPTA7Xzx1Lmxlbmd0aDtfKyspZm9yKHZhciBrPWhbX10sVD1vW2tdPXt9LHc9MDt3PHIubGVuZ3RoO3crKyl7dmFyIEU7VFtFPXJbd11dPWsrIi5hZGRFdmVudExpc3RlbmVyOiIrRX12YXIgTz1bXTtmb3IoXz0wO188Zi5sZW5ndGg7XysrKXt2YXIgUz1lW2ZbX11dO08ucHVzaChTJiZTLnByb3RvdHlwZSl9cmV0dXJuIHQucGF0Y2hFdmVudFRhcmdldChlLE8se3ZoOmZ1bmN0aW9uKGUsdCxuLHIpe2lmKCFkJiZ5KXtpZih2KXRyeXt2YXIgbztpZigiW29iamVjdCBGdW5jdGlvbldyYXBwZXJdIj09PShvPXQudG9TdHJpbmcoKSl8fG89PWcpcmV0dXJuIGUuYXBwbHkobixyKSwhMX1jYXRjaChhKXtyZXR1cm4gZS5hcHBseShuLHIpLCExfWVsc2UgaWYoIltvYmplY3QgRnVuY3Rpb25XcmFwcGVyXSI9PT0obz10LnRvU3RyaW5nKCkpfHxvPT1nKXJldHVybiBlLmFwcGx5KG4sciksITF9ZWxzZSBpZih2KXRyeXt0LnRvU3RyaW5nKCl9Y2F0Y2goYSl7cmV0dXJuIGUuYXBwbHkobixyKSwhMX1yZXR1cm4hMH19KSxab25lW3Quc3ltYm9sKCJwYXRjaEV2ZW50VGFyZ2V0IildPSEhZS5FdmVudFRhcmdldCwhMH1mdW5jdGlvbiBrZShlLHQpe3ZhciBuPWUuZ2V0R2xvYmFsT2JqZWN0cygpO2lmKCghbi5pc05vZGV8fG4uaXNNaXgpJiYhZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmdldEdsb2JhbE9iamVjdHMoKTtpZigobi5pc0Jyb3dzZXJ8fG4uaXNNaXgpJiYhZS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoSFRNTEVsZW1lbnQucHJvdG90eXBlLCJvbmNsaWNrIikmJiJ1bmRlZmluZWQiIT10eXBlb2YgRWxlbWVudCl7dmFyIHI9ZS5PYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRWxlbWVudC5wcm90b3R5cGUsIm9uY2xpY2siKTtpZihyJiYhci5jb25maWd1cmFibGUpcmV0dXJuITE7aWYocil7ZS5PYmplY3REZWZpbmVQcm9wZXJ0eShFbGVtZW50LnByb3RvdHlwZSwib25jbGljayIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiEwfX0pO3ZhciBvPSEhZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iikub25jbGljaztyZXR1cm4gZS5PYmplY3REZWZpbmVQcm9wZXJ0eShFbGVtZW50LnByb3RvdHlwZSwib25jbGljayIsciksb319dmFyIGE9dC5YTUxIdHRwUmVxdWVzdDtpZighYSlyZXR1cm4hMTt2YXIgaT1hLnByb3RvdHlwZSxjPWUuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksIm9ucmVhZHlzdGF0ZWNoYW5nZSIpO2lmKGMpcmV0dXJuIGUuT2JqZWN0RGVmaW5lUHJvcGVydHkoaSwib25yZWFkeXN0YXRlY2hhbmdlIix7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuITB9fSksbz0hISh1PW5ldyBhKS5vbnJlYWR5c3RhdGVjaGFuZ2UsZS5PYmplY3REZWZpbmVQcm9wZXJ0eShpLCJvbnJlYWR5c3RhdGVjaGFuZ2UiLGN8fHt9KSxvO3ZhciBzPWUuc3ltYm9sKCJmYWtlIik7ZS5PYmplY3REZWZpbmVQcm9wZXJ0eShpLCJvbnJlYWR5c3RhdGVjaGFuZ2UiLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1tzXX0sc2V0OmZ1bmN0aW9uKGUpe3RoaXNbc109ZX19KTt2YXIgdT1uZXcgYSxsPWZ1bmN0aW9uKCl7fTtyZXR1cm4gdS5vbnJlYWR5c3RhdGVjaGFuZ2U9bCxvPXVbc109PT1sLHUub25yZWFkeXN0YXRlY2hhbmdlPW51bGwsb30oZSx0KSl7dmFyIHI9InVuZGVmaW5lZCIhPXR5cGVvZiBXZWJTb2NrZXQ7IWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmdldEdsb2JhbE9iamVjdHMoKS5ldmVudE5hbWVzLG49ZS5zeW1ib2woInVuYm91bmQiKSxyPWZ1bmN0aW9uKHIpe3ZhciBvPXRbcl0sYT0ib24iK287c2VsZi5hZGRFdmVudExpc3RlbmVyKG8sKGZ1bmN0aW9uKHQpe3ZhciByLG8saT10LnRhcmdldDtmb3Iobz1pP2kuY29uc3RydWN0b3IubmFtZSsiLiIrYToidW5rbm93bi4iK2E7aTspaVthXSYmIWlbYV1bbl0mJigocj1lLndyYXBXaXRoQ3VycmVudFpvbmUoaVthXSxvKSlbbl09aVthXSxpW2FdPXIpLGk9aS5wYXJlbnRFbGVtZW50fSksITApfSxvPTA7bzx0Lmxlbmd0aDtvKyspcihvKX0oZSksZS5wYXRjaENsYXNzKCJYTUxIdHRwUmVxdWVzdCIpLHImJmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5nZXRHbG9iYWxPYmplY3RzKCkscj1uLkFERF9FVkVOVF9MSVNURU5FUl9TVFIsbz1uLlJFTU9WRV9FVkVOVF9MSVNURU5FUl9TVFIsYT10LldlYlNvY2tldDt0LkV2ZW50VGFyZ2V0fHxlLnBhdGNoRXZlbnRUYXJnZXQodCxbYS5wcm90b3R5cGVdKSx0LldlYlNvY2tldD1mdW5jdGlvbih0LG4pe3ZhciBpLGMscz1hcmd1bWVudHMubGVuZ3RoPjE/bmV3IGEodCxuKTpuZXcgYSh0KSx1PWUuT2JqZWN0R2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHMsIm9ubWVzc2FnZSIpO3JldHVybiB1JiYhMT09PXUuY29uZmlndXJhYmxlPyhpPWUuT2JqZWN0Q3JlYXRlKHMpLGM9cyxbcixvLCJzZW5kIiwiY2xvc2UiXS5mb3JFYWNoKChmdW5jdGlvbih0KXtpW3RdPWZ1bmN0aW9uKCl7dmFyIG49ZS5BcnJheVNsaWNlLmNhbGwoYXJndW1lbnRzKTtpZih0PT09cnx8dD09PW8pe3ZhciBhPW4ubGVuZ3RoPjA/blswXTp2b2lkIDA7aWYoYSl7dmFyIGM9Wm9uZS5fX3N5bWJvbF9fKCJPTl9QUk9QRVJUWSIrYSk7c1tjXT1pW2NdfX1yZXR1cm4gc1t0XS5hcHBseShzLG4pfX0pKSk6aT1zLGUucGF0Y2hPblByb3BlcnRpZXMoaSxbImNsb3NlIiwiZXJyb3IiLCJtZXNzYWdlIiwib3BlbiJdLGMpLGl9O3ZhciBpPXQuV2ViU29ja2V0O2Zvcih2YXIgYyBpbiBhKWlbY109YVtjXX0oZSx0KSxab25lW2Uuc3ltYm9sKCJwYXRjaEV2ZW50cyIpXT0hMH19Wm9uZS5fX2xvYWRfcGF0Y2goInV0aWwiLChmdW5jdGlvbihuLHIscyl7cy5wYXRjaE9uUHJvcGVydGllcz1qLHMucGF0Y2hNZXRob2Q9UixzLmJpbmRBcmd1bWVudHM9ayxzLnBhdGNoTWFjcm9UYXNrPXg7dmFyIHU9ci5fX3N5bWJvbF9fKCJCTEFDS19MSVNURURfRVZFTlRTIiksZD1yLl9fc3ltYm9sX18oIlVOUEFUQ0hFRF9FVkVOVFMiKTtuW2RdJiYoblt1XT1uW2RdKSxuW3VdJiYoclt1XT1yW2RdPW5bdV0pLHMucGF0Y2hFdmVudFByb3RvdHlwZT1KLHMucGF0Y2hFdmVudFRhcmdldD1YLHMuaXNJRU9yRWRnZT1BLHMuT2JqZWN0RGVmaW5lUHJvcGVydHk9dCxzLk9iamVjdEdldE93blByb3BlcnR5RGVzY3JpcHRvcj1lLHMuT2JqZWN0Q3JlYXRlPW8scy5BcnJheVNsaWNlPWEscy5wYXRjaENsYXNzPUMscy53cmFwV2l0aEN1cnJlbnRab25lPWgscy5maWx0ZXJQcm9wZXJ0aWVzPWdlLHMuYXR0YWNoT3JpZ2luVG9QYXRjaGVkPU0scy5fcmVkZWZpbmVQcm9wZXJ0eT1yZSxzLnBhdGNoQ2FsbGJhY2tzPUsscy5nZXRHbG9iYWxPYmplY3RzPWZ1bmN0aW9uKCl7cmV0dXJue2dsb2JhbFNvdXJjZXM6cSx6b25lU3ltYm9sRXZlbnROYW1lczpXLGV2ZW50TmFtZXM6eWUsaXNCcm93c2VyOk8saXNNaXg6Uyxpc05vZGU6RSxUUlVFX1NUUjpsLEZBTFNFX1NUUjpmLFpPTkVfU1lNQk9MX1BSRUZJWDpwLEFERF9FVkVOVF9MSVNURU5FUl9TVFI6aSxSRU1PVkVfRVZFTlRfTElTVEVORVJfU1RSOmN9fX0pKSxmdW5jdGlvbihlKXtlLl9fem9uZV9zeW1ib2xfX2xlZ2FjeVBhdGNoPWZ1bmN0aW9uKCl7dmFyIHQ9ZS5ab25lO3QuX19sb2FkX3BhdGNoKCJyZWdpc3RlckVsZW1lbnQiLChmdW5jdGlvbihlLHQsbil7IWZ1bmN0aW9uKGUsdCl7dmFyIG49dC5nZXRHbG9iYWxPYmplY3RzKCk7KG4uaXNCcm93c2VyfHxuLmlzTWl4KSYmInJlZ2lzdGVyRWxlbWVudCJpbiBlLmRvY3VtZW50JiZ0LnBhdGNoQ2FsbGJhY2tzKHQsZG9jdW1lbnQsIkRvY3VtZW50IiwicmVnaXN0ZXJFbGVtZW50IixbImNyZWF0ZWRDYWxsYmFjayIsImF0dGFjaGVkQ2FsbGJhY2siLCJkZXRhY2hlZENhbGxiYWNrIiwiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIl0pfShlLG4pfSkpLHQuX19sb2FkX3BhdGNoKCJFdmVudFRhcmdldExlZ2FjeSIsKGZ1bmN0aW9uKGUsdCxuKXtiZShlLG4pLGtlKG4sZSl9KSl9fSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93fHwidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGZ8fGdsb2JhbCk7dmFyIFRlPXYoInpvbmVUYXNrIik7ZnVuY3Rpb24gd2UoZSx0LG4scil7dmFyIG89bnVsbCxhPW51bGw7bis9cjt2YXIgaT17fTtmdW5jdGlvbiBjKHQpe3ZhciBuPXQuZGF0YTtyZXR1cm4gbi5hcmdzWzBdPWZ1bmN0aW9uKCl7dHJ5e3QuaW52b2tlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1maW5hbGx5e3QuZGF0YSYmdC5kYXRhLmlzUGVyaW9kaWN8fCgibnVtYmVyIj09dHlwZW9mIG4uaGFuZGxlSWQ/ZGVsZXRlIGlbbi5oYW5kbGVJZF06bi5oYW5kbGVJZCYmKG4uaGFuZGxlSWRbVGVdPW51bGwpKX19LG4uaGFuZGxlSWQ9by5hcHBseShlLG4uYXJncyksdH1mdW5jdGlvbiBzKGUpe3JldHVybiBhKGUuZGF0YS5oYW5kbGVJZCl9bz1SKGUsdCs9ciwoZnVuY3Rpb24obil7cmV0dXJuIGZ1bmN0aW9uKG8sYSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGFbMF0pe3ZhciB1PWQodCxhWzBdLHtpc1BlcmlvZGljOiJJbnRlcnZhbCI9PT1yLGRlbGF5OiJUaW1lb3V0Ij09PXJ8fCJJbnRlcnZhbCI9PT1yP2FbMV18fDA6dm9pZCAwLGFyZ3M6YX0sYyxzKTtpZighdSlyZXR1cm4gdTt2YXIgbD11LmRhdGEuaGFuZGxlSWQ7cmV0dXJuIm51bWJlciI9PXR5cGVvZiBsP2lbbF09dTpsJiYobFtUZV09dSksbCYmbC5yZWYmJmwudW5yZWYmJiJmdW5jdGlvbiI9PXR5cGVvZiBsLnJlZiYmImZ1bmN0aW9uIj09dHlwZW9mIGwudW5yZWYmJih1LnJlZj1sLnJlZi5iaW5kKGwpLHUudW5yZWY9bC51bnJlZi5iaW5kKGwpKSwibnVtYmVyIj09dHlwZW9mIGx8fGw/bDp1fXJldHVybiBuLmFwcGx5KGUsYSl9fSkpLGE9UihlLG4sKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihuLHIpe3ZhciBvLGE9clswXTsibnVtYmVyIj09dHlwZW9mIGE/bz1pW2FdOihvPWEmJmFbVGVdKXx8KG89YSksbyYmInN0cmluZyI9PXR5cGVvZiBvLnR5cGU/Im5vdFNjaGVkdWxlZCIhPT1vLnN0YXRlJiYoby5jYW5jZWxGbiYmby5kYXRhLmlzUGVyaW9kaWN8fDA9PT1vLnJ1bkNvdW50KSYmKCJudW1iZXIiPT10eXBlb2YgYT9kZWxldGUgaVthXTphJiYoYVtUZV09bnVsbCksby56b25lLmNhbmNlbFRhc2sobykpOnQuYXBwbA==" }, { "key": "newOne?runtime.js?2?2", "type": "binary", "value": "base64:eShlLHIpfX0pKX1mdW5jdGlvbiBFZShlLHQpe2lmKCFab25lW3Quc3ltYm9sKCJwYXRjaEV2ZW50VGFyZ2V0IildKXtmb3IodmFyIG49dC5nZXRHbG9iYWxPYmplY3RzKCkscj1uLmV2ZW50TmFtZXMsbz1uLnpvbmVTeW1ib2xFdmVudE5hbWVzLGE9bi5UUlVFX1NUUixpPW4uRkFMU0VfU1RSLGM9bi5aT05FX1NZTUJPTF9QUkVGSVgscz0wO3M8ci5sZW5ndGg7cysrKXt2YXIgdT1yW3NdLGw9YysodStpKSxmPWMrKHUrYSk7b1t1XT17fSxvW3VdW2ldPWwsb1t1XVthXT1mfXZhciBwPWUuRXZlbnRUYXJnZXQ7aWYocCYmcC5wcm90b3R5cGUpcmV0dXJuIHQucGF0Y2hFdmVudFRhcmdldChlLFtwJiZwLnByb3RvdHlwZV0pLCEwfX1ab25lLl9fbG9hZF9wYXRjaCgibGVnYWN5IiwoZnVuY3Rpb24oZSl7dmFyIHQ9ZVtab25lLl9fc3ltYm9sX18oImxlZ2FjeVBhdGNoIildO3QmJnQoKX0pKSxab25lLl9fbG9hZF9wYXRjaCgidGltZXJzIiwoZnVuY3Rpb24oZSl7d2UoZSwic2V0IiwiY2xlYXIiLCJUaW1lb3V0Iiksd2UoZSwic2V0IiwiY2xlYXIiLCJJbnRlcnZhbCIpLHdlKGUsInNldCIsImNsZWFyIiwiSW1tZWRpYXRlIil9KSksWm9uZS5fX2xvYWRfcGF0Y2goInJlcXVlc3RBbmltYXRpb25GcmFtZSIsKGZ1bmN0aW9uKGUpe3dlKGUsInJlcXVlc3QiLCJjYW5jZWwiLCJBbmltYXRpb25GcmFtZSIpLHdlKGUsIm1velJlcXVlc3QiLCJtb3pDYW5jZWwiLCJBbmltYXRpb25GcmFtZSIpLHdlKGUsIndlYmtpdFJlcXVlc3QiLCJ3ZWJraXRDYW5jZWwiLCJBbmltYXRpb25GcmFtZSIpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJibG9ja2luZyIsKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVsiYWxlcnQiLCJwcm9tcHQiLCJjb25maXJtIl0scj0wO3I8bi5sZW5ndGg7cisrKVIoZSxuW3JdLChmdW5jdGlvbihuLHIsbyl7cmV0dXJuIGZ1bmN0aW9uKHIsYSl7cmV0dXJuIHQuY3VycmVudC5ydW4obixlLGEsbyl9fSkpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJFdmVudFRhcmdldCIsKGZ1bmN0aW9uKGUsdCxuKXshZnVuY3Rpb24oZSx0KXt0LnBhdGNoRXZlbnRQcm90b3R5cGUoZSx0KX0oZSxuKSxFZShlLG4pO3ZhciByPWUuWE1MSHR0cFJlcXVlc3RFdmVudFRhcmdldDtyJiZyLnByb3RvdHlwZSYmbi5wYXRjaEV2ZW50VGFyZ2V0KGUsW3IucHJvdG90eXBlXSksQygiTXV0YXRpb25PYnNlcnZlciIpLEMoIldlYktpdE11dGF0aW9uT2JzZXJ2ZXIiKSxDKCJJbnRlcnNlY3Rpb25PYnNlcnZlciIpLEMoIkZpbGVSZWFkZXIiKX0pKSxab25lLl9fbG9hZF9wYXRjaCgib25fcHJvcGVydHkiLChmdW5jdGlvbihlLHQsbil7bWUobixlKSxPYmplY3QuZGVmaW5lUHJvcGVydHk9ZnVuY3Rpb24oZSx0LG4pe2lmKG9lKGUsdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFzc2lnbiB0byByZWFkIG9ubHkgcHJvcGVydHkgJyIrdCsiJyBvZiAiK2UpO3ZhciByPW4uY29uZmlndXJhYmxlO3JldHVybiJwcm90b3R5cGUiIT09dCYmKG49YWUoZSx0LG4pKSxpZShlLHQsbixyKX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24obil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix0W25dKX0pKSxlfSxPYmplY3QuY3JlYXRlPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIm9iamVjdCIhPXR5cGVvZiB0fHxPYmplY3QuaXNGcm96ZW4odCl8fE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3Rbbl09YWUoZSxuLHRbbl0pfSkpLHRlKGUsdCl9LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lZShlLHQpO3JldHVybiBuJiZvZShlLHQpJiYobi5jb25maWd1cmFibGU9ITEpLG59fSkpLFpvbmUuX19sb2FkX3BhdGNoKCJjdXN0b21FbGVtZW50cyIsKGZ1bmN0aW9uKGUsdCxuKXshZnVuY3Rpb24oZSx0KXt2YXIgbj10LmdldEdsb2JhbE9iamVjdHMoKTsobi5pc0Jyb3dzZXJ8fG4uaXNNaXgpJiZlLmN1c3RvbUVsZW1lbnRzJiYiY3VzdG9tRWxlbWVudHMiaW4gZSYmdC5wYXRjaENhbGxiYWNrcyh0LGUuY3VzdG9tRWxlbWVudHMsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIixbImNvbm5lY3RlZENhbGxiYWNrIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJhZG9wdGVkQ2FsbGJhY2siLCJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2siXSl9KGUsbil9KSksWm9uZS5fX2xvYWRfcGF0Y2goIlhIUiIsKGZ1bmN0aW9uKGUsdCl7IWZ1bmN0aW9uKGUpe3ZhciBsPWUuWE1MSHR0cFJlcXVlc3Q7aWYobCl7dmFyIGY9bC5wcm90b3R5cGUscD1mW3NdLGg9Zlt1XTtpZighcCl7dmFyIHk9ZS5YTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0O2lmKHkpe3ZhciBnPXkucHJvdG90eXBlO3A9Z1tzXSxoPWdbdV19fXZhciBfPSJyZWFkeXN0YXRlY2hhbmdlIixtPSJzY2hlZHVsZWQiLGI9UihmLCJvcGVuIiwoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gZVtyXT0wPT10WzJdLGVbaV09dFsxXSxiLmFwcGx5KGUsdCl9fSkpLGs9digiZmV0Y2hUYXNrQWJvcnRpbmciKSxUPXYoImZldGNoVGFza1NjaGVkdWxpbmciKSx3PVIoZiwic2VuZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7aWYoITA9PT10LmN1cnJlbnRbVF0pcmV0dXJuIHcuYXBwbHkoZSxuKTtpZihlW3JdKXJldHVybiB3LmFwcGx5KGUsbik7dmFyIG89e3RhcmdldDplLHVybDplW2ldLGlzUGVyaW9kaWM6ITEsYXJnczpuLGFib3J0ZWQ6ITF9LGE9ZCgiWE1MSHR0cFJlcXVlc3Quc2VuZCIsUyxvLE8sUCk7ZSYmITA9PT1lW2NdJiYhby5hYm9ydGVkJiZhLnN0YXRlPT09bSYmYS5pbnZva2UoKX19KSksRT1SKGYsImFib3J0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSxyKXt2YXIgbz1lW25dO2lmKG8mJiJzdHJpbmciPT10eXBlb2Ygby50eXBlKXtpZihudWxsPT1vLmNhbmNlbEZufHxvLmRhdGEmJm8uZGF0YS5hYm9ydGVkKXJldHVybjtvLnpvbmUuY2FuY2VsVGFzayhvKX1lbHNlIGlmKCEwPT09dC5jdXJyZW50W2tdKXJldHVybiBFLmFwcGx5KGUscil9fSkpfWZ1bmN0aW9uIE8oZSl7dmFyIHQ9ZS5kYXRhLHI9dC50YXJnZXQ7clthXT0hMSxyW2NdPSExO3ZhciBpPXJbb107cHx8KHA9cltzXSxoPXJbdV0pLGkmJmguY2FsbChyLF8saSk7dmFyIGw9cltvXT1mdW5jdGlvbigpe2lmKHIucmVhZHlTdGF0ZT09PXIuRE9ORSlpZighdC5hYm9ydGVkJiZyW2FdJiZlLnN0YXRlPT09bSl7dmFyIG49ci5fX3pvbmVfc3ltYm9sX19sb2FkZmFsc2U7aWYobiYmbi5sZW5ndGg+MCl7dmFyIG89ZS5pbnZva2U7ZS5pbnZva2U9ZnVuY3Rpb24oKXtmb3IodmFyIG49ci5fX3pvbmVfc3ltYm9sX19sb2FkZmFsc2UsYT0wO2E8bi5sZW5ndGg7YSsrKW5bYV09PT1lJiZuLnNwbGljZShhLDEpO3QuYWJvcnRlZHx8ZS5zdGF0ZSE9PW18fG8uY2FsbChlKX0sbi5wdXNoKGUpfWVsc2UgZS5pbnZva2UoKX1lbHNlIHQuYWJvcnRlZHx8ITEhPT1yW2FdfHwocltjXT0hMCl9O3JldHVybiBwLmNhbGwocixfLGwpLHJbbl18fChyW25dPWUpLHcuYXBwbHkocix0LmFyZ3MpLHJbYV09ITAsZX1mdW5jdGlvbiBTKCl7fWZ1bmN0aW9uIFAoZSl7dmFyIHQ9ZS5kYXRhO3JldHVybiB0LmFib3J0ZWQ9ITAsRS5hcHBseSh0LnRhcmdldCx0LmFyZ3MpfX0oZSk7dmFyIG49digieGhyVGFzayIpLHI9digieGhyU3luYyIpLG89digieGhyTGlzdGVuZXIiKSxhPXYoInhoclNjaGVkdWxlZCIpLGk9digieGhyVVJMIiksYz12KCJ4aHJFcnJvckJlZm9yZVNjaGVkdWxlZCIpfSkpLFpvbmUuX19sb2FkX3BhdGNoKCJnZW9sb2NhdGlvbiIsKGZ1bmN0aW9uKHQpe3QubmF2aWdhdG9yJiZ0Lm5hdmlnYXRvci5nZW9sb2NhdGlvbiYmZnVuY3Rpb24odCxuKXtmb3IodmFyIHI9dC5jb25zdHJ1Y3Rvci5uYW1lLG89ZnVuY3Rpb24obyl7dmFyIGE9bltvXSxpPXRbYV07aWYoaSl7aWYoIVQoZSh0LGEpKSlyZXR1cm4iY29udGludWUiO3RbYV09ZnVuY3Rpb24oZSl7dmFyIHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0aGlzLGsoYXJndW1lbnRzLHIrIi4iK2EpKX07cmV0dXJuIE0odCxlKSx0fShpKX19LGE9MDthPG4ubGVuZ3RoO2ErKylvKGEpfSh0Lm5hdmlnYXRvci5nZW9sb2NhdGlvbixbImdldEN1cnJlbnRQb3NpdGlvbiIsIndhdGNoUG9zaXRpb24iXSl9KSksWm9uZS5fX2xvYWRfcGF0Y2goIlByb21pc2VSZWplY3Rpb25FdmVudCIsKGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbih0KXtyZXR1cm4gZnVuY3Rpb24obil7WShlLHQpLmZvckVhY2goKGZ1bmN0aW9uKHIpe3ZhciBvPWUuUHJvbWlzZVJlamVjdGlvbkV2ZW50O2lmKG8pe3ZhciBhPW5ldyBvKHQse3Byb21pc2U6bi5wcm9taXNlLHJlYXNvbjpuLnJlamVjdGlvbn0pO3IuaW52b2tlKGEpfX0pKX19ZS5Qcm9taXNlUmVqZWN0aW9uRXZlbnQmJih0W3YoInVuaGFuZGxlZFByb21pc2VSZWplY3Rpb25IYW5kbGVyIildPW4oInVuaGFuZGxlZHJlamVjdGlvbiIpLHRbdigicmVqZWN0aW9uSGFuZGxlZEhhbmRsZXIiKV09bigicmVqZWN0aW9uaGFuZGxlZCIpKX0pKX0oKX0sMjpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4oImhOL2ciKX0sImhOL2ciOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpLG4oIjBUV3AiKX0sbXJTRzpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSxuLmQodCwiX19leHRlbmRzIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQodCwiX19hc3NpZ24iLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZCh0LCJfX3Jlc3QiLChmdW5jdGlvbigpe3JldHVybiBpfSkpLG4uZCh0LCJfX2RlY29yYXRlIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQodCwiX19wYXJhbSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKHQsIl9fbWV0YWRhdGEiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZCh0LCJfX2F3YWl0ZXIiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLG4uZCh0LCJfX2dlbmVyYXRvciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksbi5kKHQsIl9fZXhwb3J0U3RhciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksbi5kKHQsIl9fdmFsdWVzIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxuLmQodCwiX19yZWFkIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxuLmQodCwiX19zcHJlYWQiLChmdW5jdGlvbigpe3JldHVybiB2fSkpLG4uZCh0LCJfX3NwcmVhZEFycmF5cyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksbi5kKHQsIl9fYXdhaXQiLChmdW5jdGlvbigpe3JldHVybiBnfSkpLG4uZCh0LCJfX2FzeW5jR2VuZXJhdG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4gX30pKSxuLmQodCwiX19hc3luY0RlbGVnYXRvciIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksbi5kKHQsIl9fYXN5bmNWYWx1ZXMiLChmdW5jdGlvbigpe3JldHVybiBifSkpLG4uZCh0LCJfX21ha2VUZW1wbGF0ZU9iamVjdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSksbi5kKHQsIl9faW1wb3J0U3RhciIsKGZ1bmN0aW9uKCl7cmV0dXJuIFR9KSksbi5kKHQsIl9faW1wb3J0RGVmYXVsdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHd9KSk7dmFyIHI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4ocj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gdCl0Lmhhc093blByb3BlcnR5KG4pJiYoZVtuXT10W25dKX0pKGUsdCl9O2Z1bmN0aW9uIG8oZSx0KXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXIoZSx0KSxlLnByb3RvdHlwZT1udWxsPT09dD9PYmplY3QuY3JlYXRlKHQpOihuLnByb3RvdHlwZT10LnByb3RvdHlwZSxuZXcgbil9dmFyIGE9ZnVuY3Rpb24oKXtyZXR1cm4oYT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQsbj0xLHI9YXJndW1lbnRzLmxlbmd0aDtuPHI7bisrKWZvcih2YXIgbyBpbiB0PWFyZ3VtZW50c1tuXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxvKSYmKGVbb109dFtvXSk7cmV0dXJuIGV9KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIGkoZSx0KXt2YXIgbj17fTtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmdC5pbmRleE9mKHIpPDAmJihuW3JdPWVbcl0pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbz0wO2ZvcihyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7bzxyLmxlbmd0aDtvKyspdC5pbmRleE9mKHJbb10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLHJbb10pJiYobltyW29dXT1lW3Jbb11dKX1yZXR1cm4gbn1mdW5jdGlvbiBjKGUsdCxuLHIpe3ZhciBvLGE9YXJndW1lbnRzLmxlbmd0aCxpPWE8Mz90Om51bGw9PT1yP3I9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pOnI7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlpPVJlZmxlY3QuZGVjb3JhdGUoZSx0LG4scik7ZWxzZSBmb3IodmFyIGM9ZS5sZW5ndGgtMTtjPj0wO2MtLSkobz1lW2NdKSYmKGk9KGE8Mz9vKGkpOmE+Mz9vKHQsbixpKTpvKHQsbikpfHxpKTtyZXR1cm4gYT4zJiZpJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLGkpLGl9ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBmdW5jdGlvbihuLHIpe3QobixyLGUpfX1mdW5jdGlvbiB1KGUsdCl7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShlLHQpfWZ1bmN0aW9uIGwoZSx0LG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKG8sYSl7ZnVuY3Rpb24gaShlKXt0cnl7cyhyLm5leHQoZSkpfWNhdGNoKHQpe2EodCl9fWZ1bmN0aW9uIGMoZSl7dHJ5e3Moci50aHJvdyhlKSl9Y2F0Y2godCl7YSh0KX19ZnVuY3Rpb24gcyhlKXtlLmRvbmU/byhlLnZhbHVlKTpuZXcgbigoZnVuY3Rpb24odCl7dChlLnZhbHVlKX0pKS50aGVuKGksYyl9cygocj1yLmFwcGx5KGUsdHx8W10pKS5uZXh0KCkpfSkpfWZ1bmN0aW9uIGYoZSx0KXt2YXIgbixyLG8sYSxpPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBhPXtuZXh0OmMoMCksdGhyb3c6YygxKSxyZXR1cm46YygyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGFbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksYTtmdW5jdGlvbiBjKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIGkubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6aS5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1pLm9wcy5wb3AoKSxpLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKG89KG89aS50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJig2PT09YVswXXx8Mj09PWFbMF0pKXtpPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtpLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJmkubGFiZWw8b1sxXSl7aS5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZpLmxhYmVsPG9bMl0pe2kubGFiZWw9b1syXSxpLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJmkub3BzLnBvcCgpLGkudHJ5cy5wb3AoKTtjb250aW51ZX1hPXQuY2FsbChlLGkpfWNhdGNoKGMpe2E9WzYsY10scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fWZ1bmN0aW9uIHAoZSx0KXtmb3IodmFyIG4gaW4gZSl0Lmhhc093blByb3BlcnR5KG4pfHwodFtuXT1lW25dKX1mdW5jdGlvbiBoKGUpe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXSxuPTA7cmV0dXJuIHQ/dC5jYWxsKGUpOntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGUmJm4+PWUubGVuZ3RoJiYoZT12b2lkIDApLHt2YWx1ZTplJiZlW24rK10sZG9uZTohZX19fX1mdW5jdGlvbiBkKGUsdCl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdO2lmKCFuKXJldHVybiBlO3ZhciByLG8sYT1uLmNhbGwoZSksaT1bXTt0cnl7Zm9yKDsodm9pZCAwPT09dHx8dC0tID4wKSYmIShyPWEubmV4dCgpKS5kb25lOylpLnB1c2goci52YWx1ZSl9Y2F0Y2goYyl7bz17ZXJyb3I6Y319ZmluYWxseXt0cnl7ciYmIXIuZG9uZSYmKG49YS5yZXR1cm4pJiZuLmNhbGwoYSl9ZmluYWxseXtpZihvKXRocm93IG8uZXJyb3J9fXJldHVybiBpfWZ1bmN0aW9uIHYoKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZT1lLmNvbmNhdChkKGFyZ3VtZW50c1t0XSkpO3JldHVybiBlfWZ1bmN0aW9uIHkoKXtmb3IodmFyIGU9MCx0PTAsbj1hcmd1bWVudHMubGVuZ3RoO3Q8bjt0KyspZSs9YXJndW1lbnRzW3RdLmxlbmd0aDt2YXIgcj1BcnJheShlKSxvPTA7Zm9yKHQ9MDt0PG47dCsrKWZvcih2YXIgYT1hcmd1bWVudHNbdF0saT0wLGM9YS5sZW5ndGg7aTxjO2krKyxvKyspcltvXT1hW2ldO3JldHVybiByfWZ1bmN0aW9uIGcoZSl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBnPyh0aGlzLnY9ZSx0aGlzKTpuZXcgZyhlKX1mdW5jdGlvbiBfKGUsdCxuKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIHIsbz1uLmFwcGx5KGUsdHx8W10pLGE9W107cmV0dXJuIHI9e30saSgibmV4dCIpLGkoInRocm93IiksaSgicmV0dXJuIikscltTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30scjtmdW5jdGlvbiBpKGUpe29bZV0mJihyW2VdPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixyKXthLnB1c2goW2UsdCxuLHJdKT4xfHxjKGUsdCl9KSl9KX1mdW5jdGlvbiBjKGUsdCl7dHJ5eyhuPW9bZV0odCkpLnZhbHVlIGluc3RhbmNlb2YgZz9Qcm9taXNlLnJlc29sdmUobi52YWx1ZS52KS50aGVuKHMsdSk6bChhWzBdWzJdLG4pfWNhdGNoKHIpe2woYVswXVszXSxyKX12YXIgbn1mdW5jdGlvbiBzKGUpe2MoIm5leHQiLGUpfWZ1bmN0aW9uIHUoZSl7YygidGhyb3ciLGUpfWZ1bmN0aW9uIGwoZSx0KXtlKHQpLGEuc2hpZnQoKSxhLmxlbmd0aCYmYyhhWzBdWzBdLGFbMF1bMV0pfX1mdW5jdGlvbiBtKGUpe3ZhciB0LG47cmV0dXJuIHQ9e30scigibmV4dCIpLHIoInRocm93IiwoZnVuY3Rpb24oZSl7dGhyb3cgZX0pKSxyKCJyZXR1cm4iKSx0W1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdDtmdW5jdGlvbiByKHIsbyl7dFtyXT1lW3JdP2Z1bmN0aW9uKHQpe3JldHVybihuPSFuKT97dmFsdWU6ZyhlW3JdKHQpKSxkb25lOiJyZXR1cm4iPT09cn06bz9vKHQpOnR9Om99fWZ1bmN0aW9uIGIoZSl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciB0LG49ZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIG4/bi5jYWxsKGUpOihlPWgoZSksdD17fSxyKCJuZXh0IikscigidGhyb3ciKSxyKCJyZXR1cm4iKSx0W1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSx0KTtmdW5jdGlvbiByKG4pe3Rbbl09ZVtuXSYmZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG8peyFmdW5jdGlvbihlLHQsbixyKXtQcm9taXNlLnJlc29sdmUocikudGhlbigoZnVuY3Rpb24odCl7ZSh7dmFsdWU6dCxkb25lOm59KX0pLHQpfShyLG8sKHQ9ZVtuXSh0KSkuZG9uZSx0LnZhbHVlKX0pKX19fWZ1bmN0aW9uIGsoZSx0KXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJyYXciLHt2YWx1ZTp0fSk6ZS5yYXc9dCxlfWZ1bmN0aW9uIFQoZSl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9ZnVuY3Rpb24gdyhlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19fX0sW1syLDBdXV0pOw==" } ], "height": 793910, "spentComplexity": 0 }

github/deemru/w8io/873ac7e 
14.18 ms