{"id":8817,"date":"2026-10-31T21:43:08","date_gmt":"2026-10-31T12:43:08","guid":{"rendered":"https:\/\/su88ort.fun\/?p=8817"},"modified":"2026-10-31T21:43:09","modified_gmt":"2026-10-31T12:43:09","slug":"snow-man-%e3%82%b9%e3%83%88%e3%83%aa%e3%83%bc%e3%83%9f%e3%83%b3%e3%82%b0%e3%83%bb%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e5%85%a8%e3%83%87%e3%83%bc%e3%82%bf","status":"publish","type":"post","link":"https:\/\/su88ort.fun\/?p=8817","title":{"rendered":"Snow Man \u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u30fb\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u5168\u30c7\u30fc\u30bf"},"content":{"rendered":"\n<div class=\"wp-block-sgb-say\"><div class=\"sgb-block-say sgb-block-say--left\"><div class=\"sgb-block-say-avatar\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/su88ort.fun\/wp-content\/uploads\/2022\/02\/04.png\" alt=\"\u3055\u307d\" width=\"80\" height=\"80\" style=\"border-color:#FFF\"\/><div class=\"sgb-block-say-avatar__name\">\u3055\u307d<\/div><\/div><div class=\"sgb-block-say-text\"><div class=\"sgb-block-say-text__content\" style=\"color:#333;border-color:#FFF;background-color:#fff9e6\">\n<p class=\"wp-block-paragraph\">\u914d\u4fe1\u3055\u308c\u305f\u66f2\u306e\u30e9\u30f3\u30ad\u30f3\u30b0\u30c7\u30fc\u30bf\u3092\u307e\u3068\u3081\u307e\u3057\u305f\u3002<br>\u30aa\u30ea\u30b3\u30f3\u306f\u6709\u6599\u30c7\u30fc\u30bf\u306b\u914d\u616e\u3057\u305f\u5f62\u3067\u8f09\u305b\u3066\u3044\u307e\u3059\u3002<\/p>\n<span class=\"sgb-block-say-text__before\" style=\"border-right-color:#FFF\"><\/span><span class=\"sgb-block-say-text__after\" style=\"border-right-color:#fff9e6\"><\/span><\/div><\/div><\/div><\/div>\n\n\n\n<!--\n  \u63a8\u3057\u6d3b\u30b5\u30dd \u914d\u4fe1\uff08\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30fb\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\uff09\u30c7\u30fc\u30bf\u8868\u793a\n  \u4f7f\u3044\u65b9\uff1aWordPress\u306e\u6295\u7a3f\u30fb\u56fa\u5b9a\u30da\u30fc\u30b8\u306b\u300c\u30ab\u30b9\u30bf\u30e0HTML\u300d\u30d6\u30ed\u30c3\u30af\u3092\u7f6e\u304d\u3001\u3053\u306e\u30d5\u30a1\u30a4\u30eb\u306e\u4e2d\u8eab\u3092\u5168\u90e8\u8cbc\u308a\u4ed8\u3051\u308b\u3002\n-->\n<div class=\"ssl\" data-dapi=\"https:\/\/script.google.com\/macros\/s\/AKfycbxsl2wJRgvkcnsTAtZVPDmUhvanCfooDZ_uxWaT3RHOHoI7BjQ1zO4l7_-x_Ho3eDH5vQ\/exec\">\n  <p class=\"ssl-msg\">\u8aad\u307f\u8fbc\u307f\u4e2d\u2026<\/p>\n  <noscript><p class=\"ssl-msg\">\u3053\u306e\u30da\u30fc\u30b8\u306e\u8868\u793a\u306b\u306fJavaScript\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p><\/noscript>\n<\/div>\n\n<style>\n.ssl{--ice:#8bd3dd;--ice-d:#2b8797;--ice-l:#eef9fb;--coral:#ff9b81;--coral-d:#d4502f;--ink:#26343a;--mu:#5b7075;--line:#dcebee;\n  color:var(--ink);font-size:15px;line-height:1.6;max-width:720px;margin:0 auto 2em;font-variant-numeric:tabular-nums}\n.ssl *,.ssl *::before,.ssl *::after{box-sizing:border-box}\n:where(.ssl) :where(p,div,ul,li,details,summary){margin:0;padding:0}\n.ssl [hidden]{display:none!important}\n.ssl li::before,.ssl li::after,.ssl summary::before,.ssl summary::after{content:none}\n.ssl button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}\n.ssl button:focus-visible,.ssl a:focus-visible,.ssl summary:focus-visible{outline:2px solid var(--ice-d);outline-offset:2px}\n.ssl a{color:var(--ice-d);text-decoration:underline;text-underline-offset:2px}\n\n.ssl-msg{padding:28px 0;text-align:center;color:var(--mu)}\n.ssl-upd{font-size:12px;color:var(--mu);text-align:right;margin-bottom:6px}\n.ssl-box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 12px;margin-bottom:16px}\n.ssl-sec{font-size:17px;font-weight:700;color:var(--ink);margin:22px 0 10px;padding:2px 0 2px 10px;border-left:4px solid var(--coral)}\n.ssl-upd + .ssl-sec{margin-top:4px}\n.ssl-rk .n .o{display:inline-block;min-width:2.6em;margin-right:6px;font-size:11px;font-weight:700;color:var(--ice-d);background:var(--ice-l);border-radius:4px;padding:1px 4px;text-align:center}\n.ssl-rk .n .md{margin-left:4px}\n.ssl-nav-b{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--line);gap:8px}\n.ssl-nav-b .nm{flex:1;text-align:center;font-weight:700;color:var(--ink);font-size:13px;line-height:1.4}\n.ssl-nav-b button{flex:0 0 auto}\n.ssl-nav-b .nm small{display:block;font-size:11px;color:var(--ice-d)}\n.ssl-h{font-size:15px;font-weight:700;margin-bottom:8px}\n\n\/* \u4f5c\u54c1\u3054\u3068\u306e\u7d2f\u8a08\uff08100\u4e07\u679a\u306e\u30e9\u30a4\u30f3\u3064\u304d\uff09 *\/\n.ssl-rank{margin:0 -4px}\n.ssl-rk{display:grid;grid-template-columns:1fr auto;gap:4px 10px;width:100%;text-align:left;background:none;border:0;border-radius:8px;padding:8px 6px;min-height:46px}\n.ssl-rk[aria-current=true]{background:var(--ice-l)}\n.ssl-rk .n{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.ssl-rk .v{font-size:14px;font-weight:700}\n.ssl-rk .v small{font-size:10px;font-weight:400;color:var(--mu);margin-right:3px}\n.ssl-rk .bar{grid-column:1\/-1;position:relative;height:6px;background:#e6f0f2;border-radius:3px}\n.ssl-rk .bar i{position:absolute;left:0;top:0;bottom:0;background:var(--ice);border-radius:3px}\n.ssl-rk[aria-current=true] .bar i{background:var(--ice-d)}\n.ssl-rk .bar u{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--coral);text-decoration:none}\n.ssl-rk .sb{grid-column:1\/-1;display:flex;height:10px;background:#eef3f4;border-radius:3px;overflow:hidden}\n.ssl-rk .sb i{display:block;height:100%}\n.ssl .c1{background:var(--coral)}\n.ssl .c2{background:var(--ice-d)}\n.ssl .c3{background:var(--ice)}\n.ssl .c4{background:#b9c7ca}\n.ssl-rk .bd{grid-column:1\/-1;font-size:11px;color:var(--mu);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.ssl-lg{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--mu);margin:0 0 6px}\n.ssl-lg span{display:inline-flex;align-items:center;gap:4px}\n.ssl-lg i{display:inline-block;width:12px;height:10px;border-radius:2px}\n.ssl-rk .nt{grid-column:1\/-1;font-size:11px;color:var(--mu)}\n.ssl-more{display:block;width:100%;margin-top:6px;padding:9px;background:none;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--ink);min-height:40px}\n.ssl-key{font-size:12px;color:var(--mu);margin-top:8px;display:flex;align-items:center;gap:6px}\n.ssl-key u{display:inline-block;width:14px;height:2px;background:var(--coral);text-decoration:none}\n\n\/* \u4f5c\u54c1\u306e\u8a73\u7d30 *\/\n.ssl-nav{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--mu);margin-bottom:12px}\n.ssl-nav button{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;min-height:36px}\n.ssl-nav button:disabled{opacity:.35;cursor:default}\n.ssl-head{display:flex;gap:12px;align-items:center}\n.ssl-head img{width:64px;height:64px;border-radius:8px;object-fit:cover;flex:none;background:var(--ice-l)}\n.ssl-t{font-size:18px;font-weight:700;line-height:1.4}\n.ssl-s{font-size:13px;color:var(--mu)}\n.ssl-s a{margin-left:8px}\n\n.ssl-gauge{margin:16px 0 6px}\n.ssl-gt{position:relative;height:10px;border-radius:5px;background:#e6f0f2;overflow:hidden}\n.ssl-gt i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:linear-gradient(90deg,var(--ice),var(--ice-d))}\n.ssl-gauge.done .ssl-gt i{background:linear-gradient(90deg,var(--ice),var(--coral))}\n.ssl-gm{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-top:6px}\n.ssl-gm b{color:var(--coral-d)}\n.ssl-gm span:last-child{color:var(--mu)}\n\n.ssl-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 12px}\n.ssl-stats>div{border-left:3px solid var(--ice);padding:2px 0 2px 10px}\n.ssl-stats>div:nth-child(2){border-color:var(--coral)}\n.ssl-stats span{display:block;font-size:12px;color:var(--mu)}\n.ssl-stats b{font-size:26px;line-height:1.25;font-weight:700}\n.ssl-stats small{font-size:12px;font-weight:400;color:var(--mu);margin:0 2px}\n\n.ssl-fw{display:grid;grid-template-columns:3.4em 1fr 1fr;font-size:14px;border-top:1px solid var(--line)}\n.ssl-fw>div{padding:8px 4px;border-bottom:1px solid var(--line)}\n.ssl-fw .hd{font-size:12px;color:var(--mu);text-align:right}\n.ssl-fw .hd:first-child{text-align:left}\n.ssl-fw .r{font-size:13px;color:var(--mu)}\n.ssl-fw .vv{text-align:right;font-weight:600}\n\n.ssl details{border-bottom:1px solid var(--line);padding:10px 4px}\n.ssl summary{cursor:pointer;font-size:14px;font-weight:600;min-height:28px;display:list-item}\n.ssl details ul{list-style:disc;margin-top:8px;padding-left:1.3em;font-size:13px}\n.ssl details li{margin:5px 0;list-style:disc}\n.ssl-note{font-size:12px;color:var(--mu);margin-top:10px}\n\n\/* \u63a8\u79fb *\/\n.ssl-sep{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}\n.ssl-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}\n.ssl-chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 14px;font-size:13px;min-height:36px}\n.ssl-chips button[aria-pressed=true]{background:var(--ice-d);border-color:var(--ice-d);color:#fff;font-weight:700}\n.ssl-chart svg{display:block;width:100%;height:auto;touch-action:pan-y}\n.ssl-chart .g{stroke:#e3eef0;stroke-width:1}\n.ssl-chart .t{fill:var(--mu);font-size:11px}\n.ssl-chart .ln{fill:none;stroke:var(--ice-d);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}\n.ssl-chart .ar{fill:rgba(139,211,221,.28);stroke:none}\n.ssl-chart .ml{stroke:var(--coral);stroke-dasharray:4 3;stroke-width:1.2}\n.ssl-chart .mt{fill:var(--coral-d);font-size:11px;font-weight:700}\n.ssl-chart .cx{stroke:var(--ink);stroke-width:1;opacity:.35}\n.ssl-chart .cd{fill:#fff;stroke:var(--ice-d);stroke-width:2}\n.ssl-cap{font-size:13px;min-height:1.7em;margin:4px 0 10px}\n.ssl-hint{display:block;font-size:12px;color:var(--mu)}\n\n.ssl-tb{font-size:13px}\n.ssl-tr{display:grid;grid-template-columns:2.8em 1fr 4.2em 5em 3.9em;column-gap:4px;align-items:center;padding:7px 4px;border-bottom:1px solid #edf3f4}\n.ssl-tr.th{position:sticky;top:0;z-index:1;background:var(--ice-l);font-size:12px;color:var(--mu);font-weight:600;border-bottom:1px solid var(--line)}\n.ssl-tr .a{font-size:12px}\n.ssl-tr .p{font-size:12px;color:var(--mu);white-space:nowrap}\n.ssl-tr .num{text-align:right}\n.ssl-tr .k{font-size:11.5px;white-space:nowrap;letter-spacing:-.02em}\n.ssl-tr.est .num{color:#6f858a}\n.ssl-tr.est .num em{font-style:normal;font-size:10px;margin-left:1px}\n.ssl-tr .k.top{color:var(--coral-d);font-weight:700}\n.ssl-yr{padding:6px 4px 3px;font-size:12px;font-weight:700;color:var(--ice-d,#2b8797);border-bottom:1px solid var(--line)}\n.ssl-tr.ms{background:#fff3ef}\n.ssl-tr .ms-b{display:block;font-size:10px;font-weight:700;color:var(--coral-d)}\n\n@media (min-width:600px){\n  .ssl{font-size:16px}\n  .ssl-box{padding:18px 18px}\n  .ssl-stats b{font-size:32px}\n  .ssl-tb{font-size:14px}\n  .ssl-chart{max-width:540px}\n  .ssl-tr{grid-template-columns:4em 1fr 6em 7em 4.6em;padding:8px 8px}\n  .ssl-tr .a,.ssl-tr .p,.ssl-tr .k{font-size:13px}\n}\n@media (prefers-reduced-motion:reduce){.ssl *{scroll-behavior:auto!important}}\n.sdl-best .vv small{font-size:11px;font-weight:400;color:var(--mu)}\n.sdl-tb .ssl-tr{grid-template-columns:2.6em 1fr 4.6em 4.4em 3.2em}\n.sdl-tb .ssl-tr.th span{line-height:1.2}\n\n.sdl-lg{margin:6px 0 10px}\n.sdl-lt{display:block;font-size:12px;color:var(--mu);margin-bottom:6px}\n.sdl-ls{display:flex;flex-wrap:wrap;gap:10px 8px}\n.sdl-lk{display:flex;flex-direction:column;align-items:center;gap:4px;width:68px;text-decoration:none!important;color:var(--ink)!important;font-size:10.5px;line-height:1.25;text-align:center}\n.sdl-lk img,.sdl-lk i{width:44px;height:44px;border-radius:10px;object-fit:cover;border:1px solid var(--line);background:#fff}\n.sdl-lk i{display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:700;font-size:18px;color:#fff;background:var(--ice-d);border:0}\n.sdl-lk span{word-break:normal;overflow-wrap:break-word}\n.sdl-rk{font-size:12px;font-weight:600;color:var(--ink)}\n.sdl-bn{display:block;font-size:10.5px;color:var(--ice-d)}\n\n.sdl-cnt{font-size:12px;font-weight:400;color:var(--mu);margin-left:8px}\n.sdl-q{display:block;width:100%;box-sizing:border-box;font-size:16px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;margin:0 0 10px;background:#fff;color:var(--ink)}\n.sdl-pl{max-height:340px;overflow-y:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--line);padding-top:4px}\n.sdl-pg{padding:8px 0;border-bottom:1px solid #edf3f4}\n.sdl-pgh{font-size:12px;font-weight:700;color:var(--mu);margin-bottom:6px}\n.sdl-pgh small{font-weight:400;margin-left:6px}\n.sdl-pcs{display:flex;flex-wrap:wrap;gap:6px}\n.sdl-pc{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;min-height:34px;color:var(--ink);line-height:1.3;text-align:left}\n.sdl-pc.nd{color:#9aa9ad}\n.sdl-pc[aria-current=true]{background:var(--ice-d);border-color:var(--ice-d);color:#fff;font-weight:700}\n.sdl-al{display:inline-block;font-size:9.5px;font-weight:700;color:#fff;background:var(--coral);border-radius:3px;padding:0 3px;margin-right:4px;vertical-align:1px}\n.sdl-kn{display:block;font-size:10.5px;color:var(--coral-d)}\n.sdl-bbs{margin-top:0}\n.sdl-bbs>div{border-color:#c9b8f5!important}\n.sdl-bbs b{font-size:20px}\n.sdl-na{font-size:11px;font-weight:400;color:var(--mu)}\n.sdl-rc{background:#fff6e5;border-left:3px solid #f0a500;padding:8px 10px;border-radius:6px;font-size:12.5px;line-height:1.6;margin:8px 0}\n.sdl-rc b{display:block;font-size:13px;margin-bottom:2px}\n.sdl-rcb{display:block;font-size:10.5px;font-weight:700;color:#b07300}\n.sdl-pr{font-size:10px;font-weight:700;color:var(--mu);border:1px solid var(--line);border-radius:4px;padding:0 4px;margin-left:4px;vertical-align:2px}\n.sdl-yr .ssl-tr{grid-template-columns:3.2em 4.6em 1fr 5.6em}\n.sdl-yr .num small{display:block;font-size:10.5px;color:var(--mu);font-weight:400}\n.sdl-m{display:block;font-size:10.5px;color:var(--mu)}\n.sdl-tb.sdl-tb3 .ssl-tr{grid-template-columns:2.6em 1fr 7em}\n@media (min-width:600px){.sdl-tb.sdl-tb3 .ssl-tr{grid-template-columns:4em 1fr 8em}}\n@media (min-width:600px){.sdl-tb .ssl-tr{grid-template-columns:4em 1fr 6em 5em 5em}}\n<\/style>\n\n<script>\n(function(){var s=atob(\"CihmdW5jdGlvbiAoKSB7CiAgaWYgKHdpbmRvdy5fX3NkbEluaXQpIHJldHVybjsKICB3aW5kb3cuX19zZGxJbml0ID0gMTsKCiAgdmFyIGVzYyA9IGZ1bmN0aW9uIChzKSB7CiAgICByZXR1cm4gU3RyaW5nKHMgPT0gbnVsbCA\/ICcnIDogcykucmVwbGFjZSgvWyY8PiInXS9nLCBmdW5jdGlvbiAoYykgewogICAgICByZXR1cm4geyAnJic6ICcmYW1wOycsICc8JzogJyZsdDsnLCAnPic6ICcmZ3Q7JywgJyInOiAnJnF1b3Q7JywgIiciOiAnJiMzOTsnIH1bY107CiAgICB9KTsKICB9OwogIHZhciBmbXQgPSBmdW5jdGlvbiAobikgeyByZXR1cm4gU3RyaW5nKE1hdGgucm91bmQobikpLnJlcGxhY2UoL1xCKD89KFxkezN9KSsoPyFcZCkpL2csICcsJyk7IH07CiAgLy8g44Kq44Oq44Kz44Oz44Gu5pWw5a2X44GvMC4x5LiH5Y2Y5L2N77yIMeWEhOS7peS4iuOBrzAuMDHlhITljZjkvY3vvIkKICB2YXIgb3JpID0gZnVuY3Rpb24gKG4pIHsKICAgIGlmIChuID09IG51bGwpIHJldHVybiAn4oCUJzsKICAgIGlmIChuID49IDFlOCkgcmV0dXJuIChuIC8gMWU4KS50b0ZpeGVkKDIpICsgJ+WEhCc7CiAgICBpZiAobiA+IDAgJiYgbiA8IDEwMDApIHJldHVybiAnMC4x5LiH5pyq5rqAJzsKICAgIHJldHVybiAobiAvIDEwMDAwKS50b0ZpeGVkKDEpICsgJ+S4hyc7CiAgfTsKICB2YXIgc2FmZSA9IGZ1bmN0aW9uICh1KSB7IHJldHVybiAvXmh0dHBzPzpcL1wvLy50ZXN0KHUgfHwgJycpID8gdSA6ICcnOyB9OwogIHZhciByayA9IGZ1bmN0aW9uIChyKSB7IHIgPSBTdHJpbmcociB8fCAnJykudHJpbSgpOyByZXR1cm4gciA\/ICgvXlxkKyQvLnRlc3QocikgPyByICsgJ+S9jScgOiByKSA6ICfigJQnOyB9OwogIHZhciBmbXRVcGQgPSBmdW5jdGlvbiAocykgewogICAgdHJ5IHsKICAgICAgcmV0dXJuIG5ldyBEYXRlKHMpLnRvTG9jYWxlU3RyaW5nKCdqYS1KUCcsIHsgdGltZVpvbmU6ICdBc2lhL1Rva3lvJywgeWVhcjogJ251bWVyaWMnLCBtb250aDogJzItZGlnaXQnLCBkYXk6ICcyLWRpZ2l0JywgaG91cjogJzItZGlnaXQnLCBtaW51dGU6ICcyLWRpZ2l0JyB9KTsKICAgIH0gY2F0Y2ggKGUpIHsgcmV0dXJuICcnOyB9CiAgfTsKICB2YXIgTUVUID0geyBvczogeyBsYWJlbDogJ+OCueODiOODquODvOODn+ODs+OCsCcsIHVuaXQ6ICflm54nLCBjdW06ICdjb3MnLCB3azogJ29zJywgb3I6ICdvc3InLCBicjogJ2JzcicsIGJuOiAnYnMnLCBsaW5lOiAxZTgsIGxpbmVMOiAnMeWEhOWbnicgfSwKICAgICAgICAgICAgICBvZDogeyBsYWJlbDogJ+ODgOOCpuODs+ODreODvOODiScsIHVuaXQ6ICdETCcsIGN1bTogJ2NvZCcsIHdrOiAnb2QnLCBvcjogJ29kcicsIGJyOiAnYmRyJywgYm46ICdiZCcsIGxpbmU6IDEwMDAwMCwgbGluZUw6ICcxMOS4h0RMJyB9IH07CgogIGZ1bmN0aW9uIGluaXQocm9vdCkgewogICAgdmFyIGFwaSA9IHJvb3QuZ2V0QXR0cmlidXRlKCdkYXRhLWRhcGknKTsKICAgIHZhciBrZXkgPSAnc2RsOmRpZ2l0YWwnOwogICAgdmFyIHN0ID0geyBkYXRhOiBudWxsLCBzZWw6IDAsIGNhdDogJ3NvbmcnLCBtZXQ6ICdvcycsIHdtZXQ6ICdvcycsIG1vZGU6ICdmaXJzdCcsIG1vcmU6IGZhbHNlLCByYXc6ICcnIH07CiAgICB2YXIgaG0gPSAvc2RsPShcZCspLy5leGVjKGxvY2F0aW9uLmhhc2gpOwogICAgaWYgKGhtKSBzdC5zZWwgPSBOdW1iZXIoaG1bMV0pOwoKICAgIGZ1bmN0aW9uIGNoaXBzKGF0dHIsIGN1ciwgb3B0cykgewogICAgICBvcHRzID0gb3B0cyB8fCBbWydvcycsICfjgrnjg4jjg6rjg7zjg5\/jg7PjgrAnXSwgWydvZCcsICfjg4Djgqbjg7Pjg63jg7zjg4knXV07CiAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0ic3NsLWNoaXBzIiByb2xlPSJncm91cCI+JyArIG9wdHMubWFwKGZ1bmN0aW9uIChtKSB7CiAgICAgICAgcmV0dXJuICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgZGF0YS0nICsgYXR0ciArICc9IicgKyBtWzBdICsgJyIgYXJpYS1wcmVzc2VkPSInICsgKGN1ciA9PT0gbVswXSkgKyAnIj4nICsgbVsxXSArICc8L2J1dHRvbj4nOwogICAgICB9KS5qb2luKCcnKSArICc8L2Rpdj4nOwogICAgfQoKICAgIGZ1bmN0aW9uIGRyYXcoKSB7CiAgICAgIHZhciBkID0gc3QuZGF0YSwgc3MgPSBkLnNvbmdzOwogICAgICBpZiAoIXNzLmxlbmd0aCkgeyByb290LmlubmVySFRNTCA9ICc8cCBjbGFzcz0ic3NsLW1zZyI+6KGo56S644Gn44GN44KL5puy44GM44GC44KK44G+44Gb44KT44CCPC9wPic7IHJldHVybjsgfQogICAgICBpZiAoc3Quc2VsID49IHNzLmxlbmd0aCB8fCBzdC5zZWwgPCAwKSBzdC5zZWwgPSAwOwogICAgICB2YXIgaCA9ICc8cCBjbGFzcz0ic3NsLXVwZCI+44OH44O844K\/5pu05pawICcgKyBlc2MoZm10VXBkKGQudXBkYXRlZCkpICsgJzwvcD4nOwogICAgICBoICs9ICc8ZGl2IGNsYXNzPSJzc2wtc2VjIiByb2xlPSJoZWFkaW5nIiBhcmlhLWxldmVsPSIyIj7lhajmm7LntK\/oqIg8L2Rpdj48ZGl2IGNsYXNzPSJzc2wtYm94IHNkbC1jdW0iPjwvZGl2Pic7CiAgICAgIGggKz0gJzxkaXYgY2xhc3M9InNzbC1zZWMiIHJvbGU9ImhlYWRpbmciIGFyaWEtbGV2ZWw9IjIiPuabsuWIpeODh+ODvOOCvzwvZGl2PjxkaXYgY2xhc3M9InNzbC1ib3ggc2RsLXBpY2siPjwvZGl2PjxkaXYgY2xhc3M9InNzbC1ib3ggc3NsLWRldGFpbCI+PC9kaXY+JzsKICAgICAgcm9vdC5pbm5lckhUTUwgPSBoOwogICAgICByZW5kZXJDdW0oKTsKICAgICAgcmVuZGVyUGljaygpOwogICAgICByZW5kZXJEZXRhaWwoKTsKICAgIH0KCiAgICAvLyDmm7Ljga7kuIDopqfvvJrlj47pjLLkvZzlk4HjgZTjgajjgavjgb7jgajjgoHjgabkuKbjgbnjgIHlkI3liY3jgafntZ7jgorovrzjgoHjgosKICAgIHZhciBrYW5hID0gZnVuY3Rpb24gKHQpIHsKICAgICAgcmV0dXJuIFN0cmluZyh0IHx8ICcnKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1tcdTMwYTEtXHUzMGY2XS9nLCBmdW5jdGlvbiAoYykgeyByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShjLmNoYXJDb2RlQXQoMCkgLSAweDYwKTsgfSkKICAgICAgICAucmVwbGFjZSgvW1xz44CA44O7Ie+8gT\/vvJ8n4oCZIuKAnOKAnS4s44CB44CCfuOAnFwt77yNXS9nLCAnJyk7CiAgICB9OwogICAgZnVuY3Rpb24gcmVuZGVyUGljaygpIHsKICAgICAgdmFyIHNzID0gc3QuZGF0YS5zb25ncywgYm94ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuc2RsLXBpY2snKTsKICAgICAgdmFyIGdyb3VwcyA9IFtdLCBnaSA9IHt9OwogICAgICBzcy5mb3JFYWNoKGZ1bmN0aW9uIChzLCBpKSB7CiAgICAgICAgdmFyIGcgPSBzLndvcmsgfHwgJ+OBneOBruS7lic7CiAgICAgICAgaWYgKCEoZyBpbiBnaSkpIHsgZ2lbZ10gPSBncm91cHMubGVuZ3RoOyBncm91cHMucHVzaCh7IG5hbWU6IGcsIHJlbDogcy53b3JrUmVsZWFzZSB8fCAnJywgaXRlbXM6IFtdIH0pOyB9CiAgICAgICAgdmFyIEcgPSBncm91cHNbZ2lbZ11dOwogICAgICAgIGlmICghcy53b3JrUmVsZWFzZSAmJiBzLnJlbGVhc2UgJiYgKCFHLnJlbCB8fCBzLnJlbGVhc2UgPCBHLnJlbCkpIEcucmVsID0gcy5yZWxlYXNlOyAvLyBDROOBrueZuuWjsuaXpeOBjOOBquOBkeOCjOOBsOacgOWIneOBrumFjeS\/oeaXpQogICAgICAgIEcuaXRlbXMucHVzaCh7IHM6IHMsIGk6IGkgfSk7CiAgICAgIH0pOwogICAgICAvLyDlj47pjLLkvZzlk4HvvIhDRO+8ieOBruODquODquODvOOCuemghu+8iOaWsOOBl+OBhOmghu+8ieOAguWQjOOBmOS9nOWTgeOBruS4reOBr+OAjOabsuOAjeOCt+ODvOODiOOBruS4puOBs+mghgogICAgICBncm91cHMuc29ydChmdW5jdGlvbiAoYSwgYikgeyByZXR1cm4gU3RyaW5nKGIucmVsKS5sb2NhbGVDb21wYXJlKFN0cmluZyhhLnJlbCkpOyB9KTsKICAgICAgZ3JvdXBzLmZvckVhY2goZnVuY3Rpb24gKGcpIHsgZy5pdGVtcy5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiAoYS5zLmlkeCA9PSBudWxsID8gYS5pIDogYS5zLmlkeCkgLSAoYi5zLmlkeCA9PSBudWxsID8gYi5pIDogYi5zLmlkeCk7IH0pOyB9KTsKICAgICAgdmFyIGggPSAnPGRpdiBjbGFzcz0ic3NsLWgiPuabsuOCkumBuOOBtjxzbWFsbCBjbGFzcz0ic2RsLWNudCI+5YWoJyArIHNzLmxlbmd0aCArICfmm7I8L3NtYWxsPjwvZGl2PicgKwogICAgICAgICc8aW5wdXQgdHlwZT0ic2VhcmNoIiBjbGFzcz0ic2RsLXEiIHBsYWNlaG9sZGVyPSLmm7LlkI3jg7vkvZzlk4HlkI3jgafmjqLjgZkiIGFyaWEtbGFiZWw9IuabsuWQjeODu+S9nOWTgeWQjeOBp+aOouOBmSIgYXV0b2NvbXBsZXRlPSJvZmYiPicgKwogICAgICAgICc8ZGl2IGNsYXNzPSJzZGwtcGwiPic7CiAgICAgIGdyb3Vwcy5mb3JFYWNoKGZ1bmN0aW9uIChnKSB7CiAgICAgICAgaCArPSAnPGRpdiBjbGFzcz0ic2RsLXBnIiBkYXRhLWc9IicgKyBlc2Moa2FuYShnLm5hbWUpKSArICciPjxkaXYgY2xhc3M9InNkbC1wZ2giPicgKyBlc2MoZy5uYW1lKSArIChnLnJlbCA\/ICc8c21hbGw+JyArIGVzYyhnLnJlbC5zbGljZSgwLCA0KSkgKyAnPC9zbWFsbD4nIDogJycpICsgJzwvZGl2PjxkaXYgY2xhc3M9InNkbC1wY3MiPicgKwogICAgICAgICAgZy5pdGVtcy5tYXAoZnVuY3Rpb24gKHgpIHsKICAgICAgICAgICAgcmV0dXJuICc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9InNkbC1wYycgKyAoeC5zLndlZWtseS5sZW5ndGggPyAnJyA6ICcgbmQnKSArICciIGRhdGEtcGljaz0iJyArIHguaSArICciIGRhdGEtcT0iJyArIGVzYyhrYW5hKHgucy5uYW1lKSkgKyAnIicgKwogICAgICAgICAgICAgICh4LmkgPT09IHN0LnNlbCA\/ICcgYXJpYS1jdXJyZW50PSJ0cnVlIicgOiAnJykgKyAnPicgKyAoeC5zLnR5cGUgPT09ICdhbGJ1bScgPyAnPGIgY2xhc3M9InNkbC1hbCI+QUw8L2I+JyA6ICcnKSArIGVzYyh4LnMubmFtZSkgKyAnPC9idXR0b24+JzsKICAgICAgICAgIH0pLmpvaW4oJycpICsgJzwvZGl2PjwvZGl2Pic7CiAgICAgIH0pOwogICAgICBoICs9ICc8L2Rpdj48cCBjbGFzcz0ic3NsLWtleSBzZGwtbm9uZSIgaGlkZGVuPuimi+OBpOOBi+OCiuOBvuOBm+OCk+OBp+OBl+OBnzwvcD48cCBjbGFzcz0ic3NsLWtleSI+6JaE44GE5paH5a2X44Gu5puy44Gv44CB44G+44Gg6YCx44GU44Go44Gu44OH44O844K\/44GM44GC44KK44G+44Gb44KTPC9wPic7CiAgICAgIGJveC5pbm5lckhUTUwgPSBoOwogICAgICB2YXIgcSA9IGJveC5xdWVyeVNlbGVjdG9yKCcuc2RsLXEnKTsKICAgICAgcS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICB2YXIgdiA9IGthbmEocS52YWx1ZSksIGFueSA9IGZhbHNlOwogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYm94LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZGwtcGcnKSwgZnVuY3Rpb24gKGcpIHsKICAgICAgICAgIHZhciBnbSA9ICF2IHx8IGcuZ2V0QXR0cmlidXRlKCdkYXRhLWcnKS5pbmRleE9mKHYpID49IDAsIG4gPSAwOwogICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChnLnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZGwtcGMnKSwgZnVuY3Rpb24gKGIpIHsKICAgICAgICAgICAgdmFyIG9rID0gZ20gfHwgYi5nZXRBdHRyaWJ1dGUoJ2RhdGEtcScpLmluZGV4T2YodikgPj0gMDsKICAgICAgICAgICAgYi5oaWRkZW4gPSAhb2s7IGlmIChvaykgbisrOwogICAgICAgICAgfSk7CiAgICAgICAgICBnLmhpZGRlbiA9IG4gPT09IDA7IGlmIChuKSBhbnkgPSB0cnVlOwogICAgICAgIH0pOwogICAgICAgIGJveC5xdWVyeVNlbGVjdG9yKCcuc2RsLW5vbmUnKS5oaWRkZW4gPSBhbnk7CiAgICAgIH0pOwogICAgfQoKICAgIGZ1bmN0aW9uIHJlbmRlckN1bSgpIHsKICAgICAgdmFyIHNzID0gc3QuZGF0YS5zb25ncywgYm94ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuc2RsLWN1bScpOwogICAgICB2YXIgaGFzQWwgPSBzcy5zb21lKGZ1bmN0aW9uIChzKSB7IHJldHVybiBzLnR5cGUgPT09ICdhbGJ1bSc7IH0pOwogICAgICBpZiAoIWhhc0FsKSBzdC5jYXQgPSAnc29uZyc7CiAgICAgIHZhciB3YW50QWwgPSBzdC5jYXQgPT09ICdhbGJ1bSc7CiAgICAgIHZhciBtZXQgPSB3YW50QWwgPyAnb2QnIDogc3QubWV0LCBNID0gTUVUW21ldF07IC8vIOODh+OCuOOCv+ODq+OCouODq+ODkOODoOOBr+ODgOOCpuODs+ODreODvOODieOBoOOBke+8iOOCueODiOODquODvOODn+ODs+OCsOOBruODqeODs+OCreODs+OCsOOBjOOBquOBhOOBn+OCge+8iQogICAgICB2YXIgbGlzdCA9IHNzLm1hcChmdW5jdGlvbiAocywgaSkgeyByZXR1cm4geyBzOiBzLCBpOiBpLCB2OiBzLnRvdGFsW21ldF0gfHwgMCB9OyB9KQogICAgICAgIC5maWx0ZXIoZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHgudiA+IDAgJiYgKHgucy50eXBlID09PSAnYWxidW0nKSA9PT0gd2FudEFsOyB9KQogICAgICAgIC5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiBiLnYgLSBhLnY7IH0pOwogICAgICB2YXIgbWF4ID0gbGlzdC5sZW5ndGggPyBsaXN0WzBdLnYgOiAwOwogICAgICB2YXIgaCA9ICc8ZGl2IGNsYXNzPSJzc2wtaCI+44Kq44Oq44Kz44Oz57Sv6KiIJyArIChtZXQgPT09ICdvcycgPyAn5YaN55Sf5pWwJyA6ICfjg4Djgqbjg7Pjg63jg7zjg4nmlbAnKSArICh3YW50QWwgPyAn77yI44OH44K444K\/44Or44Ki44Or44OQ44Og77yJJyA6ICcnKSArICc8L2Rpdj4nICsKICAgICAgICAoaGFzQWwgPyBjaGlwcygnY2F0Jywgc3QuY2F0LCBbWydzb25nJywgJ+absiddLCBbJ2FsYnVtJywgJ+ODh+OCuOOCv+ODq+OCouODq+ODkOODoCddXSkgOiAnJykgKyAod2FudEFsID8gJycgOiBjaGlwcygnbWV0Jywgc3QubWV0KSk7CiAgICAgIGlmICghbGlzdC5sZW5ndGgpIGggKz0gJzxwIGNsYXNzPSJzc2wta2V5Ij7jgb7jgaDjg4fjg7zjgr\/jgYzjgYLjgorjgb7jgZvjgpM8L3A+JzsKICAgICAgaCArPSAnPGRpdiBjbGFzcz0ic3NsLXJhbmsiPic7CiAgICAgIGxpc3QuZm9yRWFjaChmdW5jdGlvbiAoeCwgaykgewogICAgICAgIHZhciBoaWRlID0gIXN0Lm1vcmUgJiYgayA+PSA4OwogICAgICAgIGggKz0gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic3NsLXJrIiBkYXRhLWk9IicgKyB4LmkgKyAnIicgKyAoeC5pID09PSBzdC5zZWwgPyAnIGFyaWEtY3VycmVudD0idHJ1ZSInIDogJycpICsgKGhpZGUgPyAnIGhpZGRlbicgOiAnJykgKyAnPicgKwogICAgICAgICAgJzxzcGFuIGNsYXNzPSJuIj48YiBjbGFzcz0ibyI+JyArIChrICsgMSkgKyAnPC9iPicgKyBlc2MoeC5zLm5hbWUpICsgKHgudiA+PSBNLmxpbmUgPyAnPHNwYW4gY2xhc3M9Im1kIiByb2xlPSJpbWciIGFyaWEtbGFiZWw9IicgKyBNLmxpbmVMICsgJ+mBlOaIkCI+8J+Oljwvc3Bhbj4nIDogJycpICsgJzwvc3Bhbj4nICsKICAgICAgICAgICc8c3BhbiBjbGFzcz0idiI+JyArIG9yaSh4LnYpICsgJzxzbWFsbD4nICsgTS51bml0ICsgJzwvc21hbGw+PC9zcGFuPicgKwogICAgICAgICAgJzxzcGFuIGNsYXNzPSJiYXIiPjxpIHN0eWxlPSJ3aWR0aDonICsgKHgudiAvIG1heCAqIDEwMCkudG9GaXhlZCgxKSArICclIj48L2k+JyArCiAgICAgICAgICAoTS5saW5lIDw9IG1heCA\/ICc8dSBzdHlsZT0ibGVmdDonICsgKE0ubGluZSAvIG1heCAqIDEwMCkudG9GaXhlZCgxKSArICclIj48L3U+JyA6ICcnKSArICc8L3NwYW4+JyArCiAgICAgICAgICAoeC5zLnJlbGVhc2UgPyAnPHNwYW4gY2xhc3M9Im50Ij4nICsgZXNjKHgucy5yZWxlYXNlKSArICcg6YWN5L+h6ZaL5aeLPC9zcGFuPicgOiAnJykgKyAnPC9idXR0b24+JzsKICAgICAgfSk7CiAgICAgIGggKz0gJzwvZGl2Pic7CiAgICAgIGlmIChsaXN0Lmxlbmd0aCA+IDgpIGggKz0gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic3NsLW1vcmUiIGRhdGEtbW9yZT0iMSI+JyArIChzdC5tb3JlID8gJ+S4iuS9jTjmm7LjgaDjgZHooajnpLonIDogJ+OBu+OBi+OBricgKyAobGlzdC5sZW5ndGggLSA4KSArICfmm7LjgoLooajnpLonKSArICc8L2J1dHRvbj4nOwogICAgICBpZiAoTS5saW5lIDw9IG1heCkgaCArPSAnPHAgY2xhc3M9InNzbC1rZXkiPjx1PjwvdT4nICsgTS5saW5lTCArICfjga7jg6njgqTjg7M8L3A+JzsKICAgICAgaCArPSAnPHAgY2xhc3M9InNzbC1rZXkiPuOCquODquOCs+ODs+OBruiRl+S9nOaoqeOBq+mFjeaFruOBl+OBpjAuMeS4h+WNmOS9jeOBp+aOsui8ieOBl+OBpuOBhOOBvuOBmTwvcD4nOwogICAgICBib3guaW5uZXJIVE1MID0gaDsKICAgIH0KCiAgICBmdW5jdGlvbiByZW5kZXJEZXRhaWwoKSB7CiAgICAgIHZhciBzcyA9IHN0LmRhdGEuc29uZ3MsIHMgPSBzc1tzdC5zZWxdLCBib3ggPSByb290LnF1ZXJ5U2VsZWN0b3IoJy5zc2wtZGV0YWlsJyk7CiAgICAgIHZhciBuYXYgPSBmdW5jdGlvbiAoY2xzKSB7CiAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJzc2wtbmF2JyArIGNscyArICciPjxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9Ii0xIicgKyAoY2xzID8gJyBkYXRhLXRvcD0iMSInIDogJycpICsgKHN0LnNlbCA9PT0gMCA\/ICcgZGlzYWJsZWQnIDogJycpICsgJz7igLkg5paw44GX44GE5puyPC9idXR0b24+JyArCiAgICAgICAgICAoY2xzID8gJzxzcGFuIGNsYXNzPSJubSI+JyArIGVzYyhzLm5hbWUpICsgJzwvc3Bhbj4nIDogJzxzcGFuPicgKyAoc3Quc2VsICsgMSkgKyAnIC8gJyArIHNzLmxlbmd0aCArICc8L3NwYW4+JykgKwogICAgICAgICAgJzxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLXN0ZXA9IjEiJyArIChjbHMgPyAnIGRhdGEtdG9wPSIxIicgOiAnJykgKyAoc3Quc2VsID09PSBzcy5sZW5ndGggLSAxID8gJyBkaXNhYmxlZCcgOiAnJykgKyAnPuWPpOOBhOabsiDigLo8L2J1dHRvbj48L2Rpdj4nOwogICAgICB9OwogICAgICB2YXIgaCA9IG5hdignJyk7CiAgICAgIGggKz0gJzxkaXYgY2xhc3M9InNzbC1oZWFkIj4nICsgKHNhZmUocy5jb3ZlcikgPyAnPGltZyBzcmM9IicgKyBlc2Mocy5jb3ZlcikgKyAnIiBhbHQ9IiIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0IiBsb2FkaW5nPSJsYXp5Ij4nIDogJycpICsKICAgICAgICAnPGRpdj48ZGl2IGNsYXNzPSJzc2wtdCI+JyArIGVzYyhzLm5hbWUpICsgJzwvZGl2PjxkaXYgY2xhc3M9InNzbC1zIj4nICsgKHMud29yayAmJiBzLndvcmsgIT09IHMubmFtZSA\/ICflj47pjLLvvJonICsgZXNjKHMud29yaykgKyAn44CAJyA6ICcnKSArIChzLnJlbGVhc2UgPyBlc2Mocy5yZWxlYXNlKSArICcg6YWN5L+h6ZaL5aeLJyA6ICcnKSArICc8L2Rpdj48L2Rpdj48L2Rpdj4nOwogICAgICB2YXIgaXNBID0gcy50eXBlID09PSAnYWxidW0nOyAvLyDjg4fjgrjjgr\/jg6vjgqLjg6vjg5Djg6DvvJrjgqrjg6rjgrPjg7Pjga9ETOOBoOOBkeOAgUJpbGxib2FyZOOBr+OCueODiOODquODvOODn+ODs+OCsOOBrumghuS9jeOCguOBguOCiwogICAgICB2YXIgYVN0ciA9IGlzQSAmJiBoYXNCYlN0cihzKTsKICAgICAgdmFyIG5hID0gJzxzbWFsbCBjbGFzcz0ic2RsLW5hIj7lr77osaHlpJY8L3NtYWxsPic7CiAgICAgIGggKz0gaXNBCiAgICAgICAgPyAnPGRpdiBjbGFzcz0ic3NsLXN0YXRzIj48ZGl2PjxzcGFuPuOCquODquOCs+ODsyDntK\/oqIhETOaVsDwvc3Bhbj48Yj4nICsgb3JpKHMudG90YWwub2QpICsgJzxzbWFsbD5ETDwvc21hbGw+PC9iPjwvZGl2PicgKwogICAgICAgICAgKHMudG90YWwuYmQgIT0gbnVsbCA\/ICc8ZGl2PjxzcGFuPkJpbGxib2FyZCDntK\/oqIhETOaVsDwvc3Bhbj48Yj4nICsgZm10KHMudG90YWwuYmQpICsgJzxzbWFsbD5ETDwvc21hbGw+PC9iPjwvZGl2PicgOiAnJykgKyAnPC9kaXY+JwogICAgICAgIDogJzxkaXYgY2xhc3M9InNzbC1zdGF0cyI+PGRpdj48c3Bhbj7jgqrjg6rjgrPjg7Mg57Sv6KiI5YaN55Sf5pWwPC9zcGFuPjxiPicgKyBvcmkocy50b3RhbC5vcykgKyAnPHNtYWxsPuWbnjwvc21hbGw+PC9iPjwvZGl2PicgKwogICAgICAgICAgJzxkaXY+PHNwYW4+44Kq44Oq44Kz44OzIOe0r+ioiERM5pWwPC9zcGFuPjxiPicgKyBvcmkocy50b3RhbC5vZCkgKyAnPHNtYWxsPkRMPC9zbWFsbD48L2I+PC9kaXY+PC9kaXY+JzsKICAgICAgaWYgKCFpc0EgJiYgKHMudG90YWwuYnMgIT0gbnVsbCB8fCBzLnRvdGFsLmJkICE9IG51bGwpKSB7CiAgICAgICAgaCArPSAnPGRpdiBjbGFzcz0ic3NsLXN0YXRzIHNkbC1iYnMiPjxkaXY+PHNwYW4+QmlsbGJvYXJkIOe0r+ioiOWGjeeUn+aVsDwvc3Bhbj48Yj4nICsgKHMudG90YWwuYnMgIT0gbnVsbCA\/IGZtdChzLnRvdGFsLmJzKSArICc8c21hbGw+5ZuePC9zbWFsbD4nIDogJ+KAlCcpICsgJzwvYj48L2Rpdj4nICsKICAgICAgICAgICc8ZGl2PjxzcGFuPkJpbGxib2FyZCDntK\/oqIhETOaVsDwvc3Bhbj48Yj4nICsgKHMudG90YWwuYmQgIT0gbnVsbCA\/IGZtdChzLnRvdGFsLmJkKSArICc8c21hbGw+REw8L3NtYWxsPicgOiAn4oCUJykgKyAnPC9iPjwvZGl2PjwvZGl2Pic7CiAgICAgIH0KICAgICAgdmFyIGNlbGwgPSBmdW5jdGlvbiAocikgeyByZXR1cm4gci5iZXN0ID09PSBudWxsID8gJ+KAlCcgOiAn5pyA6auYJyArIHIuYmVzdCArICfkvY08c21hbGw+77yIJyArIHIud2Vla3MgKyAn6YCx77yJPC9zbWFsbD4nOyB9OwogICAgICBoICs9ICc8ZGl2IGNsYXNzPSJzc2wtZncgc2RsLWJlc3QiIHJvbGU9InRhYmxlIiBhcmlhLWxhYmVsPSLmnIDpq5jpoIbkvY3jgajjg6njg7Pjgq\/jgqTjg7PpgLHmlbAiPjxkaXYgY2xhc3M9ImhkIj48L2Rpdj48ZGl2IGNsYXNzPSJoZCI+44Kq44Oq44Kz44OzPC9kaXY+PGRpdiBjbGFzcz0iaGQiPkJpbGxib2FyZCBKQVBBTjwvZGl2PicgKwogICAgICAgICghaXNBID8gJzxkaXYgY2xhc3M9InIiPlNUUjwvZGl2PjxkaXYgY2xhc3M9InZ2Ij4nICsgY2VsbChzLnJhbmsub3NyKSArICc8L2Rpdj48ZGl2IGNsYXNzPSJ2diI+JyArIGNlbGwocy5yYW5rLmJzcikgKyAnPC9kaXY+JwogICAgICAgICAgOiBhU3RyID8gJzxkaXYgY2xhc3M9InIiPlNUUjwvZGl2PjxkaXYgY2xhc3M9InZ2Ij4nICsgbmEgKyAnPC9kaXY+PGRpdiBjbGFzcz0idnYiPicgKyBjZWxsKHMucmFuay5ic3IpICsgJzwvZGl2PicgOiAnJykgKwogICAgICAgICc8ZGl2IGNsYXNzPSJyIj5ETDwvZGl2PjxkaXYgY2xhc3M9InZ2Ij4nICsgY2VsbChzLnJhbmsub2RyKSArICc8L2Rpdj48ZGl2IGNsYXNzPSJ2diI+JyArIGNlbGwocy5yYW5rLmJkcikgKyAnPC9kaXY+PC9kaXY+JzsKICAgICAgaCArPSAnPHAgY2xhc3M9InNzbC1rZXkiPu+8iCDvvInjga\/jg6njg7Pjgq\/jgqTjg7PjgZfjgZ\/pgLHmlbA8L3A+JzsKICAgICAgaWYgKHJjV2VlayhzKSAhPT0gbnVsbCkgaCArPSAnPHAgY2xhc3M9InNzbC1ub3RlIHNkbC1yYyI+PGI+44Oq44Kr44Os44Oz44OI44Or44O844OrPC9iPicgKyBlc2MocmNOb3RlKHMpKSArICfvvIjnrKwnICsgcmNXZWVrKHMpICsgJ+mAseOBpycgKyByY04ocykgKyAn5Zue55uu44Gu44Op44Oz44Kv44Kk44Oz77yJPC9wPic7CiAgICAgIHZhciBmID0gcy5maXJzdCB8fCB7fTsKICAgICAgdmFyIGZjID0gZnVuY3Rpb24gKG4sIHIsIHVuaXQpIHsKICAgICAgICB2YXIgdCA9IG4gPT0gbnVsbCA\/ICcnIDogb3JpKG4pICsgJzxzbWFsbD4nICsgdW5pdCArICc8L3NtYWxsPic7CiAgICAgICAgdmFyIHEgPSBTdHJpbmcociB8fCAnJykudHJpbSgpOwogICAgICAgIGlmICghdCkgcmV0dXJuIHEgPyBlc2MocmsocSkpIDogJ+KAlCc7CiAgICAgICAgcmV0dXJuIHQgKyAocSA\/ICc8YnI+PHNtYWxsIGNsYXNzPSJzZGwtcmsiPicgKyBlc2MocmsocSkpICsgJzwvc21hbGw+JyA6ICcnKTsKICAgICAgfTsKICAgICAgdmFyIGZjYiA9IGZ1bmN0aW9uIChuLCByLCB1bml0KSB7IC8vIEJpbGxib2FyZOOBr+ato+eiuuOBquaVsOWtlwogICAgICAgIHZhciBxID0gU3RyaW5nKHIgfHwgJycpLnRyaW0oKTsKICAgICAgICBpZiAobiA9PSBudWxsKSByZXR1cm4gcSA\/IGVzYyhyayhxKSkgOiAn4oCUJzsKICAgICAgICByZXR1cm4gZm10KG4pICsgJzxzbWFsbD4nICsgdW5pdCArICc8L3NtYWxsPicgKyAocSA\/ICc8YnI+PHNtYWxsIGNsYXNzPSJzZGwtcmsiPicgKyBlc2MocmsocSkpICsgJzwvc21hbGw+JyA6ICcnKTsKICAgICAgfTsKICAgICAgaWYgKGYub2QgIT0gbnVsbCB8fCBmLm9zICE9IG51bGwgfHwgZi5iZCAhPSBudWxsIHx8IGYuYnMgIT0gbnVsbCB8fCBmLm9kciB8fCBmLm9zciB8fCBmLmJkciB8fCBmLmJzcikgewogICAgICAgIGggKz0gJzxkaXYgY2xhc3M9InNzbC1zZXAiPjxkaXYgY2xhc3M9InNzbC1oIj7liJ3pgLE8L2Rpdj48ZGl2IGNsYXNzPSJzc2wtZncgc2RsLWJlc3QiIHJvbGU9InRhYmxlIiBhcmlhLWxhYmVsPSLliJ3pgLHjga7jg4fjg7zjgr8iPjxkaXYgY2xhc3M9ImhkIj48L2Rpdj48ZGl2IGNsYXNzPSJoZCI+44Kq44Oq44Kz44OzPC9kaXY+PGRpdiBjbGFzcz0iaGQiPkJpbGxib2FyZCBKQVBBTjwvZGl2PicgKwogICAgICAgICAgKCFpc0EgPyAnPGRpdiBjbGFzcz0iciI+U1RSPC9kaXY+PGRpdiBjbGFzcz0idnYiPicgKyBmYyhmLm9zLCBmLm9zciwgJ+WbnicpICsgJzwvZGl2PjxkaXYgY2xhc3M9InZ2Ij4nICsgZmNiKGYuYnMsIGYuYnNyLCAn5ZueJykgKyAnPC9kaXY+JwogICAgICAgICAgICA6IGFTdHIgPyAnPGRpdiBjbGFzcz0iciI+U1RSPC9kaXY+PGRpdiBjbGFzcz0idnYiPicgKyBuYSArICc8L2Rpdj48ZGl2IGNsYXNzPSJ2diI+JyArIGZjYihudWxsLCBmLmJzciwgJycpICsgJzwvZGl2PicgOiAnJykgKwogICAgICAgICAgJzxkaXYgY2xhc3M9InIiPkRMPC9kaXY+PGRpdiBjbGFzcz0idnYiPicgKyBmYyhmLm9kLCBmLm9kciwgJ0RMJykgKyAnPC9kaXY+PGRpdiBjbGFzcz0idnYiPicgKyBmY2IoZi5iZCwgZi5iZHIsICdETCcpICsgJzwvZGl2PjwvZGl2PjwvZGl2Pic7CiAgICAgIH0KICAgICAgaWYgKHMubm90ZXMgJiYgcy5ub3Rlcy5sZW5ndGgpIHsKICAgICAgICBoICs9ICc8ZGV0YWlscz48c3VtbWFyeT7oqJjpjLLjg6Hjg6LvvIgnICsgcy5ub3Rlcy5sZW5ndGggKyAn5Lu277yJPC9zdW1tYXJ5Pjx1bD4nICsgcy5ub3Rlcy5tYXAoZnVuY3Rpb24gKHQpIHsgcmV0dXJuICc8bGk+JyArIGVzYyh0KSArICc8L2xpPic7IH0pLmpvaW4oJycpICsgJzwvdWw+PC9kZXRhaWxzPic7CiAgICAgIH0KICAgICAgdmFyIG53ID0gKHMubmV3cyB8fCBbXSkuZmlsdGVyKGZ1bmN0aW9uICh4KSB7IHJldHVybiBzYWZlKHgudSk7IH0pOwogICAgICBpZiAobncubGVuZ3RoKSB7CiAgICAgICAgaCArPSAnPGRldGFpbHM+PHN1bW1hcnk+6Zai6YCj6KiY5LqL77yIJyArIG53Lmxlbmd0aCArICfku7bvvIk8L3N1bW1hcnk+PHVsPicgKyBudy5tYXAoZnVuY3Rpb24gKHgpIHsKICAgICAgICAgIHJldHVybiAnPGxpPjxhIGhyZWY9IicgKyBlc2MoeC51KSArICciIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIG5vcmVmZXJyZXIiPicgKyBlc2MoeC50IHx8IHgudSkgKyAnPC9hPjwvbGk+JzsKICAgICAgICB9KS5qb2luKCcnKSArICc8L3VsPjwvZGV0YWlscz4nOwogICAgICB9CiAgICAgIGlmIChzLm5vdGUpIGggKz0gJzxwIGNsYXNzPSJzc2wtbm90ZSI+JyArIGVzYyhzLm5vdGUpICsgJzwvcD4nOwogICAgICBoICs9IGxpbmtzKHMpICsgeWVhcmx5KHMpOwogICAgICBoICs9ICc8ZGl2IGNsYXNzPSJzc2wtc2VwIj48ZGl2IGNsYXNzPSJzc2wtaCI+6YCx44GU44Go44Gu5o6o56e7JyArIChpc0EgJiYgIWFTdHIgPyAn77yI44OA44Km44Oz44Ot44O844OJ77yJJyA6ICcnKSArICc8L2Rpdj4nICsgKGlzQSAmJiAhYVN0ciA\/ICcnIDogY2hpcHMoJ3dtZXQnLCBzdC53bWV0KSk7CiAgICAgIGlmIChzLndlZWtseS5sZW5ndGggPiAxMikgewogICAgICAgIGggKz0gJzxkaXYgY2xhc3M9InNzbC1jaGlwcyIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9IuihqOekuuOBmeOCi+acn+mWkyI+JyArCiAgICAgICAgICBbWydmaXJzdCcsICfmnIDliJ3jga4xMumAsSddLCBbJ2xhc3QnLCAn5pyA6L+R44GuMTLpgLEnXSwgWydhbGwnLCAn44GZ44G544GmJ11dLm1hcChmdW5jdGlvbiAobSkgewogICAgICAgICAgICByZXR1cm4gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBkYXRhLW1vZGU9IicgKyBtWzBdICsgJyIgYXJpYS1wcmVzc2VkPSInICsgKHN0Lm1vZGUgPT09IG1bMF0pICsgJyI+JyArIG1bMV0gKyAnPC9idXR0b24+JzsKICAgICAgICAgIH0pLmpvaW4oJycpICsgJzwvZGl2Pic7CiAgICAgIH0KICAgICAgaCArPSAnPGRpdiBjbGFzcz0ic3NsLXJhbmdlIj48L2Rpdj4nICsgbmF2KCcgc3NsLW5hdi1iJykgKyAnPC9kaXY+JzsKICAgICAgYm94LmlubmVySFRNTCA9IGg7CiAgICAgIHJlbmRlclJhbmdlKCk7CiAgICB9CgogICAgLy8g6YWN5L+h44K144O844OT44K544G444Gu44Oq44Oz44Kv77yI44Ki44OV44Kj44Oq44Ko44Kk44OI77yJ77ya44Ki44Kk44Kz44Oz55S75YOP44GM44GC44KM44Gw55S75YOP44CB44Gq44GR44KM44Gw5ZCN5YmN44Gu44Oc44K\/44OzCiAgICBmdW5jdGlvbiBsaW5rcyhzKSB7CiAgICAgIHZhciBMID0gKHMubGlua3MgfHwgW10pLmZpbHRlcihmdW5jdGlvbiAobCkgeyByZXR1cm4gc2FmZShsLnVybCk7IH0pOwogICAgICBpZiAoIUwubGVuZ3RoKSByZXR1cm4gJyc7CiAgICAgIHZhciBncm91cCA9IGZ1bmN0aW9uICh0LCBsYWJlbCkgewogICAgICAgIHZhciBnID0gTC5maWx0ZXIoZnVuY3Rpb24gKGwpIHsgcmV0dXJuIGwudCA9PT0gdDsgfSk7CiAgICAgICAgaWYgKCFnLmxlbmd0aCkgcmV0dXJuICcnOwogICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0ic2RsLWxnIj48c3BhbiBjbGFzcz0ic2RsLWx0Ij4nICsgbGFiZWwgKyAnPC9zcGFuPjxkaXYgY2xhc3M9InNkbC1scyI+JyArIGcubWFwKGZ1bmN0aW9uIChsKSB7CiAgICAgICAgICByZXR1cm4gJzxhIGNsYXNzPSJzZGwtbGsiIGhyZWY9IicgKyBlc2MobC51cmwpICsgJyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ic3BvbnNvcmVkIG5vb3BlbmVyIj4nICsKICAgICAgICAgICAgKHNhZmUobC5pY29uKSA\/ICc8aW1nIHNyYz0iJyArIGVzYyhsLmljb24pICsgJyIgYWx0PSIiIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgbG9hZGluZz0ibGF6eSI+JyA6ICc8aSBhcmlhLWhpZGRlbj0idHJ1ZSI+JyArIGVzYyhsLm5hbWUuY2hhckF0KDApKSArICc8L2k+JykgKwogICAgICAgICAgICAnPHNwYW4+JyArIGVzYyhsLm5hbWUpICsgJzwvc3Bhbj48L2E+JzsKICAgICAgICB9KS5qb2luKCcnKSArICc8L2Rpdj48L2Rpdj4nOwogICAgICB9OwogICAgICByZXR1cm4gJzxkaXYgY2xhc3M9InNzbC1zZXAgc2RsLWxpbmtzIj48ZGl2IGNsYXNzPSJzc2wtaCI+6IG044GP44O744OA44Km44Oz44Ot44O844OJ44GZ44KLIDxzbWFsbCBjbGFzcz0ic2RsLXByIj5QUjwvc21hbGw+PC9kaXY+JyArCiAgICAgICAgZ3JvdXAoJ3N0JywgJ+OCueODiOODquODvOODn+ODs+OCsCcpICsgZ3JvdXAoJ2RsJywgJ+ODgOOCpuODs+ODreODvOODiScpICsKICAgICAgICAnPHAgY2xhc3M9InNzbC1rZXkiPuKAuyDkuIDpg6jjgqLjg5XjgqPjg6rjgqjjgqTjg4jjg6rjg7Pjgq\/jgpLlkKvjgb\/jgb7jgZk8L3A+PC9kaXY+JzsKICAgIH0KCiAgICBmdW5jdGlvbiB5ZWFybHkocykgewogICAgICB2YXIgWSA9IHMueWVhcmx5IHx8IFtdOwogICAgICBpZiAoIVkubGVuZ3RoKSByZXR1cm4gJyc7CiAgICAgIHZhciBoID0gJzxkaXYgY2xhc3M9InNzbC1zZXAiPjxkaXYgY2xhc3M9InNzbC1oIj7lubTplpPjg6njg7Pjgq3jg7PjgrA8L2Rpdj48ZGl2IGNsYXNzPSJzc2wtdGIgc2RsLXlyIiByb2xlPSJ0YWJsZSI+JyArCiAgICAgICAgJzxkaXYgY2xhc3M9InNzbC10ciB0aCIgcm9sZT0icm93Ij48c3Bhbj7lubQ8L3NwYW4+PHNwYW4+6ZuG6KiI5YWDPC9zcGFuPjxzcGFuPumDqOmWgDwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtIj7poIbkvY08L3NwYW4+PC9kaXY+JzsKICAgICAgWS5mb3JFYWNoKGZ1bmN0aW9uICh5KSB7CiAgICAgICAgdmFyIHZhbCA9IHkudiA9PSBudWxsID8gJycgOiAnPHNtYWxsPicgKyAoeS5vcmkgPyBvcmkoeS52KSA6IGZtdCh5LnYpKSArICc8L3NtYWxsPic7CiAgICAgICAgaCArPSAnPGRpdiBjbGFzcz0ic3NsLXRyIiByb2xlPSJyb3ciPjxzcGFuIGNsYXNzPSJhIj4nICsgZXNjKHkueSkgKyAnPC9zcGFuPjxzcGFuPicgKyBlc2MoeS5zcmMpICsgJzwvc3Bhbj4nICsKICAgICAgICAgICc8c3BhbiBjbGFzcz0icCI+JyArIGVzYyh5LmNhdCkgKyAoeS5tID8gJzxzbWFsbCBjbGFzcz0ic2RsLW0iPicgKyBlc2MoeS5tKSArICc8L3NtYWxsPicgOiAnJykgKyAnPC9zcGFuPicgKwogICAgICAgICAgJzxzcGFuIGNsYXNzPSJudW0gaycgKyAoeS5yID09PSAnMScgPyAnIHRvcCcgOiAnJykgKyAnIj4nICsgZXNjKHJrKHkucikpICsgdmFsICsgJzwvc3Bhbj48L2Rpdj4nOwogICAgICB9KTsKICAgICAgaCArPSAnPC9kaXY+JzsKICAgICAgaWYgKFkuc29tZShmdW5jdGlvbiAoeSkgeyByZXR1cm4geS5vcmkgJiYgeS52ICE9IG51bGw7IH0pKSBoICs9ICc8cCBjbGFzcz0ic3NsLWtleSI+44Kq44Oq44Kz44Oz44Gu5pWw5YCk44Gv6JGX5L2c5qip44Gr6YWN5oWu44GX44GmMC4x5LiH5Y2Y5L2N44Gn5o6y6LyJ44GX44Gm44GE44G+44GZPC9wPic7CiAgICAgIHJldHVybiBoICsgJzwvZGl2Pic7CiAgICB9CgogICAgLy8gQmlsbGJvYXJkIOOBruOCueODiOODquODvOODn+ODs+OCsOOBp+OAgeabsuOBrzUy5Zue55uu44O744Ki44Or44OQ44Og44GvMjblm57nm67jga7jg6njg7Pjgq\/jgqTjg7PjgpLjgZfjgZ\/pgLHvvIjjgZPjgZPjgafjg6rjgqvjg6zjg7Pjg4jjg6vjg7zjg6vjga7lr77osaHjgavjgarjgovvvIkKICAgIGZ1bmN0aW9uIHJjTihzKSB7IHJldHVybiBzLnR5cGUgPT09ICdhbGJ1bScgPyAyNiA6IDUyOyB9CiAgICBmdW5jdGlvbiByY05vdGUocykgewogICAgICB2YXIgbiA9IHJjTihzKSwgYSA9IHMudHlwZSA9PT0gJ2FsYnVtJzsKICAgICAgcmV0dXJuICdCaWxsYm9hcmQgSkFQQU7jgafjga8yMDI15bm05LiL5Y2K5pyf44GL44KJ44CB44K544OI44Oq44O844Of44Oz44Kw44GrJyArIG4gKyAn6YCx5Lul5LiK44Op44Oz44Kv44Kk44Oz44GX44GfJyArIChhID8gJ+OCouODq+ODkOODoCcgOiAn5puyJykgKwogICAgICAgICfjga7jg53jgqTjg7Pjg4jjgpLkuIDlrprjga7libLlkIjjgafmuJvnrpfjgZnjgovjgIzjg6rjgqvjg6zjg7Pjg4jjg6vjg7zjg6vjgI3jgYzlsI7lhaXjgZXjgozjgabjgYTjgb7jgZnjgILjgZPjga4nICsgKGEgPyAn44Ki44Or44OQ44OgJyA6ICfmm7InKSArICfjga8nICsgbiArICfpgLHjg6njg7Pjgq\/jgqTjg7PjgZfjgZ\/jgZ\/jgoHjgIHjgZ3jgozku6XpmY3jga7poIbkvY3jga\/jgZPjga7jg6vjg7zjg6vjga7lr77osaHjgafjgZnjgIInOwogICAgfQogICAgZnVuY3Rpb24gcmNXZWVrKHMpIHsKICAgICAgaWYgKHMucmMgIT09IHVuZGVmaW5lZCkgcmV0dXJuIHMucmM7CiAgICAgIHMucmMgPSBudWxsOwogICAgICB2YXIgbiA9IDA7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcy53ZWVrbHkubGVuZ3RoOyBpKyspIHsKICAgICAgICBpZiAoL15cZCskLy50ZXN0KFN0cmluZyhzLndlZWtseVtpXS5ic3IgfHwgJycpLnRyaW0oKSkpIHsgbisrOyBpZiAobiA9PT0gcmNOKHMpKSB7IHMucmMgPSBzLndlZWtseVtpXS53ZTsgYnJlYWs7IH0gfQogICAgICB9CiAgICAgIHJldHVybiBzLnJjOwogICAgfQoKICAgIGZ1bmN0aW9uIGhhc0JiU3RyKHMpIHsgcmV0dXJuIHMud2Vla2x5LnNvbWUoZnVuY3Rpb24gKHcpIHsgcmV0dXJuIFN0cmluZyh3LmJzciB8fCAnJykudHJpbSgpICE9PSAnJzsgfSkgfHwgISEocy5maXJzdCAmJiBzLmZpcnN0LmJzcik7IH0KCiAgICBmdW5jdGlvbiBzZXRZZWFycyhzKSB7CiAgICAgIGlmIChzLnlkKSByZXR1cm47IHMueWQgPSB0cnVlOwogICAgICB2YXIgbSA9IFN0cmluZyhzLnJlbGVhc2UpLm1hdGNoKC8oXGR7NH0pLyksIHkgPSBtID8gK21bMV0gOiBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIHByZXYgPSBudWxsOwogICAgICBzLndlZWtseS5mb3JFYWNoKGZ1bmN0aW9uIChyKSB7CiAgICAgICAgdmFyIGQgPSBTdHJpbmcoci5wKS5tYXRjaCgvXihcZHsxLDJ9KVwvKFxkezEsMn0pLyk7CiAgICAgICAgaWYgKCFkKSB7IHIueSA9IHk7IHJldHVybjsgfQogICAgICAgIHZhciB0ID0gbmV3IERhdGUoeSwgK2RbMV0gLSAxLCArZFsyXSkuZ2V0VGltZSgpOwogICAgICAgIHdoaWxlIChwcmV2ICE9PSBudWxsICYmIHQgPCBwcmV2IC0gMzAgKiA4NjRlNSkgeyB5Kys7IHQgPSBuZXcgRGF0ZSh5LCArZFsxXSAtIDEsICtkWzJdKS5nZXRUaW1lKCk7IH0KICAgICAgICBwcmV2ID0gdDsgci55ID0geTsKICAgICAgfSk7CiAgICB9CgogICAgZnVuY3Rpb24gcmVuZGVyUmFuZ2UoKSB7CiAgICAgIHZhciBzID0gc3QuZGF0YS5zb25nc1tzdC5zZWxdLCBpc0EgPSBzLnR5cGUgPT09ICdhbGJ1bScsIGFTdHJNID0gaXNBICYmIHN0LndtZXQgPT09ICdvcycgJiYgaGFzQmJTdHIocyk7CiAgICAgIHZhciBNID0gaXNBICYmICFhU3RyTSA\/IE1FVC5vZCA6IE1FVFtzdC53bWV0XSwgYm94ID0gcm9vdC5xdWVyeVNlbGVjdG9yKCcuc3NsLXJhbmdlJyk7CiAgICAgIHNldFllYXJzKHMpOwogICAgICB2YXIgTCA9IHMud2Vla2x5LCByb3dzID0gTC5sZW5ndGggPD0gMTIgfHwgc3QubW9kZSA9PT0gJ2FsbCcgPyBMIDogKHN0Lm1vZGUgPT09ICdsYXN0JyA\/IEwuc2xpY2UoLTEyKSA6IEwuc2xpY2UoMCwgMTIpKTsKICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLW1vZGVdJyksIGZ1bmN0aW9uIChiKSB7IGIuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCBTdHJpbmcoYi5nZXRBdHRyaWJ1dGUoJ2RhdGEtbW9kZScpID09PSBzdC5tb2RlKSk7IH0pOwogICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHJvb3QucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtd21ldF0nKSwgZnVuY3Rpb24gKGIpIHsgYi5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsIFN0cmluZyhiLmdldEF0dHJpYnV0ZSgnZGF0YS13bWV0JykgPT09IHN0LndtZXQpKTsgfSk7CiAgICAgIHZhciBjID0gYVN0ck0gPyBudWxsIDogY2hhcnQocm93cywgTSk7CiAgICAgIHZhciBoID0gJyc7CiAgICAgIGlmIChjKSBoICs9ICc8ZGl2IGNsYXNzPSJzc2wtY2hhcnQiPicgKyBjLnN2ZyArICc8ZGl2IGNsYXNzPSJzc2wtY2FwIiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9kaXY+PC9kaXY+JzsKICAgICAgLy8g44OH44K444K\/44Or44Ki44Or44OQ44Og44Gu44K544OI44Oq44O844Of44Oz44Kw44GvQmlsbGJvYXJk44Gu6aCG5L2N44Gg44GR77yI44Kq44Oq44Kz44Oz44Gu5YiX44Gv5Ye644GV44Gq44GE77yJCiAgICAgIGggKz0gYVN0ck0KICAgICAgICA\/ICc8ZGl2IGNsYXNzPSJzc2wtdGIgc2RsLXRiIHNkbC10YjMiIHJvbGU9InRhYmxlIj48ZGl2IGNsYXNzPSJzc2wtdHIgdGgiIHJvbGU9InJvdyI+PHNwYW4+6YCxPC9zcGFuPjxzcGFuPuacn+mWkzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtIj5CaWxsYm9hcmQg6aCG5L2NPC9zcGFuPjwvZGl2PicKICAgICAgICA6ICc8ZGl2IGNsYXNzPSJzc2wtdGIgc2RsLXRiIiByb2xlPSJ0YWJsZSI+PGRpdiBjbGFzcz0ic3NsLXRyIHRoIiByb2xlPSJyb3ciPjxzcGFuPumAsTwvc3Bhbj48c3Bhbj7mnJ\/plpM8L3NwYW4+PHNwYW4gY2xhc3M9Im51bSI+JyArIChNID09PSBNRVQub3MgPyAn5YaN55Sf5pWwJyA6ICdETOaVsCcpICsgJzwvc3Bhbj48c3BhbiBjbGFzcz0ibnVtIj7jgqrjg6rjgrPjg7M8YnI+6aCG5L2NPC9zcGFuPjxzcGFuIGNsYXNzPSJudW0iPuODk+ODq+ODnDxicj7poIbkvY08L3NwYW4+PC9kaXY+JzsKICAgICAgdmFyIGxhc3RZID0gbnVsbDsKICAgICAgLy8g5YWl5Yqb44GX44Gf57Sv6KiI44Gv5pWw5a2X44Gr5Y+N5pig44GZ44KL44Gg44GR44CCMeWEhOWbnu+8iERM44GvMTDkuIdETO+8ieOBruWMuuWIh+OCiuOCkui2heOBiOOBn+mAseOBoOOBkeOAjOeqgeegtOOAjeOBruazqOmHiOOCkuWHuuOBmQogICAgICB2YXIgc3RlcCA9IE0gPT09IE1FVC5vcyA\/IDFlOCA6IDFlNTsKICAgICAgdmFyIG1pbGUgPSBmdW5jdGlvbiAobGFiZWwsIHIsIGtleSkgewogICAgICAgIHZhciBpID0gTC5pbmRleE9mKHIpLCBwcmV2ID0gMDsKICAgICAgICBmb3IgKHZhciBqID0gaSAtIDE7IGogPj0gMDsgai0tKSB7IGlmIChMW2pdW2tleV0gIT0gbnVsbCkgeyBwcmV2ID0gTFtqXVtrZXldOyBicmVhazsgfSB9CiAgICAgICAgdmFyIG5vdyA9IHJba2V5XSB8fCAwLCBrID0gTWF0aC5mbG9vcihub3cgLyBzdGVwKTsKICAgICAgICBpZiAoayA8IDEgfHwgayA8PSBNYXRoLmZsb29yKHByZXYgLyBzdGVwKSkgcmV0dXJuICcnOwogICAgICAgIHZhciB0ID0gTSA9PT0gTUVULm9zID8gKGsgKyAn5YSE5ZueJykgOiAoayAqIDEwICsgJ+S4h0RMJyk7CiAgICAgICAgcmV0dXJuICc8c3BhbiBjbGFzcz0ic2RsLWtuIj4nICsgbGFiZWwgKyAn57Sv6KiIJyArIHQgKyAn56qB56C0PC9zcGFuPic7CiAgICAgIH07CiAgICAgIHJvd3MuZm9yRWFjaChmdW5jdGlvbiAocikgewogICAgICAgIGlmIChyLnkgIT09IGxhc3RZKSB7IGggKz0gJzxkaXYgY2xhc3M9InNzbC15ciI+JyArIHIueSArICflubQ8L2Rpdj4nOyBsYXN0WSA9IHIueTsgfQogICAgICAgIHZhciBvID0gcltNLm9yXSwgYiA9IHJbTS5icl0sIGJuID0gcltNLmJuXSwga24gPSByLmtub3duIHx8IHt9OwogICAgICAgIGggKz0gJzxkaXYgY2xhc3M9InNzbC10ciIgcm9sZT0icm93Ij48c3BhbiBjbGFzcz0iYSI+JyArIGVzYyhyLncpICsgJzwvc3Bhbj48c3BhbiBjbGFzcz0icCI+JyArIGVzYyhyLnApICsKICAgICAgICAgIChibiAhPSBudWxsID8gJzxzcGFuIGNsYXNzPSJzZGwtYm4iPkJpbGxib2FyZCAnICsgZm10KGJuKSArIE0udW5pdCArICc8L3NwYW4+JyA6ICcnKSArCiAgICAgICAgICAoIWFTdHJNICYmIGtuW00ud2tdID8gbWlsZSgn44Kq44Oq44Kz44OzJywgciwgTS5jdW0pIDogJycpICsKICAgICAgICAgIChrbltNLmJuXSA\/IG1pbGUoJ0JpbGxib2FyZCcsIHIsIE0gPT09IE1FVC5vcyA\/ICdjYnMnIDogJ2NiZCcpIDogJycpICsKICAgICAgICAgIChNID09PSBNRVQub3MgJiYgcmNXZWVrKHMpID09PSByLndlID8gJzxzcGFuIGNsYXNzPSJzZGwtcmNiIj5CaWxsYm9hcmQgJyArIHJjTihzKSArICflm57nm67jga7jg6njg7Pjgq\/jgqTjg7PvvIjku6XpmY3jg6rjgqvjg6zjg7Pjg4jjg6vjg7zjg6vlr77osaHvvIk8L3NwYW4+JyA6ICcnKSArICc8L3NwYW4+JyArCiAgICAgICAgICAoYVN0ck0gPyAnJyA6ICc8c3BhbiBjbGFzcz0ibnVtIj4nICsgKHJbTS53a10gPT0gbnVsbCA\/ICfigJQnIDogb3JpKHJbTS53a10pKSArICc8L3NwYW4+JyArCiAgICAgICAgICAgICc8c3BhbiBjbGFzcz0ibnVtIGsnICsgKG8gPT09ICcxJyA\/ICcgdG9wJyA6ICcnKSArICciPicgKyBlc2MocmsobykpICsgJzwvc3Bhbj4nKSArCiAgICAgICAgICAnPHNwYW4gY2xhc3M9Im51bSBrJyArIChiID09PSAnMScgPyAnIHRvcCcgOiAnJykgKyAnIj4nICsgZXNjKHJrKGIpKSArICc8L3NwYW4+PC9kaXY+JzsKICAgICAgfSk7CiAgICAgIGggKz0gJzwvZGl2Pic7CiAgICAgIGlmICghcm93cy5sZW5ndGgpIGggKz0gJzxwIGNsYXNzPSJzc2wta2V5Ij7jgb7jgaDjg4fjg7zjgr\/jgYzjgYLjgorjgb7jgZvjgpM8L3A+JzsKICAgICAgaWYgKE0gPT09IE1FVC5vcyAmJiByY1dlZWsocykgIT09IG51bGwpIGggKz0gJzxwIGNsYXNzPSJzc2wta2V5Ij7nrKwnICsgcmNXZWVrKHMpICsgJ+mAseOBp0JpbGxib2FyZOOBqycgKyByY04ocykgKyAn5Zue44Op44Oz44Kv44Kk44Oz44GX44Gf44Gf44KB44CB5Lul6ZmN44GvIEJpbGxib2FyZCBKQVBBTiDjga7jg6rjgqvjg6zjg7Pjg4jjg6vjg7zjg6vvvIgnICsgcmNOKHMpICsgJ+mAseS7peS4iuODqeODs+OCr+OCpOODs+OBl+OBnycgKyAocy50eXBlID09PSAnYWxidW0nID8gJ+OCouODq+ODkOODoCcgOiAn5puyJykgKyAn44Gu44Od44Kk44Oz44OI5rib566X77yJ44Gu5a++6LGh44Gn44GZPC9wPic7CiAgICAgIGggKz0gYVN0ck0gPyAnPHAgY2xhc3M9InNzbC1rZXkiPuOCquODquOCs+ODs+OBq+OBr+OCouODq+ODkOODoOOBruOCueODiOODquODvOODn+ODs+OCsOODqeODs+OCreODs+OCsOOBjOOBquOBhOOBn+OCgeOAgUJpbGxib2FyZOOBrumghuS9jeOBoOOBkeOCkui8ieOBm+OBpuOBhOOBvuOBmeOAguKAlCDjga\/jg6njg7Pjgq\/lpJbjgafjgZk8L3A+JwogICAgICAgIDogJzxwIGNsYXNzPSJzc2wta2V5Ij7jgqrjg6rjgrPjg7Pjga7mlbDlrZfjga8nICsgKE0gPT09IE1FVC5vcyA\/ICfpgLHplpPlho3nlJ\/mlbAnIDogJ+mAsemWk+ODgOOCpuODs+ODreODvOODieaVsCcpICsgJ++8iOiRl+S9nOaoqeOBq+mFjeaFruOBl+OBpjAuMeS4h+WNmOS9je+8ieOAguKAlCDjga\/jg6njg7Pjgq\/lpJbjgafjgZk8L3A+JzsKICAgICAgYm94LmlubmVySFRNTCA9IGg7CiAgICAgIGlmIChjKSBiaW5kQ2hhcnQoYm94LCBjLCBNKTsKICAgIH0KCiAgICBmdW5jdGlvbiBjaGFydChyb3dzLCBNKSB7CiAgICAgIHZhciBwdHMgPSByb3dzLmZpbHRlcihmdW5jdGlvbiAocikgeyByZXR1cm4gcltNLmN1bV0gPiAwOyB9KS5tYXAoZnVuY3Rpb24gKHIpIHsgcmV0dXJuIHsgeDogci53ZSwgeTogcltNLmN1bV0sIHI6IHIgfTsgfSk7CiAgICAgIGlmIChwdHMubGVuZ3RoIDwgMikgcmV0dXJuIG51bGw7CiAgICAgIHZhciBXID0gMzQwLCBIID0gMTc4LCBMbSA9IDUwLCBSID0gMTIsIFQgPSAxNCwgQiA9IDI0OwogICAgICB2YXIgeDAgPSBwdHNbMF0ueCwgeDEgPSBwdHNbcHRzLmxlbmd0aCAtIDFdLng7CiAgICAgIGlmICh4MSA9PT0geDApIHgxID0geDAgKyAxOwogICAgICB2YXIgbG8gPSBJbmZpbml0eSwgaGkgPSAtSW5maW5pdHk7CiAgICAgIHB0cy5mb3JFYWNoKGZ1bmN0aW9uIChwKSB7IGlmIChwLnkgPCBsbykgbG8gPSBwLnk7IGlmIChwLnkgPiBoaSkgaGkgPSBwLnk7IH0pOwogICAgICB2YXIgcGFkID0gTWF0aC5tYXgoKGhpIC0gbG8pICogMC4xMiwgaGkgKiAwLjAwMiksIHkwID0gTWF0aC5tYXgoMCwgbG8gLSBwYWQpLCB5MSA9IGhpICsgcGFkOwogICAgICB2YXIgc3ggPSBmdW5jdGlvbiAoeCkgeyByZXR1cm4gTG0gKyAoeCAtIHgwKSAvICh4MSAtIHgwKSAqIChXIC0gTG0gLSBSKTsgfTsKICAgICAgdmFyIHN5ID0gZnVuY3Rpb24gKHkpIHsgcmV0dXJuIFQgKyAoMSAtICh5IC0geTApIC8gKHkxIC0geTApKSAqIChIIC0gVCAtIEIpOyB9OwogICAgICB2YXIgcyA9ICc8c3ZnIHZpZXdCb3g9IjAgMCAnICsgVyArICcgJyArIEggKyAnIiByb2xlPSJpbWciIGFyaWEtbGFiZWw9Iue0r+ioiOOBruaOqOenu+OCsOODqeODlSI+JzsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCA0OyBpKyspIHsKICAgICAgICB2YXIgdiA9IHkwICsgKHkxIC0geTApICogaSAvIDMsIHl5ID0gc3kodikudG9GaXhlZCgxKTsKICAgICAgICBzICs9ICc8bGluZSBjbGFzcz0iZyIgeDE9IicgKyBMbSArICciIHgyPSInICsgKFcgLSBSKSArICciIHkxPSInICsgeXkgKyAnIiB5Mj0iJyArIHl5ICsgJyIvPjx0ZXh0IGNsYXNzPSJ0IiB4PSInICsgKExtIC0gNikgKyAnIiB5PSInICsgKE51bWJlcih5eSkgKyA0KSArICciIHRleHQtYW5jaG9yPSJlbmQiPicgKyBvcmkodikgKyAnPC90ZXh0Pic7CiAgICAgIH0KICAgICAgaWYgKHkwIDwgTS5saW5lICYmIE0ubGluZSA8IHkxKSB7CiAgICAgICAgdmFyIG15ID0gc3koTS5saW5lKS50b0ZpeGVkKDEpOwogICAgICAgIHMgKz0gJzxsaW5lIGNsYXNzPSJtbCIgeDE9IicgKyBMbSArICciIHgyPSInICsgKFcgLSBSKSArICciIHkxPSInICsgbXkgKyAnIiB5Mj0iJyArIG15ICsgJyIvPjx0ZXh0IGNsYXNzPSJtdCIgeD0iJyArIChXIC0gUikgKyAnIiB5PSInICsgKG15IC0gNCkgKyAnIiB0ZXh0LWFuY2hvcj0iZW5kIj4nICsgTS5saW5lTCArICc8L3RleHQ+JzsKICAgICAgfQogICAgICB2YXIgZCA9IHB0cy5tYXAoZnVuY3Rpb24gKHAsIGkpIHsgcmV0dXJuIChpID8gJ0wnIDogJ00nKSArIHN4KHAueCkudG9GaXhlZCgxKSArICcgJyArIHN5KHAueSkudG9GaXhlZCgxKTsgfSkuam9pbignJyk7CiAgICAgIHMgKz0gJzxwYXRoIGNsYXNzPSJhciIgZD0iJyArIGQgKyAnTCcgKyBzeCh4MSkudG9GaXhlZCgxKSArICcgJyArIHN5KHkwKS50b0ZpeGVkKDEpICsgJ0wnICsgc3goeDApLnRvRml4ZWQoMSkgKyAnICcgKyBzeSh5MCkudG9GaXhlZCgxKSArICdaIi8+PHBhdGggY2xhc3M9ImxuIiBkPSInICsgZCArICciLz4nOwogICAgICBzICs9ICc8dGV4dCBjbGFzcz0idCIgeD0iJyArIExtICsgJyIgeT0iJyArIChIIC0gNikgKyAnIj7nrKwnICsgeDAgKyAn6YCxPC90ZXh0Pjx0ZXh0IGNsYXNzPSJ0IiB4PSInICsgKFcgLSBSKSArICciIHk9IicgKyAoSCAtIDYpICsgJyIgdGV4dC1hbmNob3I9ImVuZCI+56ysJyArIHgxICsgJ+mAsTwvdGV4dD4nOwogICAgICBzICs9ICc8bGluZSBjbGFzcz0iY3giIHgxPSIwIiB4Mj0iMCIgeTE9IicgKyBUICsgJyIgeTI9IicgKyAoSCAtIEIpICsgJyIgc3R5bGU9ImRpc3BsYXk6bm9uZSIvPjxjaXJjbGUgY2xhc3M9ImNkIiByPSI0LjUiIGN4PSIwIiBjeT0iMCIgc3R5bGU9ImRpc3BsYXk6bm9uZSIvPic7CiAgICAgIHMgKz0gJzxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSInICsgVyArICciIGhlaWdodD0iJyArIEggKyAnIiBmaWxsPSJ0cmFuc3BhcmVudCIvPjwvc3ZnPic7CiAgICAgIHJldHVybiB7IHN2ZzogcywgcHRzOiBwdHMsIHN4OiBzeCwgc3k6IHN5LCBXOiBXIH07CiAgICB9CgogICAgZnVuY3Rpb24gYmluZENoYXJ0KGJveCwgYywgTSkgewogICAgICB2YXIgc3ZnID0gYm94LnF1ZXJ5U2VsZWN0b3IoJ3N2ZycpLCBjYXAgPSBib3gucXVlcnlTZWxlY3RvcignLnNzbC1jYXAnKTsKICAgICAgdmFyIGN4ID0gc3ZnLnF1ZXJ5U2VsZWN0b3IoJy5jeCcpLCBjZCA9IHN2Zy5xdWVyeVNlbGVjdG9yKCcuY2QnKTsKICAgICAgZnVuY3Rpb24gc2F5KHApIHsgY2FwLmlubmVySFRNTCA9ICfnrKwnICsgZXNjKHAuci53KSArICfpgLHjgIAnICsgKHAuci55ID8gcC5yLnkgKyAn5bm0ICcgOiAnJykgKyBlc2MocC5yLnApICsgJ+OAgOe0r+ioiCA8Yj4nICsgb3JpKHAueSkgKyBNLnVuaXQgKyAnPC9iPic7IH0KICAgICAgZnVuY3Rpb24gc2hvdyhjbGllbnRYKSB7CiAgICAgICAgdmFyIHIgPSBzdmcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksIHggPSAoY2xpZW50WCAtIHIubGVmdCkgLyByLndpZHRoICogYy5XLCBiaSA9IDAsIGJkID0gMWU5OwogICAgICAgIGMucHRzLmZvckVhY2goZnVuY3Rpb24gKHAsIGkpIHsgdmFyIGRkID0gTWF0aC5hYnMoYy5zeChwLngpIC0geCk7IGlmIChkZCA8IGJkKSB7IGJkID0gZGQ7IGJpID0gaTsgfSB9KTsKICAgICAgICB2YXIgcCA9IGMucHRzW2JpXSwgcHggPSBjLnN4KHAueCk7CiAgICAgICAgY3guc2V0QXR0cmlidXRlKCd4MScsIHB4KTsgY3guc2V0QXR0cmlidXRlKCd4MicsIHB4KTsgY3guc3R5bGUuZGlzcGxheSA9ICcnOwogICAgICAgIGNkLnNldEF0dHJpYnV0ZSgnY3gnLCBweCk7IGNkLnNldEF0dHJpYnV0ZSgnY3knLCBjLnN5KHAueSkpOyBjZC5zdHlsZS5kaXNwbGF5ID0gJyc7CiAgICAgICAgc2F5KHApOwogICAgICB9CiAgICAgIHN2Zy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVybW92ZScsIGZ1bmN0aW9uIChlKSB7IHNob3coZS5jbGllbnRYKTsgfSk7CiAgICAgIHN2Zy5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIGZ1bmN0aW9uIChlKSB7IHNob3coZS5jbGllbnRYKTsgfSk7CiAgICAgIHNheShjLnB0c1tjLnB0cy5sZW5ndGggLSAxXSk7CiAgICAgIGNhcC5pbnNlcnRBZGphY2VudEhUTUwoJ2JlZm9yZWVuZCcsICc8c3BhbiBjbGFzcz0ic3NsLWhpbnQiPuOCsOODqeODleOCkuOBquOBnuOCi+OBqOOAgeWQhOmAseOBruOCquODquOCs+ODs+e0r+ioiOOBjOimi+OCieOCjOOBvuOBmTwvc3Bhbj4nKTsKICAgIH0KCiAgICBmdW5jdGlvbiBzZWxlY3QoaSwgc2Nyb2xsKSB7CiAgICAgIGlmIChpIDwgMCB8fCBpID49IHN0LmRhdGEuc29uZ3MubGVuZ3RoKSByZXR1cm47CiAgICAgIHN0LnNlbCA9IGk7CiAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuc3NsLXJrJyksIGZ1bmN0aW9uIChiKSB7CiAgICAgICAgaWYgKE51bWJlcihiLmdldEF0dHJpYnV0ZSgnZGF0YS1pJykpID09PSBpKSB7IGIuc2V0QXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnLCAndHJ1ZScpOyBiLmhpZGRlbiA9IGZhbHNlOyB9IGVsc2UgYi5yZW1vdmVBdHRyaWJ1dGUoJ2FyaWEtY3VycmVudCcpOwogICAgICB9KTsKICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChyb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZGwtcGMnKSwgZnVuY3Rpb24gKGIpIHsKICAgICAgICBpZiAoTnVtYmVyKGIuZ2V0QXR0cmlidXRlKCdkYXRhLXBpY2snKSkgPT09IGkpIGIuc2V0QXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnLCAndHJ1ZScpOyBlbHNlIGIucmVtb3ZlQXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnKTsKICAgICAgfSk7CiAgICAgIHJlbmRlckRldGFpbCgpOwogICAgICB0cnkgeyBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgJyNzZGw9JyArIGkpOyB9IGNhdGNoIChlKSB7IC8qIOeEoeimliAqLyB9CiAgICAgIGlmIChzY3JvbGwpIHsKICAgICAgICB2YXIgY2FsbSA9IHdpbmRvdy5tYXRjaE1lZGlhICYmIG1hdGNoTWVkaWEoJyhwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpJykubWF0Y2hlczsKICAgICAgICByb290LnF1ZXJ5U2VsZWN0b3IoJy5zc2wtZGV0YWlsJykuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogY2FsbSA\/ICdhdXRvJyA6ICdzbW9vdGgnLCBibG9jazogJ3N0YXJ0JyB9KTsKICAgICAgfQogICAgfQoKICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoZSkgewogICAgICB2YXIgYiA9IGUudGFyZ2V0LmNsb3Nlc3QgPyBlLnRhcmdldC5jbG9zZXN0KCdidXR0b24nKSA6IG51bGw7CiAgICAgIGlmICghYiB8fCAhcm9vdC5jb250YWlucyhiKSkgcmV0dXJuOwogICAgICBpZiAoYi5oYXNBdHRyaWJ1dGUoJ2RhdGEtcmV0cnknKSkgeyBtc2coJ+iqreOBv+i+vOOBv+S4reKApicpOyBsb2FkKCk7IH0KICAgICAgZWxzZSBpZiAoYi5oYXNBdHRyaWJ1dGUoJ2RhdGEtaScpKSBzZWxlY3QoTnVtYmVyKGIuZ2V0QXR0cmlidXRlKCdkYXRhLWknKSksIHRydWUpOwogICAgICBlbHNlIGlmIChiLmhhc0F0dHJpYnV0ZSgnZGF0YS1waWNrJykpIHNlbGVjdChOdW1iZXIoYi5nZXRBdHRyaWJ1dGUoJ2RhdGEtcGljaycpKSwgdHJ1ZSk7CiAgICAgIGVsc2UgaWYgKGIuaGFzQXR0cmlidXRlKCdkYXRhLXN0ZXAnKSkgc2VsZWN0KHN0LnNlbCArIE51bWJlcihiLmdldEF0dHJpYnV0ZSgnZGF0YS1zdGVwJykpLCBiLmhhc0F0dHJpYnV0ZSgnZGF0YS10b3AnKSk7CiAgICAgIGVsc2UgaWYgKGIuaGFzQXR0cmlidXRlKCdkYXRhLW1vZGUnKSkgeyBzdC5tb2RlID0gYi5nZXRBdHRyaWJ1dGUoJ2RhdGEtbW9kZScpOyByZW5kZXJSYW5nZSgpOyB9CiAgICAgIGVsc2UgaWYgKGIuaGFzQXR0cmlidXRlKCdkYXRhLW1ldCcpKSB7IHN0Lm1ldCA9IGIuZ2V0QXR0cmlidXRlKCdkYXRhLW1ldCcpOyByZW5kZXJDdW0oKTsgfQogICAgICBlbHNlIGlmIChiLmhhc0F0dHJpYnV0ZSgnZGF0YS1jYXQnKSkgeyBzdC5jYXQgPSBiLmdldEF0dHJpYnV0ZSgnZGF0YS1jYXQnKTsgcmVuZGVyQ3VtKCk7IH0KICAgICAgZWxzZSBpZiAoYi5oYXNBdHRyaWJ1dGUoJ2RhdGEtd21ldCcpKSB7IHN0LndtZXQgPSBiLmdldEF0dHJpYnV0ZSgnZGF0YS13bWV0Jyk7IHJlbmRlclJhbmdlKCk7IH0KICAgICAgZWxzZSBpZiAoYi5oYXNBdHRyaWJ1dGUoJ2RhdGEtbW9yZScpKSB7IHN0Lm1vcmUgPSAhc3QubW9yZTsgcmVuZGVyQ3VtKCk7IH0KICAgIH0pOwoKICAgIHZhciBzaG93biA9IGZhbHNlOwogICAgdmFyIG1zZyA9IGZ1bmN0aW9uICh0LCByZXRyeSkgewogICAgICBpZiAoc2hvd24pIHJldHVybjsKICAgICAgcm9vdC5pbm5lckhUTUwgPSAnPHAgY2xhc3M9InNzbC1tc2ciPicgKyB0ICsgJzwvcD4nICsKICAgICAgICAocmV0cnkgPyAnPHAgY2xhc3M9InNzbC1tc2ciPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ic3NsLW1vcmUiIGRhdGEtcmV0cnk9IjEiPuOCguOBhuS4gOW6puiqreOBv+i+vOOCgDwvYnV0dG9uPjwvcD4nIDogJycpOwogICAgfTsKICAgIHZhciBzaG93ID0gZnVuY3Rpb24gKGQsIHJhdykgewogICAgICB0cnkgeyBzdC5kYXRhID0gZDsgZHJhdygpOyBzdC5yYXcgPSByYXc7IHNob3duID0gdHJ1ZTsgcmV0dXJuIHRydWU7IH0KICAgICAgY2F0Y2ggKGUpIHsgaWYgKHdpbmRvdy5jb25zb2xlKSBjb25zb2xlLmVycm9yKCdb6YWN5L+h6KGo56S6XScsIGUpOyByZXR1cm4gZmFsc2U7IH0KICAgIH07CiAgICB2YXIgY2FjaGVkID0gbnVsbDsKICAgIHRyeSB7IGNhY2hlZCA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7IH0gY2F0Y2ggKGUpIHsgLyog54Sh6KaWICovIH0KICAgIGlmIChjYWNoZWQpIHsgdHJ5IHsgdmFyIGMwID0gSlNPTi5wYXJzZShjYWNoZWQpOyBpZiAoYzAgJiYgYzAub2spIHNob3coYzAsIGNhY2hlZCk7IH0gY2F0Y2ggKGUpIHsgLyog54Sh6KaWICovIH0gfQogICAgZnVuY3Rpb24gbG9hZCgpIHsKICAgICAgdmFyIHNsb3cgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgbXNnKCfoqq3jgb\/ovrzjgb\/jgavmmYLplpPjgYzjgYvjgYvjgaPjgabjgYTjgb7jgZnjgILlsJHjgZfjgYrlvoXjgaHjgY\/jgaDjgZXjgYTigKYnKTsgfSwgODAwMCk7CiAgICAgIGZldGNoKGFwaSArIChhcGkuaW5kZXhPZignPycpIDwgMCA\/ICc\/JyA6ICcmJykgKyAna2luZD1kaWdpdGFsJywgeyBjYWNoZTogJ25vLXN0b3JlJyB9KQogICAgICAgIC50aGVuKGZ1bmN0aW9uIChyKSB7IHJldHVybiByLnRleHQoKTsgfSkKICAgICAgICAudGhlbihmdW5jdGlvbiAodCkgewogICAgICAgICAgY2xlYXJUaW1lb3V0KHNsb3cpOwogICAgICAgICAgdmFyIGQgPSBKU09OLnBhcnNlKHQpOwogICAgICAgICAgaWYgKCFkLm9rKSB0aHJvdyBuZXcgRXJyb3IoZC5lcnJvciB8fCAnZXJyb3InKTsKICAgICAgICAgIGlmIChzaG93biAmJiB0ID09PSBzdC5yYXcpIHJldHVybjsKICAgICAgICAgIHZhciBwcmV2ID0gc2hvd24gPyBzdC5yYXcgOiBudWxsOwogICAgICAgICAgc2hvd24gPSBmYWxzZTsKICAgICAgICAgIGlmIChzaG93KGQsIHQpKSB7IHRyeSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdCk7IH0gY2F0Y2ggKGUpIHsgLyog54Sh6KaWICovIH0gfQogICAgICAgICAgZWxzZSBpZiAoIShwcmV2ICYmIHNob3coSlNPTi5wYXJzZShwcmV2KSwgcHJldikpKSBtc2coJ+ihqOekuuS4reOBq+OCqOODqeODvOOBjOi1t+OBjeOBvuOBl+OBn+OAguaZgumWk+OCkuOBiuOBhOOBpuOBi+OCieOAgeOCguOBhuS4gOW6pumWi+OBhOOBpuOBj+OBoOOBleOBhOOAgicsIHRydWUpOwogICAgICAgIH0pCiAgICAgICAgLmNhdGNoKGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICBjbGVhclRpbWVvdXQoc2xvdyk7CiAgICAgICAgICBpZiAod2luZG93LmNvbnNvbGUpIGNvbnNvbGUuZXJyb3IoJ1vphY3kv6HooajnpLpdJywgZSk7CiAgICAgICAgICBtc2coJ+ODh+ODvOOCv+OCkuiqreOBv+i+vOOCgeOBvuOBm+OCk+OBp+OBl+OBn+OAgumAmuS\/oeOBrueKtuaFi+OCkueiuuiqjeOBl+OBpuOAgeOCguOBhuS4gOW6puOBiuippuOBl+OBj+OBoOOBleOBhOOAgicsIHRydWUpOwogICAgICAgIH0pOwogICAgfQogICAgbG9hZCgpOwogIH0KCiAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuc3NsW2RhdGEtZGFwaV0nKSwgaW5pdCk7Cn0pKCk7Cg==\"),u=new Uint8Array(s.length);for(var i=0;i!==s.length;i++)u[i]=s.charCodeAt(i);(new Function(new TextDecoder().decode(u)))();})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u8aad\u307f\u8fbc\u307f\u4e2d\u2026 \u3053\u306e\u30da\u30fc\u30b8\u306e\u8868\u793a\u306b\u306fJavaScript\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n","protected":false},"author":1,"featured_media":8834,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[68],"tags":[66,69,70,17],"class_list":["post-8817","post","type-post","status-publish","format-standard","has-post-thumbnail","category-68","tag-66","tag-69","tag-70","tag-17"],"_links":{"self":[{"href":"https:\/\/su88ort.fun\/index.php?rest_route=\/wp\/v2\/posts\/8817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/su88ort.fun\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/su88ort.fun\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/su88ort.fun\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/su88ort.fun\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8817"}],"version-history":[{"count":10,"href":"https:\/\/su88ort.fun\/index.php?rest_route=\/wp\/v2\/posts\/8817\/revisions"}],"predecessor-version":[{"id":8862,"href":"https:\/\/su88ort.fun\/index.php?rest_route=\/wp\/v2\/posts\/8817\/revisions\/8862"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/su88ort.fun\/index.php?rest_route=\/wp\/v2\/media\/8834"}],"wp:attachment":[{"href":"https:\/\/su88ort.fun\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/su88ort.fun\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/su88ort.fun\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}