mberr · data · 2.7c767379.chunk.js_31
{
    "2.7c767379.chunk.js_31": "base64:YXRlck1hcmspLHRoaXMuYnVmZmVyPW5ldyB5LHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLGUuZW5jb2RpbmcmJihkfHwoZD1yKDIwOSkuU3RyaW5nRGVjb2RlciksdGhpcy5kZWNvZGVyPW5ldyBkKGUuZW5jb2RpbmcpLHRoaXMuZW5jb2Rpbmc9ZS5lbmNvZGluZyl9ZnVuY3Rpb24gYihlKXtpZihvPW98fHIoODgpLCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihlKTt0aGlzLl9yZWFkYWJsZVN0YXRlPW5ldyBtKGUsdGhpcyksdGhpcy5yZWFkYWJsZT0hMCxlJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBlLnJlYWQmJih0aGlzLl9yZWFkPWUucmVhZCksImZ1bmN0aW9uIj09PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSkpLHUuY2FsbCh0aGlzKX1mdW5jdGlvbiBfKGUsdCxyLG4saSl7dmFyIG8sYT1lLl9yZWFkYWJsZVN0YXRlO251bGw9PT10PyhhLnJlYWRpbmc9ITEsZnVuY3Rpb24oZSx0KXtpZih0LmVuZGVkKXJldHVybjtpZih0LmRlY29kZXIpe3ZhciByPXQuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKHQuYnVmZmVyLnB1c2gociksdC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX10LmVuZGVkPSEwLFQoZSl9KGUsYSkpOihpfHwobz1mdW5jdGlvbihlLHQpe3ZhciByO249dCxjLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgZnx8InN0cmluZyI9PT10eXBlb2YgdHx8dm9pZCAwPT09dHx8ZS5vYmplY3RNb2RlfHwocj1uZXcgVHlwZUVycm9yKCJJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rIikpO3ZhciBuO3JldHVybiByfShhLHQpKSxvP2UuZW1pdCgiZXJyb3IiLG8pOmEub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MD8oInN0cmluZyI9PT10eXBlb2YgdHx8YS5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1jLnByb3RvdHlwZXx8KHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGMuZnJvbShlKX0odCkpLG4/YS5lbmRFbWl0dGVkP2UuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnQiKSk6UyhlLGEsdCwhMCk6YS5lbmRlZD9lLmVtaXQoImVycm9yIixuZXcgRXJyb3IoInN0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GIikpOihhLnJlYWRpbmc9ITEsYS5kZWNvZGVyJiYhcj8odD1hLmRlY29kZXIud3JpdGUodCksYS5vYmplY3RNb2RlfHwwIT09dC5sZW5ndGg/UyhlLGEsdCwhMSk6QyhlLGEpKTpTKGUsYSx0LCExKSkpOm58fChhLnJlYWRpbmc9ITEpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIWUuZW5kZWQmJihlLm5lZWRSZWFkYWJsZXx8ZS5sZW5ndGg8ZS5oaWdoV2F0ZXJNYXJrfHwwPT09ZS5sZW5ndGgpfShhKX1mdW5jdGlvbiBTKGUsdCxyLG4pe3QuZmxvd2luZyYmMD09PXQubGVuZ3RoJiYhdC5zeW5jPyhlLmVtaXQoImRhdGEiLHIpLGUucmVhZCgwKSk6KHQubGVuZ3RoKz10Lm9iamVjdE1vZGU/MTpyLmxlbmd0aCxuP3QuYnVmZmVyLnVuc2hpZnQocik6dC5idWZmZXIucHVzaChyKSx0Lm5lZWRSZWFkYWJsZSYmVChlKSksQyhlLHQpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShiLnByb3RvdHlwZSwiZGVzdHJveWVkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUpfX0pLGIucHJvdG90eXBlLmRlc3Ryb3k9Zy5kZXN0cm95LGIucHJvdG90eXBlLl91bmRlc3Ryb3k9Zy51bmRlc3Ryb3ksYi5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt0aGlzLnB1c2gobnVsbCksdChlKX0sYi5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihlLHQpe3ZhciByLG49dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gbi5vYmplY3RNb2RlP3I9ITA6InN0cmluZyI9PT10eXBlb2YgZSYmKCh0PXR8fG4uZGVmYXVsdEVuY29kaW5nKSE9PW4uZW5jb2RpbmcmJihlPWMuZnJvbShlLHQpLHQ9IiIpLHI9ITApLF8odGhpcyxlLHQsITEscil9LGIucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIF8odGhpcyxlLG51bGwsITAsITEpfSxiLnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxiLnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtyZXR1cm4gZHx8KGQ9cigyMDkpLlN0cmluZ0RlY29kZXIpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj1uZXcgZChlKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nPWUsdGhpc307dmFyIEU9ODM4ODYwODtmdW5jdGlvbiB3KGUsdCl7cmV0dXJuIGU8PTB8fDA9PT10Lmxlbmd0aCYmdC5lbmRlZD8wOnQub2JqZWN0TW9kZT8xOmUhPT1lP3QuZmxvd2luZyYmdC5sZW5ndGg/dC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDp0Lmxlbmd0aDooZT50LmhpZ2hXYXRlck1hcmsmJih0LmhpZ2hXYXRlck1hcms9ZnVuY3Rpb24oZSl7cmV0dXJuIGU+PUU/ZT1FOihlLS0sZXw9ZT4+PjEsZXw9ZT4+PjIsZXw9ZT4+PjQsZXw9ZT4+PjgsZXw9ZT4+PjE2LGUrKyksZX0oZSkpLGU8PXQubGVuZ3RoP2U6dC5lbmRlZD90Lmxlbmd0aDoodC5uZWVkUmVhZGFibGU9ITAsMCkpfWZ1bmN0aW9uIFQoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTt0Lm5lZWRSZWFkYWJsZT0hMSx0LmVtaXR0ZWRSZWFkYWJsZXx8KHAoImVtaXRSZWFkYWJsZSIsdC5mbG93aW5nKSx0LmVtaXR0ZWRSZWFkYWJsZT0hMCx0LnN5bmM/aS5uZXh0VGljayhBLGUpOkEoZSkpfWZ1bmN0aW9uIEEoZSl7cCgiZW1pdCByZWFkYWJsZSIpLGUuZW1pdCgicmVhZGFibGUiKSxPKGUpfWZ1bmN0aW9uIEMoZSx0KXt0LnJlYWRpbmdNb3JlfHwodC5yZWFkaW5nTW9yZT0hMCxpLm5leHRUaWNrKHgsZSx0KSl9ZnVuY3Rpb24geChlLHQpe2Zvcih2YXIgcj10Lmxlbmd0aDshdC5yZWFkaW5nJiYhdC5mbG93aW5nJiYhdC5lbmRlZCYmdC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrJiYocCgibWF5YmVSZWFkTW9yZSByZWFkIDAiKSxlLnJlYWQoMCksciE9PXQubGVuZ3RoKTspcj10Lmxlbmd0aDt0LnJlYWRpbmdNb3JlPSExfWZ1bmN0aW9uIEkoZSl7cCgicmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwIiksZS5yZWFkKDApfWZ1bmN0aW9uIGsoZSx0KXt0LnJlYWRpbmd8fChwKCJyZXN1bWUgcmVhZCAwIiksZS5yZWFkKDApKSx0LnJlc3VtZVNjaGVkdWxlZD0hMSx0LmF3YWl0RHJhaW49MCxlLmVtaXQoInJlc3VtZSIpLE8oZSksdC5mbG93aW5nJiYhdC5yZWFkaW5nJiZlLnJlYWQoMCl9ZnVuY3Rpb24gTyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2ZvcihwKCJmbG93Iix0LmZsb3dpbmcpO3QuZmxvd2luZyYmbnVsbCE9PWUucmVhZCgpOyk7fWZ1bmN0aW9uIE4oZSx0KXtyZXR1cm4gMD09PXQubGVuZ3RoP251bGw6KHQub2JqZWN0TW9kZT9yPXQuYnVmZmVyLnNoaWZ0KCk6IWV8fGU+PXQubGVuZ3RoPyhyPXQuZGVjb2Rlcj90LmJ1ZmZlci5qb2luKCIiKToxPT09dC5idWZmZXIubGVuZ3RoP3QuYnVmZmVyLmhlYWQuZGF0YTp0LmJ1ZmZlci5jb25jYXQodC5sZW5ndGgpLHQuYnVmZmVyLmNsZWFyKCkpOnI9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuO2U8dC5oZWFkLmRhdGEubGVuZ3RoPyhuPXQuaGVhZC5kYXRhLnNsaWNlKDAsZSksdC5oZWFkLmRhdGE9dC5oZWFkLmRhdGEuc2xpY2UoZSkpOm49ZT09PXQuaGVhZC5kYXRhLmxlbmd0aD90LnNoaWZ0KCk6cj9mdW5jdGlvbihlLHQpe3ZhciByPXQuaGVhZCxuPTEsaT1yLmRhdGE7ZS09aS5sZW5ndGg7Zm9yKDtyPXIubmV4dDspe3ZhciBvPXIuZGF0YSxhPWU+by5sZW5ndGg/by5sZW5ndGg6ZTtpZihhPT09by5sZW5ndGg/aSs9bzppKz1vLnNsaWNlKDAsZSksMD09PShlLT1hKSl7YT09PW8ubGVuZ3RoPygrK24sci5uZXh0P3QuaGVhZD1yLm5leHQ6dC5oZWFkPXQudGFpbD1udWxsKToodC5oZWFkPXIsci5kYXRhPW8uc2xpY2UoYSkpO2JyZWFrfSsrbn1yZXR1cm4gdC5sZW5ndGgtPW4saX0oZSx0KTpmdW5jdGlvbihlLHQpe3ZhciByPWMuYWxsb2NVbnNhZmUoZSksbj10LmhlYWQsaT0xO24uZGF0YS5jb3B5KHIpLGUtPW4uZGF0YS5sZW5ndGg7Zm9yKDtuPW4ubmV4dDspe3ZhciBvPW4uZGF0YSxhPWU+by5sZW5ndGg/by5sZW5ndGg6ZTtpZihvLmNvcHkocixyLmxlbmd0aC1lLDAsYSksMD09PShlLT1hKSl7YT09PW8ubGVuZ3RoPygrK2ksbi5uZXh0P3QuaGVhZD1uLm5leHQ6dC5oZWFkPXQudGFpbD1udWxsKToodC5oZWFkPW4sbi5kYXRhPW8uc2xpY2UoYSkpO2JyZWFrfSsraX1yZXR1cm4gdC5sZW5ndGgtPWkscn0oZSx0KTtyZXR1cm4gbn0oZSx0LmJ1ZmZlcix0LmRlY29kZXIpLHIpO3ZhciByfWZ1bmN0aW9uIFAoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtpZih0Lmxlbmd0aD4wKXRocm93IG5ldyBFcnJvcignImVuZFJlYWRhYmxlKCkiIGNhbGxlZCBvbiBub24tZW1wdHkgc3RyZWFtJyk7dC5lbmRFbWl0dGVkfHwodC5lbmRlZD0hMCxpLm5leHRUaWNrKFIsdCxlKSl9ZnVuY3Rpb24gUihlLHQpe2UuZW5kRW1pdHRlZHx8MCE9PWUubGVuZ3RofHwoZS5lbmRFbWl0dGVkPSEwLHQucmVhZGFibGU9ITEsdC5lbWl0KCJlbmQiKSl9ZnVuY3Rpb24gQihlLHQpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGg7cjxuO3IrKylpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX1iLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGUpe3AoInJlYWQiLGUpLGU9cGFyc2VJbnQoZSwxMCk7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPWU7aWYoMCE9PWUmJih0LmVtaXR0ZWRSZWFkYWJsZT0hMSksMD09PWUmJnQubmVlZFJlYWRhYmxlJiYodC5sZW5ndGg+PXQuaGlnaFdhdGVyTWFya3x8dC5lbmRlZCkpcmV0dXJuIHAoInJlYWQ6IGVtaXRSZWFkYWJsZSIsdC5sZW5ndGgsdC5lbmRlZCksMD09PXQubGVuZ3RoJiZ0LmVuZGVkP1AodGhpcyk6VCh0aGlzKSxudWxsO2lmKDA9PT0oZT13KGUsdCkpJiZ0LmVuZGVkKXJldHVybiAwPT09dC5sZW5ndGgmJlAodGhpcyksbnVsbDt2YXIgbixpPXQubmVlZFJlYWRhYmxlO3JldHVybiBwKCJuZWVkIHJlYWRhYmxlIixpKSwoMD09PXQubGVuZ3RofHx0Lmxlbmd0aC1lPHQuaGlnaFdhdGVyTWFyaykmJnAoImxlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrIixpPSEwKSx0LmVuZGVkfHx0LnJlYWRpbmc/cCgicmVhZGluZyBvciBlbmRlZCIsaT0hMSk6aSYmKHAoImRvIHJlYWQiKSx0LnJlYWRpbmc9ITAsdC5zeW5jPSEwLDA9PT10Lmxlbmd0aCYmKHQubmVlZFJlYWRhYmxlPSEwKSx0aGlzLl9yZWFkKHQuaGlnaFdhdGVyTWFyayksdC5zeW5jPSExLHQucmVhZGluZ3x8KGU9dyhyLHQpKSksbnVsbD09PShuPWU+MD9OKGUsdCk6bnVsbCk/KHQubmVlZFJlYWRhYmxlPSEwLGU9MCk6dC5sZW5ndGgtPWUsMD09PXQubGVuZ3RoJiYodC5lbmRlZHx8KHQubmVlZFJlYWRhYmxlPSEwKSxyIT09ZSYmdC5lbmRlZCYmUCh0aGlzKSksbnVsbCE9PW4mJnRoaXMuZW1pdCgiZGF0YSIsbiksbn0sYi5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJfcmVhZCgpIGlzIG5vdCBpbXBsZW1lbnRlZCIpKX0sYi5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMsbz10aGlzLl9yZWFkYWJsZVN0YXRlO3N3aXRjaChvLnBpcGVzQ291bnQpe2Nhc2UgMDpvLnBpcGVzPWU7YnJlYWs7Y2FzZSAxOm8ucGlwZXM9W28ucGlwZXMsZV07YnJlYWs7ZGVmYXVsdDpvLnBpcGVzLnB1c2goZSl9by5waXBlc0NvdW50Kz0xLHAoInBpcGUgY291bnQ9JWQgb3B0cz0laiIsby5waXBlc0NvdW50LHQpO3ZhciB1PSghdHx8ITEhPT10LmVuZCkmJmUhPT1uLnN0ZG91dCYmZSE9PW4uc3RkZXJyP2Y6YjtmdW5jdGlvbiBjKHQsbil7cCgib251bnBpcGUiKSx0PT09ciYmbiYmITE9PT1uLmhhc1VucGlwZWQmJihuLmhhc1VucGlwZWQ9ITAscCgiY2xlYW51cCIpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIix2KSxlLnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLG0pLGUucmVtb3ZlTGlzdGVuZXIoImRyYWluIixsKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZyksZS5yZW1vdmVMaXN0ZW5lcigidW5waXBlIixjKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGYpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsYiksci5yZW1vdmVMaXN0ZW5lcigiZGF0YSIseSksaD0hMCwhby5hd2FpdERyYWlufHxlLl93cml0YWJsZVN0YXRlJiYhZS5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW58fGwoKSl9ZnVuY3Rpb24gZigpe3AoIm9uZW5kIiksZS5lbmQoKX1vLmVuZEVtaXR0ZWQ/aS5uZXh0VGljayh1KTpyLm9uY2UoImVuZCIsdSksZS5vbigidW5waXBlIixjKTt2YXIgbD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3AoInBpcGVPbkRyYWluIix0LmF3YWl0RHJhaW4pLHQuYXdhaXREcmFpbiYmdC5hd2FpdERyYWluLS0sMD09PXQuYXdhaXREcmFpbiYmcyhlLCJkYXRhIikmJih0LmZsb3dpbmc9ITAsTyhlKSl9fShyKTtlLm9uKCJkcmFpbiIsbCk7dmFyIGg9ITE7dmFyIGQ9ITE7ZnVuY3Rpb24geSh0KXtwKCJvbmRhdGEiKSxkPSExLCExIT09ZS53cml0ZSh0KXx8ZHx8KCgxPT09by5waXBlc0NvdW50JiZvLnBpcGVzPT09ZXx8by5waXBlc0NvdW50PjEmJi0xIT09QihvLnBpcGVzLGUpKSYmIWgmJihwKCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UiLHIuX3JlYWRhYmxlU3RhdGUuYXdhaXREcmFpbiksci5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKyssZD0hMCksci5wYXVzZSgpKX1mdW5jdGlvbiBnKHQpe3AoIm9uZXJyb3IiLHQpLGIoKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZyksMD09PXMoZSwiZXJyb3IiKSYmZS5lbWl0KCJlcnJvciIsdCl9ZnVuY3Rpb24gdigpe2UucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsbSksYigpfWZ1bmN0aW9uIG0oKXtwKCJvbmZpbmlzaCIpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIix2KSxiKCl9ZnVuY3Rpb24gYigpe3AoInVucGlwZSIpLHIudW5waXBlKGUpfXJldHVybiByLm9uKCJkYXRhIix5KSxmdW5jdGlvbihlLHQscil7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBlLnByZXBlbmRMaXN0ZW5lcilyZXR1cm4gZS5wcmVwZW5kTGlzdGVuZXIodCxyKTtlLl9ldmVudHMmJmUuX2V2ZW50c1t0XT9hKGUuX2V2ZW50c1t0XSk/ZS5fZXZlbnRzW3RdLnVuc2hpZnQocik6ZS5fZXZlbnRzW3RdPVtyLGUuX2V2ZW50c1t0XV06ZS5vbih0LHIpfShlLCJlcnJvciIsZyksZS5vbmNlKCJjbG9zZSIsdiksZS5vbmNlKCJmaW5pc2giLG0pLGUuZW1pdCgicGlwZSIsciksby5mbG93aW5nfHwocCgicGlwZSByZXN1bWUiKSxyLnJlc3VtZSgpKSxlfSxiLnByb3RvdHlwZS51bnBpcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPXtoYXNVbnBpcGVkOiExfTtpZigwPT09dC5waXBlc0NvdW50KXJldHVybiB0aGlzO2lmKDE9PT10LnBpcGVzQ291bnQpcmV0dXJuIGUmJmUhPT10LnBpcGVzP3RoaXM6KGV8fChlPXQucGlwZXMpLHQucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITEsZSYmZS5lbWl0KCJ1bnBpcGUiLHRoaXMsciksdGhpcyk7aWYoIWUpe3ZhciBuPXQucGlwZXMsaT10LnBpcGVzQ291bnQ7dC5waXBlcz1udWxsLHQucGlwZXNDb3VudD0wLHQuZmxvd2luZz0hMTtmb3IodmFyIG89MDtvPGk7bysrKW5bb10uZW1pdCgidW5waXBlIix0aGlzLHIpO3JldHVybiB0aGlzfXZhciBhPUIodC5waXBlcyxlKTtyZXR1cm4tMT09PWE/dGhpczoodC5waXBlcy5zcGxpY2UoYSwxKSx0LnBpcGVzQ291bnQtPTEsMT09PXQucGlwZXNDb3VudCYmKHQucGlwZXM9dC5waXBlc1swXSksZS5lbWl0KCJ1bnBpcGUiLHRoaXMsciksdGhpcyl9LGIucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dS5wcm90b3R5cGUub24uY2FsbCh0aGlzLGUsdCk7aWYoImRhdGEiPT09ZSkhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmdGhpcy5yZXN1bWUoKTtlbHNlIGlmKCJyZWFkYWJsZSI9PT1lKXt2YXIgbj10aGlzLl9yZWFkYWJsZVN0YXRlO24uZW5kRW1pdHRlZHx8bi5yZWFkYWJsZUxpc3RlbmluZ3x8KG4ucmVhZGFibGVMaXN0ZW5pbmc9bi5uZWVkUmVhZGFibGU9ITAsbi5lbWl0dGVkUmVhZGFibGU9ITEsbi5yZWFkaW5nP24ubGVuZ3RoJiZUKHRoaXMpOmkubmV4dFRpY2soSSx0aGlzKSl9cmV0dXJuIHJ9LGIucHJvdG90eXBlLmFkZExpc3RlbmVyPWIucHJvdG90eXBlLm9uLGIucHJvdG90eXBlLnJlc3VtZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIGUuZmxvd2luZ3x8KHAoInJlc3VtZSIpLGUuZmxvd2luZz0hMCxmdW5jdGlvbihlLHQpe3QucmVzdW1lU2NoZWR1bGVkfHwodC5yZXN1bWVTY2hlZHVsZWQ9ITAsaS5uZXh0VGljayhrLGUsdCkpfSh0aGlzLGUpKSx0aGlzfSxiLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3JldHVybiBwKCJjYWxsIHBhdXNlIGZsb3dpbmc9JWoiLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyksITEhPT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcmJihwKCJwYXVzZSIpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz0hMSx0aGlzLmVtaXQoInBhdXNlIikpLHRoaXN9LGIucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyPXRoaXMuX3JlYWRhYmxlU3RhdGUsbj0hMTtmb3IodmFyIGkgaW4gZS5vbigiZW5kIixmdW5jdGlvbigpe2lmKHAoIndyYXBwZWQgZW5kIiksci5kZWNvZGVyJiYhci5lbmRlZCl7dmFyIGU9ci5kZWNvZGVyLmVuZCgpO2UmJmUubGVuZ3RoJiZ0LnB1c2goZSl9dC5wdXNoKG51bGwpfSksZS5vbigiZGF0YSIsZnVuY3Rpb24oaSl7KHAoIndyYXBwZWQgZGF0YSIpLHIuZGVjb2RlciYmKGk9ci5kZWNvZGVyLndyaXRlKGkpKSwhci5vYmplY3RNb2RlfHxudWxsIT09aSYmdm9pZCAwIT09aSkmJigoci5vYmplY3RNb2RlfHxpJiZpLmxlbmd0aCkmJih0LnB1c2goaSl8fChuPSEwLGUucGF1c2UoKSkpKX0pLGUpdm9pZCAwPT09dGhpc1tpXSYmImZ1bmN0aW9uIj09PXR5cGVvZiBlW2ldJiYodGhpc1tpXT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZVt0XS5hcHBseShlLGFyZ3VtZW50cyl9fShpKSk7Zm9yKHZhciBvPTA7bzx2Lmxlbmd0aDtvKyspZS5vbih2W29dLHRoaXMuZW1pdC5iaW5kKHRoaXMsdltvXSkpO3JldHVybiB0aGlzLl9yZWFkPWZ1bmN0aW9uKHQpe3AoIndyYXBwZWQgX3JlYWQiLHQpLG4mJihuPSExLGUucmVzdW1lKCkpfSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYi5wcm90b3R5cGUsInJlYWRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxiLl9mcm9tTGlzdD1OfSkuY2FsbCh0aGlzLHIoMzQpLHIoNDYpKX0sZnVuY3Rpb24oZSx0LHIpe2UuZXhwb3J0cz1yKDEyMCkuRXZlbnRFbWl0dGVyfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTU3KTtmdW5jdGlvbiBpKGUsdCl7ZS5lbWl0KCJlcnJvciIsdCl9ZS5leHBvcnRzPXtkZXN0cm95OmZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcyxvPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkLGE9dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7cmV0dXJuIG98fGE/KHQ/dChlKTohZXx8dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fG4ubmV4dFRpY2soaSx0aGlzLGUpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveShlfHxudWxsLGZ1bmN0aW9uKGUpeyF0JiZlPyhuLm5leHRUaWNrKGkscixlKSxyLl93cml0YWJsZVN0YXRlJiYoci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITApKTp0JiZ0KGUpfSksdGhpcyl9LHVuZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITEpfX19LGZ1bmN0aW9uKGUsdCxyKXsoZnVuY3Rpb24oZSl7dmFyIG49InVuZGVmaW5lZCIhPT10eXBlb2YgZSYmZXx8InVuZGVmaW5lZCIhPT10eXBlb2Ygc2VsZiYmc2VsZnx8d2luZG93LGk9RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5O2Z1bmN0aW9uIG8oZSx0KXt0aGlzLl9pZD1lLHRoaXMuX2NsZWFyRm49dH10LnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG8oaS5jYWxsKHNldFRpbWVvdXQsbixhcmd1bWVudHMpLGNsZWFyVGltZW91dCl9LHQuc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG8oaS5jYWxsKHNldEludGVydmFsLG4sYXJndW1lbnRzKSxjbGVhckludGVydmFsKX0sdC5jbGVhclRpbWVvdXQ9dC5jbGVhckludGVydmFsPWZ1bmN0aW9uKGUpe2UmJmUuY2xvc2UoKX0sby5wcm90b3R5cGUudW5yZWY9by5wcm90b3R5cGUucmVmPWZ1bmN0aW9uKCl7fSxvLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMuX2NsZWFyRm4uY2FsbChuLHRoaXMuX2lkKX0sdC5lbnJvbGw9ZnVuY3Rpb24oZSx0KXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9dH0sdC51bmVucm9sbD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9LTF9LHQuX3VucmVmQWN0aXZlPXQuYWN0aXZlPWZ1bmN0aW9uKGUpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKTt2YXIgdD1lLl9pZGxlVGltZW91dDt0Pj0wJiYoZS5faWRsZVRpbWVvdXRJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5fb25UaW1lb3V0JiZlLl9vblRpbWVvdXQoKX0sdCkpfSxyKDU1MyksdC5zZXRJbW1lZGlhdGU9InVuZGVmaW5lZCIhPT10eXBlb2Ygc2VsZiYmc2VsZi5zZXRJbW1lZGlhdGV8fCJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJmUuc2V0SW1tZWRpYXRlfHx0aGlzJiZ0aGlzLnNldEltbWVkaWF0ZSx0LmNsZWFySW1tZWRpYXRlPSJ1bmRlZmluZWQiIT09dHlwZW9mIHNlbGYmJnNlbGYuY2xlYXJJbW1lZGlhdGV8fCJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJmUuY2xlYXJJbW1lZGlhdGV8fHRoaXMmJnRoaXMuY2xlYXJJbW1lZGlhdGV9KS5jYWxsKHRoaXMscigzNCkpfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1hO3ZhciBuPXIoODgpLGk9cigxMjgpO2Z1bmN0aW9uIG8oZSx0KXt2YXIgcj10aGlzLl90cmFuc2Zvcm1TdGF0ZTtyLnRyYW5zZm9ybWluZz0hMTt2YXIgbj1yLndyaXRlY2I7aWYoIW4pcmV0dXJuIHRoaXMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigid3JpdGUgY2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzIikpO3Iud3JpdGVjaHVuaz1udWxsLHIud3JpdGVjYj1udWxsLG51bGwhPXQmJnRoaXMucHVzaCh0KSxuKGUpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfWZ1bmN0aW9uIGEoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgYSkpcmV0dXJuIG5ldyBhKGUpO24uY2FsbCh0aGlzLGUpLHRoaXMuX3RyYW5zZm9ybVN0YXRlPXthZnRlclRyYW5zZm9ybTpvLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTohMSx0cmFuc2Zvcm1pbmc6ITEsd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9LHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSxlJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBlLnRyYW5zZm9ybSYmKHRoaXMuX3RyYW5zZm9ybT1lLnRyYW5zZm9ybSksImZ1bmN0aW9uIj09PXR5cGVvZiBlLmZsdXNoJiYodGhpcy5fZmx1c2g9ZS5mbHVzaCkpLHRoaXMub24oInByZWZpbmlzaCIscyl9ZnVuY3Rpb24gcygpe3ZhciBlPXRoaXM7ImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLl9mbHVzaD90aGlzLl9mbHVzaChmdW5jdGlvbih0LHIpe3UoZSx0LHIpfSk6dSh0aGlzLG51bGwsbnVsbCl9ZnVuY3Rpb24gdShlLHQscil7aWYodClyZXR1cm4gZS5lbWl0KCJlcnJvciIsdCk7aWYobnVsbCE9ciYmZS5wdXNoKHIpLGUuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHdzLmxlbmd0aCAhPSAwIik7aWYoZS5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKXRocm93IG5ldyBFcnJvcigiQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHN0aWxsIHRyYW5zZm9ybWluZyIpO3JldHVybiBlLnB1c2gobnVsbCl9aS5pbmhlcml0cz1yKDcpLGkuaW5oZXJpdHMoYSxuKSxhLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsbi5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsZSx0KX0sYS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihlLHQscil7dGhyb3cgbmV3IEVycm9yKCJfdHJhbnNmb3JtKCkgaXMgbm90IGltcGxlbWVudGVkIil9LGEucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fdHJhbnNmb3JtU3RhdGU7aWYobi53cml0ZWNiPXIsbi53cml0ZWNodW5rPWUsbi53cml0ZWVuY29kaW5nPXQsIW4udHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlOyhuLm5lZWRUcmFuc2Zvcm18fGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fSxhLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl90cmFuc2Zvcm1TdGF0ZTtudWxsIT09dC53cml0ZWNodW5rJiZ0LndyaXRlY2ImJiF0LnRyYW5zZm9ybWluZz8odC50cmFuc2Zvcm1pbmc9ITAsdGhpcy5fdHJhbnNmb3JtKHQud3JpdGVjaHVuayx0LndyaXRlZW5jb2RpbmcsdC5hZnRlclRyYW5zZm9ybSkpOnQubmVlZFRyYW5zZm9ybT0hMH0sYS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzO24ucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcyxlLGZ1bmN0aW9uKGUpe3QoZSksci5lbWl0KCJjbG9zZSIpfSl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig3KSxpPXIoMTA1KSxvPXIoOCkuQnVmZmVyLGE9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0scz1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsaS5jYWxsKHRoaXMsNjQsNTYpfWZ1bmN0aW9uIGMoZSx0LHIpe3JldHVybiByXmUmKHRecil9ZnVuY3Rpb24gZihlLHQscil7cmV0dXJuIGUmdHxyJihlfHQpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKX1mdW5jdGlvbiBoKGUpe3JldHVybihlPj4+NnxlPDwyNileKGU+Pj4xMXxlPDwyMSleKGU+Pj4yNXxlPDw3KX1mdW5jdGlvbiBwKGUpe3JldHVybihlPj4+N3xlPDwyNSleKGU+Pj4xOHxlPDwxNCleZT4+PjN9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzc5MDMzNzAzLHRoaXMuX2I9MzE0NDEzNDI3Nyx0aGlzLl9jPTEwMTM5MDQyNDIsdGhpcy5fZD0yNzczNDgwNzYyLHRoaXMuX2U9MTM1OTg5MzExOSx0aGlzLl9mPTI2MDA4MjI5MjQsdGhpcy5fZz01Mjg3MzQ2MzUsdGhpcy5faD0xNTQxNDU5MjI1LHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LHI9dGhpcy5fdyxuPTB8dGhpcy5fYSxpPTB8dGhpcy5fYixvPTB8dGhpcy5fYyxzPTB8dGhpcy5fZCx1PTB8dGhpcy5fZSxkPTB8dGhpcy5fZix5PTB8dGhpcy5fZyxnPTB8dGhpcy5faCx2PTA7djwxNjsrK3Ypclt2XT1lLnJlYWRJbnQzMkJFKDQqdik7Zm9yKDt2PDY0OysrdilyW3ZdPTB8KCgodD1yW3YtMl0pPj4+MTd8dDw8MTUpXih0Pj4+MTl8dDw8MTMpXnQ+Pj4xMCkrclt2LTddK3Aoclt2LTE1XSkrclt2LTE2XTtmb3IodmFyIG09MDttPDY0OysrbSl7dmFyIGI9ZytoKHUpK2ModSxkLHkpK2FbbV0rclttXXwwLF89bChuKStmKG4saSxvKXwwO2c9eSx5PWQsZD11LHU9cytifDAscz1vLG89aSxpPW4sbj1iK198MH10aGlzLl9hPW4rdGhpcy5fYXwwLHRoaXMuX2I9aSt0aGlzLl9ifDAsdGhpcy5fYz1vK3RoaXMuX2N8MCx0aGlzLl9kPXMrdGhpcy5fZHwwLHRoaXMuX2U9dSt0aGlzLl9lfDAsdGhpcy5fZj1kK3RoaXMuX2Z8MCx0aGlzLl9nPXkrdGhpcy5fZ3wwLHRoaXMuX2g9Zyt0aGlzLl9ofDB9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIGU9by5hbGxvY1Vuc2FmZSgzMik7cmV0dXJuIGUud3JpdGVJbnQzMkJFKHRoaXMuX2EsMCksZS53cml0ZUludDMyQkUodGhpcy5fYiw0KSxlLndyaXRlSW50MzJCRSh0aGlzLl9jLDgpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2QsMTIpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2UsMTYpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2YsMjApLGUud3JpdGVJbnQzMkJFKHRoaXMuX2csMjQpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2gsMjgpLGV9LGUuZXhwb3J0cz11fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig3KSxpPXIoMTA1KSxvPXIoOCkuQnVmZmVyLGE9WzExMTYzNTI0MDgsMzYwOTc2NzQ1OCwxODk5NDQ3NDQxLDYwMjg5MTcyNSwzMDQ5MzIzNDcxLDM5NjQ0ODQzOTksMzkyMTAwOTU3MywyMTczMjk1NTQ4LDk2MTk4NzE2Myw0MDgxNjI4NDcyLDE1MDg5NzA5OTMsMzA1MzgzNDI2NSwyNDUzNjM1NzQ4LDI5Mzc2NzE1NzksMjg3MDc2MzIyMSwzNjY0NjA5NTYwLDM2MjQzODEwODAsMjczNDg4MzM5NCwzMTA1OTg0MDEsMTE2NDk5NjU0Miw2MDcyMjUyNzgsMTMyMzYxMDc2NCwxNDI2ODgxOTg3LDM1OTAzMDQ5OTQsMTkyNTA3ODM4OCw0MDY4MTgyMzgzLDIxNjIwNzgyMDYsOTkxMzM2MTEzLDI2MTQ4ODgxMDMsNjMzODAzMzE3LDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCwzODM1MzkwNDAxLDI2NjY2MTM0NTgsNDAyMjIyNDc3NCw5NDQ3MTExMzksMjY0MzQ3MDc4LDIzNDEyNjI3NzMsNjA0ODA3NjI4LDIwMDc4MDA5MzMsNzcwMjU1OTgzLDE0OTU5OTA5MDEsMTI0OTE1MDEyMiwxODU2NDMxMjM1LDE1NTUwODE2OTIsMzE3NTIxODEzMiwxOTk2MDY0OTg2LDIxOTg5NTA4MzcsMjU1NDIyMDg4MiwzOTk5NzE5MzM5LDI4MjE4MzQzNDksNzY2Nzg0MDE2LDI5NTI5OTY4MDgsMjU2NjU5NDg3OSwzMjEwMzEzNjcxLDMyMDMzMzc5NTYsMzMzNjU3MTg5MSwxMDM0NDU3MDI2LDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSwxMTM5MjY5OTMsMzc1ODMyNjM4MywzMzgyNDE4OTUsMTY4NzE3OTM2LDY2NjMwNzIwNSwxMTg4MTc5OTY0LDc3MzUyOTkxMiwxNTQ2MDQ1NzM0LDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSwxMzk2MTgyMjkxLDI2NDM4MzM4MjMsMTY5NTE4MzcwMCwyMzQzNTI3MzkwLDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCwyMTc3MDI2MzUwLDEyMDY3NTkxNDIsMjQ1Njk1NjAzNywzNDQwNzc2MjcsMjczMDQ4NTkyMSwxMjkwODYzNDYwLDI4MjAzMDI0MTEsMzE1ODQ1NDI3MywzMjU5NzMwODAwLDM1MDU5NTI2NTcsMzM0NTc2NDc3MSwxMDYyMTcwMDgsMzUxNjA2NTgxNywzNjA2MDA4MzQ0LDM2MDAzNTI4MDQsMTQzMjcyNTc3Niw0MDk0NTcxOTA5LDE0NjcwMzE1OTQsMjc1NDIzMzQ0LDg1MTE2OTcyMCw0MzAyMjc3MzQsMzEwMDgyMzc1Miw1MDY5NDg2MTYsMTM2MzI1ODE5NSw2NTkwNjA1NTYsMzc1MDY4NTU5Myw4ODM5OTc4NzcsMzc4NTA1MDI4MCw5NTgxMzk1NzEsMzMxODMwNzQyNywxMzIyODIyMjE4LDM4MTI3MjM0MDMsMTUzNzAwMjA2MywyMDAzMDM0OTk1LDE3NDc4NzM3NzksMzYwMjAzNjg5OSwxOTU1NTYyMjIyLDE1NzU5OTAwMTIsMjAyNDEwNDgxNSwxMTI1NTkyOTI4LDIyMjc3MzA0NTIsMjcxNjkwNDMwNiwyMzYxODUyNDI0LDQ0Mjc3NjA0NCwyNDI4NDM2NDc0LDU5MzY5ODM0NCwyNzU2NzM0MTg3LDM3MzMxMTAyNDksMzIwNDAzMTQ3OSwyOTk5MzUxNTczLDMzMjkzMjUyOTgsMzgxNTkyMDQyNywzMzkxNTY5NjE0LDM5MjgzODM5MDAsMzUxNTI2NzI3MSw1NjYyODA3MTEsMzk0MDE4NzYwNiwzNDU0MDY5NTM0LDQxMTg2MzAyNzEsNDAwMDIzOTk5MiwxMTY0MTg0NzQsMTkxNDEzODU1NCwxNzQyOTI0MjEsMjczMTA1NTI3MCwyODkzODAzNTYsMzIwMzk5MzAwNiw0NjAzOTMyNjksMzIwNjIwMzE1LDY4NTQ3MTczMyw1ODc0OTY4MzYsODUyMTQyOTcxLDEwODY3OTI4NTEsMTAxNzAzNjI5OCwzNjU1NDMxMDAsMTEyNjAwMDU4MCwyNjE4Mjk3Njc2LDEyODgwMzM0NzAsMzQwOTg1NTE1OCwxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYsMTYwNzE2NzkxNSw5ODcxNjc0NjgsMTgxNjQwMjMxNiwxMjQ2MTg5NTkxXSxzPW5ldyBBcnJheSgxNjApO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsaS5jYWxsKHRoaXMsMTI4LDExMil9ZnVuY3Rpb24gYyhlLHQscil7cmV0dXJuIHJeZSYodF5yKX1mdW5jdGlvbiBmKGUsdCxyKXtyZXR1cm4gZSZ0fHImKGV8dCl9ZnVuY3Rpb24gbChlLHQpe3JldHVybihlPj4+Mjh8dDw8NCleKHQ+Pj4yfGU8PDMwKV4odD4+Pjd8ZTw8MjUpfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4oZT4+PjE0fHQ8PDE4KV4oZT4+PjE4fHQ8PDE0KV4odD4+Pjl8ZTw8MjMpfWZ1bmN0aW9uIHAoZSx0KXtyZXR1cm4oZT4+PjF8dDw8MzEpXihlPj4+OHx0PDwyNCleZT4+Pjd9ZnVuY3Rpb24gZChlLHQpe3JldHVybihlPj4+MXx0PDwzMSleKGU+Pj44fHQ8PDI0KV4oZT4+Pjd8dDw8MjUpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4oZT4+PjE5fHQ8PDEzKV4odD4+PjI5fGU8PDMpXmU+Pj42fWZ1bmN0aW9uIGcoZSx0KXtyZXR1cm4oZT4+PjE5fHQ8PDEzKV4odD4+PjI5fGU8PDMpXihlPj4+Nnx0PDwyNil9ZnVuY3Rpb24gdihlLHQpe3JldHVybiBlPj4+MDx0Pj4+MD8xOjB9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYWg9MTc3OTAzMzcwMyx0aGlzLl9iaD0zMTQ0MTM0Mjc3LHRoaXMuX2NoPTEwMTM5MDQyNDIsdGhpcy5fZGg9Mjc3MzQ4MDc2Mix0aGlzLl9laD0xMzU5ODkzMTE5LHRoaXMuX2ZoPTI2MDA4MjI5MjQsdGhpcy5fZ2g9NTI4NzM0NjM1LHRoaXMuX2hoPTE1NDE0NTkyMjUsdGhpcy5fYWw9NDA4OTIzNTcyMCx0aGlzLl9ibD0yMjI3ODczNTk1LHRoaXMuX2NsPTQyNzExNzU3MjMsdGhpcy5fZGw9MTU5NTc1MDEyOSx0aGlzLl9lbD0yOTE3NTY1MTM3LHRoaXMuX2ZsPTcyNTUxMTE5OSx0aGlzLl9nbD00MjE1Mzg5NTQ3LHRoaXMuX2hsPTMyNzAzMzIwOSx0aGlzfSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD10aGlzLl93LHI9MHx0aGlzLl9haCxuPTB8dGhpcy5fYmgsaT0wfHRoaXMuX2NoLG89MHx0aGlzLl9kaCxzPTB8dGhpcy5fZWgsdT0wfHRoaXMuX2ZoLG09MHx0aGlzLl9naCxiPTB8dGhpcy5faGgsXz0wfHRoaXMuX2FsLFM9MHx0aGlzLl9ibCxFPTB8dGhpcy5fY2wsdz0wfHRoaXMuX2RsLFQ9MHx0aGlzLl9lbCxBPTB8dGhpcy5fZmwsQz0wfHRoaXMuX2dsLHg9MHx0aGlzLl9obCxJPTA7STwzMjtJKz0yKXRbSV09ZS5yZWFkSW50MzJCRSg0KkkpLHRbSSsxXT1lLnJlYWRJbnQzMkJFKDQqSSs0KTtmb3IoO0k8MTYwO0krPTIpe3ZhciBrPXRbSS0zMF0sTz10W0ktMzArMV0sTj1wKGssTyksUD1kKE8sayksUj15KGs9dFtJLTRdLE89dFtJLTQrMV0pLEI9ZyhPLGspLE09dFtJLTE0XSxMPXRbSS0xNCsxXSxEPXRbSS0zMl0saj10W0ktMzIrMV0sVT1QK0x8MCxGPU4rTSt2KFUsUCl8MDtGPShGPUYrUit2KFU9VStCfDAsQil8MCkrRCt2KFU9VStqfDAsail8MCx0W0ldPUYsdFtJKzFdPVV9Zm9yKHZhciBWPTA7VjwxNjA7Vis9Mil7Rj10W1ZdLFU9dFtWKzFdO3ZhciBxPWYocixuLGkpLEs9ZihfLFMsRSksej1sKHIsXyksRz1sKF8sciksSD1oKHMsVCksVz1oKFQscyksWT1hW1ZdLFg9YVtWKzFdLFE9YyhzLHUsbSksJD1jKFQsQSxDKSxaPXgrV3wwLEo9YitIK3YoWix4KXwwO0o9KEo9KEo9SitRK3YoWj1aKyR8MCwkKXwwKStZK3YoWj1aK1h8MCxYKXwwKStGK3YoWj1aK1V8MCxVKXwwO3ZhciBlZT1HK0t8MCx0ZT16K3ErdihlZSxHKXwwO2I9bSx4PUMsbT11LEM9QSx1PXMsQT1ULHM9bytKK3YoVD13K1p8MCx3KXwwLG89aSx3PUUsaT1uLEU9UyxuPXIsUz1fLHI9Sit0ZSt2KF89WitlZXwwLFopfDB9dGhpcy5fYWw9dGhpcy5fYWwrX3wwLHRoaXMuX2JsPXRoaXMuX2JsK1N8MCx0aGlzLl9jbD10aGlzLl9jbCtFfDAsdGhpcy5fZGw9dGhpcy5fZGwrd3wwLHRoaXMuX2VsPXRoaXMuX2VsK1R8MCx0aGlzLl9mbD10aGlzLl9mbCtBfDAsdGhpcy5fZ2w9dGhpcy5fZ2wrQ3wwLHRoaXMuX2hsPXRoaXMuX2hsK3h8MCx0aGlzLl9haD10aGlzLl9haCtyK3YodGhpcy5fYWwsXyl8MCx0aGlzLl9iaD10aGlzLl9iaCtuK3YodGhpcy5fYmwsUyl8MCx0aGlzLl9jaD10aGlzLl9jaCtpK3YodGhpcy5fY2wsRSl8MCx0aGlzLl9kaD10aGlzLl9kaCtvK3YodGhpcy5fZGwsdyl8MCx0aGlzLl9laD10aGlzLl9laCtzK3YodGhpcy5fZWwsVCl8MCx0aGlzLl9maD10aGlzLl9maCt1K3YodGhpcy5fZmwsQSl8MCx0aGlzLl9naD10aGlzLl9naCttK3YodGhpcy5fZ2wsQyl8MCx0aGlzLl9oaD10aGlzLl9oaCtiK3YodGhpcy5faGwseCl8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgZT1vLmFsbG9jVW5zYWZlKDY0KTtmdW5jdGlvbiB0KHQscixuKXtlLndyaXRlSW50MzJCRSh0LG4pLGUud3JpdGVJbnQzMkJFKHIsbis0KX1yZXR1cm4gdCh0aGlzLl9haCx0aGlzLl9hbCwwKSx0KHRoaXMuX2JoLHRoaXMuX2JsLDgpLHQodGhpcy5fY2gsdGhpcy5fY2wsMTYpLHQodGhpcy5fZGgsdGhpcy5fZGwsMjQpLHQodGhpcy5fZWgsdGhpcy5fZWwsMzIpLHQodGhpcy5fZmgsdGhpcy5fZmwsNDApLHQodGhpcy5fZ2gsdGhpcy5fZ2wsNDgpLHQodGhpcy5faGgsdGhpcy5faGwsNTYpLGV9LGUuZXhwb3J0cz11fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoNyksaT1yKDU2NCksbz1yKDc4KSxhPXIoOCkuQnVmZmVyLHM9cigzMTcpLHU9cigyMTApLGM9cigyMTEpLGY9YS5hbGxvYygxMjgpO2Z1bmN0aW9uIGwoZSx0KXtvLmNhbGwodGhpcywiZGlnZXN0IiksInN0cmluZyI9PT10eXBlb2YgdCYmKHQ9YS5mcm9tKHQpKTt2YXIgcj0ic2hhNTEyIj09PWV8fCJzaGEzODQiPT09ZT8xMjg6NjQ7KHRoaXMuX2FsZz1lLHRoaXMuX2tleT10LHQubGVuZ3RoPnIpP3Q9KCJybWQxNjAiPT09ZT9uZXcgdTpjKGUpKS51cGRhdGUodCkuZGlnZXN0KCk6dC5sZW5ndGg8ciYmKHQ9YS5jb25jYXQoW3QsZl0scikpO2Zvcih2YXIgbj10aGlzLl9pcGFkPWEuYWxsb2NVbnNhZmUociksaT10aGlzLl9vcGFkPWEuYWxsb2NVbnNhZmUocikscz0wO3M8cjtzKyspbltzXT01NF50W3NdLGlbc109OTJedFtzXTt0aGlzLl9oYXNoPSJybWQxNjAiPT09ZT9uZXcgdTpjKGUpLHRoaXMuX2hhc2gudXBkYXRlKG4pfW4obCxvKSxsLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2hhc2gudXBkYXRlKGUpfSxsLnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9oYXNoLmRpZ2VzdCgpO3JldHVybigicm1kMTYwIj09PXRoaXMuX2FsZz9uZXcgdTpjKHRoaXMuX2FsZykpLnVwZGF0ZSh0aGlzLl9vcGFkKS51cGRhdGUoZSkuZGlnZXN0KCl9LGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiJybWQxNjAiPT09KGU9ZS50b0xvd2VyQ2FzZSgpKXx8InJpcGVtZDE2MCI9PT1lP25ldyBsKCJybWQxNjAiLHQpOiJtZDUiPT09ZT9uZXcgaShzLHQpOm5ldyBsKGUsdCl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cigyMDUpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4obmV3IG4pLnVwZGF0ZShlKS5kaWdlc3QoKX19LGZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17c2hhMjI0V2l0aFJTQUVuY3J5cHRpb246e3NpZ246InJzYSIsaGFzaDoic2hhMjI0IixpZDoiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWMifSwiUlNBLVNIQTIyNCI6e3NpZ246ImVjZHNhL3JzYSIsaGFzaDoic2hhMjI0IixpZDoiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWMifSxzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbjp7c2lnbjoicnNhIixoYXNoOiJzaGEyNTYiLGlkOiIzMDMxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMDQyMCJ9LCJSU0EtU0hBMjU2Ijp7c2lnbjoiZWNkc2EvcnNhIixoYXNoOiJzaGEyNTYiLGlkOiIzMDMxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMDQyMCJ9LHNoYTM4NFdpdGhSU0FFbmNyeXB0aW9uOntzaWduOiJyc2EiLGhhc2g6InNoYTM4NCIsaWQ6IjMwNDEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMjA1MDAwNDMwIn0sIlJTQS1TSEEzODQiOntzaWduOiJlY2RzYS9yc2EiLGhhc2g6InNoYTM4NCIsaWQ6IjMwNDEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMjA1MDAwNDMwIn0sc2hhNTEyV2l0aFJTQUVuY3J5cHRpb246e3NpZ246InJzYSIsaGFzaDoic2hhNTEyIixpZDoiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDAifSwiUlNBLVNIQTUxMiI6e3NpZ246ImVjZHNhL3JzYSIsaGFzaDoic2hhNTEyIixpZDoiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDAifSwiUlNBLVNIQTEiOntzaWduOiJyc2EiLGhhc2g6InNoYTEiLGlkOiIzMDIxMzAwOTA2MDUyYjBlMDMwMjFhMDUwMDA0MTQifSwiZWNkc2Etd2l0aC1TSEExIjp7c2lnbjoiZWM="
}

