3N2rk3yzChsJp4wCS5VLo5Q3ifLmDChfbzQ · data · newOne?styles.css?4?4?1
{
"newOne?styles.css?4?4?1": "base64:cmVhdGVFbGVtZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFdsW2VdfHxlLHQpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCl9LHQucHJvdG90eXBlLmNyZWF0ZUNvbW1lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQodCl9LHQucHJvdG90eXBlLmNyZWF0ZVRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQpfSx0LnByb3RvdHlwZS5hcHBlbmRDaGlsZD1mdW5jdGlvbih0LGUpe3QuYXBwZW5kQ2hpbGQoZSl9LHQucHJvdG90eXBlLmluc2VydEJlZm9yZT1mdW5jdGlvbih0LGUsbil7dCYmdC5pbnNlcnRCZWZvcmUoZSxuKX0sdC5wcm90b3R5cGUucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24odCxlKXt0JiZ0LnJlbW92ZUNoaWxkKGUpfSx0LnByb3RvdHlwZS5zZWxlY3RSb290RWxlbWVudD1mdW5jdGlvbih0LGUpe3ZhciBuPSJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpOnQ7aWYoIW4pdGhyb3cgbmV3IEVycm9yKCdUaGUgc2VsZWN0b3IgIicrdCsnIiBkaWQgbm90IG1hdGNoIGFueSBlbGVtZW50cycpO3JldHVybiBlfHwobi50ZXh0Q29udGVudD0iIiksbn0sdC5wcm90b3R5cGUucGFyZW50Tm9kZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5wYXJlbnROb2RlfSx0LnByb3RvdHlwZS5uZXh0U2libGluZz1mdW5jdGlvbih0KXtyZXR1cm4gdC5uZXh0U2libGluZ30sdC5wcm90b3R5cGUuc2V0QXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxuLHIpe2lmKHIpe2U9cisiOiIrZTt2YXIgbz1XbFtyXTtvP3Quc2V0QXR0cmlidXRlTlMobyxlLG4pOnQuc2V0QXR0cmlidXRlKGUsbil9ZWxzZSB0LnNldEF0dHJpYnV0ZShlLG4pfSx0LnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlLG4pe2lmKG4pe3ZhciByPVdsW25dO3I/dC5yZW1vdmVBdHRyaWJ1dGVOUyhyLGUpOnQucmVtb3ZlQXR0cmlidXRlKG4rIjoiK2UpfWVsc2UgdC5yZW1vdmVBdHRyaWJ1dGUoZSl9LHQucHJvdG90eXBlLmFkZENsYXNzPWZ1bmN0aW9uKHQsZSl7dC5jbGFzc0xpc3QuYWRkKGUpfSx0LnByb3RvdHlwZS5yZW1vdmVDbGFzcz1mdW5jdGlvbih0LGUpe3QuY2xhc3NMaXN0LnJlbW92ZShlKX0sdC5wcm90b3R5cGUuc2V0U3R5bGU9ZnVuY3Rpb24odCxlLG4scil7ciZobi5EYXNoQ2FzZT90LnN0eWxlLnNldFByb3BlcnR5KGUsbixyJmhuLkltcG9ydGFudD8iaW1wb3J0YW50IjoiIik6dC5zdHlsZVtlXT1ufSx0LnByb3RvdHlwZS5yZW1vdmVTdHlsZT1mdW5jdGlvbih0LGUsbil7biZobi5EYXNoQ2FzZT90LnN0eWxlLnJlbW92ZVByb3BlcnR5KGUpOnQuc3R5bGVbZV09IiJ9LHQucHJvdG90eXBlLnNldFByb3BlcnR5PWZ1bmN0aW9uKHQsZSxuKXtucyhlLCJwcm9wZXJ0eSIpLHRbZV09bn0sdC5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24odCxlKXt0Lm5vZGVWYWx1ZT1lfSx0LnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24odCxlLG4pe3JldHVybiBucyhlLCJsaXN0ZW5lciIpLCJzdHJpbmciPT10eXBlb2YgdD90aGlzLmV2ZW50TWFuYWdlci5hZGRHbG9iYWxFdmVudExpc3RlbmVyKHQsZSwkbChuKSk6dGhpcy5ldmVudE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcih0LGUsJGwobikpfSx0fSgpLGVzPWZ1bmN0aW9uKCl7cmV0dXJuIkAiLmNoYXJDb2RlQXQoMCl9KCk7ZnVuY3Rpb24gbnModCxlKXtpZih0LmNoYXJDb2RlQXQoMCk9PT1lcyl0aHJvdyBuZXcgRXJyb3IoIkZvdW5kIHRoZSBzeW50aGV0aWMgIitlKyIgIit0KycuIFBsZWFzZSBpbmNsdWRlIGVpdGhlciAiQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUiIG9yICJOb29wQW5pbWF0aW9uc01vZHVsZSIgaW4geW91ciBhcHBsaWNhdGlvbi4nKX12YXIgcnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4scixvKXt2YXIgaT10LmNhbGwodGhpcyxlKXx8dGhpcztpLmNvbXBvbmVudD1yO3ZhciBhPUpsKG8rIi0iK3IuaWQsci5zdHlsZXMsW10pO3JldHVybiBuLmFkZFN0eWxlcyhhKSxpLmNvbnRlbnRBdHRyPVlsLnJlcGxhY2UoUWwsbysiLSIrci5pZCksaS5ob3N0QXR0cj1LbC5yZXBsYWNlKFFsLG8rIi0iK3IuaWQpLGl9cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5hcHBseVRvSG9zdD1mdW5jdGlvbihlKXt0LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGUuY2FsbCh0aGlzLGUsdGhpcy5ob3N0QXR0ciwiIil9LGUucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSxuKXt2YXIgcj10LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50LmNhbGwodGhpcyxlLG4pO3JldHVybiB0LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGUuY2FsbCh0aGlzLHIsdGhpcy5jb250ZW50QXR0ciwiIikscn0sZX0odHMpLG9zPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxuLHIsbyl7dmFyIGk9dC5jYWxsKHRoaXMsZSl8fHRoaXM7aS5zaGFyZWRTdHlsZXNIb3N0PW4saS5ob3N0RWw9cixpLmNvbXBvbmVudD1vLGkuc2hhZG93Um9vdD1vLmVuY2Fwc3VsYXRpb249PT1adC5TaGFkb3dEb20/ci5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4ifSk6ci5jcmVhdGVTaGFkb3dSb290KCksaS5zaGFyZWRTdHlsZXNIb3N0LmFkZEhvc3QoaS5zaGFkb3dSb290KTtmb3IodmFyIGE9Smwoby5pZCxvLnN0eWxlcyxbXSksdT0wO3U8YS5sZW5ndGg7dSsrKXt2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO2wudGV4dENvbnRlbnQ9YVt1XSxpLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQobCl9cmV0dXJuIGl9cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5ub2RlT3JTaGFkb3dSb290PWZ1bmN0aW9uKHQpe3JldHVybiB0PT09dGhpcy5ob3N0RWw/dGhpcy5zaGFkb3dSb290OnR9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLnNoYXJlZFN0eWxlc0hvc3QucmVtb3ZlSG9zdCh0aGlzLnNoYWRvd1Jvb3QpfSxlLnByb3RvdHlwZS5hcHBlbmRDaGlsZD1mdW5jdGlvbihlLG4pe3JldHVybiB0LnByb3RvdHlwZS5hcHBlbmRDaGlsZC5jYWxsKHRoaXMsdGhpcy5ub2RlT3JTaGFkb3dSb290KGUpLG4pfSxlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24oZSxuLHIpe3JldHVybiB0LnByb3RvdHlwZS5pbnNlcnRCZWZvcmUuY2FsbCh0aGlzLHRoaXMubm9kZU9yU2hhZG93Um9vdChlKSxuLHIpfSxlLnByb3RvdHlwZS5yZW1vdmVDaGlsZD1mdW5jdGlvbihlLG4pe3JldHVybiB0LnByb3RvdHlwZS5yZW1vdmVDaGlsZC5jYWxsKHRoaXMsdGhpcy5ub2RlT3JTaGFkb3dSb290KGUpLG4pfSxlLnByb3RvdHlwZS5wYXJlbnROb2RlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm5vZGVPclNoYWRvd1Jvb3QodC5wcm90b3R5cGUucGFyZW50Tm9kZS5jYWxsKHRoaXMsdGhpcy5ub2RlT3JTaGFkb3dSb290KGUpKSl9LGV9KHRzKSxpcz1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgWm9uZSYmWm9uZS5fX3N5bWJvbF9ffHxmdW5jdGlvbih0KXtyZXR1cm4iX196b25lX3N5bWJvbF9fIit0fX0oKSxhcz1pcygiYWRkRXZlbnRMaXN0ZW5lciIpLHVzPWlzKCJyZW1vdmVFdmVudExpc3RlbmVyIiksbHM9e30sc3M9Il9fem9uZV9zeW1ib2xfX3Byb3BhZ2F0aW9uU3RvcHBlZCIsY3M9ZnVuY3Rpb24oKXt2YXIgdD0idW5kZWZpbmVkIiE9dHlwZW9mIFpvbmUmJlpvbmVbaXMoIkJMQUNLX0xJU1RFRF9FVkVOVFMiKV07aWYodCl7dmFyIGU9e307cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZVt0XT10fSkpLGV9fSgpLGZzPWZ1bmN0aW9uKHQpe3JldHVybiEhY3MmJmNzLmhhc093blByb3BlcnR5KHQpfSxocz1mdW5jdGlvbih0KXt2YXIgZT1sc1t0LnR5cGVdO2lmKGUpe3ZhciBuPXRoaXNbZV07aWYobil7dmFyIHI9W3RdO2lmKDE9PT1uLmxlbmd0aClyZXR1cm4oYT1uWzBdKS56b25lIT09Wm9uZS5jdXJyZW50P2Euem9uZS5ydW4oYS5oYW5kbGVyLHRoaXMscik6YS5oYW5kbGVyLmFwcGx5KHRoaXMscik7Zm9yKHZhciBvPW4uc2xpY2UoKSxpPTA7aTxvLmxlbmd0aCYmITAhPT10W3NzXTtpKyspe3ZhciBhOyhhPW9baV0pLnpvbmUhPT1ab25lLmN1cnJlbnQ/YS56b25lLnJ1bihhLmhhbmRsZXIsdGhpcyxyKTphLmhhbmRsZXIuYXBwbHkodGhpcyxyKX19fX0scHM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4scil7dmFyIG89dC5jYWxsKHRoaXMsZSl8fHRoaXM7cmV0dXJuIG8ubmdab25lPW4sciYmZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1PdX0ocil8fG8ucGF0Y2hFdmVudCgpLG99cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5wYXRjaEV2ZW50PWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBFdmVudCYmRXZlbnQmJkV2ZW50LnByb3RvdHlwZSYmIUV2ZW50LnByb3RvdHlwZS5fX3pvbmVfc3ltYm9sX19zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24pe3ZhciB0PUV2ZW50LnByb3RvdHlwZS5fX3pvbmVfc3ltYm9sX19zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb249RXZlbnQucHJvdG90eXBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjtFdmVudC5wcm90b3R5cGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcyYmKHRoaXNbc3NdPSEwKSx0JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fSxlLnByb3RvdHlwZS5zdXBwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4hMH0sZS5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbih0LGUsbil7dmFyIHI9dGhpcyxvPW47aWYoIXRbYXNdfHxuaS5pc0luQW5ndWxhclpvbmUoKSYmIWZzKGUpKXQuYWRkRXZlbnRMaXN0ZW5lcihlLG8sITEpO2Vsc2V7dmFyIGk9bHNbZV07aXx8KGk9bHNbZV09aXMoIkFOR1VMQVIiK2UrIkZBTFNFIikpO3ZhciBhPXRbaV0sdT1hJiZhLmxlbmd0aD4wO2F8fChhPXRbaV09W10pO3ZhciBsPWZzKGUpP1pvbmUucm9vdDpab25lLmN1cnJlbnQ7aWYoMD09PWEubGVuZ3RoKWEucHVzaCh7em9uZTpsLGhhbmRsZXI6b30pO2Vsc2V7Zm9yKHZhciBzPSExLGM9MDtjPGEubGVuZ3RoO2MrKylpZihhW2NdLmhhbmRsZXI9PT1vKXtzPSEwO2JyZWFrfXN8fGEucHVzaCh7em9uZTpsLGhhbmRsZXI6b30pfXV8fHRbYXNdKGUsaHMsITEpfXJldHVybiBmdW5jdGlvbigpe3JldHVybiByLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxlLG8pfX0sZS5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbih0LGUsbil7dmFyIHI9dFt1c107aWYoIXIpcmV0dXJuIHQucmVtb3ZlRXZlbnRMaXN0ZW5lci5hcHBseSh0LFtlLG4sITFdKTt2YXIgbz1sc1tlXSxpPW8mJnRbb107aWYoIWkpcmV0dXJuIHQucmVtb3ZlRXZlbnRMaXN0ZW5lci5hcHBseSh0LFtlLG4sITFdKTtmb3IodmFyIGE9ITEsdT0wO3U8aS5sZW5ndGg7dSsrKWlmKGlbdV0uaGFuZGxlcj09PW4pe2E9ITAsaS5zcGxpY2UodSwxKTticmVha31hPzA9PT1pLmxlbmd0aCYmci5hcHBseSh0LFtlLGhzLCExXSk6dC5yZW1vdmVFdmVudExpc3RlbmVyLmFwcGx5KHQsW2UsbiwhMV0pfSxlfShabCksZHM9e3BhbjohMCxwYW5zdGFydDohMCxwYW5tb3ZlOiEwLHBhbmVuZDohMCxwYW5jYW5jZWw6ITAscGFubGVmdDohMCxwYW5yaWdodDohMCxwYW51cDohMCxwYW5kb3duOiEwLHBpbmNoOiEwLHBpbmNoc3RhcnQ6ITAscGluY2htb3ZlOiEwLHBpbmNoZW5kOiEwLHBpbmNoY2FuY2VsOiEwLHBpbmNoaW46ITAscGluY2hvdXQ6ITAscHJlc3M6ITAscHJlc3N1cDohMCxyb3RhdGU6ITAscm90YXRlc3RhcnQ6ITAscm90YXRlbW92ZTohMCxyb3RhdGVlbmQ6ITAscm90YXRlY2FuY2VsOiEwLHN3aXBlOiEwLHN3aXBlbGVmdDohMCxzd2lwZXJpZ2h0OiEwLHN3aXBldXA6ITAsc3dpcGVkb3duOiEwLHRhcDohMH0sZ3M9bmV3IFR0KCJIYW1tZXJHZXN0dXJlQ29uZmlnIiksdnM9bmV3IFR0KCJIYW1tZXJMb2FkZXIiKSx5cz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLmV2ZW50cz1bXSx0aGlzLm92ZXJyaWRlcz17fX1yZXR1cm4gdC5wcm90b3R5cGUuYnVpbGRIYW1tZXI9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEhhbW1lcih0LHRoaXMub3B0aW9ucyk7Zm9yKHZhciBuIGluIGUuZ2V0KCJwaW5jaCIpLnNldCh7ZW5hYmxlOiEwfSksZS5nZXQoInJvdGF0ZSIpLnNldCh7ZW5hYmxlOiEwfSksdGhpcy5vdmVycmlkZXMpZS5nZXQobikuc2V0KHRoaXMub3ZlcnJpZGVzW25dKTtyZXR1cm4gZX0sdH0oKSxtcz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUsbixyLG8pe3ZhciBpPXQuY2FsbCh0aGlzLGUpfHx0aGlzO3JldHVybiBpLl9jb25maWc9bixpLmNvbnNvbGU9cixpLmxvYWRlcj1vLGl9cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5zdXBwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4hKCFkcy5oYXNPd25Qcm9wZXJ0eSh0LnRvTG93ZXJDYXNlKCkpJiYhdGhpcy5pc0N1c3RvbUV2ZW50KHQpfHwhd2luZG93LkhhbW1lciYmIXRoaXMubG9hZGVyJiYodGhpcy5jb25zb2xlLndhcm4oJ1RoZSAiJyt0KyciIGV2ZW50IGNhbm5vdCBiZSBib3VuZCBiZWNhdXNlIEhhbW1lci5KUyBpcyBub3QgbG9hZGVkIGFuZCBubyBjdXN0b20gbG9hZGVyIGhhcyBiZWVuIHNwZWNpZmllZC4nKSwxKSl9LGUucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXMsbz10aGlzLm1hbmFnZXIuZ2V0Wm9uZSgpO2lmKGU9ZS50b0xvd2VyQ2FzZSgpLCF3aW5kb3cuSGFtbWVyJiZ0aGlzLmxvYWRlcil7dmFyIGk9ITEsYT1mdW5jdGlvbigpe2k9ITB9O3JldHVybiB0aGlzLmxvYWRlcigpLnRoZW4oKGZ1bmN0aW9uKCl7aWYoIXdpbmRvdy5IYW1tZXIpcmV0dXJuIHIuY29uc29sZS53YXJuKCJUaGUgY3VzdG9tIEhBTU1FUl9MT0FERVIgY29tcGxldGVkLCBidXQgSGFtbWVyLkpTIGlzIG5vdCBwcmVzZW50LiIpLHZvaWQoYT1mdW5jdGlvbigpe30pO2l8fChhPXIuYWRkRXZlbnRMaXN0ZW5lcih0LGUsbikpfSkpLmNhdGNoKChmdW5jdGlvbigpe3IuY29uc29sZS53YXJuKCdUaGUgIicrZSsnIiBldmVudCBjYW5ub3QgYmUgYm91bmQgYmVjYXVzZSB0aGUgY3VzdG9tIEhhbW1lci5KUyBsb2FkZXIgZmFpbGVkLicpLGE9ZnVuY3Rpb24oKXt9fSkpLGZ1bmN0aW9uKCl7YSgpfX1yZXR1cm4gby5ydW5PdXRzaWRlQW5ndWxhcigoZnVuY3Rpb24oKXt2YXIgaT1yLl9jb25maWcuYnVpbGRIYW1tZXIodCksYT1mdW5jdGlvbih0KXtvLnJ1bkd1YXJkZWQoKGZ1bmN0aW9uKCl7bih0KX0pKX07cmV0dXJuIGkub24oZSxhKSxmdW5jdGlvbigpe2kub2ZmKGUsYSksImZ1bmN0aW9uIj09dHlwZW9mIGkuZGVzdHJveSYmaS5kZXN0cm95KCl9fSkpfSxlLnByb3RvdHlwZS5pc0N1c3RvbUV2ZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jb25maWcuZXZlbnRzLmluZGV4T2YodCk+LTF9LGV9KFpsKSxfcz1bImFsdCIsImNvbnRyb2wiLCJtZXRhIiwic2hpZnQiXSx3cz17YWx0OmZ1bmN0aW9uKHQpe3JldHVybiB0LmFsdEtleX0sY29udHJvbDpmdW5jdGlvbih0KXtyZXR1cm4gdC5jdHJsS2V5fSxtZXRhOmZ1bmN0aW9uKHQpe3JldHVybiB0Lm1ldGFLZXl9LHNoaWZ0OmZ1bmN0aW9uKHQpe3JldHVybiB0LnNoaWZ0S2V5fX0sYnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gdC5jYWxsKHRoaXMsZSl8fHRoaXN9dmFyIG47cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxuPWUsZS5wcm90b3R5cGUuc3VwcG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPW4ucGFyc2VFdmVudE5hbWUodCl9LGUucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlLHIpe3ZhciBvPW4ucGFyc2VFdmVudE5hbWUoZSksaT1uLmV2ZW50Q2FsbGJhY2soby5mdWxsS2V5LHIsdGhpcy5tYW5hZ2VyLmdldFpvbmUoKSk7cmV0dXJuIHRoaXMubWFuYWdlci5nZXRab25lKCkucnVuT3V0c2lkZUFuZ3VsYXIoKGZ1bmN0aW9uKCl7cmV0dXJuIEVsKCkub25BbmRDYW5jZWwodCxvLmRvbUV2ZW50TmFtZSxpKX0pKX0sZS5wYXJzZUV2ZW50TmFtZT1mdW5jdGlvbih0KXt2YXIgZT10LnRvTG93ZXJDYXNlKCkuc3BsaXQoIi4iKSxyPWUuc2hpZnQoKTtpZigwPT09ZS5sZW5ndGh8fCJrZXlkb3duIiE9PXImJiJrZXl1cCIhPT1yKXJldHVybiBudWxsO3ZhciBvPW4uX25vcm1hbGl6ZUtleShlLnBvcCgpKSxpPSIiO2lmKF9zLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuPWUuaW5kZXhPZih0KTtuPi0xJiYoZS5zcGxpY2UobiwxKSxpKz10KyIuIil9KSksaSs9bywwIT1lLmxlbmd0aHx8MD09PW8ubGVuZ3RoKXJldHVybiBudWxsO3ZhciBhPXt9O3JldHVybiBhLmRvbUV2ZW50TmFtZT1yLGEuZnVsbEtleT1pLGF9LGUuZ2V0RXZlbnRGdWxsS2V5PWZ1bmN0aW9uKHQpe3ZhciBlPSIiLG49RWwoKS5nZXRFdmVudEtleSh0KTtyZXR1cm4iICI9PT0obj1uLnRvTG93ZXJDYXNlKCkpP249InNwYWNlIjoiLiI9PT1uJiYobj0iZG90IiksX3MuZm9yRWFjaCgoZnVuY3Rpb24ocil7ciE9biYmKDAsd3Nbcl0pKHQpJiYoZSs9cisiLiIpfSkpLGUrPW59LGUuZXZlbnRDYWxsYmFjaz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGZ1bmN0aW9uKG8pe24uZ2V0RXZlbnRGdWxsS2V5KG8pPT09dCYmci5ydW5HdWFyZGVkKChmdW5jdGlvbigpe3JldHVybiBlKG8pfSkpfX0sZS5fbm9ybWFsaXplS2V5PWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlImVzYyI6cmV0dXJuImVzY2FwZSI7ZGVmYXVsdDpyZXR1cm4gdH19LGV9KFpsKSx4cz1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe319KCksQ3M9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4uX2RvYz1lLG59cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5zYW5pdGl6ZT1mdW5jdGlvbih0LGUpe2lmKG51bGw9PWUpcmV0dXJuIG51bGw7c3dpdGNoKHQpe2Nhc2UgQ2UuTk9ORTpyZXR1cm4gZTtjYXNlIENlLkhUTUw6cmV0dXJuIGUgaW5zdGFuY2VvZiBFcz9lLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk6KHRoaXMuY2hlY2tOb3RTYWZlVmFsdWUoZSwiSFRNTCIpLGZ1bmN0aW9uKHQsZSl7dmFyIG49bnVsbDt0cnl7bGU9bGV8fG5ldyBuZSh0KTt2YXIgcj1lP1N0cmluZyhlKToiIjtuPWxlLmdldEluZXJ0Qm9keUVsZW1lbnQocik7dmFyIG89NSxpPXI7ZG97aWYoMD09PW8pdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gc2FuaXRpemUgaHRtbCBiZWNhdXNlIHRoZSBpbnB1dCBpcyB1bnN0YWJsZSIpO28tLSxyPWksaT1uLmlubmVySFRNTCxuPWxlLmdldEluZXJ0Qm9keUVsZW1lbnQocil9d2hpbGUociE9PWkpO3ZhciBhPW5ldyBtZSx1PWEuc2FuaXRpemVDaGlsZHJlbih4ZShuKXx8bik7cmV0dXJuIGVlKCkmJmEuc2FuaXRpemVkU29tZXRoaW5nJiZjb25zb2xlLndhcm4oIldBUk5JTkc6IHNhbml0aXppbmcgSFRNTCBzdHJpcHBlZCBzb21lIGNvbnRlbnQsIHNlZSBodHRwOi8vZy5jby9uZy9zZWN1cml0eSN4c3MiKSx1fWZpbmFsbHl7aWYobilmb3IodmFyIGw9eGUobil8fG47bC5maXJzdENoaWxkOylsLnJlbW92ZUNoaWxkKGwuZmlyc3RDaGlsZCl9fSh0aGlzLl9kb2MsU3RyaW5nKGUpKSk7Y2FzZSBDZS5TVFlMRTpyZXR1cm4gZSBpbnN0YW5jZW9mIE9zP2UuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eToodGhpcy5jaGVja05vdFNhZmVWYWx1ZShlLCJTdHlsZSIpLGZ1bmN0aW9uKHQpe2lmKCEodD1TdHJpbmcodCkudHJpbSgpKSlyZXR1cm4iIjt2YXIgZT10Lm1hdGNoKE9lKTtyZXR1cm4gZSYmaWUoZVsxXSk9PT1lWzFdfHx0Lm1hdGNoKEVlKSYmZnVuY3Rpb24odCl7Zm9yKHZhciBlPSEwLG49ITAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10LmNoYXJBdChyKTsiJyI9PT1vJiZuP2U9IWU6JyInPT09byYmZSYmKG49IW4pfXJldHVybiBlJiZufSh0KT90OihlZSgpJiZjb25zb2xlLndhcm4oIldBUk5JTkc6IHNhbml0aXppbmcgdW5zYWZlIHN0eWxlIHZhbHVlICIrdCsiIChzZWUgaHR0cDovL2cuY28vbmcvc2VjdXJpdHkjeHNzKS4iKSwidW5zYWZlIil9KGUpKTtjYXNlIENlLlNDUklQVDppZihlIGluc3RhbmNlb2YgVHMpcmV0dXJuIGUuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eTt0aHJvdyB0aGlzLmNoZWNrTm90U2FmZVZhbHVlKGUsIlNjcmlwdCIpLG5ldyBFcnJvcigidW5zYWZlIHZhbHVlIHVzZWQgaW4gYSBzY3JpcHQgY29udGV4dCIpO2Nhc2UgQ2UuVVJMOnJldHVybiBlIGluc3RhbmNlb2Yga3N8fGUgaW5zdGFuY2VvZiBQcz9lLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk6KHRoaXMuY2hlY2tOb3RTYWZlVmFsdWUoZSwiVVJMIiksaWUoU3RyaW5nKGUpKSk7Y2FzZSBDZS5SRVNPVVJDRV9VUkw6aWYoZSBpbnN0YW5jZW9mIGtzKXJldHVybiBlLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk7dGhyb3cgdGhpcy5jaGVja05vdFNhZmVWYWx1ZShlLCJSZXNvdXJjZVVSTCIpLG5ldyBFcnJvcigidW5zYWZlIHZhbHVlIHVzZWQgaW4gYSByZXNvdXJjZSBVUkwgY29udGV4dCAoc2VlIGh0dHA6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcykiKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBTZWN1cml0eUNvbnRleHQgIit0KyIgKHNlZSBodHRwOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpIil9fSxlLnByb3RvdHlwZS5jaGVja05vdFNhZmVWYWx1ZT1mdW5jdGlvbih0LGUpe2lmKHQgaW5zdGFuY2VvZiBTcyl0aHJvdyBuZXcgRXJyb3IoIlJlcXVpcmVkIGEgc2FmZSAiK2UrIiwgZ290IGEgIit0LmdldFR5cGVOYW1lKCkrIiAoc2VlIGh0dHA6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcykiKX0sZS5wcm90b3R5cGUuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBFcyh0KX0sZS5wcm90b3R5cGUuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgT3ModCl9LGUucHJvdG90eXBlLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTY3JpcHQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBUcyh0KX0sZS5wcm90b3R5cGUuYnlwYXNzU2VjdXJpdHlUcnVzdFVybD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFBzKHQpfSxlLnByb3RvdHlwZS5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrcyh0KX0sZX0oeHMpLFNzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk9dH1yZXR1cm4gdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iU2FmZVZhbHVlIG11c3QgdXNlIFtwcm9wZXJ0eV09YmluZGluZzogIit0aGlzLmNoYW5naW4="
}
Changelog:
{
"2019.12.04 14:26": "base64:cmVhdGVFbGVtZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFdsW2VdfHxlLHQpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCl9LHQucHJvdG90eXBlLmNyZWF0ZUNvbW1lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQodCl9LHQucHJvdG90eXBlLmNyZWF0ZVRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQpfSx0LnByb3RvdHlwZS5hcHBlbmRDaGlsZD1mdW5jdGlvbih0LGUpe3QuYXBwZW5kQ2hpbGQoZSl9LHQucHJvdG90eXBlLmluc2VydEJlZm9yZT1mdW5jdGlvbih0LGUsbil7dCYmdC5pbnNlcnRCZWZvcmUoZSxuKX0sdC5wcm90b3R5cGUucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24odCxlKXt0JiZ0LnJlbW92ZUNoaWxkKGUpfSx0LnByb3RvdHlwZS5zZWxlY3RSb290RWxlbWVudD1mdW5jdGlvbih0LGUpe3ZhciBuPSJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpOnQ7aWYoIW4pdGhyb3cgbmV3IEVycm9yKCdUaGUgc2VsZWN0b3IgIicrdCsnIiBkaWQgbm90IG1hdGNoIGFueSBlbGVtZW50cycpO3JldHVybiBlfHwobi50ZXh0Q29udGVudD0iIiksbn0sdC5wcm90b3R5cGUucGFyZW50Tm9kZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5wYXJlbnROb2RlfSx0LnByb3RvdHlwZS5uZXh0U2libGluZz1mdW5jdGlvbih0KXtyZXR1cm4gdC5uZXh0U2libGluZ30sdC5wcm90b3R5cGUuc2V0QXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxuLHIpe2lmKHIpe2U9cisiOiIrZTt2YXIgbz1XbFtyXTtvP3Quc2V0QXR0cmlidXRlTlMobyxlLG4pOnQuc2V0QXR0cmlidXRlKGUsbil9ZWxzZSB0LnNldEF0dHJpYnV0ZShlLG4pfSx0LnByb3RvdHlwZS5yZW1vdmVBdHRyaWJ1dGU9ZnVuY3Rpb24odCxlLG4pe2lmKG4pe3ZhciByPVdsW25dO3I/dC5yZW1vdmVBdHRyaWJ1dGVOUyhyLGUpOnQucmVtb3ZlQXR0cmlidXRlKG4rIjoiK2UpfWVsc2UgdC5yZW1vdmVBdHRyaWJ1dGUoZSl9LHQucHJvdG90eXBlLmFkZENsYXNzPWZ1bmN0aW9uKHQsZSl7dC5jbGFzc0xpc3QuYWRkKGUpfSx0LnByb3RvdHlwZS5yZW1vdmVDbGFzcz1mdW5jdGlvbih0LGUpe3QuY2xhc3NMaXN0LnJlbW92ZShlKX0sdC5wcm90b3R5cGUuc2V0U3R5bGU9ZnVuY3Rpb24odCxlLG4scil7ciZobi5EYXNoQ2FzZT90LnN0eWxlLnNldFByb3BlcnR5KGUsbixyJmhuLkltcG9ydGFudD8iaW1wb3J0YW50IjoiIik6dC5zdHlsZVtlXT1ufSx0LnByb3RvdHlwZS5yZW1vdmVTdHlsZT1mdW5jdGlvbih0LGUsbil7biZobi5EYXNoQ2FzZT90LnN0eWxlLnJlbW92ZVByb3BlcnR5KGUpOnQuc3R5bGVbZV09IiJ9LHQucHJvdG90eXBlLnNldFByb3BlcnR5PWZ1bmN0aW9uKHQsZSxuKXtucyhlLCJwcm9wZXJ0eSIpLHRbZV09bn0sdC5wcm90b3R5cGUuc2V0VmFsdWU9ZnVuY3Rpb24odCxlKXt0Lm5vZGVWYWx1ZT1lfSx0LnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24odCxlLG4pe3JldHVybiBucyhlLCJsaXN0ZW5lciIpLCJzdHJpbmciPT10eXBlb2YgdD90aGlzLmV2ZW50TWFuYWdlci5hZGRHbG9iYWxFdmVudExpc3RlbmVyKHQsZSwkbChuKSk6dGhpcy5ldmVudE1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcih0LGUsJGwobikpfSx0fSgpLGVzPWZ1bmN0aW9uKCl7cmV0dXJuIkAiLmNoYXJDb2RlQXQoMCl9KCk7ZnVuY3Rpb24gbnModCxlKXtpZih0LmNoYXJDb2RlQXQoMCk9PT1lcyl0aHJvdyBuZXcgRXJyb3IoIkZvdW5kIHRoZSBzeW50aGV0aWMgIitlKyIgIit0KycuIFBsZWFzZSBpbmNsdWRlIGVpdGhlciAiQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUiIG9yICJOb29wQW5pbWF0aW9uc01vZHVsZSIgaW4geW91ciBhcHBsaWNhdGlvbi4nKX12YXIgcnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4scixvKXt2YXIgaT10LmNhbGwodGhpcyxlKXx8dGhpcztpLmNvbXBvbmVudD1yO3ZhciBhPUpsKG8rIi0iK3IuaWQsci5zdHlsZXMsW10pO3JldHVybiBuLmFkZFN0eWxlcyhhKSxpLmNvbnRlbnRBdHRyPVlsLnJlcGxhY2UoUWwsbysiLSIrci5pZCksaS5ob3N0QXR0cj1LbC5yZXBsYWNlKFFsLG8rIi0iK3IuaWQpLGl9cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5hcHBseVRvSG9zdD1mdW5jdGlvbihlKXt0LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGUuY2FsbCh0aGlzLGUsdGhpcy5ob3N0QXR0ciwiIil9LGUucHJvdG90eXBlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSxuKXt2YXIgcj10LnByb3RvdHlwZS5jcmVhdGVFbGVtZW50LmNhbGwodGhpcyxlLG4pO3JldHVybiB0LnByb3RvdHlwZS5zZXRBdHRyaWJ1dGUuY2FsbCh0aGlzLHIsdGhpcy5jb250ZW50QXR0ciwiIikscn0sZX0odHMpLG9zPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSxuLHIsbyl7dmFyIGk9dC5jYWxsKHRoaXMsZSl8fHRoaXM7aS5zaGFyZWRTdHlsZXNIb3N0PW4saS5ob3N0RWw9cixpLmNvbXBvbmVudD1vLGkuc2hhZG93Um9vdD1vLmVuY2Fwc3VsYXRpb249PT1adC5TaGFkb3dEb20/ci5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4ifSk6ci5jcmVhdGVTaGFkb3dSb290KCksaS5zaGFyZWRTdHlsZXNIb3N0LmFkZEhvc3QoaS5zaGFkb3dSb290KTtmb3IodmFyIGE9Smwoby5pZCxvLnN0eWxlcyxbXSksdT0wO3U8YS5sZW5ndGg7dSsrKXt2YXIgbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO2wudGV4dENvbnRlbnQ9YVt1XSxpLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQobCl9cmV0dXJuIGl9cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5ub2RlT3JTaGFkb3dSb290PWZ1bmN0aW9uKHQpe3JldHVybiB0PT09dGhpcy5ob3N0RWw/dGhpcy5zaGFkb3dSb290OnR9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLnNoYXJlZFN0eWxlc0hvc3QucmVtb3ZlSG9zdCh0aGlzLnNoYWRvd1Jvb3QpfSxlLnByb3RvdHlwZS5hcHBlbmRDaGlsZD1mdW5jdGlvbihlLG4pe3JldHVybiB0LnByb3RvdHlwZS5hcHBlbmRDaGlsZC5jYWxsKHRoaXMsdGhpcy5ub2RlT3JTaGFkb3dSb290KGUpLG4pfSxlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24oZSxuLHIpe3JldHVybiB0LnByb3RvdHlwZS5pbnNlcnRCZWZvcmUuY2FsbCh0aGlzLHRoaXMubm9kZU9yU2hhZG93Um9vdChlKSxuLHIpfSxlLnByb3RvdHlwZS5yZW1vdmVDaGlsZD1mdW5jdGlvbihlLG4pe3JldHVybiB0LnByb3RvdHlwZS5yZW1vdmVDaGlsZC5jYWxsKHRoaXMsdGhpcy5ub2RlT3JTaGFkb3dSb290KGUpLG4pfSxlLnByb3RvdHlwZS5wYXJlbnROb2RlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm5vZGVPclNoYWRvd1Jvb3QodC5wcm90b3R5cGUucGFyZW50Tm9kZS5jYWxsKHRoaXMsdGhpcy5ub2RlT3JTaGFkb3dSb290KGUpKSl9LGV9KHRzKSxpcz1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgWm9uZSYmWm9uZS5fX3N5bWJvbF9ffHxmdW5jdGlvbih0KXtyZXR1cm4iX196b25lX3N5bWJvbF9fIit0fX0oKSxhcz1pcygiYWRkRXZlbnRMaXN0ZW5lciIpLHVzPWlzKCJyZW1vdmVFdmVudExpc3RlbmVyIiksbHM9e30sc3M9Il9fem9uZV9zeW1ib2xfX3Byb3BhZ2F0aW9uU3RvcHBlZCIsY3M9ZnVuY3Rpb24oKXt2YXIgdD0idW5kZWZpbmVkIiE9dHlwZW9mIFpvbmUmJlpvbmVbaXMoIkJMQUNLX0xJU1RFRF9FVkVOVFMiKV07aWYodCl7dmFyIGU9e307cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZVt0XT10fSkpLGV9fSgpLGZzPWZ1bmN0aW9uKHQpe3JldHVybiEhY3MmJmNzLmhhc093blByb3BlcnR5KHQpfSxocz1mdW5jdGlvbih0KXt2YXIgZT1sc1t0LnR5cGVdO2lmKGUpe3ZhciBuPXRoaXNbZV07aWYobil7dmFyIHI9W3RdO2lmKDE9PT1uLmxlbmd0aClyZXR1cm4oYT1uWzBdKS56b25lIT09Wm9uZS5jdXJyZW50P2Euem9uZS5ydW4oYS5oYW5kbGVyLHRoaXMscik6YS5oYW5kbGVyLmFwcGx5KHRoaXMscik7Zm9yKHZhciBvPW4uc2xpY2UoKSxpPTA7aTxvLmxlbmd0aCYmITAhPT10W3NzXTtpKyspe3ZhciBhOyhhPW9baV0pLnpvbmUhPT1ab25lLmN1cnJlbnQ/YS56b25lLnJ1bihhLmhhbmRsZXIsdGhpcyxyKTphLmhhbmRsZXIuYXBwbHkodGhpcyxyKX19fX0scHM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4scil7dmFyIG89dC5jYWxsKHRoaXMsZSl8fHRoaXM7cmV0dXJuIG8ubmdab25lPW4sciYmZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1PdX0ocil8fG8ucGF0Y2hFdmVudCgpLG99cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5wYXRjaEV2ZW50PWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBFdmVudCYmRXZlbnQmJkV2ZW50LnByb3RvdHlwZSYmIUV2ZW50LnByb3RvdHlwZS5fX3pvbmVfc3ltYm9sX19zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24pe3ZhciB0PUV2ZW50LnByb3RvdHlwZS5fX3pvbmVfc3ltYm9sX19zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb249RXZlbnQucHJvdG90eXBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjtFdmVudC5wcm90b3R5cGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7dGhpcyYmKHRoaXNbc3NdPSEwKSx0JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fSxlLnByb3RvdHlwZS5zdXBwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4hMH0sZS5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbih0LGUsbil7dmFyIHI9dGhpcyxvPW47aWYoIXRbYXNdfHxuaS5pc0luQW5ndWxhclpvbmUoKSYmIWZzKGUpKXQuYWRkRXZlbnRMaXN0ZW5lcihlLG8sITEpO2Vsc2V7dmFyIGk9bHNbZV07aXx8KGk9bHNbZV09aXMoIkFOR1VMQVIiK2UrIkZBTFNFIikpO3ZhciBhPXRbaV0sdT1hJiZhLmxlbmd0aD4wO2F8fChhPXRbaV09W10pO3ZhciBsPWZzKGUpP1pvbmUucm9vdDpab25lLmN1cnJlbnQ7aWYoMD09PWEubGVuZ3RoKWEucHVzaCh7em9uZTpsLGhhbmRsZXI6b30pO2Vsc2V7Zm9yKHZhciBzPSExLGM9MDtjPGEubGVuZ3RoO2MrKylpZihhW2NdLmhhbmRsZXI9PT1vKXtzPSEwO2JyZWFrfXN8fGEucHVzaCh7em9uZTpsLGhhbmRsZXI6b30pfXV8fHRbYXNdKGUsaHMsITEpfXJldHVybiBmdW5jdGlvbigpe3JldHVybiByLnJlbW92ZUV2ZW50TGlzdGVuZXIodCxlLG8pfX0sZS5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbih0LGUsbil7dmFyIHI9dFt1c107aWYoIXIpcmV0dXJuIHQucmVtb3ZlRXZlbnRMaXN0ZW5lci5hcHBseSh0LFtlLG4sITFdKTt2YXIgbz1sc1tlXSxpPW8mJnRbb107aWYoIWkpcmV0dXJuIHQucmVtb3ZlRXZlbnRMaXN0ZW5lci5hcHBseSh0LFtlLG4sITFdKTtmb3IodmFyIGE9ITEsdT0wO3U8aS5sZW5ndGg7dSsrKWlmKGlbdV0uaGFuZGxlcj09PW4pe2E9ITAsaS5zcGxpY2UodSwxKTticmVha31hPzA9PT1pLmxlbmd0aCYmci5hcHBseSh0LFtlLGhzLCExXSk6dC5yZW1vdmVFdmVudExpc3RlbmVyLmFwcGx5KHQsW2UsbiwhMV0pfSxlfShabCksZHM9e3BhbjohMCxwYW5zdGFydDohMCxwYW5tb3ZlOiEwLHBhbmVuZDohMCxwYW5jYW5jZWw6ITAscGFubGVmdDohMCxwYW5yaWdodDohMCxwYW51cDohMCxwYW5kb3duOiEwLHBpbmNoOiEwLHBpbmNoc3RhcnQ6ITAscGluY2htb3ZlOiEwLHBpbmNoZW5kOiEwLHBpbmNoY2FuY2VsOiEwLHBpbmNoaW46ITAscGluY2hvdXQ6ITAscHJlc3M6ITAscHJlc3N1cDohMCxyb3RhdGU6ITAscm90YXRlc3RhcnQ6ITAscm90YXRlbW92ZTohMCxyb3RhdGVlbmQ6ITAscm90YXRlY2FuY2VsOiEwLHN3aXBlOiEwLHN3aXBlbGVmdDohMCxzd2lwZXJpZ2h0OiEwLHN3aXBldXA6ITAsc3dpcGVkb3duOiEwLHRhcDohMH0sZ3M9bmV3IFR0KCJIYW1tZXJHZXN0dXJlQ29uZmlnIiksdnM9bmV3IFR0KCJIYW1tZXJMb2FkZXIiKSx5cz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLmV2ZW50cz1bXSx0aGlzLm92ZXJyaWRlcz17fX1yZXR1cm4gdC5wcm90b3R5cGUuYnVpbGRIYW1tZXI9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEhhbW1lcih0LHRoaXMub3B0aW9ucyk7Zm9yKHZhciBuIGluIGUuZ2V0KCJwaW5jaCIpLnNldCh7ZW5hYmxlOiEwfSksZS5nZXQoInJvdGF0ZSIpLnNldCh7ZW5hYmxlOiEwfSksdGhpcy5vdmVycmlkZXMpZS5nZXQobikuc2V0KHRoaXMub3ZlcnJpZGVzW25dKTtyZXR1cm4gZX0sdH0oKSxtcz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUsbixyLG8pe3ZhciBpPXQuY2FsbCh0aGlzLGUpfHx0aGlzO3JldHVybiBpLl9jb25maWc9bixpLmNvbnNvbGU9cixpLmxvYWRlcj1vLGl9cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5zdXBwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4hKCFkcy5oYXNPd25Qcm9wZXJ0eSh0LnRvTG93ZXJDYXNlKCkpJiYhdGhpcy5pc0N1c3RvbUV2ZW50KHQpfHwhd2luZG93LkhhbW1lciYmIXRoaXMubG9hZGVyJiYodGhpcy5jb25zb2xlLndhcm4oJ1RoZSAiJyt0KyciIGV2ZW50IGNhbm5vdCBiZSBib3VuZCBiZWNhdXNlIEhhbW1lci5KUyBpcyBub3QgbG9hZGVkIGFuZCBubyBjdXN0b20gbG9hZGVyIGhhcyBiZWVuIHNwZWNpZmllZC4nKSwxKSl9LGUucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXMsbz10aGlzLm1hbmFnZXIuZ2V0Wm9uZSgpO2lmKGU9ZS50b0xvd2VyQ2FzZSgpLCF3aW5kb3cuSGFtbWVyJiZ0aGlzLmxvYWRlcil7dmFyIGk9ITEsYT1mdW5jdGlvbigpe2k9ITB9O3JldHVybiB0aGlzLmxvYWRlcigpLnRoZW4oKGZ1bmN0aW9uKCl7aWYoIXdpbmRvdy5IYW1tZXIpcmV0dXJuIHIuY29uc29sZS53YXJuKCJUaGUgY3VzdG9tIEhBTU1FUl9MT0FERVIgY29tcGxldGVkLCBidXQgSGFtbWVyLkpTIGlzIG5vdCBwcmVzZW50LiIpLHZvaWQoYT1mdW5jdGlvbigpe30pO2l8fChhPXIuYWRkRXZlbnRMaXN0ZW5lcih0LGUsbikpfSkpLmNhdGNoKChmdW5jdGlvbigpe3IuY29uc29sZS53YXJuKCdUaGUgIicrZSsnIiBldmVudCBjYW5ub3QgYmUgYm91bmQgYmVjYXVzZSB0aGUgY3VzdG9tIEhhbW1lci5KUyBsb2FkZXIgZmFpbGVkLicpLGE9ZnVuY3Rpb24oKXt9fSkpLGZ1bmN0aW9uKCl7YSgpfX1yZXR1cm4gby5ydW5PdXRzaWRlQW5ndWxhcigoZnVuY3Rpb24oKXt2YXIgaT1yLl9jb25maWcuYnVpbGRIYW1tZXIodCksYT1mdW5jdGlvbih0KXtvLnJ1bkd1YXJkZWQoKGZ1bmN0aW9uKCl7bih0KX0pKX07cmV0dXJuIGkub24oZSxhKSxmdW5jdGlvbigpe2kub2ZmKGUsYSksImZ1bmN0aW9uIj09dHlwZW9mIGkuZGVzdHJveSYmaS5kZXN0cm95KCl9fSkpfSxlLnByb3RvdHlwZS5pc0N1c3RvbUV2ZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jb25maWcuZXZlbnRzLmluZGV4T2YodCk+LTF9LGV9KFpsKSxfcz1bImFsdCIsImNvbnRyb2wiLCJtZXRhIiwic2hpZnQiXSx3cz17YWx0OmZ1bmN0aW9uKHQpe3JldHVybiB0LmFsdEtleX0sY29udHJvbDpmdW5jdGlvbih0KXtyZXR1cm4gdC5jdHJsS2V5fSxtZXRhOmZ1bmN0aW9uKHQpe3JldHVybiB0Lm1ldGFLZXl9LHNoaWZ0OmZ1bmN0aW9uKHQpe3JldHVybiB0LnNoaWZ0S2V5fX0sYnM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gdC5jYWxsKHRoaXMsZSl8fHRoaXN9dmFyIG47cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxuPWUsZS5wcm90b3R5cGUuc3VwcG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPW4ucGFyc2VFdmVudE5hbWUodCl9LGUucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlLHIpe3ZhciBvPW4ucGFyc2VFdmVudE5hbWUoZSksaT1uLmV2ZW50Q2FsbGJhY2soby5mdWxsS2V5LHIsdGhpcy5tYW5hZ2VyLmdldFpvbmUoKSk7cmV0dXJuIHRoaXMubWFuYWdlci5nZXRab25lKCkucnVuT3V0c2lkZUFuZ3VsYXIoKGZ1bmN0aW9uKCl7cmV0dXJuIEVsKCkub25BbmRDYW5jZWwodCxvLmRvbUV2ZW50TmFtZSxpKX0pKX0sZS5wYXJzZUV2ZW50TmFtZT1mdW5jdGlvbih0KXt2YXIgZT10LnRvTG93ZXJDYXNlKCkuc3BsaXQoIi4iKSxyPWUuc2hpZnQoKTtpZigwPT09ZS5sZW5ndGh8fCJrZXlkb3duIiE9PXImJiJrZXl1cCIhPT1yKXJldHVybiBudWxsO3ZhciBvPW4uX25vcm1hbGl6ZUtleShlLnBvcCgpKSxpPSIiO2lmKF9zLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuPWUuaW5kZXhPZih0KTtuPi0xJiYoZS5zcGxpY2UobiwxKSxpKz10KyIuIil9KSksaSs9bywwIT1lLmxlbmd0aHx8MD09PW8ubGVuZ3RoKXJldHVybiBudWxsO3ZhciBhPXt9O3JldHVybiBhLmRvbUV2ZW50TmFtZT1yLGEuZnVsbEtleT1pLGF9LGUuZ2V0RXZlbnRGdWxsS2V5PWZ1bmN0aW9uKHQpe3ZhciBlPSIiLG49RWwoKS5nZXRFdmVudEtleSh0KTtyZXR1cm4iICI9PT0obj1uLnRvTG93ZXJDYXNlKCkpP249InNwYWNlIjoiLiI9PT1uJiYobj0iZG90IiksX3MuZm9yRWFjaCgoZnVuY3Rpb24ocil7ciE9biYmKDAsd3Nbcl0pKHQpJiYoZSs9cisiLiIpfSkpLGUrPW59LGUuZXZlbnRDYWxsYmFjaz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGZ1bmN0aW9uKG8pe24uZ2V0RXZlbnRGdWxsS2V5KG8pPT09dCYmci5ydW5HdWFyZGVkKChmdW5jdGlvbigpe3JldHVybiBlKG8pfSkpfX0sZS5fbm9ybWFsaXplS2V5PWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlImVzYyI6cmV0dXJuImVzY2FwZSI7ZGVmYXVsdDpyZXR1cm4gdH19LGV9KFpsKSx4cz1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe319KCksQ3M9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4uX2RvYz1lLG59cmV0dXJuIE9iamVjdChyLl9fZXh0ZW5kcykoZSx0KSxlLnByb3RvdHlwZS5zYW5pdGl6ZT1mdW5jdGlvbih0LGUpe2lmKG51bGw9PWUpcmV0dXJuIG51bGw7c3dpdGNoKHQpe2Nhc2UgQ2UuTk9ORTpyZXR1cm4gZTtjYXNlIENlLkhUTUw6cmV0dXJuIGUgaW5zdGFuY2VvZiBFcz9lLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk6KHRoaXMuY2hlY2tOb3RTYWZlVmFsdWUoZSwiSFRNTCIpLGZ1bmN0aW9uKHQsZSl7dmFyIG49bnVsbDt0cnl7bGU9bGV8fG5ldyBuZSh0KTt2YXIgcj1lP1N0cmluZyhlKToiIjtuPWxlLmdldEluZXJ0Qm9keUVsZW1lbnQocik7dmFyIG89NSxpPXI7ZG97aWYoMD09PW8pdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gc2FuaXRpemUgaHRtbCBiZWNhdXNlIHRoZSBpbnB1dCBpcyB1bnN0YWJsZSIpO28tLSxyPWksaT1uLmlubmVySFRNTCxuPWxlLmdldEluZXJ0Qm9keUVsZW1lbnQocil9d2hpbGUociE9PWkpO3ZhciBhPW5ldyBtZSx1PWEuc2FuaXRpemVDaGlsZHJlbih4ZShuKXx8bik7cmV0dXJuIGVlKCkmJmEuc2FuaXRpemVkU29tZXRoaW5nJiZjb25zb2xlLndhcm4oIldBUk5JTkc6IHNhbml0aXppbmcgSFRNTCBzdHJpcHBlZCBzb21lIGNvbnRlbnQsIHNlZSBodHRwOi8vZy5jby9uZy9zZWN1cml0eSN4c3MiKSx1fWZpbmFsbHl7aWYobilmb3IodmFyIGw9eGUobil8fG47bC5maXJzdENoaWxkOylsLnJlbW92ZUNoaWxkKGwuZmlyc3RDaGlsZCl9fSh0aGlzLl9kb2MsU3RyaW5nKGUpKSk7Y2FzZSBDZS5TVFlMRTpyZXR1cm4gZSBpbnN0YW5jZW9mIE9zP2UuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eToodGhpcy5jaGVja05vdFNhZmVWYWx1ZShlLCJTdHlsZSIpLGZ1bmN0aW9uKHQpe2lmKCEodD1TdHJpbmcodCkudHJpbSgpKSlyZXR1cm4iIjt2YXIgZT10Lm1hdGNoKE9lKTtyZXR1cm4gZSYmaWUoZVsxXSk9PT1lWzFdfHx0Lm1hdGNoKEVlKSYmZnVuY3Rpb24odCl7Zm9yKHZhciBlPSEwLG49ITAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10LmNoYXJBdChyKTsiJyI9PT1vJiZuP2U9IWU6JyInPT09byYmZSYmKG49IW4pfXJldHVybiBlJiZufSh0KT90OihlZSgpJiZjb25zb2xlLndhcm4oIldBUk5JTkc6IHNhbml0aXppbmcgdW5zYWZlIHN0eWxlIHZhbHVlICIrdCsiIChzZWUgaHR0cDovL2cuY28vbmcvc2VjdXJpdHkjeHNzKS4iKSwidW5zYWZlIil9KGUpKTtjYXNlIENlLlNDUklQVDppZihlIGluc3RhbmNlb2YgVHMpcmV0dXJuIGUuY2hhbmdpbmdUaGlzQnJlYWtzQXBwbGljYXRpb25TZWN1cml0eTt0aHJvdyB0aGlzLmNoZWNrTm90U2FmZVZhbHVlKGUsIlNjcmlwdCIpLG5ldyBFcnJvcigidW5zYWZlIHZhbHVlIHVzZWQgaW4gYSBzY3JpcHQgY29udGV4dCIpO2Nhc2UgQ2UuVVJMOnJldHVybiBlIGluc3RhbmNlb2Yga3N8fGUgaW5zdGFuY2VvZiBQcz9lLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk6KHRoaXMuY2hlY2tOb3RTYWZlVmFsdWUoZSwiVVJMIiksaWUoU3RyaW5nKGUpKSk7Y2FzZSBDZS5SRVNPVVJDRV9VUkw6aWYoZSBpbnN0YW5jZW9mIGtzKXJldHVybiBlLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk7dGhyb3cgdGhpcy5jaGVja05vdFNhZmVWYWx1ZShlLCJSZXNvdXJjZVVSTCIpLG5ldyBFcnJvcigidW5zYWZlIHZhbHVlIHVzZWQgaW4gYSByZXNvdXJjZSBVUkwgY29udGV4dCAoc2VlIGh0dHA6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcykiKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5leHBlY3RlZCBTZWN1cml0eUNvbnRleHQgIit0KyIgKHNlZSBodHRwOi8vZy5jby9uZy9zZWN1cml0eSN4c3MpIil9fSxlLnByb3RvdHlwZS5jaGVja05vdFNhZmVWYWx1ZT1mdW5jdGlvbih0LGUpe2lmKHQgaW5zdGFuY2VvZiBTcyl0aHJvdyBuZXcgRXJyb3IoIlJlcXVpcmVkIGEgc2FmZSAiK2UrIiwgZ290IGEgIit0LmdldFR5cGVOYW1lKCkrIiAoc2VlIGh0dHA6Ly9nLmNvL25nL3NlY3VyaXR5I3hzcykiKX0sZS5wcm90b3R5cGUuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBFcyh0KX0sZS5wcm90b3R5cGUuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgT3ModCl9LGUucHJvdG90eXBlLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTY3JpcHQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBUcyh0KX0sZS5wcm90b3R5cGUuYnlwYXNzU2VjdXJpdHlUcnVzdFVybD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFBzKHQpfSxlLnByb3RvdHlwZS5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrcyh0KX0sZX0oeHMpLFNzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLmNoYW5naW5nVGhpc0JyZWFrc0FwcGxpY2F0aW9uU2VjdXJpdHk9dH1yZXR1cm4gdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iU2FmZVZhbHVlIG11c3QgdXNlIFtwcm9wZXJ0eV09YmluZGluZzogIit0aGlzLmNoYW5naW4="
}