(d => {d.open(); d.write(decodeURIComponent(atob('PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPkJhbm5lcjwvdGl0bGU+CiAgICA8c3R5bGU+CiAgICAgICAgaHRtbCwgYm9keSB7CiAgICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vc3RhdGljLjIxd2l6LmNvbS95YXNkay92dy5qcz92NSI+PC9zY3JpcHQ+CjwvaGVhZD4KPGJvZHk+CjxzY3JpcHQgbGFuZ3VhZ2U9IkphdmFTY3JpcHQiIHNyYz0iaHR0cHM6Ly90cmFjay5hZGZvcm0ubmV0L2FkZnNjcmlwdC8/Ym49ODAzNzk0NTciPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICBsZXQgZmluaXNoZWQgPSBmYWxzZTsKICAgIGxldCBoYXZlQWQgPSBmYWxzZTsKCiAgICBmdW5jdGlvbiBfb25Mb2FkKCkgewogICAgICAgIC8vY29uc29sZS5sb2coIl9vbkxvYWQiKTsKICAgICAgICBpZiAoZmluaXNoZWQpIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBmaW5pc2hlZCA9IHRydWU7CiAgICAgICAgaGF2ZUFkID0gdHJ1ZTsKCiAgICAgICAgbGV0IHRpbWVvdXQgPSBudWxsOwogICAgICAgIGxldCBvYXYgPSBudWxsOwogICAgICAgIGlmICgiT3BlbkFkVmlld2FiaWxpdHkiIGluIHdpbmRvdykgewogICAgICAgICAgICBvYXYgPSBuZXcgT3BlbkFkVmlld2FiaWxpdHkoKTsKICAgICAgICAgICAgdGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHsKICAgICAgICAgICAgICAgIG9hdi5jaGVja1ZpZXdhYmlsaXR5KGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKCJfdHJhY2siKTsKICAgICAgICAgICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHthOiAnbW92aWVhZHNfdHJfYWQnLCBmaWQ6ICdmOTFjZjhkYjcxNTJjOWUxMycsIGw6ICdodHRwczovL2NvZGUuMjF3aXouY29tL2dvL3RyYWNrP3Y9MjBjYzNmZjIyYTgyNTVjMjdjMjM2MjIyNTA3ZGJjMTEmZD1rcGd0YW41amNzbWZ1cmc0ZXdqZjR1b2FzYmd0YTNxZnB2MzhybTV3cGJncWpwd2h0ZTNhbnJocXBzZm1sbnp3cDdtczY0emVlcjdxYXBvanRqZmFlbjUxcHZibXI0emZwdmtmMTNvYThybmhscHdmc2JndHA0emVlcjdxcnpvYXAzbjhlNTNhOHJnYWV6b2FwNzFmdW01ZXBzNHR4cmc0ZXIzcWxwZ3Zzam5xZHp3YnRqYnFsY2c0dHAzcWpwMzNlcmZhZXVxenB2dTFlZGdhZXJmYWV1cTFjc2dmeHJnNGVybmF1cG9idGxucWxwb2FzYmc4cjN6cWNsZ3FqcmhhcHNtdHUzejFlcmZhZTd6dmNzMWFlZGdhcG51cTFkcWV0YzFoZHp3anR2MWZ0end2OGxuaHR6enRwYzFxZHp3aHBwbmhyY2czOGxucWRjNWFwamdhbnJoZmNzMWFlZGdhZXc2YiZiPXtzZXNzaW9ufSZ2dD1bdnRdJmdndWlkPVtnZ3VpZF0mc3Vicz1bc3Vic10mcHM9W3Nlc3Npb25dJnNpZz1bc2lnXSZmPVtmcF0mdHRpPVt0dGldJnc9W3ddJmg9W2hdJnN3PVtzd10mc2g9W3NoXSZscz1bbHNdJnByPVtwcl0mdT1bdV0nfSwgJyonKTsKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9LCAxMDAwKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICB0aW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZygiX3RyYWNrIik7CiAgICAgICAgICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHthOiAnbW92aWVhZHNfdHJfYWQnLCBmaWQ6ICdmOTFjZjhkYjcxNTJjOWUxMycsIGw6ICdodHRwczovL2NvZGUuMjF3aXouY29tL2dvL3RyYWNrP3Y9MjBjYzNmZjIyYTgyNTVjMjdjMjM2MjIyNTA3ZGJjMTEmZD1rcGd0YW41amNzbWZ1cmc0ZXdqZjR1b2FzYmd0YTNxZnB2MzhybTV3cGJncWpwd2h0ZTNhbnJocXBzZm1sbnp3cDdtczY0emVlcjdxYXBvanRqZmFlbjUxcHZibXI0emZwdmtmMTNvYThybmhscHdmc2JndHA0emVlcjdxcnpvYXAzbjhlNTNhOHJnYWV6b2FwNzFmdW01ZXBzNHR4cmc0ZXIzcWxwZ3Zzam5xZHp3YnRqYnFsY2c0dHAzcWpwMzNlcmZhZXVxenB2dTFlZGdhZXJmYWV1cTFjc2dmeHJnNGVybmF1cG9idGxucWxwb2FzYmc4cjN6cWNsZ3FqcmhhcHNtdHUzejFlcmZhZTd6dmNzMWFlZGdhcG51cTFkcWV0YzFoZHp3anR2MWZ0end2OGxuaHR6enRwYzFxZHp3aHBwbmhyY2czOGxucWRjNWFwamdhbnJoZmNzMWFlZGdhZXc2YiZiPXtzZXNzaW9ufSZ2dD1bdnRdJmdndWlkPVtnZ3VpZF0mc3Vicz1bc3Vic10mcHM9W3Nlc3Npb25dJnNpZz1bc2lnXSZmPVtmcF0mdHRpPVt0dGldJnc9W3ddJmg9W2hdJnN3PVtzd10mc2g9W3NoXSZscz1bbHNdJnByPVtwcl0mdT1bdV0nfSwgJyonKTsKICAgICAgICAgICAgfSwgMjAwMCk7CiAgICAgICAgfQoKICAgICAgICBsZXQgZGVzdHJveUxpc3RlbmVyID0gKCkgPT4gewogICAgICAgICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRpbWVvdXQpOwogICAgICAgICAgICB0aW1lb3V0ID0gbnVsbDsKCiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwYWdlaGlkZSIsIGRlc3Ryb3lMaXN0ZW5lciwge2NhcHR1cmU6IHRydWV9KTsKICAgICAgICAgICAgZGVzdHJveUxpc3RlbmVyID0gbnVsbDsKCiAgICAgICAgICAgIGlmIChvYXYgIT09IG51bGwpIHsKICAgICAgICAgICAgICAgIG9hdi5jYW5jZWxDaGVjaygpOwogICAgICAgICAgICAgICAgb2F2ID0gbnVsbDsKICAgICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBhZ2VoaWRlIiwgZGVzdHJveUxpc3RlbmVyLCB7Y2FwdHVyZTogdHJ1ZX0pOwoKICAgICAgICB3aW5kb3cucGFyZW50LnBvc3RNZXNzYWdlKHthOiAnbW92aWVhZHNfYm5faW1wJywgZmlkOiAnZjkxY2Y4ZGI3MTUyYzllMTMnfSwgJyonKTsKICAgIH0KCiAgICBmdW5jdGlvbiBfb25FcnJvcigpIHsKICAgICAgICAvL2NvbnNvbGUubG9nKCJfb25FcnJvciIpOwogICAgICAgIGlmIChmaW5pc2hlZCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGZpbmlzaGVkID0gdHJ1ZTsKCiAgICAgICAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZSh7YTogJ21vdmllYWRzX25vYmFubmVyJywgZmlkOiAnZjkxY2Y4ZGI3MTUyYzllMTMnfSwgJyonKTsKICAgIH0KCiAgICBmdW5jdGlvbiBfb25DbGljaygpIHsKICAgICAgICBpZiAoIWhhdmVBZCkgewogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAobmV3IEltYWdlKCkpLnNyYyA9ICdodHRwczovL2NvZGUuMjF3aXouY29tL2dvL3RyYWNrP3Y9MjBjYzNmZjIyYTgyNTVjMjdjMjM2MjIyNTA3ZGJjMTEmZD1rcGd0YW41amNzbWZ1cmc0ZXdnZm40enFjcGdhbnJob3BnNXR4dWhqejdqZnJyZzR0ZTNoYXBncGV3Z2ZhNXpicHNqZmQ1MTljczFhZWRnZ3RsNHF4em9hcGMzdHhuempjczV0eG01d3BiZ3FqcHdidGU1YW5yaHRjczFhZWRnanNiZ3RwdXExY3VncWpyZ2FzYmd0ZDN6ZHo3MXRhN3FzZXI3YWVwZ2J0cjQxNHBvbXNqbnF4cm9idG43cXRwZzR0cHUxZXpvYWRvdmZ4NndhOHJnYWV6b2FkZzFmdDRvYThyZ3RlbnpkYzMxbWVyZ3BldzRteDR6ZWVyN2FlM2duOGV1dHJwNXN0dWZocmN6c3BwZmh4ZG9ndHBmZnBuNWV0dWZodG4zZ3RiNXExZG9idHU1ZmUzd2FzYmc4cDR6ZWVyN2Flcmg3JmI9e3Nlc3Npb259JnZ0PVt2dF0mZ2d1aWQ9W2dndWlkXSZzdWJzPVtzdWJzXSZwcz1bc2Vzc2lvbl0mc2lnPVtzaWddJmY9W2ZwXSZ0dGk9W3R0aV0mdz1bd10maD1baF0mc3c9W3N3XSZzaD1bc2hdJmxzPVtsc10mcHI9W3ByXSZ1PVt1XSc7CiAgICB9CgogICAgKGZ1bmN0aW9uICgpIHsKCiAgICAgICAgZnVuY3Rpb24gX2NoZWNrQmFubmVyQ29udGVudCgpIHsKICAgICAgICAgICAgaWYgKGZpbmlzaGVkKSB7Ly/Qp9GC0L7QsdGLINC90LUg0LfQsNC00LLQsNC40LLQsNC70L4KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tpZCo9ImFkZm9ybS1hZGJveCJdJyk7CiAgICAgICAgICAgIGZvciAobGV0IGVsIG9mIGVsZW1lbnRzKSB7CiAgICAgICAgICAgICAgICBjb25zdCByZWN0ID0gZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgICAgICBpZiAocmVjdC53aWR0aCA+PSA1MCAmJiByZWN0LmhlaWdodCA+PSA1MCkgewogICAgICAgICAgICAgICAgICAgIF9vbkxvYWQoKTsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgZnVuY3Rpb24gX2luaXRDaGVja2VyKCkgewogICAgICAgICAgICBsZXQgaW50ZXJ2YWwgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4gewogICAgICAgICAgICAgICAgaWYgKCFfY2hlY2tCYW5uZXJDb250ZW50KCkpIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKGRzdHIgIT0gbnVsbCkgewogICAgICAgICAgICAgICAgICAgIGRzdHIoKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0sIDEwMDApOwoKICAgICAgICAgICAgbGV0IGRzdHIgPSAoKSA9PiB7CiAgICAgICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBkc3RyLCB7Y2FwdHVyZTogdHJ1ZX0pOwogICAgICAgICAgICAgICAgZHN0ciA9IG51bGw7CgogICAgICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoaW50ZXJ2YWwpOwogICAgICAgICAgICAgICAgaW50ZXJ2YWwgPSBudWxsOwogICAgICAgICAgICB9OwogICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicGFnZWhpZGUiLCBkc3RyLCB7Y2FwdHVyZTogdHJ1ZX0pOwogICAgICAgIH0KCiAgICAgICAgKGZ1bmN0aW9uIF9tYWluKCkgewogICAgICAgICAgICBfaW5pdENoZWNrZXIoKTsKICAgICAgICB9KSgpOwogICAgfSkoKTsKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg==').split('').map(function(a){return'%'+('00'+a.charCodeAt(0).toString(16)).slice(-2)}).join(''))); d.close();})(document);