Changelog:

{
    "2020.03.29 15:17": "base64:YXRlck1hcmspLHRoaXMuYnVmZmVyPW5ldyB5LHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLGUuZW5jb2RpbmcmJihkfHwoZD1yKDIwOSkuU3RyaW5nRGVjb2RlciksdGhpcy5kZWNvZGVyPW5ldyBkKGUuZW5jb2RpbmcpLHRoaXMuZW5jb2Rpbmc9ZS5lbmNvZGluZyl9ZnVuY3Rpb24gYihlKXtpZihvPW98fHIoODgpLCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihlKTt0aGlzLl9yZWFkYWJsZVN0YXRlPW5ldyBtKGUsdGhpcyksdGhpcy5yZWFkYWJsZT0hMCxlJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBlLnJlYWQmJih0aGlzLl9yZWFkPWUucmVhZCksImZ1bmN0aW9uIj09PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSkpLHUuY2FsbCh0aGlzKX1mdW5jdGlvbiBfKGUsdCxyLG4saSl7dmFyIG8sYT1lLl9yZWFkYWJsZVN0YXRlO251bGw9PT10PyhhLnJlYWRpbmc9ITEsZnVuY3Rpb24oZSx0KXtpZih0LmVuZGVkKXJldHVybjtpZih0LmRlY29kZXIpe3ZhciByPXQuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKHQuYnVmZmVyLnB1c2gociksdC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX10LmVuZGVkPSEwLFQoZSl9KGUsYSkpOihpfHwobz1mdW5jdGlvbihlLHQpe3ZhciByO249dCxjLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgZnx8InN0cmluZyI9PT10eXBlb2YgdHx8dm9pZCAwPT09dHx8ZS5vYmplY3RNb2RlfHwocj1uZXcgVHlwZUVycm9yKCJJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rIikpO3ZhciBuO3JldHVybiByfShhLHQpKSxvP2UuZW1pdCgiZXJyb3IiLG8pOmEub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MD8oInN0cmluZyI9PT10eXBlb2YgdHx8YS5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1jLnByb3RvdHlwZXx8KHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGMuZnJvbShlKX0odCkpLG4/YS5lbmRFbWl0dGVkP2UuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnQiKSk6UyhlLGEsdCwhMCk6YS5lbmRlZD9lLmVtaXQoImVycm9yIixuZXcgRXJyb3IoInN0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GIikpOihhLnJlYWRpbmc9ITEsYS5kZWNvZGVyJiYhcj8odD1hLmRlY29kZXIud3JpdGUodCksYS5vYmplY3RNb2RlfHwwIT09dC5sZW5ndGg/UyhlLGEsdCwhMSk6QyhlLGEpKTpTKGUsYSx0LCExKSkpOm58fChhLnJlYWRpbmc9ITEpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIWUuZW5kZWQmJihlLm5lZWRSZWFkYWJsZXx8ZS5sZW5ndGg8ZS5oaWdoV2F0ZXJNYXJrfHwwPT09ZS5sZW5ndGgpfShhKX1mdW5jdGlvbiBTKGUsdCxyLG4pe3QuZmxvd2luZyYmMD09PXQubGVuZ3RoJiYhdC5zeW5jPyhlLmVtaXQoImRhdGEiLHIpLGUucmVhZCgwKSk6KHQubGVuZ3RoKz10Lm9iamVjdE1vZGU/MTpyLmxlbmd0aCxuP3QuYnVmZmVyLnVuc2hpZnQocik6dC5idWZmZXIucHVzaChyKSx0Lm5lZWRSZWFkYWJsZSYmVChlKSksQyhlLHQpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShiLnByb3RvdHlwZSwiZGVzdHJveWVkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUpfX0pLGIucHJvdG90eXBlLmRlc3Ryb3k9Zy5kZXN0cm95LGIucHJvdG90eXBlLl91bmRlc3Ryb3k9Zy51bmRlc3Ryb3ksYi5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt0aGlzLnB1c2gobnVsbCksdChlKX0sYi5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihlLHQpe3ZhciByLG49dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gbi5vYmplY3RNb2RlP3I9ITA6InN0cmluZyI9PT10eXBlb2YgZSYmKCh0PXR8fG4uZGVmYXVsdEVuY29kaW5nKSE9PW4uZW5jb2RpbmcmJihlPWMuZnJvbShlLHQpLHQ9IiIpLHI9ITApLF8odGhpcyxlLHQsITEscil9LGIucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIF8odGhpcyxlLG51bGwsITAsITEpfSxiLnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxiLnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtyZXR1cm4gZHx8KGQ9cigyMDkpLlN0cmluZ0RlY29kZXIpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj1uZXcgZChlKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nPWUsdGhpc307dmFyIEU9ODM4ODYwODtmdW5jdGlvbiB3KGUsdCl7cmV0dXJuIGU8PTB8fDA9PT10Lmxlbmd0aCYmdC5lbmRlZD8wOnQub2JqZWN0TW9kZT8xOmUhPT1lP3QuZmxvd2luZyYmdC5sZW5ndGg/dC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDp0Lmxlbmd0aDooZT50LmhpZ2hXYXRlck1hcmsmJih0LmhpZ2hXYXRlck1hcms9ZnVuY3Rpb24oZSl7cmV0dXJuIGU+PUU/ZT1FOihlLS0sZXw9ZT4+PjEsZXw9ZT4+PjIsZXw9ZT4+PjQsZXw9ZT4+PjgsZXw9ZT4+PjE2LGUrKyksZX0oZSkpLGU8PXQubGVuZ3RoP2U6dC5lbmRlZD90Lmxlbmd0aDoodC5uZWVkUmVhZGFibGU9ITAsMCkpfWZ1bmN0aW9uIFQoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTt0Lm5lZWRSZWFkYWJsZT0hMSx0LmVtaXR0ZWRSZWFkYWJsZXx8KHAoImVtaXRSZWFkYWJsZSIsdC5mbG93aW5nKSx0LmVtaXR0ZWRSZWFkYWJsZT0hMCx0LnN5bmM/aS5uZXh0VGljayhBLGUpOkEoZSkpfWZ1bmN0aW9uIEEoZSl7cCgiZW1pdCByZWFkYWJsZSIpLGUuZW1pdCgicmVhZGFibGUiKSxPKGUpfWZ1bmN0aW9uIEMoZSx0KXt0LnJlYWRpbmdNb3JlfHwodC5yZWFkaW5nTW9yZT0hMCxpLm5leHRUaWNrKHgsZSx0KSl9ZnVuY3Rpb24geChlLHQpe2Zvcih2YXIgcj10Lmxlbmd0aDshdC5yZWFkaW5nJiYhdC5mbG93aW5nJiYhdC5lbmRlZCYmdC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrJiYocCgibWF5YmVSZWFkTW9yZSByZWFkIDAiKSxlLnJlYWQoMCksciE9PXQubGVuZ3RoKTspcj10Lmxlbmd0aDt0LnJlYWRpbmdNb3JlPSExfWZ1bmN0aW9uIEkoZSl7cCgicmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwIiksZS5yZWFkKDApfWZ1bmN0aW9uIGsoZSx0KXt0LnJlYWRpbmd8fChwKCJyZXN1bWUgcmVhZCAwIiksZS5yZWFkKDApKSx0LnJlc3VtZVNjaGVkdWxlZD0hMSx0LmF3YWl0RHJhaW49MCxlLmVtaXQoInJlc3VtZSIpLE8oZSksdC5mbG93aW5nJiYhdC5yZWFkaW5nJiZlLnJlYWQoMCl9ZnVuY3Rpb24gTyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2ZvcihwKCJmbG93Iix0LmZsb3dpbmcpO3QuZmxvd2luZyYmbnVsbCE9PWUucmVhZCgpOyk7fWZ1bmN0aW9uIE4oZSx0KXtyZXR1cm4gMD09PXQubGVuZ3RoP251bGw6KHQub2JqZWN0TW9kZT9yPXQuYnVmZmVyLnNoaWZ0KCk6IWV8fGU+PXQubGVuZ3RoPyhyPXQuZGVjb2Rlcj90LmJ1ZmZlci5qb2luKCIiKToxPT09dC5idWZmZXIubGVuZ3RoP3QuYnVmZmVyLmhlYWQuZGF0YTp0LmJ1ZmZlci5jb25jYXQodC5sZW5ndGgpLHQuYnVmZmVyLmNsZWFyKCkpOnI9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuO2U8dC5oZWFkLmRhdGEubGVuZ3RoPyhuPXQuaGVhZC5kYXRhLnNsaWNlKDAsZSksdC5oZWFkLmRhdGE9dC5oZWFkLmRhdGEuc2xpY2UoZSkpOm49ZT09PXQuaGVhZC5kYXRhLmxlbmd0aD90LnNoaWZ0KCk6cj9mdW5jdGlvbihlLHQpe3ZhciByPXQuaGVhZCxuPTEsaT1yLmRhdGE7ZS09aS5sZW5ndGg7Zm9yKDtyPXIubmV4dDspe3ZhciBvPXIuZGF0YSxhPWU+by5sZW5ndGg/by5sZW5ndGg6ZTtpZihhPT09by5sZW5ndGg/aSs9bzppKz1vLnNsaWNlKDAsZSksMD09PShlLT1hKSl7YT09PW8ubGVuZ3RoPygrK24sci5uZXh0P3QuaGVhZD1yLm5leHQ6dC5oZWFkPXQudGFpbD1udWxsKToodC5oZWFkPXIsci5kYXRhPW8uc2xpY2UoYSkpO2JyZWFrfSsrbn1yZXR1cm4gdC5sZW5ndGgtPW4saX0oZSx0KTpmdW5jdGlvbihlLHQpe3ZhciByPWMuYWxsb2NVbnNhZmUoZSksbj10LmhlYWQsaT0xO24uZGF0YS5jb3B5KHIpLGUtPW4uZGF0YS5sZW5ndGg7Zm9yKDtuPW4ubmV4dDspe3ZhciBvPW4uZGF0YSxhPWU+by5sZW5ndGg/by5sZW5ndGg6ZTtpZihvLmNvcHkocixyLmxlbmd0aC1lLDAsYSksMD09PShlLT1hKSl7YT09PW8ubGVuZ3RoPygrK2ksbi5uZXh0P3QuaGVhZD1uLm5leHQ6dC5oZWFkPXQudGFpbD1udWxsKToodC5oZWFkPW4sbi5kYXRhPW8uc2xpY2UoYSkpO2JyZWFrfSsraX1yZXR1cm4gdC5sZW5ndGgtPWkscn0oZSx0KTtyZXR1cm4gbn0oZSx0LmJ1ZmZlcix0LmRlY29kZXIpLHIpO3ZhciByfWZ1bmN0aW9uIFAoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtpZih0Lmxlbmd0aD4wKXRocm93IG5ldyBFcnJvcignImVuZFJlYWRhYmxlKCkiIGNhbGxlZCBvbiBub24tZW1wdHkgc3RyZWFtJyk7dC5lbmRFbWl0dGVkfHwodC5lbmRlZD0hMCxpLm5leHRUaWNrKFIsdCxlKSl9ZnVuY3Rpb24gUihlLHQpe2UuZW5kRW1pdHRlZHx8MCE9PWUubGVuZ3RofHwoZS5lbmRFbWl0dGVkPSEwLHQucmVhZGFibGU9ITEsdC5lbWl0KCJlbmQiKSl9ZnVuY3Rpb24gQihlLHQpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGg7cjxuO3IrKylpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX1iLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGUpe3AoInJlYWQiLGUpLGU9cGFyc2VJbnQoZSwxMCk7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPWU7aWYoMCE9PWUmJih0LmVtaXR0ZWRSZWFkYWJsZT0hMSksMD09PWUmJnQubmVlZFJlYWRhYmxlJiYodC5sZW5ndGg+PXQuaGlnaFdhdGVyTWFya3x8dC5lbmRlZCkpcmV0dXJuIHAoInJlYWQ6IGVtaXRSZWFkYWJsZSIsdC5sZW5ndGgsdC5lbmRlZCksMD09PXQubGVuZ3RoJiZ0LmVuZGVkP1AodGhpcyk6VCh0aGlzKSxudWxsO2lmKDA9PT0oZT13KGUsdCkpJiZ0LmVuZGVkKXJldHVybiAwPT09dC5sZW5ndGgmJlAodGhpcyksbnVsbDt2YXIgbixpPXQubmVlZFJlYWRhYmxlO3JldHVybiBwKCJuZWVkIHJlYWRhYmxlIixpKSwoMD09PXQubGVuZ3RofHx0Lmxlbmd0aC1lPHQuaGlnaFdhdGVyTWFyaykmJnAoImxlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrIixpPSEwKSx0LmVuZGVkfHx0LnJlYWRpbmc/cCgicmVhZGluZyBvciBlbmRlZCIsaT0hMSk6aSYmKHAoImRvIHJlYWQiKSx0LnJlYWRpbmc9ITAsdC5zeW5jPSEwLDA9PT10Lmxlbmd0aCYmKHQubmVlZFJlYWRhYmxlPSEwKSx0aGlzLl9yZWFkKHQuaGlnaFdhdGVyTWFyayksdC5zeW5jPSExLHQucmVhZGluZ3x8KGU9dyhyLHQpKSksbnVsbD09PShuPWU+MD9OKGUsdCk6bnVsbCk/KHQubmVlZFJlYWRhYmxlPSEwLGU9MCk6dC5sZW5ndGgtPWUsMD09PXQubGVuZ3RoJiYodC5lbmRlZHx8KHQubmVlZFJlYWRhYmxlPSEwKSxyIT09ZSYmdC5lbmRlZCYmUCh0aGlzKSksbnVsbCE9PW4mJnRoaXMuZW1pdCgiZGF0YSIsbiksbn0sYi5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJfcmVhZCgpIGlzIG5vdCBpbXBsZW1lbnRlZCIpKX0sYi5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMsbz10aGlzLl9yZWFkYWJsZVN0YXRlO3N3aXRjaChvLnBpcGVzQ291bnQpe2Nhc2UgMDpvLnBpcGVzPWU7YnJlYWs7Y2FzZSAxOm8ucGlwZXM9W28ucGlwZXMsZV07YnJlYWs7ZGVmYXVsdDpvLnBpcGVzLnB1c2goZSl9by5waXBlc0NvdW50Kz0xLHAoInBpcGUgY291bnQ9JWQgb3B0cz0laiIsby5waXBlc0NvdW50LHQpO3ZhciB1PSghdHx8ITEhPT10LmVuZCkmJmUhPT1uLnN0ZG91dCYmZSE9PW4uc3RkZXJyP2Y6YjtmdW5jdGlvbiBjKHQsbil7cCgib251bnBpcGUiKSx0PT09ciYmbiYmITE9PT1uLmhhc1VucGlwZWQmJihuLmhhc1VucGlwZWQ9ITAscCgiY2xlYW51cCIpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIix2KSxlLnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLG0pLGUucmVtb3ZlTGlzdGVuZXIoImRyYWluIixsKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZyksZS5yZW1vdmVMaXN0ZW5lcigidW5waXBlIixjKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGYpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsYiksci5yZW1vdmVMaXN0ZW5lcigiZGF0YSIseSksaD0hMCwhby5hd2FpdERyYWlufHxlLl93cml0YWJsZVN0YXRlJiYhZS5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW58fGwoKSl9ZnVuY3Rpb24gZigpe3AoIm9uZW5kIiksZS5lbmQoKX1vLmVuZEVtaXR0ZWQ/aS5uZXh0VGljayh1KTpyLm9uY2UoImVuZCIsdSksZS5vbigidW5waXBlIixjKTt2YXIgbD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3AoInBpcGVPbkRyYWluIix0LmF3YWl0RHJhaW4pLHQuYXdhaXREcmFpbiYmdC5hd2FpdERyYWluLS0sMD09PXQuYXdhaXREcmFpbiYmcyhlLCJkYXRhIikmJih0LmZsb3dpbmc9ITAsTyhlKSl9fShyKTtlLm9uKCJkcmFpbiIsbCk7dmFyIGg9ITE7dmFyIGQ9ITE7ZnVuY3Rpb24geSh0KXtwKCJvbmRhdGEiKSxkPSExLCExIT09ZS53cml0ZSh0KXx8ZHx8KCgxPT09by5waXBlc0NvdW50JiZvLnBpcGVzPT09ZXx8by5waXBlc0NvdW50PjEmJi0xIT09QihvLnBpcGVzLGUpKSYmIWgmJihwKCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UiLHIuX3JlYWRhYmxlU3RhdGUuYXdhaXREcmFpbiksci5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKyssZD0hMCksci5wYXVzZSgpKX1mdW5jdGlvbiBnKHQpe3AoIm9uZXJyb3IiLHQpLGIoKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZyksMD09PXMoZSwiZXJyb3IiKSYmZS5lbWl0KCJlcnJvciIsdCl9ZnVuY3Rpb24gdigpe2UucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsbSksYigpfWZ1bmN0aW9uIG0oKXtwKCJvbmZpbmlzaCIpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIix2KSxiKCl9ZnVuY3Rpb24gYigpe3AoInVucGlwZSIpLHIudW5waXBlKGUpfXJldHVybiByLm9uKCJkYXRhIix5KSxmdW5jdGlvbihlLHQscil7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBlLnByZXBlbmRMaXN0ZW5lcilyZXR1cm4gZS5wcmVwZW5kTGlzdGVuZXIodCxyKTtlLl9ldmVudHMmJmUuX2V2ZW50c1t0XT9hKGUuX2V2ZW50c1t0XSk/ZS5fZXZlbnRzW3RdLnVuc2hpZnQocik6ZS5fZXZlbnRzW3RdPVtyLGUuX2V2ZW50c1t0XV06ZS5vbih0LHIpfShlLCJlcnJvciIsZyksZS5vbmNlKCJjbG9zZSIsdiksZS5vbmNlKCJmaW5pc2giLG0pLGUuZW1pdCgicGlwZSIsciksby5mbG93aW5nfHwocCgicGlwZSByZXN1bWUiKSxyLnJlc3VtZSgpKSxlfSxiLnByb3RvdHlwZS51bnBpcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPXtoYXNVbnBpcGVkOiExfTtpZigwPT09dC5waXBlc0NvdW50KXJldHVybiB0aGlzO2lmKDE9PT10LnBpcGVzQ291bnQpcmV0dXJuIGUmJmUhPT10LnBpcGVzP3RoaXM6KGV8fChlPXQucGlwZXMpLHQucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITEsZSYmZS5lbWl0KCJ1bnBpcGUiLHRoaXMsciksdGhpcyk7aWYoIWUpe3ZhciBuPXQucGlwZXMsaT10LnBpcGVzQ291bnQ7dC5waXBlcz1udWxsLHQucGlwZXNDb3VudD0wLHQuZmxvd2luZz0hMTtmb3IodmFyIG89MDtvPGk7bysrKW5bb10uZW1pdCgidW5waXBlIix0aGlzLHIpO3JldHVybiB0aGlzfXZhciBhPUIodC5waXBlcyxlKTtyZXR1cm4tMT09PWE/dGhpczoodC5waXBlcy5zcGxpY2UoYSwxKSx0LnBpcGVzQ291bnQtPTEsMT09PXQucGlwZXNDb3VudCYmKHQucGlwZXM9dC5waXBlc1swXSksZS5lbWl0KCJ1bnBpcGUiLHRoaXMsciksdGhpcyl9LGIucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dS5wcm90b3R5cGUub24uY2FsbCh0aGlzLGUsdCk7aWYoImRhdGEiPT09ZSkhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmdGhpcy5yZXN1bWUoKTtlbHNlIGlmKCJyZWFkYWJsZSI9PT1lKXt2YXIgbj10aGlzLl9yZWFkYWJsZVN0YXRlO24uZW5kRW1pdHRlZHx8bi5yZWFkYWJsZUxpc3RlbmluZ3x8KG4ucmVhZGFibGVMaXN0ZW5pbmc9bi5uZWVkUmVhZGFibGU9ITAsbi5lbWl0dGVkUmVhZGFibGU9ITEsbi5yZWFkaW5nP24ubGVuZ3RoJiZUKHRoaXMpOmkubmV4dFRpY2soSSx0aGlzKSl9cmV0dXJuIHJ9LGIucHJvdG90eXBlLmFkZExpc3RlbmVyPWIucHJvdG90eXBlLm9uLGIucHJvdG90eXBlLnJlc3VtZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIGUuZmxvd2luZ3x8KHAoInJlc3VtZSIpLGUuZmxvd2luZz0hMCxmdW5jdGlvbihlLHQpe3QucmVzdW1lU2NoZWR1bGVkfHwodC5yZXN1bWVTY2hlZHVsZWQ9ITAsaS5uZXh0VGljayhrLGUsdCkpfSh0aGlzLGUpKSx0aGlzfSxiLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3JldHVybiBwKCJjYWxsIHBhdXNlIGZsb3dpbmc9JWoiLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyksITEhPT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcmJihwKCJwYXVzZSIpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz0hMSx0aGlzLmVtaXQoInBhdXNlIikpLHRoaXN9LGIucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyPXRoaXMuX3JlYWRhYmxlU3RhdGUsbj0hMTtmb3IodmFyIGkgaW4gZS5vbigiZW5kIixmdW5jdGlvbigpe2lmKHAoIndyYXBwZWQgZW5kIiksci5kZWNvZGVyJiYhci5lbmRlZCl7dmFyIGU9ci5kZWNvZGVyLmVuZCgpO2UmJmUubGVuZ3RoJiZ0LnB1c2goZSl9dC5wdXNoKG51bGwpfSksZS5vbigiZGF0YSIsZnVuY3Rpb24oaSl7KHAoIndyYXBwZWQgZGF0YSIpLHIuZGVjb2RlciYmKGk9ci5kZWNvZGVyLndyaXRlKGkpKSwhci5vYmplY3RNb2RlfHxudWxsIT09aSYmdm9pZCAwIT09aSkmJigoci5vYmplY3RNb2RlfHxpJiZpLmxlbmd0aCkmJih0LnB1c2goaSl8fChuPSEwLGUucGF1c2UoKSkpKX0pLGUpdm9pZCAwPT09dGhpc1tpXSYmImZ1bmN0aW9uIj09PXR5cGVvZiBlW2ldJiYodGhpc1tpXT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZVt0XS5hcHBseShlLGFyZ3VtZW50cyl9fShpKSk7Zm9yKHZhciBvPTA7bzx2Lmxlbmd0aDtvKyspZS5vbih2W29dLHRoaXMuZW1pdC5iaW5kKHRoaXMsdltvXSkpO3JldHVybiB0aGlzLl9yZWFkPWZ1bmN0aW9uKHQpe3AoIndyYXBwZWQgX3JlYWQiLHQpLG4mJihuPSExLGUucmVzdW1lKCkpfSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYi5wcm90b3R5cGUsInJlYWRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxiLl9mcm9tTGlzdD1OfSkuY2FsbCh0aGlzLHIoMzQpLHIoNDYpKX0sZnVuY3Rpb24oZSx0LHIpe2UuZXhwb3J0cz1yKDEyMCkuRXZlbnRFbWl0dGVyfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTU3KTtmdW5jdGlvbiBpKGUsdCl7ZS5lbWl0KCJlcnJvciIsdCl9ZS5leHBvcnRzPXtkZXN0cm95OmZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcyxvPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkLGE9dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7cmV0dXJuIG98fGE/KHQ/dChlKTohZXx8dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fG4ubmV4dFRpY2soaSx0aGlzLGUpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveShlfHxudWxsLGZ1bmN0aW9uKGUpeyF0JiZlPyhuLm5leHRUaWNrKGkscixlKSxyLl93cml0YWJsZVN0YXRlJiYoci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITApKTp0JiZ0KGUpfSksdGhpcyl9LHVuZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITEpfX19LGZ1bmN0aW9uKGUsdCxyKXsoZnVuY3Rpb24oZSl7dmFyIG49InVuZGVmaW5lZCIhPT10eXBlb2YgZSYmZXx8InVuZGVmaW5lZCIhPT10eXBlb2Ygc2VsZiYmc2VsZnx8d2luZG93LGk9RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5O2Z1bmN0aW9uIG8oZSx0KXt0aGlzLl9pZD1lLHRoaXMuX2NsZWFyRm49dH10LnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG8oaS5jYWxsKHNldFRpbWVvdXQsbixhcmd1bWVudHMpLGNsZWFyVGltZW91dCl9LHQuc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG8oaS5jYWxsKHNldEludGVydmFsLG4sYXJndW1lbnRzKSxjbGVhckludGVydmFsKX0sdC5jbGVhclRpbWVvdXQ9dC5jbGVhckludGVydmFsPWZ1bmN0aW9uKGUpe2UmJmUuY2xvc2UoKX0sby5wcm90b3R5cGUudW5yZWY9by5wcm90b3R5cGUucmVmPWZ1bmN0aW9uKCl7fSxvLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMuX2NsZWFyRm4uY2FsbChuLHRoaXMuX2lkKX0sdC5lbnJvbGw9ZnVuY3Rpb24oZSx0KXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9dH0sdC51bmVucm9sbD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9LTF9LHQuX3VucmVmQWN0aXZlPXQuYWN0aXZlPWZ1bmN0aW9uKGUpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKTt2YXIgdD1lLl9pZGxlVGltZW91dDt0Pj0wJiYoZS5faWRsZVRpbWVvdXRJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5fb25UaW1lb3V0JiZlLl9vblRpbWVvdXQoKX0sdCkpfSxyKDU1MyksdC5zZXRJbW1lZGlhdGU9InVuZGVmaW5lZCIhPT10eXBlb2Ygc2VsZiYmc2VsZi5zZXRJbW1lZGlhdGV8fCJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJmUuc2V0SW1tZWRpYXRlfHx0aGlzJiZ0aGlzLnNldEltbWVkaWF0ZSx0LmNsZWFySW1tZWRpYXRlPSJ1bmRlZmluZWQiIT09dHlwZW9mIHNlbGYmJnNlbGYuY2xlYXJJbW1lZGlhdGV8fCJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJmUuY2xlYXJJbW1lZGlhdGV8fHRoaXMmJnRoaXMuY2xlYXJJbW1lZGlhdGV9KS5jYWxsKHRoaXMscigzNCkpfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1hO3ZhciBuPXIoODgpLGk9cigxMjgpO2Z1bmN0aW9uIG8oZSx0KXt2YXIgcj10aGlzLl90cmFuc2Zvcm1TdGF0ZTtyLnRyYW5zZm9ybWluZz0hMTt2YXIgbj1yLndyaXRlY2I7aWYoIW4pcmV0dXJuIHRoaXMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigid3JpdGUgY2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzIikpO3Iud3JpdGVjaHVuaz1udWxsLHIud3JpdGVjYj1udWxsLG51bGwhPXQmJnRoaXMucHVzaCh0KSxuKGUpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfWZ1bmN0aW9uIGEoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgYSkpcmV0dXJuIG5ldyBhKGUpO24uY2FsbCh0aGlzLGUpLHRoaXMuX3RyYW5zZm9ybVN0YXRlPXthZnRlclRyYW5zZm9ybTpvLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTohMSx0cmFuc2Zvcm1pbmc6ITEsd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9LHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSxlJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBlLnRyYW5zZm9ybSYmKHRoaXMuX3RyYW5zZm9ybT1lLnRyYW5zZm9ybSksImZ1bmN0aW9uIj09PXR5cGVvZiBlLmZsdXNoJiYodGhpcy5fZmx1c2g9ZS5mbHVzaCkpLHRoaXMub24oInByZWZpbmlzaCIscyl9ZnVuY3Rpb24gcygpe3ZhciBlPXRoaXM7ImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLl9mbHVzaD90aGlzLl9mbHVzaChmdW5jdGlvbih0LHIpe3UoZSx0LHIpfSk6dSh0aGlzLG51bGwsbnVsbCl9ZnVuY3Rpb24gdShlLHQscil7aWYodClyZXR1cm4gZS5lbWl0KCJlcnJvciIsdCk7aWYobnVsbCE9ciYmZS5wdXNoKHIpLGUuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHdzLmxlbmd0aCAhPSAwIik7aWYoZS5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKXRocm93IG5ldyBFcnJvcigiQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHN0aWxsIHRyYW5zZm9ybWluZyIpO3JldHVybiBlLnB1c2gobnVsbCl9aS5pbmhlcml0cz1yKDcpLGkuaW5oZXJpdHMoYSxuKSxhLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsbi5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsZSx0KX0sYS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihlLHQscil7dGhyb3cgbmV3IEVycm9yKCJfdHJhbnNmb3JtKCkgaXMgbm90IGltcGxlbWVudGVkIil9LGEucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fdHJhbnNmb3JtU3RhdGU7aWYobi53cml0ZWNiPXIsbi53cml0ZWNodW5rPWUsbi53cml0ZWVuY29kaW5nPXQsIW4udHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlOyhuLm5lZWRUcmFuc2Zvcm18fGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fSxhLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl90cmFuc2Zvcm1TdGF0ZTtudWxsIT09dC53cml0ZWNodW5rJiZ0LndyaXRlY2ImJiF0LnRyYW5zZm9ybWluZz8odC50cmFuc2Zvcm1pbmc9ITAsdGhpcy5fdHJhbnNmb3JtKHQud3JpdGVjaHVuayx0LndyaXRlZW5jb2RpbmcsdC5hZnRlclRyYW5zZm9ybSkpOnQubmVlZFRyYW5zZm9ybT0hMH0sYS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzO24ucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcyxlLGZ1bmN0aW9uKGUpe3QoZSksci5lbWl0KCJjbG9zZSIpfSl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig3KSxpPXIoMTA1KSxvPXIoOCkuQnVmZmVyLGE9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0scz1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsaS5jYWxsKHRoaXMsNjQsNTYpfWZ1bmN0aW9uIGMoZSx0LHIpe3JldHVybiByXmUmKHRecil9ZnVuY3Rpb24gZihlLHQscil7cmV0dXJuIGUmdHxyJihlfHQpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKX1mdW5jdGlvbiBoKGUpe3JldHVybihlPj4+NnxlPDwyNileKGU+Pj4xMXxlPDwyMSleKGU+Pj4yNXxlPDw3KX1mdW5jdGlvbiBwKGUpe3JldHVybihlPj4+N3xlPDwyNSleKGU+Pj4xOHxlPDwxNCleZT4+PjN9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzc5MDMzNzAzLHRoaXMuX2I9MzE0NDEzNDI3Nyx0aGlzLl9jPTEwMTM5MDQyNDIsdGhpcy5fZD0yNzczNDgwNzYyLHRoaXMuX2U9MTM1OTg5MzExOSx0aGlzLl9mPTI2MDA4MjI5MjQsdGhpcy5fZz01Mjg3MzQ2MzUsdGhpcy5faD0xNTQxNDU5MjI1LHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LHI9dGhpcy5fdyxuPTB8dGhpcy5fYSxpPTB8dGhpcy5fYixvPTB8dGhpcy5fYyxzPTB8dGhpcy5fZCx1PTB8dGhpcy5fZSxkPTB8dGhpcy5fZix5PTB8dGhpcy5fZyxnPTB8dGhpcy5faCx2PTA7djwxNjsrK3Ypclt2XT1lLnJlYWRJbnQzMkJFKDQqdik7Zm9yKDt2PDY0OysrdilyW3ZdPTB8KCgodD1yW3YtMl0pPj4+MTd8dDw8MTUpXih0Pj4+MTl8dDw8MTMpXnQ+Pj4xMCkrclt2LTddK3Aoclt2LTE1XSkrclt2LTE2XTtmb3IodmFyIG09MDttPDY0OysrbSl7dmFyIGI9ZytoKHUpK2ModSxkLHkpK2FbbV0rclttXXwwLF89bChuKStmKG4saSxvKXwwO2c9eSx5PWQsZD11LHU9cytifDAscz1vLG89aSxpPW4sbj1iK198MH10aGlzLl9hPW4rdGhpcy5fYXwwLHRoaXMuX2I9aSt0aGlzLl9ifDAsdGhpcy5fYz1vK3RoaXMuX2N8MCx0aGlzLl9kPXMrdGhpcy5fZHwwLHRoaXMuX2U9dSt0aGlzLl9lfDAsdGhpcy5fZj1kK3RoaXMuX2Z8MCx0aGlzLl9nPXkrdGhpcy5fZ3wwLHRoaXMuX2g9Zyt0aGlzLl9ofDB9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIGU9by5hbGxvY1Vuc2FmZSgzMik7cmV0dXJuIGUud3JpdGVJbnQzMkJFKHRoaXMuX2EsMCksZS53cml0ZUludDMyQkUodGhpcy5fYiw0KSxlLndyaXRlSW50MzJCRSh0aGlzLl9jLDgpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2QsMTIpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2UsMTYpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2YsMjApLGUud3JpdGVJbnQzMkJFKHRoaXMuX2csMjQpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2gsMjgpLGV9LGUuZXhwb3J0cz11fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig3KSxpPXIoMTA1KSxvPXIoOCkuQnVmZmVyLGE9WzExMTYzNTI0MDgsMzYwOTc2NzQ1OCwxODk5NDQ3NDQxLDYwMjg5MTcyNSwzMDQ5MzIzNDcxLDM5NjQ0ODQzOTksMzkyMTAwOTU3MywyMTczMjk1NTQ4LDk2MTk4NzE2Myw0MDgxNjI4NDcyLDE1MDg5NzA5OTMsMzA1MzgzNDI2NSwyNDUzNjM1NzQ4LDI5Mzc2NzE1NzksMjg3MDc2MzIyMSwzNjY0NjA5NTYwLDM2MjQzODEwODAsMjczNDg4MzM5NCwzMTA1OTg0MDEsMTE2NDk5NjU0Miw2MDcyMjUyNzgsMTMyMzYxMDc2NCwxNDI2ODgxOTg3LDM1OTAzMDQ5OTQsMTkyNTA3ODM4OCw0MDY4MTgyMzgzLDIxNjIwNzgyMDYsOTkxMzM2MTEzLDI2MTQ4ODgxMDMsNjMzODAzMzE3LDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCwzODM1MzkwNDAxLDI2NjY2MTM0NTgsNDAyMjIyNDc3NCw5NDQ3MTExMzksMjY0MzQ3MDc4LDIzNDEyNjI3NzMsNjA0ODA3NjI4LDIwMDc4MDA5MzMsNzcwMjU1OTgzLDE0OTU5OTA5MDEsMTI0OTE1MDEyMiwxODU2NDMxMjM1LDE1NTUwODE2OTIsMzE3NTIxODEzMiwxOTk2MDY0OTg2LDIxOTg5NTA4MzcsMjU1NDIyMDg4MiwzOTk5NzE5MzM5LDI4MjE4MzQzNDksNzY2Nzg0MDE2LDI5NTI5OTY4MDgsMjU2NjU5NDg3OSwzMjEwMzEzNjcxLDMyMDMzMzc5NTYsMzMzNjU3MTg5MSwxMDM0NDU3MDI2LDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSwxMTM5MjY5OTMsMzc1ODMyNjM4MywzMzgyNDE4OTUsMTY4NzE3OTM2LDY2NjMwNzIwNSwxMTg4MTc5OTY0LDc3MzUyOTkxMiwxNTQ2MDQ1NzM0LDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSwxMzk2MTgyMjkxLDI2NDM4MzM4MjMsMTY5NTE4MzcwMCwyMzQzNTI3MzkwLDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCwyMTc3MDI2MzUwLDEyMDY3NTkxNDIsMjQ1Njk1NjAzNywzNDQwNzc2MjcsMjczMDQ4NTkyMSwxMjkwODYzNDYwLDI4MjAzMDI0MTEsMzE1ODQ1NDI3MywzMjU5NzMwODAwLDM1MDU5NTI2NTcsMzM0NTc2NDc3MSwxMDYyMTcwMDgsMzUxNjA2NTgxNywzNjA2MDA4MzQ0LDM2MDAzNTI4MDQsMTQzMjcyNTc3Niw0MDk0NTcxOTA5LDE0NjcwMzE1OTQsMjc1NDIzMzQ0LDg1MTE2OTcyMCw0MzAyMjc3MzQsMzEwMDgyMzc1Miw1MDY5NDg2MTYsMTM2MzI1ODE5NSw2NTkwNjA1NTYsMzc1MDY4NTU5Myw4ODM5OTc4NzcsMzc4NTA1MDI4MCw5NTgxMzk1NzEsMzMxODMwNzQyNywxMzIyODIyMjE4LDM4MTI3MjM0MDMsMTUzNzAwMjA2MywyMDAzMDM0OTk1LDE3NDc4NzM3NzksMzYwMjAzNjg5OSwxOTU1NTYyMjIyLDE1NzU5OTAwMTIsMjAyNDEwNDgxNSwxMTI1NTkyOTI4LDIyMjc3MzA0NTIsMjcxNjkwNDMwNiwyMzYxODUyNDI0LDQ0Mjc3NjA0NCwyNDI4NDM2NDc0LDU5MzY5ODM0NCwyNzU2NzM0MTg3LDM3MzMxMTAyNDksMzIwNDAzMTQ3OSwyOTk5MzUxNTczLDMzMjkzMjUyOTgsMzgxNTkyMDQyNywzMzkxNTY5NjE0LDM5MjgzODM5MDAsMzUxNTI2NzI3MSw1NjYyODA3MTEsMzk0MDE4NzYwNiwzNDU0MDY5NTM0LDQxMTg2MzAyNzEsNDAwMDIzOTk5MiwxMTY0MTg0NzQsMTkxNDEzODU1NCwxNzQyOTI0MjEsMjczMTA1NTI3MCwyODkzODAzNTYsMzIwMzk5MzAwNiw0NjAzOTMyNjksMzIwNjIwMzE1LDY4NTQ3MTczMyw1ODc0OTY4MzYsODUyMTQyOTcxLDEwODY3OTI4NTEsMTAxNzAzNjI5OCwzNjU1NDMxMDAsMTEyNjAwMDU4MCwyNjE4Mjk3Njc2LDEyODgwMzM0NzAsMzQwOTg1NTE1OCwxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYsMTYwNzE2NzkxNSw5ODcxNjc0NjgsMTgxNjQwMjMxNiwxMjQ2MTg5NTkxXSxzPW5ldyBBcnJheSgxNjApO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsaS5jYWxsKHRoaXMsMTI4LDExMil9ZnVuY3Rpb24gYyhlLHQscil7cmV0dXJuIHJeZSYodF5yKX1mdW5jdGlvbiBmKGUsdCxyKXtyZXR1cm4gZSZ0fHImKGV8dCl9ZnVuY3Rpb24gbChlLHQpe3JldHVybihlPj4+Mjh8dDw8NCleKHQ+Pj4yfGU8PDMwKV4odD4+Pjd8ZTw8MjUpfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4oZT4+PjE0fHQ8PDE4KV4oZT4+PjE4fHQ8PDE0KV4odD4+Pjl8ZTw8MjMpfWZ1bmN0aW9uIHAoZSx0KXtyZXR1cm4oZT4+PjF8dDw8MzEpXihlPj4+OHx0PDwyNCleZT4+Pjd9ZnVuY3Rpb24gZChlLHQpe3JldHVybihlPj4+MXx0PDwzMSleKGU+Pj44fHQ8PDI0KV4oZT4+Pjd8dDw8MjUpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4oZT4+PjE5fHQ8PDEzKV4odD4+PjI5fGU8PDMpXmU+Pj42fWZ1bmN0aW9uIGcoZSx0KXtyZXR1cm4oZT4+PjE5fHQ8PDEzKV4odD4+PjI5fGU8PDMpXihlPj4+Nnx0PDwyNil9ZnVuY3Rpb24gdihlLHQpe3JldHVybiBlPj4+MDx0Pj4+MD8xOjB9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYWg9MTc3OTAzMzcwMyx0aGlzLl9iaD0zMTQ0MTM0Mjc3LHRoaXMuX2NoPTEwMTM5MDQyNDIsdGhpcy5fZGg9Mjc3MzQ4MDc2Mix0aGlzLl9laD0xMzU5ODkzMTE5LHRoaXMuX2ZoPTI2MDA4MjI5MjQsdGhpcy5fZ2g9NTI4NzM0NjM1LHRoaXMuX2hoPTE1NDE0NTkyMjUsdGhpcy5fYWw9NDA4OTIzNTcyMCx0aGlzLl9ibD0yMjI3ODczNTk1LHRoaXMuX2NsPTQyNzExNzU3MjMsdGhpcy5fZGw9MTU5NTc1MDEyOSx0aGlzLl9lbD0yOTE3NTY1MTM3LHRoaXMuX2ZsPTcyNTUxMTE5OSx0aGlzLl9nbD00MjE1Mzg5NTQ3LHRoaXMuX2hsPTMyNzAzMzIwOSx0aGlzfSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD10aGlzLl93LHI9MHx0aGlzLl9haCxuPTB8dGhpcy5fYmgsaT0wfHRoaXMuX2NoLG89MHx0aGlzLl9kaCxzPTB8dGhpcy5fZWgsdT0wfHRoaXMuX2ZoLG09MHx0aGlzLl9naCxiPTB8dGhpcy5faGgsXz0wfHRoaXMuX2FsLFM9MHx0aGlzLl9ibCxFPTB8dGhpcy5fY2wsdz0wfHRoaXMuX2RsLFQ9MHx0aGlzLl9lbCxBPTB8dGhpcy5fZmwsQz0wfHRoaXMuX2dsLHg9MHx0aGlzLl9obCxJPTA7STwzMjtJKz0yKXRbSV09ZS5yZWFkSW50MzJCRSg0KkkpLHRbSSsxXT1lLnJlYWRJbnQzMkJFKDQqSSs0KTtmb3IoO0k8MTYwO0krPTIpe3ZhciBrPXRbSS0zMF0sTz10W0ktMzArMV0sTj1wKGssTyksUD1kKE8sayksUj15KGs9dFtJLTRdLE89dFtJLTQrMV0pLEI9ZyhPLGspLE09dFtJLTE0XSxMPXRbSS0xNCsxXSxEPXRbSS0zMl0saj10W0ktMzIrMV0sVT1QK0x8MCxGPU4rTSt2KFUsUCl8MDtGPShGPUYrUit2KFU9VStCfDAsQil8MCkrRCt2KFU9VStqfDAsail8MCx0W0ldPUYsdFtJKzFdPVV9Zm9yKHZhciBWPTA7VjwxNjA7Vis9Mil7Rj10W1ZdLFU9dFtWKzFdO3ZhciBxPWYocixuLGkpLEs9ZihfLFMsRSksej1sKHIsXyksRz1sKF8sciksSD1oKHMsVCksVz1oKFQscyksWT1hW1ZdLFg9YVtWKzFdLFE9YyhzLHUsbSksJD1jKFQsQSxDKSxaPXgrV3wwLEo9YitIK3YoWix4KXwwO0o9KEo9KEo9SitRK3YoWj1aKyR8MCwkKXwwKStZK3YoWj1aK1h8MCxYKXwwKStGK3YoWj1aK1V8MCxVKXwwO3ZhciBlZT1HK0t8MCx0ZT16K3ErdihlZSxHKXwwO2I9bSx4PUMsbT11LEM9QSx1PXMsQT1ULHM9bytKK3YoVD13K1p8MCx3KXwwLG89aSx3PUUsaT1uLEU9UyxuPXIsUz1fLHI9Sit0ZSt2KF89WitlZXwwLFopfDB9dGhpcy5fYWw9dGhpcy5fYWwrX3wwLHRoaXMuX2JsPXRoaXMuX2JsK1N8MCx0aGlzLl9jbD10aGlzLl9jbCtFfDAsdGhpcy5fZGw9dGhpcy5fZGwrd3wwLHRoaXMuX2VsPXRoaXMuX2VsK1R8MCx0aGlzLl9mbD10aGlzLl9mbCtBfDAsdGhpcy5fZ2w9dGhpcy5fZ2wrQ3wwLHRoaXMuX2hsPXRoaXMuX2hsK3h8MCx0aGlzLl9haD10aGlzLl9haCtyK3YodGhpcy5fYWwsXyl8MCx0aGlzLl9iaD10aGlzLl9iaCtuK3YodGhpcy5fYmwsUyl8MCx0aGlzLl9jaD10aGlzLl9jaCtpK3YodGhpcy5fY2wsRSl8MCx0aGlzLl9kaD10aGlzLl9kaCtvK3YodGhpcy5fZGwsdyl8MCx0aGlzLl9laD10aGlzLl9laCtzK3YodGhpcy5fZWwsVCl8MCx0aGlzLl9maD10aGlzLl9maCt1K3YodGhpcy5fZmwsQSl8MCx0aGlzLl9naD10aGlzLl9naCttK3YodGhpcy5fZ2wsQyl8MCx0aGlzLl9oaD10aGlzLl9oaCtiK3YodGhpcy5faGwseCl8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgZT1vLmFsbG9jVW5zYWZlKDY0KTtmdW5jdGlvbiB0KHQscixuKXtlLndyaXRlSW50MzJCRSh0LG4pLGUud3JpdGVJbnQzMkJFKHIsbis0KX1yZXR1cm4gdCh0aGlzLl9haCx0aGlzLl9hbCwwKSx0KHRoaXMuX2JoLHRoaXMuX2JsLDgpLHQodGhpcy5fY2gsdGhpcy5fY2wsMTYpLHQodGhpcy5fZGgsdGhpcy5fZGwsMjQpLHQodGhpcy5fZWgsdGhpcy5fZWwsMzIpLHQodGhpcy5fZmgsdGhpcy5fZmwsNDApLHQodGhpcy5fZ2gsdGhpcy5fZ2wsNDgpLHQodGhpcy5faGgsdGhpcy5faGwsNTYpLGV9LGUuZXhwb3J0cz11fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoNyksaT1yKDU2NCksbz1yKDc4KSxhPXIoOCkuQnVmZmVyLHM9cigzMTcpLHU9cigyMTApLGM9cigyMTEpLGY9YS5hbGxvYygxMjgpO2Z1bmN0aW9uIGwoZSx0KXtvLmNhbGwodGhpcywiZGlnZXN0IiksInN0cmluZyI9PT10eXBlb2YgdCYmKHQ9YS5mcm9tKHQpKTt2YXIgcj0ic2hhNTEyIj09PWV8fCJzaGEzODQiPT09ZT8xMjg6NjQ7KHRoaXMuX2FsZz1lLHRoaXMuX2tleT10LHQubGVuZ3RoPnIpP3Q9KCJybWQxNjAiPT09ZT9uZXcgdTpjKGUpKS51cGRhdGUodCkuZGlnZXN0KCk6dC5sZW5ndGg8ciYmKHQ9YS5jb25jYXQoW3QsZl0scikpO2Zvcih2YXIgbj10aGlzLl9pcGFkPWEuYWxsb2NVbnNhZmUociksaT10aGlzLl9vcGFkPWEuYWxsb2NVbnNhZmUocikscz0wO3M8cjtzKyspbltzXT01NF50W3NdLGlbc109OTJedFtzXTt0aGlzLl9oYXNoPSJybWQxNjAiPT09ZT9uZXcgdTpjKGUpLHRoaXMuX2hhc2gudXBkYXRlKG4pfW4obCxvKSxsLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2hhc2gudXBkYXRlKGUpfSxsLnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9oYXNoLmRpZ2VzdCgpO3JldHVybigicm1kMTYwIj09PXRoaXMuX2FsZz9uZXcgdTpjKHRoaXMuX2FsZykpLnVwZGF0ZSh0aGlzLl9vcGFkKS51cGRhdGUoZSkuZGlnZXN0KCl9LGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiJybWQxNjAiPT09KGU9ZS50b0xvd2VyQ2FzZSgpKXx8InJpcGVtZDE2MCI9PT1lP25ldyBsKCJybWQxNjAiLHQpOiJtZDUiPT09ZT9uZXcgaShzLHQpOm5ldyBsKGUsdCl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cigyMDUpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4obmV3IG4pLnVwZGF0ZShlKS5kaWdlc3QoKX19LGZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17c2hhMjI0V2l0aFJTQUVuY3J5cHRpb246e3NpZ246InJzYSIsaGFzaDoic2hhMjI0IixpZDoiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWMifSwiUlNBLVNIQTIyNCI6e3NpZ246ImVjZHNhL3JzYSIsaGFzaDoic2hhMjI0IixpZDoiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWMifSxzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbjp7c2lnbjoicnNhIixoYXNoOiJzaGEyNTYiLGlkOiIzMDMxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMDQyMCJ9LCJSU0EtU0hBMjU2Ijp7c2lnbjoiZWNkc2EvcnNhIixoYXNoOiJzaGEyNTYiLGlkOiIzMDMxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMDQyMCJ9LHNoYTM4NFdpdGhSU0FFbmNyeXB0aW9uOntzaWduOiJyc2EiLGhhc2g6InNoYTM4NCIsaWQ6IjMwNDEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMjA1MDAwNDMwIn0sIlJTQS1TSEEzODQiOntzaWduOiJlY2RzYS9yc2EiLGhhc2g6InNoYTM4NCIsaWQ6IjMwNDEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMjA1MDAwNDMwIn0sc2hhNTEyV2l0aFJTQUVuY3J5cHRpb246e3NpZ246InJzYSIsaGFzaDoic2hhNTEyIixpZDoiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDAifSwiUlNBLVNIQTUxMiI6e3NpZ246ImVjZHNhL3JzYSIsaGFzaDoic2hhNTEyIixpZDoiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDAifSwiUlNBLVNIQTEiOntzaWduOiJyc2EiLGhhc2g6InNoYTEiLGlkOiIzMDIxMzAwOTA2MDUyYjBlMDMwMjFhMDUwMDA0MTQifSwiZWNkc2Etd2l0aC1TSEExIjp7c2lnbjoiZWM=",
    "2020.03.29 15:16": "base64:YXRlck1hcmspLHRoaXMuYnVmZmVyPW5ldyB5LHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLGUuZW5jb2RpbmcmJihkfHwoZD1yKDIwOSkuU3RyaW5nRGVjb2RlciksdGhpcy5kZWNvZGVyPW5ldyBkKGUuZW5jb2RpbmcpLHRoaXMuZW5jb2Rpbmc9ZS5lbmNvZGluZyl9ZnVuY3Rpb24gYihlKXtpZihvPW98fHIoODgpLCEodGhpcyBpbnN0YW5jZW9mIGIpKXJldHVybiBuZXcgYihlKTt0aGlzLl9yZWFkYWJsZVN0YXRlPW5ldyBtKGUsdGhpcyksdGhpcy5yZWFkYWJsZT0hMCxlJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBlLnJlYWQmJih0aGlzLl9yZWFkPWUucmVhZCksImZ1bmN0aW9uIj09PXR5cGVvZiBlLmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PWUuZGVzdHJveSkpLHUuY2FsbCh0aGlzKX1mdW5jdGlvbiBfKGUsdCxyLG4saSl7dmFyIG8sYT1lLl9yZWFkYWJsZVN0YXRlO251bGw9PT10PyhhLnJlYWRpbmc9ITEsZnVuY3Rpb24oZSx0KXtpZih0LmVuZGVkKXJldHVybjtpZih0LmRlY29kZXIpe3ZhciByPXQuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKHQuYnVmZmVyLnB1c2gociksdC5sZW5ndGgrPXQub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX10LmVuZGVkPSEwLFQoZSl9KGUsYSkpOihpfHwobz1mdW5jdGlvbihlLHQpe3ZhciByO249dCxjLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgZnx8InN0cmluZyI9PT10eXBlb2YgdHx8dm9pZCAwPT09dHx8ZS5vYmplY3RNb2RlfHwocj1uZXcgVHlwZUVycm9yKCJJbnZhbGlkIG5vbi1zdHJpbmcvYnVmZmVyIGNodW5rIikpO3ZhciBuO3JldHVybiByfShhLHQpKSxvP2UuZW1pdCgiZXJyb3IiLG8pOmEub2JqZWN0TW9kZXx8dCYmdC5sZW5ndGg+MD8oInN0cmluZyI9PT10eXBlb2YgdHx8YS5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCk9PT1jLnByb3RvdHlwZXx8KHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGMuZnJvbShlKX0odCkpLG4/YS5lbmRFbWl0dGVkP2UuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnQiKSk6UyhlLGEsdCwhMCk6YS5lbmRlZD9lLmVtaXQoImVycm9yIixuZXcgRXJyb3IoInN0cmVhbS5wdXNoKCkgYWZ0ZXIgRU9GIikpOihhLnJlYWRpbmc9ITEsYS5kZWNvZGVyJiYhcj8odD1hLmRlY29kZXIud3JpdGUodCksYS5vYmplY3RNb2RlfHwwIT09dC5sZW5ndGg/UyhlLGEsdCwhMSk6QyhlLGEpKTpTKGUsYSx0LCExKSkpOm58fChhLnJlYWRpbmc9ITEpKTtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIWUuZW5kZWQmJihlLm5lZWRSZWFkYWJsZXx8ZS5sZW5ndGg8ZS5oaWdoV2F0ZXJNYXJrfHwwPT09ZS5sZW5ndGgpfShhKX1mdW5jdGlvbiBTKGUsdCxyLG4pe3QuZmxvd2luZyYmMD09PXQubGVuZ3RoJiYhdC5zeW5jPyhlLmVtaXQoImRhdGEiLHIpLGUucmVhZCgwKSk6KHQubGVuZ3RoKz10Lm9iamVjdE1vZGU/MTpyLmxlbmd0aCxuP3QuYnVmZmVyLnVuc2hpZnQocik6dC5idWZmZXIucHVzaChyKSx0Lm5lZWRSZWFkYWJsZSYmVChlKSksQyhlLHQpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShiLnByb3RvdHlwZSwiZGVzdHJveWVkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24oZSl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPWUpfX0pLGIucHJvdG90eXBlLmRlc3Ryb3k9Zy5kZXN0cm95LGIucHJvdG90eXBlLl91bmRlc3Ryb3k9Zy51bmRlc3Ryb3ksYi5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt0aGlzLnB1c2gobnVsbCksdChlKX0sYi5wcm90b3R5cGUucHVzaD1mdW5jdGlvbihlLHQpe3ZhciByLG49dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gbi5vYmplY3RNb2RlP3I9ITA6InN0cmluZyI9PT10eXBlb2YgZSYmKCh0PXR8fG4uZGVmYXVsdEVuY29kaW5nKSE9PW4uZW5jb2RpbmcmJihlPWMuZnJvbShlLHQpLHQ9IiIpLHI9ITApLF8odGhpcyxlLHQsITEscil9LGIucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIF8odGhpcyxlLG51bGwsITAsITEpfSxiLnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxiLnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtyZXR1cm4gZHx8KGQ9cigyMDkpLlN0cmluZ0RlY29kZXIpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj1uZXcgZChlKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nPWUsdGhpc307dmFyIEU9ODM4ODYwODtmdW5jdGlvbiB3KGUsdCl7cmV0dXJuIGU8PTB8fDA9PT10Lmxlbmd0aCYmdC5lbmRlZD8wOnQub2JqZWN0TW9kZT8xOmUhPT1lP3QuZmxvd2luZyYmdC5sZW5ndGg/dC5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDp0Lmxlbmd0aDooZT50LmhpZ2hXYXRlck1hcmsmJih0LmhpZ2hXYXRlck1hcms9ZnVuY3Rpb24oZSl7cmV0dXJuIGU+PUU/ZT1FOihlLS0sZXw9ZT4+PjEsZXw9ZT4+PjIsZXw9ZT4+PjQsZXw9ZT4+PjgsZXw9ZT4+PjE2LGUrKyksZX0oZSkpLGU8PXQubGVuZ3RoP2U6dC5lbmRlZD90Lmxlbmd0aDoodC5uZWVkUmVhZGFibGU9ITAsMCkpfWZ1bmN0aW9uIFQoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTt0Lm5lZWRSZWFkYWJsZT0hMSx0LmVtaXR0ZWRSZWFkYWJsZXx8KHAoImVtaXRSZWFkYWJsZSIsdC5mbG93aW5nKSx0LmVtaXR0ZWRSZWFkYWJsZT0hMCx0LnN5bmM/aS5uZXh0VGljayhBLGUpOkEoZSkpfWZ1bmN0aW9uIEEoZSl7cCgiZW1pdCByZWFkYWJsZSIpLGUuZW1pdCgicmVhZGFibGUiKSxPKGUpfWZ1bmN0aW9uIEMoZSx0KXt0LnJlYWRpbmdNb3JlfHwodC5yZWFkaW5nTW9yZT0hMCxpLm5leHRUaWNrKHgsZSx0KSl9ZnVuY3Rpb24geChlLHQpe2Zvcih2YXIgcj10Lmxlbmd0aDshdC5yZWFkaW5nJiYhdC5mbG93aW5nJiYhdC5lbmRlZCYmdC5sZW5ndGg8dC5oaWdoV2F0ZXJNYXJrJiYocCgibWF5YmVSZWFkTW9yZSByZWFkIDAiKSxlLnJlYWQoMCksciE9PXQubGVuZ3RoKTspcj10Lmxlbmd0aDt0LnJlYWRpbmdNb3JlPSExfWZ1bmN0aW9uIEkoZSl7cCgicmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwIiksZS5yZWFkKDApfWZ1bmN0aW9uIGsoZSx0KXt0LnJlYWRpbmd8fChwKCJyZXN1bWUgcmVhZCAwIiksZS5yZWFkKDApKSx0LnJlc3VtZVNjaGVkdWxlZD0hMSx0LmF3YWl0RHJhaW49MCxlLmVtaXQoInJlc3VtZSIpLE8oZSksdC5mbG93aW5nJiYhdC5yZWFkaW5nJiZlLnJlYWQoMCl9ZnVuY3Rpb24gTyhlKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO2ZvcihwKCJmbG93Iix0LmZsb3dpbmcpO3QuZmxvd2luZyYmbnVsbCE9PWUucmVhZCgpOyk7fWZ1bmN0aW9uIE4oZSx0KXtyZXR1cm4gMD09PXQubGVuZ3RoP251bGw6KHQub2JqZWN0TW9kZT9yPXQuYnVmZmVyLnNoaWZ0KCk6IWV8fGU+PXQubGVuZ3RoPyhyPXQuZGVjb2Rlcj90LmJ1ZmZlci5qb2luKCIiKToxPT09dC5idWZmZXIubGVuZ3RoP3QuYnVmZmVyLmhlYWQuZGF0YTp0LmJ1ZmZlci5jb25jYXQodC5sZW5ndGgpLHQuYnVmZmVyLmNsZWFyKCkpOnI9ZnVuY3Rpb24oZSx0LHIpe3ZhciBuO2U8dC5oZWFkLmRhdGEubGVuZ3RoPyhuPXQuaGVhZC5kYXRhLnNsaWNlKDAsZSksdC5oZWFkLmRhdGE9dC5oZWFkLmRhdGEuc2xpY2UoZSkpOm49ZT09PXQuaGVhZC5kYXRhLmxlbmd0aD90LnNoaWZ0KCk6cj9mdW5jdGlvbihlLHQpe3ZhciByPXQuaGVhZCxuPTEsaT1yLmRhdGE7ZS09aS5sZW5ndGg7Zm9yKDtyPXIubmV4dDspe3ZhciBvPXIuZGF0YSxhPWU+by5sZW5ndGg/by5sZW5ndGg6ZTtpZihhPT09by5sZW5ndGg/aSs9bzppKz1vLnNsaWNlKDAsZSksMD09PShlLT1hKSl7YT09PW8ubGVuZ3RoPygrK24sci5uZXh0P3QuaGVhZD1yLm5leHQ6dC5oZWFkPXQudGFpbD1udWxsKToodC5oZWFkPXIsci5kYXRhPW8uc2xpY2UoYSkpO2JyZWFrfSsrbn1yZXR1cm4gdC5sZW5ndGgtPW4saX0oZSx0KTpmdW5jdGlvbihlLHQpe3ZhciByPWMuYWxsb2NVbnNhZmUoZSksbj10LmhlYWQsaT0xO24uZGF0YS5jb3B5KHIpLGUtPW4uZGF0YS5sZW5ndGg7Zm9yKDtuPW4ubmV4dDspe3ZhciBvPW4uZGF0YSxhPWU+by5sZW5ndGg/by5sZW5ndGg6ZTtpZihvLmNvcHkocixyLmxlbmd0aC1lLDAsYSksMD09PShlLT1hKSl7YT09PW8ubGVuZ3RoPygrK2ksbi5uZXh0P3QuaGVhZD1uLm5leHQ6dC5oZWFkPXQudGFpbD1udWxsKToodC5oZWFkPW4sbi5kYXRhPW8uc2xpY2UoYSkpO2JyZWFrfSsraX1yZXR1cm4gdC5sZW5ndGgtPWkscn0oZSx0KTtyZXR1cm4gbn0oZSx0LmJ1ZmZlcix0LmRlY29kZXIpLHIpO3ZhciByfWZ1bmN0aW9uIFAoZSl7dmFyIHQ9ZS5fcmVhZGFibGVTdGF0ZTtpZih0Lmxlbmd0aD4wKXRocm93IG5ldyBFcnJvcignImVuZFJlYWRhYmxlKCkiIGNhbGxlZCBvbiBub24tZW1wdHkgc3RyZWFtJyk7dC5lbmRFbWl0dGVkfHwodC5lbmRlZD0hMCxpLm5leHRUaWNrKFIsdCxlKSl9ZnVuY3Rpb24gUihlLHQpe2UuZW5kRW1pdHRlZHx8MCE9PWUubGVuZ3RofHwoZS5lbmRFbWl0dGVkPSEwLHQucmVhZGFibGU9ITEsdC5lbWl0KCJlbmQiKSl9ZnVuY3Rpb24gQihlLHQpe2Zvcih2YXIgcj0wLG49ZS5sZW5ndGg7cjxuO3IrKylpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX1iLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGUpe3AoInJlYWQiLGUpLGU9cGFyc2VJbnQoZSwxMCk7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPWU7aWYoMCE9PWUmJih0LmVtaXR0ZWRSZWFkYWJsZT0hMSksMD09PWUmJnQubmVlZFJlYWRhYmxlJiYodC5sZW5ndGg+PXQuaGlnaFdhdGVyTWFya3x8dC5lbmRlZCkpcmV0dXJuIHAoInJlYWQ6IGVtaXRSZWFkYWJsZSIsdC5sZW5ndGgsdC5lbmRlZCksMD09PXQubGVuZ3RoJiZ0LmVuZGVkP1AodGhpcyk6VCh0aGlzKSxudWxsO2lmKDA9PT0oZT13KGUsdCkpJiZ0LmVuZGVkKXJldHVybiAwPT09dC5sZW5ndGgmJlAodGhpcyksbnVsbDt2YXIgbixpPXQubmVlZFJlYWRhYmxlO3JldHVybiBwKCJuZWVkIHJlYWRhYmxlIixpKSwoMD09PXQubGVuZ3RofHx0Lmxlbmd0aC1lPHQuaGlnaFdhdGVyTWFyaykmJnAoImxlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrIixpPSEwKSx0LmVuZGVkfHx0LnJlYWRpbmc/cCgicmVhZGluZyBvciBlbmRlZCIsaT0hMSk6aSYmKHAoImRvIHJlYWQiKSx0LnJlYWRpbmc9ITAsdC5zeW5jPSEwLDA9PT10Lmxlbmd0aCYmKHQubmVlZFJlYWRhYmxlPSEwKSx0aGlzLl9yZWFkKHQuaGlnaFdhdGVyTWFyayksdC5zeW5jPSExLHQucmVhZGluZ3x8KGU9dyhyLHQpKSksbnVsbD09PShuPWU+MD9OKGUsdCk6bnVsbCk/KHQubmVlZFJlYWRhYmxlPSEwLGU9MCk6dC5sZW5ndGgtPWUsMD09PXQubGVuZ3RoJiYodC5lbmRlZHx8KHQubmVlZFJlYWRhYmxlPSEwKSxyIT09ZSYmdC5lbmRlZCYmUCh0aGlzKSksbnVsbCE9PW4mJnRoaXMuZW1pdCgiZGF0YSIsbiksbn0sYi5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJfcmVhZCgpIGlzIG5vdCBpbXBsZW1lbnRlZCIpKX0sYi5wcm90b3R5cGUucGlwZT1mdW5jdGlvbihlLHQpe3ZhciByPXRoaXMsbz10aGlzLl9yZWFkYWJsZVN0YXRlO3N3aXRjaChvLnBpcGVzQ291bnQpe2Nhc2UgMDpvLnBpcGVzPWU7YnJlYWs7Y2FzZSAxOm8ucGlwZXM9W28ucGlwZXMsZV07YnJlYWs7ZGVmYXVsdDpvLnBpcGVzLnB1c2goZSl9by5waXBlc0NvdW50Kz0xLHAoInBpcGUgY291bnQ9JWQgb3B0cz0laiIsby5waXBlc0NvdW50LHQpO3ZhciB1PSghdHx8ITEhPT10LmVuZCkmJmUhPT1uLnN0ZG91dCYmZSE9PW4uc3RkZXJyP2Y6YjtmdW5jdGlvbiBjKHQsbil7cCgib251bnBpcGUiKSx0PT09ciYmbiYmITE9PT1uLmhhc1VucGlwZWQmJihuLmhhc1VucGlwZWQ9ITAscCgiY2xlYW51cCIpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIix2KSxlLnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLG0pLGUucmVtb3ZlTGlzdGVuZXIoImRyYWluIixsKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZyksZS5yZW1vdmVMaXN0ZW5lcigidW5waXBlIixjKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGYpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsYiksci5yZW1vdmVMaXN0ZW5lcigiZGF0YSIseSksaD0hMCwhby5hd2FpdERyYWlufHxlLl93cml0YWJsZVN0YXRlJiYhZS5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW58fGwoKSl9ZnVuY3Rpb24gZigpe3AoIm9uZW5kIiksZS5lbmQoKX1vLmVuZEVtaXR0ZWQ/aS5uZXh0VGljayh1KTpyLm9uY2UoImVuZCIsdSksZS5vbigidW5waXBlIixjKTt2YXIgbD1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1lLl9yZWFkYWJsZVN0YXRlO3AoInBpcGVPbkRyYWluIix0LmF3YWl0RHJhaW4pLHQuYXdhaXREcmFpbiYmdC5hd2FpdERyYWluLS0sMD09PXQuYXdhaXREcmFpbiYmcyhlLCJkYXRhIikmJih0LmZsb3dpbmc9ITAsTyhlKSl9fShyKTtlLm9uKCJkcmFpbiIsbCk7dmFyIGg9ITE7dmFyIGQ9ITE7ZnVuY3Rpb24geSh0KXtwKCJvbmRhdGEiKSxkPSExLCExIT09ZS53cml0ZSh0KXx8ZHx8KCgxPT09by5waXBlc0NvdW50JiZvLnBpcGVzPT09ZXx8by5waXBlc0NvdW50PjEmJi0xIT09QihvLnBpcGVzLGUpKSYmIWgmJihwKCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UiLHIuX3JlYWRhYmxlU3RhdGUuYXdhaXREcmFpbiksci5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKyssZD0hMCksci5wYXVzZSgpKX1mdW5jdGlvbiBnKHQpe3AoIm9uZXJyb3IiLHQpLGIoKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZyksMD09PXMoZSwiZXJyb3IiKSYmZS5lbWl0KCJlcnJvciIsdCl9ZnVuY3Rpb24gdigpe2UucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsbSksYigpfWZ1bmN0aW9uIG0oKXtwKCJvbmZpbmlzaCIpLGUucmVtb3ZlTGlzdGVuZXIoImNsb3NlIix2KSxiKCl9ZnVuY3Rpb24gYigpe3AoInVucGlwZSIpLHIudW5waXBlKGUpfXJldHVybiByLm9uKCJkYXRhIix5KSxmdW5jdGlvbihlLHQscil7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBlLnByZXBlbmRMaXN0ZW5lcilyZXR1cm4gZS5wcmVwZW5kTGlzdGVuZXIodCxyKTtlLl9ldmVudHMmJmUuX2V2ZW50c1t0XT9hKGUuX2V2ZW50c1t0XSk/ZS5fZXZlbnRzW3RdLnVuc2hpZnQocik6ZS5fZXZlbnRzW3RdPVtyLGUuX2V2ZW50c1t0XV06ZS5vbih0LHIpfShlLCJlcnJvciIsZyksZS5vbmNlKCJjbG9zZSIsdiksZS5vbmNlKCJmaW5pc2giLG0pLGUuZW1pdCgicGlwZSIsciksby5mbG93aW5nfHwocCgicGlwZSByZXN1bWUiKSxyLnJlc3VtZSgpKSxlfSxiLnByb3RvdHlwZS51bnBpcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPXtoYXNVbnBpcGVkOiExfTtpZigwPT09dC5waXBlc0NvdW50KXJldHVybiB0aGlzO2lmKDE9PT10LnBpcGVzQ291bnQpcmV0dXJuIGUmJmUhPT10LnBpcGVzP3RoaXM6KGV8fChlPXQucGlwZXMpLHQucGlwZXM9bnVsbCx0LnBpcGVzQ291bnQ9MCx0LmZsb3dpbmc9ITEsZSYmZS5lbWl0KCJ1bnBpcGUiLHRoaXMsciksdGhpcyk7aWYoIWUpe3ZhciBuPXQucGlwZXMsaT10LnBpcGVzQ291bnQ7dC5waXBlcz1udWxsLHQucGlwZXNDb3VudD0wLHQuZmxvd2luZz0hMTtmb3IodmFyIG89MDtvPGk7bysrKW5bb10uZW1pdCgidW5waXBlIix0aGlzLHIpO3JldHVybiB0aGlzfXZhciBhPUIodC5waXBlcyxlKTtyZXR1cm4tMT09PWE/dGhpczoodC5waXBlcy5zcGxpY2UoYSwxKSx0LnBpcGVzQ291bnQtPTEsMT09PXQucGlwZXNDb3VudCYmKHQucGlwZXM9dC5waXBlc1swXSksZS5lbWl0KCJ1bnBpcGUiLHRoaXMsciksdGhpcyl9LGIucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dS5wcm90b3R5cGUub24uY2FsbCh0aGlzLGUsdCk7aWYoImRhdGEiPT09ZSkhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmdGhpcy5yZXN1bWUoKTtlbHNlIGlmKCJyZWFkYWJsZSI9PT1lKXt2YXIgbj10aGlzLl9yZWFkYWJsZVN0YXRlO24uZW5kRW1pdHRlZHx8bi5yZWFkYWJsZUxpc3RlbmluZ3x8KG4ucmVhZGFibGVMaXN0ZW5pbmc9bi5uZWVkUmVhZGFibGU9ITAsbi5lbWl0dGVkUmVhZGFibGU9ITEsbi5yZWFkaW5nP24ubGVuZ3RoJiZUKHRoaXMpOmkubmV4dFRpY2soSSx0aGlzKSl9cmV0dXJuIHJ9LGIucHJvdG90eXBlLmFkZExpc3RlbmVyPWIucHJvdG90eXBlLm9uLGIucHJvdG90eXBlLnJlc3VtZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIGUuZmxvd2luZ3x8KHAoInJlc3VtZSIpLGUuZmxvd2luZz0hMCxmdW5jdGlvbihlLHQpe3QucmVzdW1lU2NoZWR1bGVkfHwodC5yZXN1bWVTY2hlZHVsZWQ9ITAsaS5uZXh0VGljayhrLGUsdCkpfSh0aGlzLGUpKSx0aGlzfSxiLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3JldHVybiBwKCJjYWxsIHBhdXNlIGZsb3dpbmc9JWoiLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyksITEhPT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcmJihwKCJwYXVzZSIpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZz0hMSx0aGlzLmVtaXQoInBhdXNlIikpLHRoaXN9LGIucHJvdG90eXBlLndyYXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxyPXRoaXMuX3JlYWRhYmxlU3RhdGUsbj0hMTtmb3IodmFyIGkgaW4gZS5vbigiZW5kIixmdW5jdGlvbigpe2lmKHAoIndyYXBwZWQgZW5kIiksci5kZWNvZGVyJiYhci5lbmRlZCl7dmFyIGU9ci5kZWNvZGVyLmVuZCgpO2UmJmUubGVuZ3RoJiZ0LnB1c2goZSl9dC5wdXNoKG51bGwpfSksZS5vbigiZGF0YSIsZnVuY3Rpb24oaSl7KHAoIndyYXBwZWQgZGF0YSIpLHIuZGVjb2RlciYmKGk9ci5kZWNvZGVyLndyaXRlKGkpKSwhci5vYmplY3RNb2RlfHxudWxsIT09aSYmdm9pZCAwIT09aSkmJigoci5vYmplY3RNb2RlfHxpJiZpLmxlbmd0aCkmJih0LnB1c2goaSl8fChuPSEwLGUucGF1c2UoKSkpKX0pLGUpdm9pZCAwPT09dGhpc1tpXSYmImZ1bmN0aW9uIj09PXR5cGVvZiBlW2ldJiYodGhpc1tpXT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZVt0XS5hcHBseShlLGFyZ3VtZW50cyl9fShpKSk7Zm9yKHZhciBvPTA7bzx2Lmxlbmd0aDtvKyspZS5vbih2W29dLHRoaXMuZW1pdC5iaW5kKHRoaXMsdltvXSkpO3JldHVybiB0aGlzLl9yZWFkPWZ1bmN0aW9uKHQpe3AoIndyYXBwZWQgX3JlYWQiLHQpLG4mJihuPSExLGUucmVzdW1lKCkpfSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYi5wcm90b3R5cGUsInJlYWRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxiLl9mcm9tTGlzdD1OfSkuY2FsbCh0aGlzLHIoMzQpLHIoNDYpKX0sZnVuY3Rpb24oZSx0LHIpe2UuZXhwb3J0cz1yKDEyMCkuRXZlbnRFbWl0dGVyfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTU3KTtmdW5jdGlvbiBpKGUsdCl7ZS5lbWl0KCJlcnJvciIsdCl9ZS5leHBvcnRzPXtkZXN0cm95OmZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcyxvPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkLGE9dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7cmV0dXJuIG98fGE/KHQ/dChlKTohZXx8dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fG4ubmV4dFRpY2soaSx0aGlzLGUpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveShlfHxudWxsLGZ1bmN0aW9uKGUpeyF0JiZlPyhuLm5leHRUaWNrKGkscixlKSxyLl93cml0YWJsZVN0YXRlJiYoci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITApKTp0JiZ0KGUpfSksdGhpcyl9LHVuZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITEpfX19LGZ1bmN0aW9uKGUsdCxyKXsoZnVuY3Rpb24oZSl7dmFyIG49InVuZGVmaW5lZCIhPT10eXBlb2YgZSYmZXx8InVuZGVmaW5lZCIhPT10eXBlb2Ygc2VsZiYmc2VsZnx8d2luZG93LGk9RnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5O2Z1bmN0aW9uIG8oZSx0KXt0aGlzLl9pZD1lLHRoaXMuX2NsZWFyRm49dH10LnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG8oaS5jYWxsKHNldFRpbWVvdXQsbixhcmd1bWVudHMpLGNsZWFyVGltZW91dCl9LHQuc2V0SW50ZXJ2YWw9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG8oaS5jYWxsKHNldEludGVydmFsLG4sYXJndW1lbnRzKSxjbGVhckludGVydmFsKX0sdC5jbGVhclRpbWVvdXQ9dC5jbGVhckludGVydmFsPWZ1bmN0aW9uKGUpe2UmJmUuY2xvc2UoKX0sby5wcm90b3R5cGUudW5yZWY9by5wcm90b3R5cGUucmVmPWZ1bmN0aW9uKCl7fSxvLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMuX2NsZWFyRm4uY2FsbChuLHRoaXMuX2lkKX0sdC5lbnJvbGw9ZnVuY3Rpb24oZSx0KXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9dH0sdC51bmVucm9sbD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQoZS5faWRsZVRpbWVvdXRJZCksZS5faWRsZVRpbWVvdXQ9LTF9LHQuX3VucmVmQWN0aXZlPXQuYWN0aXZlPWZ1bmN0aW9uKGUpe2NsZWFyVGltZW91dChlLl9pZGxlVGltZW91dElkKTt2YXIgdD1lLl9pZGxlVGltZW91dDt0Pj0wJiYoZS5faWRsZVRpbWVvdXRJZD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5fb25UaW1lb3V0JiZlLl9vblRpbWVvdXQoKX0sdCkpfSxyKDU1MyksdC5zZXRJbW1lZGlhdGU9InVuZGVmaW5lZCIhPT10eXBlb2Ygc2VsZiYmc2VsZi5zZXRJbW1lZGlhdGV8fCJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJmUuc2V0SW1tZWRpYXRlfHx0aGlzJiZ0aGlzLnNldEltbWVkaWF0ZSx0LmNsZWFySW1tZWRpYXRlPSJ1bmRlZmluZWQiIT09dHlwZW9mIHNlbGYmJnNlbGYuY2xlYXJJbW1lZGlhdGV8fCJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJmUuY2xlYXJJbW1lZGlhdGV8fHRoaXMmJnRoaXMuY2xlYXJJbW1lZGlhdGV9KS5jYWxsKHRoaXMscigzNCkpfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1hO3ZhciBuPXIoODgpLGk9cigxMjgpO2Z1bmN0aW9uIG8oZSx0KXt2YXIgcj10aGlzLl90cmFuc2Zvcm1TdGF0ZTtyLnRyYW5zZm9ybWluZz0hMTt2YXIgbj1yLndyaXRlY2I7aWYoIW4pcmV0dXJuIHRoaXMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigid3JpdGUgY2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzIikpO3Iud3JpdGVjaHVuaz1udWxsLHIud3JpdGVjYj1udWxsLG51bGwhPXQmJnRoaXMucHVzaCh0KSxuKGUpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfWZ1bmN0aW9uIGEoZSl7aWYoISh0aGlzIGluc3RhbmNlb2YgYSkpcmV0dXJuIG5ldyBhKGUpO24uY2FsbCh0aGlzLGUpLHRoaXMuX3RyYW5zZm9ybVN0YXRlPXthZnRlclRyYW5zZm9ybTpvLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTohMSx0cmFuc2Zvcm1pbmc6ITEsd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9LHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSxlJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBlLnRyYW5zZm9ybSYmKHRoaXMuX3RyYW5zZm9ybT1lLnRyYW5zZm9ybSksImZ1bmN0aW9uIj09PXR5cGVvZiBlLmZsdXNoJiYodGhpcy5fZmx1c2g9ZS5mbHVzaCkpLHRoaXMub24oInByZWZpbmlzaCIscyl9ZnVuY3Rpb24gcygpe3ZhciBlPXRoaXM7ImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLl9mbHVzaD90aGlzLl9mbHVzaChmdW5jdGlvbih0LHIpe3UoZSx0LHIpfSk6dSh0aGlzLG51bGwsbnVsbCl9ZnVuY3Rpb24gdShlLHQscil7aWYodClyZXR1cm4gZS5lbWl0KCJlcnJvciIsdCk7aWYobnVsbCE9ciYmZS5wdXNoKHIpLGUuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHdzLmxlbmd0aCAhPSAwIik7aWYoZS5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKXRocm93IG5ldyBFcnJvcigiQ2FsbGluZyB0cmFuc2Zvcm0gZG9uZSB3aGVuIHN0aWxsIHRyYW5zZm9ybWluZyIpO3JldHVybiBlLnB1c2gobnVsbCl9aS5pbmhlcml0cz1yKDcpLGkuaW5oZXJpdHMoYSxuKSxhLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsbi5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsZSx0KX0sYS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbihlLHQscil7dGhyb3cgbmV3IEVycm9yKCJfdHJhbnNmb3JtKCkgaXMgbm90IGltcGxlbWVudGVkIil9LGEucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbihlLHQscil7dmFyIG49dGhpcy5fdHJhbnNmb3JtU3RhdGU7aWYobi53cml0ZWNiPXIsbi53cml0ZWNodW5rPWUsbi53cml0ZWVuY29kaW5nPXQsIW4udHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlOyhuLm5lZWRUcmFuc2Zvcm18fGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fSxhLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl90cmFuc2Zvcm1TdGF0ZTtudWxsIT09dC53cml0ZWNodW5rJiZ0LndyaXRlY2ImJiF0LnRyYW5zZm9ybWluZz8odC50cmFuc2Zvcm1pbmc9ITAsdGhpcy5fdHJhbnNmb3JtKHQud3JpdGVjaHVuayx0LndyaXRlZW5jb2RpbmcsdC5hZnRlclRyYW5zZm9ybSkpOnQubmVlZFRyYW5zZm9ybT0hMH0sYS5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzO24ucHJvdG90eXBlLl9kZXN0cm95LmNhbGwodGhpcyxlLGZ1bmN0aW9uKGUpe3QoZSksci5lbWl0KCJjbG9zZSIpfSl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig3KSxpPXIoMTA1KSxvPXIoOCkuQnVmZmVyLGE9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0scz1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsaS5jYWxsKHRoaXMsNjQsNTYpfWZ1bmN0aW9uIGMoZSx0LHIpe3JldHVybiByXmUmKHRecil9ZnVuY3Rpb24gZihlLHQscil7cmV0dXJuIGUmdHxyJihlfHQpfWZ1bmN0aW9uIGwoZSl7cmV0dXJuKGU+Pj4yfGU8PDMwKV4oZT4+PjEzfGU8PDE5KV4oZT4+PjIyfGU8PDEwKX1mdW5jdGlvbiBoKGUpe3JldHVybihlPj4+NnxlPDwyNileKGU+Pj4xMXxlPDwyMSleKGU+Pj4yNXxlPDw3KX1mdW5jdGlvbiBwKGUpe3JldHVybihlPj4+N3xlPDwyNSleKGU+Pj4xOHxlPDwxNCleZT4+PjN9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzc5MDMzNzAzLHRoaXMuX2I9MzE0NDEzNDI3Nyx0aGlzLl9jPTEwMTM5MDQyNDIsdGhpcy5fZD0yNzczNDgwNzYyLHRoaXMuX2U9MTM1OTg5MzExOSx0aGlzLl9mPTI2MDA4MjI5MjQsdGhpcy5fZz01Mjg3MzQ2MzUsdGhpcy5faD0xNTQxNDU5MjI1LHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LHI9dGhpcy5fdyxuPTB8dGhpcy5fYSxpPTB8dGhpcy5fYixvPTB8dGhpcy5fYyxzPTB8dGhpcy5fZCx1PTB8dGhpcy5fZSxkPTB8dGhpcy5fZix5PTB8dGhpcy5fZyxnPTB8dGhpcy5faCx2PTA7djwxNjsrK3Ypclt2XT1lLnJlYWRJbnQzMkJFKDQqdik7Zm9yKDt2PDY0OysrdilyW3ZdPTB8KCgodD1yW3YtMl0pPj4+MTd8dDw8MTUpXih0Pj4+MTl8dDw8MTMpXnQ+Pj4xMCkrclt2LTddK3Aoclt2LTE1XSkrclt2LTE2XTtmb3IodmFyIG09MDttPDY0OysrbSl7dmFyIGI9ZytoKHUpK2ModSxkLHkpK2FbbV0rclttXXwwLF89bChuKStmKG4saSxvKXwwO2c9eSx5PWQsZD11LHU9cytifDAscz1vLG89aSxpPW4sbj1iK198MH10aGlzLl9hPW4rdGhpcy5fYXwwLHRoaXMuX2I9aSt0aGlzLl9ifDAsdGhpcy5fYz1vK3RoaXMuX2N8MCx0aGlzLl9kPXMrdGhpcy5fZHwwLHRoaXMuX2U9dSt0aGlzLl9lfDAsdGhpcy5fZj1kK3RoaXMuX2Z8MCx0aGlzLl9nPXkrdGhpcy5fZ3wwLHRoaXMuX2g9Zyt0aGlzLl9ofDB9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIGU9by5hbGxvY1Vuc2FmZSgzMik7cmV0dXJuIGUud3JpdGVJbnQzMkJFKHRoaXMuX2EsMCksZS53cml0ZUludDMyQkUodGhpcy5fYiw0KSxlLndyaXRlSW50MzJCRSh0aGlzLl9jLDgpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2QsMTIpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2UsMTYpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2YsMjApLGUud3JpdGVJbnQzMkJFKHRoaXMuX2csMjQpLGUud3JpdGVJbnQzMkJFKHRoaXMuX2gsMjgpLGV9LGUuZXhwb3J0cz11fSxmdW5jdGlvbihlLHQscil7dmFyIG49cig3KSxpPXIoMTA1KSxvPXIoOCkuQnVmZmVyLGE9WzExMTYzNTI0MDgsMzYwOTc2NzQ1OCwxODk5NDQ3NDQxLDYwMjg5MTcyNSwzMDQ5MzIzNDcxLDM5NjQ0ODQzOTksMzkyMTAwOTU3MywyMTczMjk1NTQ4LDk2MTk4NzE2Myw0MDgxNjI4NDcyLDE1MDg5NzA5OTMsMzA1MzgzNDI2NSwyNDUzNjM1NzQ4LDI5Mzc2NzE1NzksMjg3MDc2MzIyMSwzNjY0NjA5NTYwLDM2MjQzODEwODAsMjczNDg4MzM5NCwzMTA1OTg0MDEsMTE2NDk5NjU0Miw2MDcyMjUyNzgsMTMyMzYxMDc2NCwxNDI2ODgxOTg3LDM1OTAzMDQ5OTQsMTkyNTA3ODM4OCw0MDY4MTgyMzgzLDIxNjIwNzgyMDYsOTkxMzM2MTEzLDI2MTQ4ODgxMDMsNjMzODAzMzE3LDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCwzODM1MzkwNDAxLDI2NjY2MTM0NTgsNDAyMjIyNDc3NCw5NDQ3MTExMzksMjY0MzQ3MDc4LDIzNDEyNjI3NzMsNjA0ODA3NjI4LDIwMDc4MDA5MzMsNzcwMjU1OTgzLDE0OTU5OTA5MDEsMTI0OTE1MDEyMiwxODU2NDMxMjM1LDE1NTUwODE2OTIsMzE3NTIxODEzMiwxOTk2MDY0OTg2LDIxOTg5NTA4MzcsMjU1NDIyMDg4MiwzOTk5NzE5MzM5LDI4MjE4MzQzNDksNzY2Nzg0MDE2LDI5NTI5OTY4MDgsMjU2NjU5NDg3OSwzMjEwMzEzNjcxLDMyMDMzMzc5NTYsMzMzNjU3MTg5MSwxMDM0NDU3MDI2LDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSwxMTM5MjY5OTMsMzc1ODMyNjM4MywzMzgyNDE4OTUsMTY4NzE3OTM2LDY2NjMwNzIwNSwxMTg4MTc5OTY0LDc3MzUyOTkxMiwxNTQ2MDQ1NzM0LDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSwxMzk2MTgyMjkxLDI2NDM4MzM4MjMsMTY5NTE4MzcwMCwyMzQzNTI3MzkwLDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCwyMTc3MDI2MzUwLDEyMDY3NTkxNDIsMjQ1Njk1NjAzNywzNDQwNzc2MjcsMjczMDQ4NTkyMSwxMjkwODYzNDYwLDI4MjAzMDI0MTEsMzE1ODQ1NDI3MywzMjU5NzMwODAwLDM1MDU5NTI2NTcsMzM0NTc2NDc3MSwxMDYyMTcwMDgsMzUxNjA2NTgxNywzNjA2MDA4MzQ0LDM2MDAzNTI4MDQsMTQzMjcyNTc3Niw0MDk0NTcxOTA5LDE0NjcwMzE1OTQsMjc1NDIzMzQ0LDg1MTE2OTcyMCw0MzAyMjc3MzQsMzEwMDgyMzc1Miw1MDY5NDg2MTYsMTM2MzI1ODE5NSw2NTkwNjA1NTYsMzc1MDY4NTU5Myw4ODM5OTc4NzcsMzc4NTA1MDI4MCw5NTgxMzk1NzEsMzMxODMwNzQyNywxMzIyODIyMjE4LDM4MTI3MjM0MDMsMTUzNzAwMjA2MywyMDAzMDM0OTk1LDE3NDc4NzM3NzksMzYwMjAzNjg5OSwxOTU1NTYyMjIyLDE1NzU5OTAwMTIsMjAyNDEwNDgxNSwxMTI1NTkyOTI4LDIyMjc3MzA0NTIsMjcxNjkwNDMwNiwyMzYxODUyNDI0LDQ0Mjc3NjA0NCwyNDI4NDM2NDc0LDU5MzY5ODM0NCwyNzU2NzM0MTg3LDM3MzMxMTAyNDksMzIwNDAzMTQ3OSwyOTk5MzUxNTczLDMzMjkzMjUyOTgsMzgxNTkyMDQyNywzMzkxNTY5NjE0LDM5MjgzODM5MDAsMzUxNTI2NzI3MSw1NjYyODA3MTEsMzk0MDE4NzYwNiwzNDU0MDY5NTM0LDQxMTg2MzAyNzEsNDAwMDIzOTk5MiwxMTY0MTg0NzQsMTkxNDEzODU1NCwxNzQyOTI0MjEsMjczMTA1NTI3MCwyODkzODAzNTYsMzIwMzk5MzAwNiw0NjAzOTMyNjksMzIwNjIwMzE1LDY4NTQ3MTczMyw1ODc0OTY4MzYsODUyMTQyOTcxLDEwODY3OTI4NTEsMTAxNzAzNjI5OCwzNjU1NDMxMDAsMTEyNjAwMDU4MCwyNjE4Mjk3Njc2LDEyODgwMzM0NzAsMzQwOTg1NTE1OCwxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYsMTYwNzE2NzkxNSw5ODcxNjc0NjgsMTgxNjQwMjMxNiwxMjQ2MTg5NTkxXSxzPW5ldyBBcnJheSgxNjApO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsaS5jYWxsKHRoaXMsMTI4LDExMil9ZnVuY3Rpb24gYyhlLHQscil7cmV0dXJuIHJeZSYodF5yKX1mdW5jdGlvbiBmKGUsdCxyKXtyZXR1cm4gZSZ0fHImKGV8dCl9ZnVuY3Rpb24gbChlLHQpe3JldHVybihlPj4+Mjh8dDw8NCleKHQ+Pj4yfGU8PDMwKV4odD4+Pjd8ZTw8MjUpfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4oZT4+PjE0fHQ8PDE4KV4oZT4+PjE4fHQ8PDE0KV4odD4+Pjl8ZTw8MjMpfWZ1bmN0aW9uIHAoZSx0KXtyZXR1cm4oZT4+PjF8dDw8MzEpXihlPj4+OHx0PDwyNCleZT4+Pjd9ZnVuY3Rpb24gZChlLHQpe3JldHVybihlPj4+MXx0PDwzMSleKGU+Pj44fHQ8PDI0KV4oZT4+Pjd8dDw8MjUpfWZ1bmN0aW9uIHkoZSx0KXtyZXR1cm4oZT4+PjE5fHQ8PDEzKV4odD4+PjI5fGU8PDMpXmU+Pj42fWZ1bmN0aW9uIGcoZSx0KXtyZXR1cm4oZT4+PjE5fHQ8PDEzKV4odD4+PjI5fGU8PDMpXihlPj4+Nnx0PDwyNil9ZnVuY3Rpb24gdihlLHQpe3JldHVybiBlPj4+MDx0Pj4+MD8xOjB9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYWg9MTc3OTAzMzcwMyx0aGlzLl9iaD0zMTQ0MTM0Mjc3LHRoaXMuX2NoPTEwMTM5MDQyNDIsdGhpcy5fZGg9Mjc3MzQ4MDc2Mix0aGlzLl9laD0xMzU5ODkzMTE5LHRoaXMuX2ZoPTI2MDA4MjI5MjQsdGhpcy5fZ2g9NTI4NzM0NjM1LHRoaXMuX2hoPTE1NDE0NTkyMjUsdGhpcy5fYWw9NDA4OTIzNTcyMCx0aGlzLl9ibD0yMjI3ODczNTk1LHRoaXMuX2NsPTQyNzExNzU3MjMsdGhpcy5fZGw9MTU5NTc1MDEyOSx0aGlzLl9lbD0yOTE3NTY1MTM3LHRoaXMuX2ZsPTcyNTUxMTE5OSx0aGlzLl9nbD00MjE1Mzg5NTQ3LHRoaXMuX2hsPTMyNzAzMzIwOSx0aGlzfSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD10aGlzLl93LHI9MHx0aGlzLl9haCxuPTB8dGhpcy5fYmgsaT0wfHRoaXMuX2NoLG89MHx0aGlzLl9kaCxzPTB8dGhpcy5fZWgsdT0wfHRoaXMuX2ZoLG09MHx0aGlzLl9naCxiPTB8dGhpcy5faGgsXz0wfHRoaXMuX2FsLFM9MHx0aGlzLl9ibCxFPTB8dGhpcy5fY2wsdz0wfHRoaXMuX2RsLFQ9MHx0aGlzLl9lbCxBPTB8dGhpcy5fZmwsQz0wfHRoaXMuX2dsLHg9MHx0aGlzLl9obCxJPTA7STwzMjtJKz0yKXRbSV09ZS5yZWFkSW50MzJCRSg0KkkpLHRbSSsxXT1lLnJlYWRJbnQzMkJFKDQqSSs0KTtmb3IoO0k8MTYwO0krPTIpe3ZhciBrPXRbSS0zMF0sTz10W0ktMzArMV0sTj1wKGssTyksUD1kKE8sayksUj15KGs9dFtJLTRdLE89dFtJLTQrMV0pLEI9ZyhPLGspLE09dFtJLTE0XSxMPXRbSS0xNCsxXSxEPXRbSS0zMl0saj10W0ktMzIrMV0sVT1QK0x8MCxGPU4rTSt2KFUsUCl8MDtGPShGPUYrUit2KFU9VStCfDAsQil8MCkrRCt2KFU9VStqfDAsail8MCx0W0ldPUYsdFtJKzFdPVV9Zm9yKHZhciBWPTA7VjwxNjA7Vis9Mil7Rj10W1ZdLFU9dFtWKzFdO3ZhciBxPWYocixuLGkpLEs9ZihfLFMsRSksej1sKHIsXyksRz1sKF8sciksSD1oKHMsVCksVz1oKFQscyksWT1hW1ZdLFg9YVtWKzFdLFE9YyhzLHUsbSksJD1jKFQsQSxDKSxaPXgrV3wwLEo9YitIK3YoWix4KXwwO0o9KEo9KEo9SitRK3YoWj1aKyR8MCwkKXwwKStZK3YoWj1aK1h8MCxYKXwwKStGK3YoWj1aK1V8MCxVKXwwO3ZhciBlZT1HK0t8MCx0ZT16K3ErdihlZSxHKXwwO2I9bSx4PUMsbT11LEM9QSx1PXMsQT1ULHM9bytKK3YoVD13K1p8MCx3KXwwLG89aSx3PUUsaT1uLEU9UyxuPXIsUz1fLHI9Sit0ZSt2KF89WitlZXwwLFopfDB9dGhpcy5fYWw9dGhpcy5fYWwrX3wwLHRoaXMuX2JsPXRoaXMuX2JsK1N8MCx0aGlzLl9jbD10aGlzLl9jbCtFfDAsdGhpcy5fZGw9dGhpcy5fZGwrd3wwLHRoaXMuX2VsPXRoaXMuX2VsK1R8MCx0aGlzLl9mbD10aGlzLl9mbCtBfDAsdGhpcy5fZ2w9dGhpcy5fZ2wrQ3wwLHRoaXMuX2hsPXRoaXMuX2hsK3h8MCx0aGlzLl9haD10aGlzLl9haCtyK3YodGhpcy5fYWwsXyl8MCx0aGlzLl9iaD10aGlzLl9iaCtuK3YodGhpcy5fYmwsUyl8MCx0aGlzLl9jaD10aGlzLl9jaCtpK3YodGhpcy5fY2wsRSl8MCx0aGlzLl9kaD10aGlzLl9kaCtvK3YodGhpcy5fZGwsdyl8MCx0aGlzLl9laD10aGlzLl9laCtzK3YodGhpcy5fZWwsVCl8MCx0aGlzLl9maD10aGlzLl9maCt1K3YodGhpcy5fZmwsQSl8MCx0aGlzLl9naD10aGlzLl9naCttK3YodGhpcy5fZ2wsQyl8MCx0aGlzLl9oaD10aGlzLl9oaCtiK3YodGhpcy5faGwseCl8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgZT1vLmFsbG9jVW5zYWZlKDY0KTtmdW5jdGlvbiB0KHQscixuKXtlLndyaXRlSW50MzJCRSh0LG4pLGUud3JpdGVJbnQzMkJFKHIsbis0KX1yZXR1cm4gdCh0aGlzLl9haCx0aGlzLl9hbCwwKSx0KHRoaXMuX2JoLHRoaXMuX2JsLDgpLHQodGhpcy5fY2gsdGhpcy5fY2wsMTYpLHQodGhpcy5fZGgsdGhpcy5fZGwsMjQpLHQodGhpcy5fZWgsdGhpcy5fZWwsMzIpLHQodGhpcy5fZmgsdGhpcy5fZmwsNDApLHQodGhpcy5fZ2gsdGhpcy5fZ2wsNDgpLHQodGhpcy5faGgsdGhpcy5faGwsNTYpLGV9LGUuZXhwb3J0cz11fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoNyksaT1yKDU2NCksbz1yKDc4KSxhPXIoOCkuQnVmZmVyLHM9cigzMTcpLHU9cigyMTApLGM9cigyMTEpLGY9YS5hbGxvYygxMjgpO2Z1bmN0aW9uIGwoZSx0KXtvLmNhbGwodGhpcywiZGlnZXN0IiksInN0cmluZyI9PT10eXBlb2YgdCYmKHQ9YS5mcm9tKHQpKTt2YXIgcj0ic2hhNTEyIj09PWV8fCJzaGEzODQiPT09ZT8xMjg6NjQ7KHRoaXMuX2FsZz1lLHRoaXMuX2tleT10LHQubGVuZ3RoPnIpP3Q9KCJybWQxNjAiPT09ZT9uZXcgdTpjKGUpKS51cGRhdGUodCkuZGlnZXN0KCk6dC5sZW5ndGg8ciYmKHQ9YS5jb25jYXQoW3QsZl0scikpO2Zvcih2YXIgbj10aGlzLl9pcGFkPWEuYWxsb2NVbnNhZmUociksaT10aGlzLl9vcGFkPWEuYWxsb2NVbnNhZmUocikscz0wO3M8cjtzKyspbltzXT01NF50W3NdLGlbc109OTJedFtzXTt0aGlzLl9oYXNoPSJybWQxNjAiPT09ZT9uZXcgdTpjKGUpLHRoaXMuX2hhc2gudXBkYXRlKG4pfW4obCxvKSxsLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKGUpe3RoaXMuX2hhc2gudXBkYXRlKGUpfSxsLnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9oYXNoLmRpZ2VzdCgpO3JldHVybigicm1kMTYwIj09PXRoaXMuX2FsZz9uZXcgdTpjKHRoaXMuX2FsZykpLnVwZGF0ZSh0aGlzLl9vcGFkKS51cGRhdGUoZSkuZGlnZXN0KCl9LGUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiJybWQxNjAiPT09KGU9ZS50b0xvd2VyQ2FzZSgpKXx8InJpcGVtZDE2MCI9PT1lP25ldyBsKCJybWQxNjAiLHQpOiJtZDUiPT09ZT9uZXcgaShzLHQpOm5ldyBsKGUsdCl9fSxmdW5jdGlvbihlLHQscil7dmFyIG49cigyMDUpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4obmV3IG4pLnVwZGF0ZShlKS5kaWdlc3QoKX19LGZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17c2hhMjI0V2l0aFJTQUVuY3J5cHRpb246e3NpZ246InJzYSIsaGFzaDoic2hhMjI0IixpZDoiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWMifSwiUlNBLVNIQTIyNCI6e3NpZ246ImVjZHNhL3JzYSIsaGFzaDoic2hhMjI0IixpZDoiMzAyZDMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjA0MDUwMDA0MWMifSxzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbjp7c2lnbjoicnNhIixoYXNoOiJzaGEyNTYiLGlkOiIzMDMxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMDQyMCJ9LCJSU0EtU0hBMjU2Ijp7c2lnbjoiZWNkc2EvcnNhIixoYXNoOiJzaGEyNTYiLGlkOiIzMDMxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDEwNTAwMDQyMCJ9LHNoYTM4NFdpdGhSU0FFbmNyeXB0aW9uOntzaWduOiJyc2EiLGhhc2g6InNoYTM4NCIsaWQ6IjMwNDEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMjA1MDAwNDMwIn0sIlJTQS1TSEEzODQiOntzaWduOiJlY2RzYS9yc2EiLGhhc2g6InNoYTM4NCIsaWQ6IjMwNDEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMjA1MDAwNDMwIn0sc2hhNTEyV2l0aFJTQUVuY3J5cHRpb246e3NpZ246InJzYSIsaGFzaDoic2hhNTEyIixpZDoiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDAifSwiUlNBLVNIQTUxMiI6e3NpZ246ImVjZHNhL3JzYSIsaGFzaDoic2hhNTEyIixpZDoiMzA1MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAzMDUwMDA0NDAifSwiUlNBLVNIQTEiOntzaWduOiJyc2EiLGhhc2g6InNoYTEiLGlkOiIzMDIxMzAwOTA2MDUyYjBlMDMwMjFhMDUwMDA0MTQifSwiZWNkc2Etd2l0aC1TSEExIjp7c2lnbjoiZWM="
}

github/deemru/w8io/169f3d6 
2.35 ms