{"id":5896,"date":"2026-11-04T08:48:53","date_gmt":"2026-11-04T08:48:53","guid":{"rendered":"https:\/\/havbrisas.no\/kalender\/"},"modified":"2026-11-04T09:21:11","modified_gmt":"2026-11-04T09:21:11","slug":"kalender","status":"publish","type":"page","link":"https:\/\/havbrisas.no\/en\/kalender\/","title":{"rendered":"Kalender \u2013 hva skjer p\u00e5 Frosta"},"content":{"rendered":"<p>[et_pb_section fb_built=&raquo;1&#8243; _builder_version=&raquo;4.27.0&#8243; custom_padding=&raquo;30px||50px||false|false&raquo;][et_pb_row _builder_version=&raquo;4.27.0&#8243; width=&raquo;92%&raquo; max_width=&raquo;1240px&raquo;][et_pb_column type=&raquo;4_4&#8243; _builder_version=&raquo;4.27.0&#8243;][et_pb_code _builder_version=&raquo;4.27.0&#8243;]<\/p>\n<style>.hbk{--fj:#10222E;--sand:#F5F2EC;--or:#C24E17;--line:#E3DDD2;--mut:#5d6a73;font-family:Manrope,system-ui,sans-serif;color:var(--fj);max-width:1180px;margin:0 auto;padding:8px 0 40px}.hbk *{box-sizing:border-box}.hbk .hbk-h{font-family:\"Bricolage Grotesque\",Manrope,sans-serif;font-size:clamp(30px,4.4vw,48px);line-height:1.05;margin:0 0 10px;padding:0;color:var(--fj);font-weight:700}.hbk .hbk-intro{font-size:17px;color:var(--mut);max-width:680px;margin:0 0 22px;padding:0}.hbk-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:12px}.hbk-q{flex:1 1 220px;min-width:0;border:1px solid var(--line);border-radius:999px;padding:11px 18px;font:inherit;font-size:15px;background:#fff;color:var(--fj)}.hbk-q:focus{outline:2px solid var(--or);outline-offset:1px}.hbk-only-l{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.hbk-only-l input{width:18px;height:18px;accent-color:var(--or)}.hbk-view{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;background:#fff}.hbk-view button{border:0;background:0 0;border-radius:999px;padding:8px 16px;font:inherit;font-weight:700;font-size:14px;color:var(--fj);cursor:pointer}.hbk-view button.on{background:var(--fj);color:#fff}.hbk-filters{margin-bottom:14px}.hbk-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.hbk-chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;color:var(--mut);border-radius:999px;padding:8px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:.15s}.hbk-chip.sm{padding:5px 11px;font-size:13px}.hbk-chip.on{background:var(--sand);color:var(--fj);border-color:var(--fj)}.hbk-chip:not(.on){opacity:.65}.hbk-chip:not(.on) .hbk-dot{background:#c9c9c9!important}.hbk-sub{padding-left:12px;border-left:3px solid var(--or)}.hbk-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;margin-right:2px;vertical-align:middle}.c-havbris{--c:#C24E17}.c-kultur{--c:#6B4FA0}.c-kino{--c:#2B6CB0}.c-marked{--c:#2F855A}.c-barn{--c:#D69E2E}.c-kirke{--c:#7B5E57}.c-annet{--c:#718096}.hbk-dot{background:var(--c)}.hbk-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:18px 0 12px}.hbk-nav button,.hbk-title-m{font-weight:700;color:var(--fj)}.hbk-title-m{font-family:\"Bricolage Grotesque\",Manrope,sans-serif;font-size:26px;margin:0;padding:0}.hbk-nav{display:flex;gap:6px}.hbk-nav button{border:1px solid var(--line);background:#fff;border-radius:999px;min-width:42px;height:42px;padding:0 14px;font:inherit;font-size:15px;cursor:pointer}.hbk-chip:hover,.hbk-nav button:hover,.hbk-view button:hover{border-color:var(--fj)}.hbk-season{background:var(--sand);border-radius:16px;padding:16px 18px;margin-bottom:16px}.hbk-req h3,.hbk-season h3{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;padding:0;color:var(--fj)}.hbk-scards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.hbk-scard{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border-radius:12px;padding:12px 14px;border-left:4px solid var(--or)}.hbk-scard strong{display:block;font-size:15px;line-height:1.3}.hbk-scard span,.hbk-wd span{font-size:13px;color:var(--mut)}.hbk-grid{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.hbk-days,.hbk-wd{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.hbk-wd span{padding:10px 8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--sand)}.hbk-day{min-height:118px;border-top:1px solid var(--line);border-left:1px solid var(--line);padding:6px;display:flex;flex-direction:column;gap:3px;min-width:0}.hbk-day:nth-child(7n+1){border-left:0}.hbk-day.out,.hbk-day.past{background:#fbfaf7}.hbk-day.past .hbk-ev{opacity:.5}.hbk-dn{font-size:13px;font-weight:700;color:var(--mut);margin-bottom:2px}.hbk-day.now .hbk-dn{background:var(--or);color:#fff;border-radius:999px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}#hbk-goto,.hbk-ev{overflow:hidden;white-space:nowrap}.hbk-ev,.hbk-moreb{border:0;font:inherit;font-size:12px;text-align:left;cursor:pointer}.hbk-ev{display:block;width:100%;border-left:3px solid var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);color:var(--fj);border-radius:5px;padding:3px 6px;line-height:1.3;text-overflow:ellipsis}.hbk-ev:hover{background:color-mix(in srgb,var(--c) 20%,#fff)}.hbk-ev.x{text-decoration:line-through}.hbk-moreb{background:0 0;color:var(--or);font-weight:800;padding:2px 6px}.hbk-dg{margin-bottom:14px}.hbk-dg h4{align-items:center;gap:10px;margin:0 0 6px;padding:8px 0 0;color:var(--fj)}.hbk-dg h4 span{display:none}.hbk-row{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:12px;padding:12px 14px;margin-bottom:8px}.hbk-row.x{opacity:.6}.hbk-dg h4,.hbk-time{display:flex;font-size:15px}.hbk-time{flex-wrap:wrap;gap:4px;font-weight:800}.hbk-time span+span{border-left:1px solid var(--line);padding-left:5px}.hbk-title{border:0;background:0 0;padding:0;font:inherit;font-weight:700;font-size:16px;color:var(--fj);text-align:left;cursor:pointer;line-height:1.3}.hbk-title:hover{color:var(--or)}.hbk-mbody em,.hbk-title em{font-style:normal;background:#9b2c2c;color:#fff;border-radius:4px;padding:1px 6px;font-size:12px;margin-right:4px}.hbk-meta,.hbk-req>div{display:flex;flex-wrap:wrap}.hbk-meta{font-size:13px;color:var(--mut);margin:3px 0 0;padding:0;align-items:center;gap:3px}.hbk-src{font-style:italic}.hbk-btn{display:inline-flex;align-items:center;justify-content:center;border:0;background:var(--or);color:#fff!important;border-radius:999px;padding:10px 20px;font:inherit;font-weight:800;font-size:14px;text-decoration:none!important;cursor:pointer;white-space:nowrap}.hbk-btn:hover{filter:brightness(1.1)}.hbk-btn.sm{padding:8px 14px;font-size:13px}.hbk-btn.ghost,.hbk-req a{border:1px solid var(--line);background:#fff}.hbk-btn.ghost{color:var(--fj)!important}.hbk-empty{padding:30px;text-align:center;color:var(--mut);background:var(--sand);border-radius:12px}.hbk-link{border:0;background:0 0;color:var(--or);font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}.hbk-req{margin-top:24px}.hbk-req>div{gap:8px}.hbk-req a{border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none}.hbk-req a:hover{border-color:var(--or);color:var(--or)}.hbk-status{font-size:13px;color:var(--mut);margin-top:20px;padding:0}.hbk-mbody h3,.hbk-req a,.hbk-status a{color:var(--fj)}.hbk-modal{position:fixed;inset:0;background:rgba(16,34,46,.55);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}.hbk-modal.off{display:none}.hbk-mbox{background:#fff;border-radius:18px;max-width:560px;width:100%;max-height:88vh;overflow:auto;position:relative;padding:24px}.hbk-x{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:0;background:var(--sand);font-size:22px;line-height:1;cursor:pointer;color:var(--fj);z-index:2}.hbk-mbody img{width:calc(100% + 48px);margin:-24px -24px 16px;max-height:240px;object-fit:cover;display:block;border-radius:18px 18px 0 0}.hbk-mbody h3{font-family:\"Bricolage Grotesque\",Manrope,sans-serif;font-size:24px;line-height:1.15;margin:4px 40px 6px 0;padding:0}.hbk-when{font-weight:700;text-transform:none}.hbk-mbody p,.hbk-when{padding:0;margin:0 0 10px}.hbk-mbody dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:14px;margin:8px 0 16px}.hbk-dg h4,.hbk-mbody dt{font-weight:800}.hbk-mbody dd{margin:0}.hbk-mbody .hbk-row{grid-template-columns:80px 1fr auto}.hbk-mact{display:flex;gap:10px;flex-wrap:wrap}#hbk-goto{position:absolute;width:1px;height:1px;clip-path:inset(50%)}@media (max-width:720px){.hbk-bar{gap:10px}.hbk-q{flex-basis:100%}.hbk-day{min-height:58px;padding:3px}.hbk-ev{font-size:0;padding:0;height:6px;border-left:0;background:var(--c);border-radius:3px}.hbk-ev b{display:none}.hbk-moreb{font-size:11px;padding:0}.hbk-row{grid-template-columns:1fr auto;gap:6px 10px;padding:10px 12px}.hbk-time{grid-column:1\/-1;font-size:14px}.hbk-title{font-size:15px}.hbk-head{flex-wrap:wrap}.hbk-title-m{font-size:22px}.hbk-nav button{min-width:38px;height:38px;padding:0 10px}}<\/style>\n<div id=\"hbk\" class=\"hbk\">\n<h1 class=\"hbk-h\">Hva skjer p\u00e5 Frosta<\/h1>\n<pee class=\"hbk-intro\">Alle Havbris-turer og arrangementer p\u00e5 Frosta i \u00e9n kalender. Filtrer p\u00e5 det du er interessert i, og bestill turene v\u00e5re direkte.<\/pee>\n<div class=\"hbk-bar\"><input class=\"hbk-q\" type=\"search\" aria-label=\"S\u00f8k\"><label class=\"hbk-only-l\"><input class=\"hbk-only\" type=\"checkbox\"> <span>Bare bookbare turer<\/span><\/label><\/p>\n<div class=\"hbk-view\" role=\"group\"><button type=\"button\" class=\"v-m\" data-view=\"month\">M\u00e5ned<\/button><button type=\"button\" class=\"v-l\" data-view=\"list\">Liste<\/button><\/div>\n<\/div>\n<div class=\"hbk-filters\"><\/div>\n<div class=\"hbk-head\">\n<h2 class=\"hbk-title-m\"><\/h2>\n<div class=\"hbk-nav\"><button type=\"button\" data-nav=\"-1\" aria-label=\"Forrige m\u00e5ned\">\u2039<\/button><button type=\"button\" class=\"t\" data-nav=\"0\">I dag<\/button><button type=\"button\" data-nav=\"1\" aria-label=\"Neste m\u00e5ned\">\u203a<\/button><\/div>\n<\/div>\n<div class=\"hbk-body\" aria-live=\"polite\"><\/div>\n<div class=\"hbk-req\"><\/div>\n<pee class=\"hbk-status\" style=\"display:none\"><\/pee>\n<div class=\"hbk-modal off\">\n<div class=\"hbk-mbox\" role=\"dialog\" aria-modal=\"true\"><button type=\"button\" class=\"hbk-x\">\u00d7<\/button><\/p>\n<div class=\"hbk-mbody\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div id=\"hbk-goto\" aria-hidden=\"true\"><a class=\"goto-booking-widget-btn g-fjordstille\" href=\"https:\/\/gotobooking.io\/dc5ce13e-a23e-4af8-911c-b2bdd706df19\/gotohubwidget.js\">fjordstille<\/a><a class=\"goto-booking-widget-btn g-viking\" href=\"https:\/\/gotobooking.io\/2d6b3b0f-febf-4e1e-a5c4-cd7c9a706ba7\/gotohubwidget.js\">viking<\/a><a class=\"goto-booking-widget-btn g-topptur\" href=\"https:\/\/gotobooking.io\/38bac6c7-3c7c-40f2-a8ee-5a7bbae852ea\/gotohubwidget.js\">topptur<\/a><a class=\"goto-booking-widget-btn g-tronnoberg\" href=\"https:\/\/gotobooking.io\/e1ec08f2-f4dc-4b1f-ad20-6fd67122ea2c\/gotohubwidget.js\">tronnoberg<\/a><\/div>\n<p><script src=\"data:text\/javascript;base64,IWZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJoYmsiKTtpZih0JiYhdC5nZXRBdHRyaWJ1dGUoImRhdGEtaW5pdCIpKXt0LnNldEF0dHJpYnV0ZSgiZGF0YS1pbml0IiwiMSIpO3ZhciBlPS9eXC9lbihcL3wkKS8udGVzdChsb2NhdGlvbi5wYXRobmFtZSkscj1lP3ttb246WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdLHdkOlsiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0IiwiU3VuIl0sd2RsOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXSxtb250aDoiTW9udGgiLGxpc3Q6Ikxpc3QiLHRvZGF5OiJUb2RheSIsYm9vazoiQm9vayIscmVhZG1vcmU6IlJlYWQgbW9yZSIsc2VhcmNoOiJTZWFyY2ggZXZlbnRzIixvbmx5Ym9vazoiT25seSBib29rYWJsZSB0b3VycyIsbm9uZToiTm90aGluZyBtYXRjaGVzIHlvdXIgZmlsdGVycyB0aGlzIG1vbnRoLiIsbG9hZGluZzoiTG9hZGluZyBldmVudHMgZnJvbSBGcm9zdGHigKYiLGluc2Vhc29uOiJJbiBzZWFzb24g4oCTIGJvb2sgYSBkYXRlIHRoYXQgc3VpdHMgeW91IixvbnJlcToiQm9va2FibGUgYWxsIHllYXIsIG9uIHJlcXVlc3QiLGNhbmNlbDoiQ2FuY2VsbGVkIixzcmM6IkV2ZW50cyBhcmUgZmV0Y2hlZCBhdXRvbWF0aWNhbGx5IGZyb20iLHRvdXJzOiJIYXZicmlzIHRvdXJzIixhbGw6IkFsbCIsZnJlZToiRnJlZSIsbW9yZToibW9yZSIsb3JnOiJPcmdhbmlzZXIiLHBsYWNlOiJQbGFjZSIsY2xvc2U6IkNsb3NlIixmcm9tOiJmcm9tIixyZXNldDoiU2hvdyBldmVyeXRoaW5nIn06e21vbjpbImphbnVhciIsImZlYnJ1YXIiLCJtYXJzIiwiYXByaWwiLCJtYWkiLCJqdW5pIiwianVsaSIsImF1Z3VzdCIsInNlcHRlbWJlciIsIm9rdG9iZXIiLCJub3ZlbWJlciIsImRlc2VtYmVyIl0sd2Q6WyJtYW4iLCJ0aXIiLCJvbnMiLCJ0b3IiLCJmcmUiLCJsw7hyIiwic8O4biJdLHdkbDpbInPDuG5kYWciLCJtYW5kYWciLCJ0aXJzZGFnIiwib25zZGFnIiwidG9yc2RhZyIsImZyZWRhZyIsImzDuHJkYWciXSxtb250aDoiTcOlbmVkIixsaXN0OiJMaXN0ZSIsdG9kYXk6IkkgZGFnIixib29rOiJCZXN0aWxsIixyZWFkbW9yZToiTGVzIG1lciIsc2VhcmNoOiJTw7hrIGkga2FsZW5kZXJlbiIsb25seWJvb2s6IkJhcmUgYm9va2JhcmUgdHVyZXIiLG5vbmU6IkluZ2VudGluZyBwYXNzZXIgbWVkIGZpbHRyZW5lIGRpbmUgZGVubmUgbcOlbmVkZW4uIixsb2FkaW5nOiJIZW50ZXIgYXJyYW5nZW1lbnRlciBmcmEgRnJvc3Rh4oCmIixpbnNlYXNvbjoiSSBzZXNvbmcgbsOlIOKAkyB2aSBhdnRhbGVyIGRhdG8gbWVkIGRlZyIsb25yZXE6IkthbiBib29rZXMgaGVsZSDDpXJldCwgcMOlIGZvcmVzcMO4cnNlbCIsY2FuY2VsOiJBdmx5c3QiLHNyYzoiQXJyYW5nZW1lbnRlbmUgaGVudGVzIGF1dG9tYXRpc2sgZnJhIix0b3VyczoiSGF2YnJpcy10dXJlciIsYWxsOiJBbGxlIixmcmVlOiJHcmF0aXMiLG1vcmU6InRpbCIsb3JnOiJBcnJhbmfDuHIiLHBsYWNlOiJTdGVkIixjbG9zZToiTHVrayIsZnJvbToiZnJhIixyZXNldDoiVmlzIGFsdCJ9LG49ZT97aGF2YnJpczoiSGF2YnJpcyB0b3VycyIsa3VsdHVyOiJDb25jZXJ0cyAmIGN1bHR1cmUiLGtpbm86IkNpbmVtYSIsbWFya2VkOiJNYXJrZXRzICYgZm9vZCIsYmFybjoiS2lkcyAmIGZhbWlseSIsa2lya2U6IkNodXJjaCIsYW5uZXQ6Ik90aGVyIn06e2hhdmJyaXM6IkhhdmJyaXMtdHVyZXIiLGt1bHR1cjoiS29uc2VydCBvZyBrdWx0dXIiLGtpbm86Iktpbm8iLG1hcmtlZDoiTWFya2VkIG9nIG1hdCIsYmFybjoiQmFybiBvZyBmYW1pbGllIixraXJrZToiS2lya2UiLGFubmV0OiJBbm5ldCJ9LGE9WyJoYXZicmlzIiwia3VsdHVyIiwia2lubyIsIm1hcmtlZCIsImJhcm4iLCJraXJrZSIsImFubmV0Il0sbz17anVsZWJvcmQ6e246Ikp1bGVib3JkIGkgbmF1c3QiLG5lOiJDaHJpc3RtYXMgcGFydHkgaW4gYSBib2F0aG91c2UiLHA6ImZyYSAxIDE1MCBrciIscGU6ImZyb20gTk9LIDEsMTUwIixkOiJKdWxlbWlkZGFnIGkgbmF1c3QgdmVkIGZqb3JkZW4sIDjigJM2MCBwZXJzb25lci4gUklCLWhlbnRpbmcgaSBUcm9uZGhlaW0ga2wuIDE2LiIsZGU6IkNocmlzdG1hcyBkaW5uZXIgaW4gYSBib2F0aG91c2UgYnkgdGhlIGZqb3JkLCA44oCTNjAgZ3Vlc3RzLiBSSUIgcGljay11cCBpbiBUcm9uZGhlaW0gYXQgNCBwbS4iLHU6Ii9mam9yZHN0aWxsZS1yaWItb2ctbmF1c3QtcGEtZnJvc3RhLyIsZzoiIixmcm9tOiIyMDI2LTExLTEwIix0bzoiMjAyNi0xMi0yMCIsZGF5czoiNDU2Iix0OiIxNjowMCJ9LGZqb3Jkc3RpbGxlOntuOiJGam9yZHN0aWxsZSDigJMgUklCIG9nIG5hdXN0IixuZToiQmV5b25kIHRoZSBGam9yZCDigJMgUklCIGFuZCBib2F0aG91c2UiLHA6ImZyYSAyIDcwMCBrciBpbmtsLiBSSUIgZnJhIFRyb25kaGVpbSIscGU6ImZyb20gTk9LIDIsNzAwIGluY2wuIFJJQiBmcm9tIFRyb25kaGVpbSIsZDoiUklCLXR1ciBvZyBrdmVsZCBpIG5hdXN0IG1lZCBnb2QgbWF0LiA44oCTNjAgcGVyc29uZXIuIixkZToiUklCIHJpZGUgYW5kIGFuIGV2ZW5pbmcgaW4gYSBib2F0aG91c2Ugd2l0aCBnb29kIGZvb2QuIDjigJM2MCBndWVzdHMuIix1OiIvZmpvcmRzdGlsbGUtcmliLW9nLW5hdXN0LXBhLWZyb3N0YS8iLGc6ImZqb3Jkc3RpbGxlIixmcm9tOiIyMDI3LTAxLTA2Iix0bzoiMjAyNy0xMi0zMSIsZGF5czoiMzQiLHQ6IjE2OjAwIn0scmliOntuOiJSSUIgZmpvcmRjcnVpc2UgaSDDhXNlbmZqb3JkZW4iLG5lOiJSSUIgZmpvcmQgY3J1aXNlLCDDhXNlbmZqb3JkZW4iLHA6IjIgNDUwIGtyIHAucC4gKG1pbi4gNCkiLHBlOiJOT0sgMiw0NTAgcHAgKG1pbi4gNCkiLGQ6IjEsNSB0aW1lciBtZWQgUklCIGZyYSBWw6VnZW4gcMOlIEZyb3N0YS4iLGRlOiIxLjUgaG91cnMgYnkgUklCIGZyb20gVsOlZ2VuLCBGcm9zdGEuIix1OiIvdHJvbmRoZWltc2Zqb3JkZW4tbWVkLXJpYi8iLGc6IiIsZnJvbToiMjAyNy0wNC0wMSIsdG86IjIwMjctMTAtMzEiLGRheXM6IjAxMjM0NTYiLHQ6IjEyOjAwLDE4OjAwIn0sdmlraW5nOntuOiJGcm9zdGE6IFZpa2luZ2xvdmVyLCBraXJrZXIgb2cga2xvc3RyZSIsbmU6IkZyb3N0YTogVmlraW5nIExhd3MsIENodXJjaGVzICYgTW9uYXN0ZXJpZXMiLHA6Ijk5MCBrciwgYmFybiA0OTUga3IiLHBlOiJOT0sgOTkwLCBjaGlsZHJlbiA0OTUiLGQ6Ikd1aWRldCBoaXN0b3JpZXR1ciwgMiB0aW1lcjogVGluZ2hhdWdlbiwgTG9ndHVuLCBUYXV0cmEgb2cgTWFyaWFrbG9zdGVyZXQuIixkZToiR3VpZGVkIGhpc3RvcnkgdG91ciwgMiBob3VyczogVGluZ2hhdWdlbiwgTG9ndHVuLCBUYXV0cmEgYW5kIHRoZSBDaXN0ZXJjaWFuIGNvbnZlbnQuIix1OiIvZnJvc3RhLXZpa2luZ2xvdmVyLWtpcmtlci1vZy1rbG9zdHJlLyIsZzoidmlraW5nIixmcm9tOiIyMDI3LTA1LTAxIix0bzoiMjAyNy0wOS0zMCIsZGF5czoiMjQ2Iix0OiIxMjowMCJ9LHRyb25ub2Jlcmc6e246IlRyb25ub2Jlcmdza2FtbWVuOiB1dHNpa3Qgb2cgYsOlbCIsbmU6IlRyb25ub2Jlcmdza2FtbWVuOiB2aWV3cyBhbmQgY2FtcGZpcmUiLHA6Ijg3MCBrciwgYmFybiA0MzUga3IiLHBlOiJOT0sgODcwLCBjaGlsZHJlbiA0MzUiLGQ6Ikd1aWRldCB0dXIsIDIgdGltZXIsIG1lZCBiw6VsIG9nIHV0c2lrdCBvdmVyIFRyb25kaGVpbXNmam9yZGVuLiIsZGU6Ikd1aWRlZCBoaWtlLCAyIGhvdXJzLCB3aXRoIGNhbXBmaXJlIGFuZCB2aWV3cyBvZiB0aGUgVHJvbmRoZWltc2Zqb3JkLiIsdToiL3Ryb25ub2Jlcmdza2FtbWVuLWZyb3N0YS8iLGc6InRyb25ub2JlcmciLGZyb206IjIwMjctMDUtMDEiLHRvOiIyMDI3LTA5LTMwIixkYXlzOiIwMTIzNDU2Iix0OiIxMTowMCwxODowMCJ9fSxpPVt7azoidG9wcHR1ciIsbjoiVG9wcHR1ciBtZWQgZ3VpZGUiLG5lOiJHdWlkZWQgc2tpIHRvdXJpbmciLHA6ImZyYSAxIDk1MCBrciIscGU6ImZyb20gTk9LIDEsOTUwIix1OiIvdG9wcHR1ci1ndWlkaW5nLWktdHJvbmRlbGFnLyIsZzoidG9wcHR1ciIsbTpbMTIsMSwyLDMsNF19LHtrOiJ0cnVnZXR1ciIsbjoiVHJ1Z2V0dXIgbWVkIGd1aWRlIixuZToiR3VpZGVkIHNub3dzaG9lIGhpa2UiLHA6ImZyYSAzIDcwMCBrciBmb3IgdG8iLHBlOiJmcm9tIE5PSyAzLDcwMCBmb3IgdHdvIix1OiIvdHJ1Z2V0dXIvIixnOiIiLG06WzEyLDEsMiwzLDRdfSx7azoiZWtzcGVkaXNqb24iLG46IkVrc3BlZGlzam9uIFRyw7huZGVsYWcg4oCTIHZpbnRlciBtZWQgcHVsayIsbmU6IkV4cGVkaXRpb24gVHLDuG5kZWxhZyDigJMgd2ludGVyIHdpdGggc2xlZCIscDoiOSA5MDAga3IiLHBlOiJOT0sgOSw5MDAiLHU6Ii9la3NwZWRpc2pvbi10cm9uZGVsYWcvIixnOiIiLG06WzIsMyw0XX0se2s6ImVrc3BlZGlzam9uIixuOiJFa3NwZWRpc2pvbiBUcsO4bmRlbGFnIOKAkyBzb21tZXIgaSBmamVsbGV0IixuZToiRXhwZWRpdGlvbiBUcsO4bmRlbGFnIOKAkyBzdW1tZXIgaW4gdGhlIG1vdW50YWlucyIscDoiNiA1MDAga3IiLHBlOiJOT0sgNiw1MDAiLHU6Ii9la3NwZWRpc2pvbi10cm9uZGVsYWcvIixnOiIiLG06WzYsNyw4LDksMTBdfV0scz1be246IkVrc2tsdXNpdiBnw6VyZHN0dXJpc21lIixuZToiRXhjbHVzaXZlIGZhcm0gZXhwZXJpZW5jZSIsdToiL2Vrc2tsdXNpdi1nYXJkc3R1cmlzbWUvIn0se246IkZ1Z2xlc2FmYXJpIHDDpSBUYXV0cmEiLG5lOiJCaXJkIHNhZmFyaSBhdCBUYXV0cmEiLHU6Ii9mdWdsZXNhZmFyaS1wYS10YXV0cmEvIn0se246IkUtYmlrZSIsbmU6IkUtYmlrZSB0b3VycyIsdToiL2UtYmlrZS8ifSx7bjoiRmplbGx0dXIgcMOlIEZyb3N0YSIsbmU6Ikhpa2luZyBvbiBGcm9zdGEiLHU6Ii9mamVsbHR1ci1wYS1mcm9zdGEvIn0se246IkZyaWx1ZnRzbGl2IixuZToiT3V0ZG9vciBsaWZlIix1OiIvb3BwbGV2LWZyaWx1ZnRzbGl2ZXQtcGEtZnJvc3RhLyJ9LHtuOiJQYWtrZXR1cmVyIG9nIGZpcm1hdHVyZXIiLG5lOiJQYWNrYWdlcyBhbmQgY29tcGFueSB0cmlwcyIsdToiL3Bha2tldHVyZXIvIn1dLHU9WyJqdWxlYm9yZCIsImZqb3Jkc3RpbGxlIiwicmliIiwidmlraW5nIiwidHJvbm5vYmVyZyIsInRvcHB0dXIiLCJ0cnVnZXR1ciIsImVrc3BlZGlzam9uIl0sbD1lP3tqdWxlYm9yZDoiQ2hyaXN0bWFzIHBhcnR5Iixmam9yZHN0aWxsZToiQmV5b25kIHRoZSBGam9yZCIscmliOiJSSUIgY3J1aXNlIix2aWtpbmc6IlZpa2luZyBsYXdzIix0cm9ubm9iZXJnOiJUcm9ubm9iZXJnc2thbW1lbiIsdG9wcHR1cjoiU2tpIHRvdXJpbmciLHRydWdldHVyOiJTbm93c2hvZSIsZWtzcGVkaXNqb246IkV4cGVkaXRpb24ifTp7anVsZWJvcmQ6Ikp1bGVib3JkIixmam9yZHN0aWxsZToiRmpvcmRzdGlsbGUiLHJpYjoiUklCLWNydWlzZSIsdmlraW5nOiJWaWtpbmdsb3ZlciIsdHJvbm5vYmVyZzoiVHJvbm5vYmVyZ3NrYW1tZW4iLHRvcHB0dXI6IlRvcHB0dXIiLHRydWdldHVyOiJUcnVnZXR1ciIsZWtzcGVkaXNqb246IkVrc3BlZGlzam9uIn0sZD1uZXcgRGF0ZTtkLnNldEhvdXJzKDAsMCwwLDApO3ZhciBjPVsiamFudWFyIiwiZmVicnVhciIsIm1hcnMiLCJhcHJpbCIsIm1haSIsImp1bmkiLCJqdWxpIiwiYXVndXN0Iiwic2VwdGVtYmVyIiwib2t0b2JlciIsIm5vdmVtYmVyIiwiZGVzZW1iZXIiXSxmPXtmcmlza3VzOiLigKYiLGZyb3N0YXBvcnRlbjoi4oCmIn0saD17ZnJpc2t1czoiRnJpc2t1cyIsZnJvc3RhcG9ydGVuOiJGcm9zdGFrYWxlbmRlcuKAmW4iLGt1bHRhcjoiS3VsdGFyIixrb21tdW5lOiJGcm9zdGEga29tbXVuZSIsYnlnZGVraW5vOiJCeWdkZWtpbm9lbiJ9LGI9e3ZpZXc6d2luZG93LmlubmVyV2lkdGg8NzIwPyJsaXN0IjoibW9udGgiLHk6ZC5nZXRGdWxsWWVhcigpLG06ZC5nZXRNb250aCgpLGNhdHM6e30sdG91cnM6e30scToiIixvbmx5OiExfTthLmZvckVhY2goKGZ1bmN0aW9uKHQpe2IuY2F0c1t0XT0hMH0pKSx1LmZvckVhY2goKGZ1bmN0aW9uKHQpe2IudG91cnNbdF09ITB9KSk7dHJ5e3ZhciBrPUpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oImhia192aWV3Iil8fCJudWxsIik7Imxpc3QiIT09ayYmIm1vbnRoIiE9PWt8fChiLnZpZXc9ayl9Y2F0Y2godCl7fXZhciBnPW5ldyBVUkxTZWFyY2hQYXJhbXMobG9jYXRpb24uc2VhcmNoKTtpZihnLmdldCgidmlzIikpe3ZhciBtPWcuZ2V0KCJ2aXMiKS5zcGxpdCgiLCIpO2EuZm9yRWFjaCgoZnVuY3Rpb24odCl7Yi5jYXRzW3RdPW0uaW5kZXhPZih0KT49MH0pKX1pZihnLmdldCgidHVyIikpe3ZhciBwPWcuZ2V0KCJ0dXIiKS5zcGxpdCgiLCIpO3UuZm9yRWFjaCgoZnVuY3Rpb24odCl7Yi50b3Vyc1t0XT1wLmluZGV4T2YodCk+PTB9KSksYi5jYXRzLmhhdmJyaXM9ITB9dmFyIHYseT1bXSx3PWZ1bmN0aW9uKGUpe3JldHVybiB0LnF1ZXJ5U2VsZWN0b3IoZSl9LGo9e307aWYodC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGZ1bmN0aW9uKHMpe3ZhciBsPXMudGFyZ2V0LmNsb3Nlc3QoImJ1dHRvbixhIik7aWYobCYmdC5jb250YWlucyhsKSl7aWYobC5oYXNBdHRyaWJ1dGUoImRhdGEtY2F0Iikpe3ZhciBjPWwuZ2V0QXR0cmlidXRlKCJkYXRhLWNhdCIpO3JldHVybiBhLmV2ZXJ5KChmdW5jdGlvbih0KXtyZXR1cm4gYi5jYXRzW3RdfSkpP2EuZm9yRWFjaCgoZnVuY3Rpb24odCl7Yi5jYXRzW3RdPXQ9PT1jfSkpOmIuY2F0c1tjXT0hYi5jYXRzW2NdLGEuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIGIuY2F0c1t0XX0pKXx8YS5mb3JFYWNoKChmdW5jdGlvbih0KXtiLmNhdHNbdF09ITB9KSksdm9pZCB6KCl9aWYobC5oYXNBdHRyaWJ1dGUoImRhdGEtdG91ciIpKXt2YXIgZj1sLmdldEF0dHJpYnV0ZSgiZGF0YS10b3VyIik7cmV0dXJuIHUuZXZlcnkoKGZ1bmN0aW9uKHQpe3JldHVybiBiLnRvdXJzW3RdfSkpP3UuZm9yRWFjaCgoZnVuY3Rpb24odCl7Yi50b3Vyc1t0XT10PT09Zn0pKTpiLnRvdXJzW2ZdPSFiLnRvdXJzW2ZdLHUuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIGIudG91cnNbdF19KSl8fHUuZm9yRWFjaCgoZnVuY3Rpb24odCl7Yi50b3Vyc1t0XT0hMH0pKSx2b2lkIHooKX1pZihsLmhhc0F0dHJpYnV0ZSgiZGF0YS1yZXNldCIpKXJldHVybiBhLmZvckVhY2goKGZ1bmN0aW9uKHQpe2IuY2F0c1t0XT0hMH0pKSx1LmZvckVhY2goKGZ1bmN0aW9uKHQpe2IudG91cnNbdF09ITB9KSksYi5xPSIiLGIub25seT0hMSx3KCIuaGJrLXEiKS52YWx1ZT0iIix2b2lkIHooKTtpZihsLmhhc0F0dHJpYnV0ZSgiZGF0YS12aWV3Iikpe2Iudmlldz1sLmdldEF0dHJpYnV0ZSgiZGF0YS12aWV3Iik7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKCJoYmtfdmlldyIsSlNPTi5zdHJpbmdpZnkoYi52aWV3KSl9Y2F0Y2goZyl7fXooKX1lbHNlIGlmKGwuaGFzQXR0cmlidXRlKCJkYXRhLW5hdiIpKXt2YXIgaD0rbC5nZXRBdHRyaWJ1dGUoImRhdGEtbmF2Iik7aWYoMD09PWgpYi55PWQuZ2V0RnVsbFllYXIoKSxiLm09ZC5nZXRNb250aCgpO2Vsc2V7dmFyIGs9bmV3IERhdGUoYi55LGIubStoLDEpO2IueT1rLmdldEZ1bGxZZWFyKCksYi5tPWsuZ2V0TW9udGgoKX16KCl9ZWxzZXtpZihsLmhhc0F0dHJpYnV0ZSgiZGF0YS1ib29rIikpcmV0dXJuIHMucHJldmVudERlZmF1bHQoKSx2b2lkIGZ1bmN0aW9uKHQpe3ZhciBlPW9bdF0scj1udWxsO2kuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5rIT09dHx8cnx8KHI9ZSl9KSk7dmFyIG49ZT9lLmc6cj9yLmc6IiIsYT1DKGU\/ZS51OnIudSkscz1uP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNoYmstZ290byBhLmctIituKTpudWxsO2lmKHMpcmV0dXJuIEcoKSx2b2lkIHMuY2xpY2soKTtsb2NhdGlvbi5ocmVmPWErIiNib29rIn0obC5nZXRBdHRyaWJ1dGUoImRhdGEtYm9vayIpKTtpZihsLmhhc0F0dHJpYnV0ZSgiZGF0YS1kYXkiKSkhZnVuY3Rpb24odCl7dmFyIGU9UigpLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZGF0ZT09PXR9KSksbj14KHQpLGE9dygiLmhiay1tb2RhbCIpO2EucXVlcnlTZWxlY3RvcigiLmhiay1tYm9keSIpLmlubmVySFRNTD0iPGgzPiIrci53ZGxbbi5nZXREYXkoKV0rIiAiK24uZ2V0RGF0ZSgpKyIuICIrci5tb25bbi5nZXRNb250aCgpXSsiPC9oMz4iK2UubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gUCh0LCExKX0pKS5qb2luKCIiKSxhLmNsYXNzTGlzdC5yZW1vdmUoIm9mZiIpLGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiJ9KGwuZ2V0QXR0cmlidXRlKCJkYXRhLWRheSIpKTtlbHNlIGlmKGwuaGFzQXR0cmlidXRlKCJkYXRhLWlkIikpe3ZhciBnPWpbbC5nZXRBdHRyaWJ1dGUoImRhdGEtaWQiKV07ZyYmZnVuY3Rpb24odCl7dmFyIGE9eCh0LmRhdGUpLG89dygiLmhiay1tb2RhbCIpLGk9dC50aW1lcy5sZW5ndGg\/dC50aW1lcy5qb2luKCIgwrcgIikrKHQuZW5kPyLigJMiK3QuZW5kOiIiKToiIjtvLnF1ZXJ5U2VsZWN0b3IoIi5oYmstbWJvZHkiKS5pbm5lckhUTUw9KHQuaW1nPyc8aW1nIHNyYz0iJytNKHQuaW1nKSsnIiBhbHQ9IiIgbG9hZGluZz0ibGF6eSI+JzoiIikrJzxwIGNsYXNzPSJoYmstbWV0YSI+PGkgY2xhc3M9Imhiay1kb3QgYy0nK3QuY2F0KyciPjwvaT4nK25bdC5jYXRdKyI8L3A+PGgzPiIrKHQuY2FuY2VsPyI8ZW0+IityLmNhbmNlbCsiPC9lbT4gIjoiIikrTSh0LnRpdGxlKSsnPC9oMz48cCBjbGFzcz0iaGJrLXdoZW4iPicrci53ZGxbYS5nZXREYXkoKV0rIiAiK2EuZ2V0RGF0ZSgpKyIuICIrci5tb25bYS5nZXRNb250aCgpXSsiICIrYS5nZXRGdWxsWWVhcigpKyhpPyIsICIrTShpKToiIikrIjwvcD4iKyh0LmRlc2M\/IjxwPiIrTSh0LmRlc2MpKyI8L3A+IjoiIikrIjxkbD4iKyh0LnBsYWNlPyI8ZHQ+IityLnBsYWNlKyI8L2R0PjxkZD4iK00odC5wbGFjZSkrIjwvZGQ+IjoiIikrKHQub3JnPyI8ZHQ+IityLm9yZysiPC9kdD48ZGQ+IitNKHQub3JnKSsiPC9kZD4iOiIiKSsodC5wcmljZT8iPGR0PiIrKGU\/IlByaWNlIjoiUHJpcyIpKyI8L2R0PjxkZD4iK00odC5wcmljZSkrIjwvZGQ+IjoiIikrJzwvZGw+PGRpdiBjbGFzcz0iaGJrLW1hY3QiPicrKHQuYm9vaz8nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJoYmstYnRuIiBkYXRhLWJvb2s9IicrTSh0LnRvdXIpKyciPicrci5ib29rKyc8L2J1dHRvbj48YSBjbGFzcz0iaGJrLWJ0biBnaG9zdCIgaHJlZj0iJytNKHQudXJsKSsnIj4nK3IucmVhZG1vcmUrIjwvYT4iOic8YSBjbGFzcz0iaGJrLWJ0biBnaG9zdCIgaHJlZj0iJytNKHQudXJsKSsnIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JytyLnJlYWRtb3JlKyI8L2E+IikrIjwvZGl2PiIsby5jbGFzc0xpc3QucmVtb3ZlKCJvZmYiKSxkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iLG8ucXVlcnlTZWxlY3RvcigiLmhiay14IikuZm9jdXMoKX0oZyl9ZWxzZSBsLmNsYXNzTGlzdC5jb250YWlucygiaGJrLXgiKSYmRygpfX19KSksdC5xdWVyeVNlbGVjdG9yKCIuaGJrLW1vZGFsIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChmdW5jdGlvbih0KXt0LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnMoImhiay1tb2RhbCIpJiZHKCl9KSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsKGZ1bmN0aW9uKHQpeyJFc2NhcGUiPT09dC5rZXkmJkcoKX0pKSx3KCIuaGJrLXEiKS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKGZ1bmN0aW9uKHQpe2NsZWFyVGltZW91dCh2KSx2PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Yi5xPXQudGFyZ2V0LnZhbHVlLnRyaW0oKSx6KCl9KSwyMDApfSkpLHcoIi5oYmstb25seSIpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKHQpe2Iub25seT10LnRhcmdldC5jaGVja2VkLHooKX0pKSx3KCIuaGJrLXEiKS5zZXRBdHRyaWJ1dGUoInBsYWNlaG9sZGVyIixyLnNlYXJjaCksdygiLmhiay1vbmx5LWwgc3BhbiIpLnRleHRDb250ZW50PXIub25seWJvb2ssdC5xdWVyeVNlbGVjdG9yKCIuaGJrLXZpZXcgYnV0dG9uLnYtbSIpLnRleHRDb250ZW50PXIubW9udGgsdC5xdWVyeVNlbGVjdG9yKCIuaGJrLXZpZXcgYnV0dG9uLnYtbCIpLnRleHRDb250ZW50PXIubGlzdCx0LnF1ZXJ5U2VsZWN0b3IoIi5oYmstbmF2IC50IikudGV4dENvbnRlbnQ9ci50b2RheSx0LnF1ZXJ5U2VsZWN0b3IoIi5oYmsteCIpLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsci5jbG9zZSksZSl7dmFyIEU9dygiLmhiay1oIik7RSYmKEUudGV4dENvbnRlbnQ9IldoYXTigJlzIG9uIGluIEZyb3N0YSIpO3ZhciBGPXcoIi5oYmstaW50cm8iKTtGJiYoRi50ZXh0Q29udGVudD0iQWxsIEhhdmJyaXMgdG91cnMgYW5kIGV2ZW50cyBpbiBGcm9zdGEgaW4gb25lIGNhbGVuZGFyLiBGaWx0ZXIgYnkgd2hhdCBpbnRlcmVzdHMgeW91IGFuZCBib29rIHRvdXJzIGRpcmVjdGx5LiIpfXcoIi5oYmstYm9keSIpLmlubmVySFRNTD0nPHAgY2xhc3M9Imhiay1lbXB0eSI+JytyLmxvYWRpbmcrIjwvcD4iLHooKTt2YXIgUyxBPWZ1bmN0aW9uKCl7dmFyIHQ9TygiaGJrX2ZyIik7aWYodClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHQpO3ZhciBlPVtdO3JldHVybiBmdW5jdGlvbiB0KHIpe3JldHVybiBCKCJodHRwczovL2FwaS5mcmlza3VzLmNvbS9hcGkvdjMvZXZlbnRzP211bmljaXBhbGl0aWVzJTVCJTVEPTVlZWI0NGJjLWU0YjUtNGI2Ni05ZTQwLTg1YzBjNTIwYzljMiZtb2RlPWV2ZW50cyZwYWdlPSIrcikudGhlbigoZnVuY3Rpb24obil7KG4uZGF0YXx8W10pLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciByPXQuc3RhcnRfYXR8fCIiLG49dC5lbmRfYXR8fCIiLGE9KHQuYWdlX2dyb3VwfHxbXSkuam9pbigiICIpO2UucHVzaCh7aWQ6ImZyIisodC5vY2N1cnJlbmNlX2lkfHx0LmlkKSxzcmM6ImZyaXNrdXMiLGRhdGU6ci5zbGljZSgwLDEwKSx0aW1lczpyLmxlbmd0aD4xNT9bci5zbGljZSgxMSwxNildOltdLGVuZDpuLnNsaWNlKDExLDE2KSxlbmRkYXRlOm4uc2xpY2UoMCwxMCksdGl0bGU6dC5uYW1lLHBsYWNlOnQuYWRkcmVzcz90LmFkZHJlc3MuYWRkcmVzc3x8dC5hZGRyZXNzLm5hbWU6IiIsb3JnOnQub3JnYW5pemF0aW9uP3Qub3JnYW5pemF0aW9uLm5hbWU6IiIsaW1nOnQudGh1bWJuYWlsX3VybHx8IiIsdXJsOiJodHRwczovL2Zyb3N0YS5mcmlza3VzLmNvbS9ldmVudHMvIit0LmlkLGZyZWU6ISF0LmlzX2ZyZWUsY2FuY2VsOiEhdC5pc19jYW5jZWxlZCxjYXQ6SSh0Lm5hbWUsYSsiICIrKHQub3JnYW5pemF0aW9uP3Qub3JnYW5pemF0aW9uLm5hbWU6IiIpKX0pfSkpO3ZhciBhPW4ubWV0YXx8e307aWYoYS5sYXN0X3BhZ2UmJnI8YS5sYXN0X3BhZ2UmJnI8OClyZXR1cm4gdChyKzEpfSkpfSgxKS50aGVuKChmdW5jdGlvbigpe3JldHVybiBPKCJoYmtfZnIiLGUpLGV9KSl9KCkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIGYuZnJpc2t1cz0ib2siLHR9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZi5mcmlza3VzPSIhIixbXX0pKSxUPShTPU8oImhia19mcCIpLFM\/UHJvbWlzZS5yZXNvbHZlKFMpOkIoImh0dHBzOi8vZnJvc3RhcG9ydGVuLm5vL3dwLWpzb24vd3AvdjIvcGFnZXM\/c2x1Zz1mcm9zdGFrYWxlbmRlcm4mX2ZpZWxkcz1jb250ZW50LGxpbmsiKS50aGVuKChmdW5jdGlvbih0KXt2YXIgZT10JiZ0Lmxlbmd0aD90LnNsaWNlKDAsMSkucG9wKCk6bnVsbDtpZighZSlyZXR1cm5bXTt2YXIgcj0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUuY29udGVudC5yZW5kZXJlZCwidGV4dC9odG1sIiksbj1bXTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChyLnF1ZXJ5U2VsZWN0b3JBbGwoImgyLGgzIiksKGZ1bmN0aW9uKHQpe3ZhciByPXQudGV4dENvbnRlbnQudHJpbSgpO2lmKHImJiEvc2F2bmVyIGR1L2kudGVzdChyKSl7Zm9yKHZhciBhPVtdLG89IiIsaT0iIixzPSIiLHU9IiIsbD10Lm5leHRFbGVtZW50U2libGluZztsJiYhL15IMnxeSDN8XkhSLy50ZXN0KGwudGFnTmFtZSk7KXtpZigiVUwiIT09bC50YWdOYW1lfHwvc29jaWFsLy50ZXN0KGwuY2xhc3NOYW1lKXx8QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChsLnF1ZXJ5U2VsZWN0b3JBbGwoImxpIiksKGZ1bmN0aW9uKHQpe3ZhciBlPXQucXVlcnlTZWxlY3RvcigiaW1nIikscj1lJiZlLmdldEF0dHJpYnV0ZSgiYWx0Iil8fCIiLG49dC50ZXh0Q29udGVudC50cmltKCk7aWYoL+KPsHzwn5WSfPCfl5N88J+ThS8udGVzdChyK24pKXt2YXIgcz1IKG4ucmVwbGFjZSgv4o+wfPCflZJ88J+Xk3zwn5OFL2csIiIpKTtzJiYoYT1hLmNvbmNhdChzKSl9ZWxzZSBpZigv8J+TjS8udGVzdChyK24pKW89bi5yZXBsYWNlKCLwn5ONIiwiIikudHJpbSgpO2Vsc2UgaWYoL2FycmFuZ8O4ci9pLnRlc3QobikpaT1uLnJlcGxhY2UoL2FycmFuZ8O4cjo\/L2ksIiIpLnRyaW0oKTtlbHNlIGlmKCEv8J+Oqy8udGVzdChyK24pJiYhYS5sZW5ndGgpe3ZhciB1PUgobik7dSYmKGE9dSl9fSkpLEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwobC5xdWVyeVNlbGVjdG9yQWxsKCJhIiksKGZ1bmN0aW9uKHQpey9sZXMgbWVyL2kudGVzdCh0LnRleHRDb250ZW50KSYmIXMmJihzPXQuaHJlZil9KSksIXUmJiJGSUdVUkUiPT09bC50YWdOYW1lKXt2YXIgZD1sLnF1ZXJ5U2VsZWN0b3IoImltZyIpO2QmJih1PWQuZ2V0QXR0cmlidXRlKCJzcmMiKXx8IiIpfWw9bC5uZXh0RWxlbWVudFNpYmxpbmd9YS5mb3JFYWNoKChmdW5jdGlvbih0LGEpe24ucHVzaCh7aWQ6ImZwIityK3QuZGF0ZSxzcmM6ImZyb3N0YXBvcnRlbiIsZGF0ZTp0LmRhdGUsdGltZXM6dC50P1t0LnRdOltdLGVuZDp0LnRlLHRpdGxlOnIscGxhY2U6byxvcmc6aSx1cmw6c3x8ZS5saW5rfHwiaHR0cHM6Ly9mcm9zdGFwb3J0ZW4ubm8vZnJvc3Rha2FsZW5kZXJuLyIsaW1nOnUsY2F0OkkocixpKX0pfSkpfX0pKSxPKCJoYmtfZnAiLG4pLG59KSkpLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiBmLmZyb3N0YXBvcnRlbj0ib2siLHR9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZi5mcm9zdGFwb3J0ZW49IiEiLFtdfSkpLEw9Qihsb2NhdGlvbi5vcmlnaW4rIi93cC1qc29uL2hhdmJyaXMvdjEvZXZlbnRzIikudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuKHQuZXZlbnRzfHxbXSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jYXQ9ImJ5Z2Rla2lubyI9PT10LnNyYz8ia2lubyI6SSh0LnRpdGxlLHQub3JnKSwia3VsdGFyIj09PXQuc3JjJiYiYW5uZXQiPT09dC5jYXQmJih0LmNhdD0ia3VsdHVyIiksdH0pKX0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pLChmdW5jdGlvbigpe3JldHVybltdfSkpO1Byb21pc2UuYWxsKFtBLFQsTF0pLnRoZW4oKGZ1bmN0aW9uKHQpe3ZhciBlPXQuc2hpZnQoKS5jb25jYXQodC5zaGlmdCgpKSxyPXQuc2hpZnQoKSxuPXt9O3IuZm9yRWFjaCgoZnVuY3Rpb24odCl7ImJ5Z2Rla2lubyI9PT10LnNyYyYmKG5bdC5kYXRlXT0xKX0pKSxlPWUuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4hKCJraW5vIj09PXQuY2F0JiZuW3QuZGF0ZV0mJi9raW5vIGkgbWFnbnVzaGFsbGVuL2kudGVzdCh0LnRpdGxlKSl9KSkscj1yLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuISgvcHJvZ3JhbSBrb21tZXIvLnRlc3QodC50aXRsZSkmJmUuc29tZSgoZnVuY3Rpb24oZSl7cmV0dXJuImtpbm8iPT09ZS5jYXQmJmUuZGF0ZT09PXQuZGF0ZX0pKSl9KSkseT1OKGUuY29uY2F0KHIpKSx6KCl9KSl9ZnVuY3Rpb24gRCh0KXtyZXR1cm4odDwxMD8iMCI6IiIpK3R9ZnVuY3Rpb24gcSh0KXtyZXR1cm4gdC5nZXRGdWxsWWVhcigpKyItIitEKHQuZ2V0TW9udGgoKSsxKSsiLSIrRCh0LmdldERhdGUoKSl9ZnVuY3Rpb24geCh0KXt2YXIgZT10LnNwbGl0KCItIik7cmV0dXJuIG5ldyBEYXRlKCtlLnNoaWZ0KCksK2Uuc2hpZnQoKS0xLCtlLnNoaWZ0KCkpfWZ1bmN0aW9uIE0odCl7cmV0dXJuIFN0cmluZyhudWxsPT10PyIiOnQpLnJlcGxhY2UoLyYvZywiJmFtcDsiKS5yZXBsYWNlKC88L2csIiZsdDsiKS5yZXBsYWNlKC8+L2csIiZndDsiKS5yZXBsYWNlKC8iL2csIiZxdW90OyIpfWZ1bmN0aW9uIEModCl7cmV0dXJuKGU\/Ii9lbiI6IiIpK3R9ZnVuY3Rpb24gTyh0LGUpe3RyeXtpZih2b2lkIDA9PT1lKXt2YXIgcj1KU09OLnBhcnNlKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odCl8fCJudWxsIik7cmV0dXJuIHImJkRhdGUubm93KCktci50PDE4ZTU\/ci52Om51bGx9c2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh0LEpTT04uc3RyaW5naWZ5KHt0OkRhdGUubm93KCksdjplfSkpfWNhdGNoKHQpe3JldHVybiBudWxsfX1mdW5jdGlvbiBCKHQpe3JldHVybiBmZXRjaCh0LHtjcmVkZW50aWFsczoib21pdCJ9KS50aGVuKChmdW5jdGlvbih0KXtpZighdC5vayl0aHJvdyBuZXcgRXJyb3IodC5zdGF0dXMpO3JldHVybiB0Lmpzb24oKX0pKX1mdW5jdGlvbiBJKHQsZSl7dmFyIHI9KHQrIiAiKyhlfHwiIikpLnRvTG93ZXJDYXNlKCk7cmV0dXJuL2tpbm98ZmlsbS8udGVzdChyKT8ia2lubyI6L21hcmtlZHxib25kZW5zfG1hdCB8bWF0ZmVzdHxqdWxlbWFya2VkfGJha3N0fGxvcHBlLy50ZXN0KHIpPyJtYXJrZWQiOi9iYWJ5fGJhcm58ZmFtaWxpZXx1bmdkb218Y2hpbGRyZW58a2lkcy8udGVzdChyKT8iYmFybiI6L2d1ZHN0amVuZXN0ZXxtZXNzZXxhbmRha3R8a2lya2VrYWZmZS8udGVzdChyKT8ia2lya2UiOi9rb25zZXJ0fHNhbmd8a29yfG11c2lra3xhbGxzYW5nfHNob3d8dGVhdGVyfHJldnl8amF6enxiYW5kfGt1bHR1cnxsdWNpYXxqdWxla29uc2VydHxmb3Jlc3RpbGxpbmcvLnRlc3Qocik\/Imt1bHR1ciI6ImFubmV0In1mdW5jdGlvbiBIKHQpe3ZhciBlPXQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9ccysvZywiICIpLHI9LTEsbj0tMTtpZihjLmZvckVhY2goKGZ1bmN0aW9uKHQsYSl7dmFyIG89ZS5pbmRleE9mKHQpO28+PTAmJihuPDB8fG88bikmJihuPW8scj1hKX0pKSxyPDApcmV0dXJuIG51bGw7dmFyIGE9ZS5zbGljZSgwLG4pLG89ZS5zbGljZShuKSxpPShhLm1hdGNoKC9cZHsxLDJ9L2cpfHxbXSkubWFwKE51bWJlcik7aWYoIWkubGVuZ3RoKXJldHVybiBudWxsO3ZhciBzPWk7aWYoMj09PWkubGVuZ3RoJiYvXGRcLj9ccyoo4oCTfC0pXHMqXGQvLnRlc3QoYSkpe3M9W107Zm9yKHZhciB1PWkuc2hpZnQoKSxsPWkuc2hpZnQoKTt1PD1sO3UrKylzLnB1c2godSl9dmFyIGY9by5tYXRjaCgvMjBcZFxkLyksaD1vLm1hdGNoKC9rbFwuP1xzKihcZHsxLDJ9KSg\/Ols6Ll0oXGR7Mn0pKT8oPzpccyooPzrigJN8LSlccyooXGR7MSwyfSkoPzpbOi5dKFxkezJ9KSk\/KT8vKSxiPWg\/RCgraC5zbGljZSgxLDIpLmpvaW4oIiIpKSsiOiIrKGguc2xpY2UoMiwzKS5qb2luKCIiKXx8IjAwIik6IiIsaz1oJiZoLnNsaWNlKDMsNCkuam9pbigiIik\/RCgraC5zbGljZSgzLDQpLmpvaW4oIiIpKSsiOiIrKGguc2xpY2UoNCw1KS5qb2luKCIiKXx8IjAwIik6IiI7cmV0dXJuIHMubWFwKChmdW5jdGlvbih0KXt2YXIgZT1mPytmLnNoaWZ0KCk6ZC5nZXRGdWxsWWVhcigpLG49bmV3IERhdGUoZSxyLHQpO3JldHVybiFmJiZuPG5ldyBEYXRlKGQuZ2V0RnVsbFllYXIoKSxkLmdldE1vbnRoKCktMiwxKSYmbi5zZXRGdWxsWWVhcihlKzEpLHtkYXRlOnEobiksdDpiLHRlOmt9fSkpfWZ1bmN0aW9uIE4odCl7dmFyIGU9e30scj1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbixhPXQuZGF0ZSsobj10LnRpdGxlLFN0cmluZyhuKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teYS16w6bDuMOlMC05XS9nLCIiKS5zbGljZSgwLDE0KSk7aWYoZVthXSl7dmFyIG89ZVthXTtvLmFsdHx8by5zcmM9PT10LnNyY3x8KG8uYWx0PXQpfWVsc2UgZVthXT10LHIucHVzaCh0KX0pKSxyfWZ1bmN0aW9uIF8odCl7aWYoIWIuY2F0c1t0LmNhdF0pcmV0dXJuITE7aWYoImhhdmJyaXMiPT09dC5jYXQmJiFiLnRvdXJzW3QudG91cl0pcmV0dXJuITE7aWYoYi5vbmx5JiYhdC5ib29rKXJldHVybiExO2lmKGIucSl7dmFyIGU9Yi5xLnRvTG93ZXJDYXNlKCk7aWYoKHQudGl0bGUrIiAiKyh0LnBsYWNlfHwiIikrIiAiKyh0Lm9yZ3x8IiIpKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZSk8MClyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBSKCl7dmFyIHQ9bmV3IERhdGUoYi55LGIubSwxKSxyPW5ldyBEYXRlKGIueSxiLm0rMSwwKSxuPWZ1bmN0aW9uKHQscil7dmFyIG49W107cmV0dXJuIE9iamVjdC5rZXlzKG8pLmZvckVhY2goKGZ1bmN0aW9uKGEpe2Zvcih2YXIgaT1vW2FdLHM9eChpLmZyb20pLHU9eChpLnRvKSxsPW5ldyBEYXRlKE1hdGgubWF4KHQscykpLGM9bmV3IERhdGUoTWF0aC5taW4ocix1KSk7bDw9YztsLnNldERhdGUobC5nZXREYXRlKCkrMSkpbDxkfHxpLmRheXMuaW5kZXhPZihTdHJpbmcobC5nZXREYXkoKSkpPDB8fG4ucHVzaCh7aWQ6YStxKGwpLHNyYzoiaGF2YnJpcyIsY2F0OiJoYXZicmlzIix0b3VyOmEsZGF0ZTpxKGwpLHRpbWVzOmkudC5zcGxpdCgiLCIpLHRpdGxlOmU\/aS5uZTppLm4sZGVzYzplP2kuZGU6aS5kLHByaWNlOmU\/aS5wZTppLnAsdXJsOkMoaS51KSxnOmkuZyxib29rOiEwfSl9KSksbn0odCxyKS5jb25jYXQoeS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmRhdGU+PXEodCkmJmUuZGF0ZTw9cShyKX0pKSk7cmV0dXJuIG4uZmlsdGVyKF8pLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKHQuZGF0ZSsodC50aW1lcy5qb2luKCIiKXx8Ijk5IikpLmxvY2FsZUNvbXBhcmUoZS5kYXRlKyhlLnRpbWVzLmpvaW4oIiIpfHwiOTkiKSl9KSl9ZnVuY3Rpb24gSygpe3JldHVybiFiLmNhdHMuaGF2YnJpc3x8KGIub25seSwwKT9bXTppLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQubS5pbmRleE9mKGIubSsxKT49MCYmYi50b3Vyc1t0LmtdJiYoIWIucXx8KHQubit0Lm5lKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoYi5xLnRvTG93ZXJDYXNlKCkpPj0wKX0pKX1mdW5jdGlvbiBKKHQsZSxyLG4pe3JldHVybic8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Imhiay1jaGlwICcrKG58fCIiKSsoZT8iIG9uIjoiIikrJyIgJytyKycgYXJpYS1wcmVzc2VkPSInK2UrJyI+Jyt0KyI8L2J1dHRvbj4ifWZ1bmN0aW9uIFAodCxlKXt2YXIgYT10LnRpbWVzLmxlbmd0aD90LnRpbWVzLmpvaW4oIiDCtyAiKToiIjtpZihlKXJldHVybic8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Imhiay1ldiBjLScrdC5jYXQrKHQuY2FuY2VsPyIgeCI6IiIpKyciIGRhdGEtaWQ9IicrTSh0LmlkKSsnIj4nKyhhPyI8Yj4iK00odC50aW1lcy5zbGljZSgwLDEpLnBvcCgpKSsiPC9iPiAiOiIiKStNKHQudGl0bGUpKyI8L2J1dHRvbj4iO3ZhciBvPVtdO3QucGxhY2UmJm8ucHVzaChNKHQucGxhY2UpKSx0LnByaWNlJiZvLnB1c2goTSh0LnByaWNlKSksdC5mcmVlJiZvLnB1c2goci5mcmVlKTt2YXIgaT1oW3Quc3JjXXx8IkhhdmJyaXMiLHM9dC5ib29rJiZ0LnRpbWVzLmxlbmd0aD4xP3QudGltZXMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4iPHNwYW4+Iit0KyI8L3NwYW4+In0pKS5qb2luKCIiKToiPHNwYW4+IisoYT9NKGEpKyh0LmVuZD8i4oCTIitNKHQuZW5kKToiIik6IuKAkyIpKyI8L3NwYW4+Iix1PXQuYm9vaz8nPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJoYmstYnRuIiBkYXRhLWJvb2s9IicrTSh0LnRvdXIpKyciPicrci5ib29rKyI8L2J1dHRvbj4iOic8YSBjbGFzcz0iaGJrLWJ0biBnaG9zdCIgaHJlZj0iJytNKHQudXJsKSsnIiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JytyLnJlYWRtb3JlKyI8L2E+IjtyZXR1cm4nPGFydGljbGUgY2xhc3M9Imhiay1yb3cgYy0nK3QuY2F0Kyh0LmNhbmNlbD8iIHgiOiIiKSsnIj48ZGl2IGNsYXNzPSJoYmstdGltZSI+JytzKyc8L2Rpdj48ZGl2IGNsYXNzPSJoYmstbWFpbiI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJoYmstdGl0bGUiIGRhdGEtaWQ9IicrTSh0LmlkKSsnIj4nKyh0LmNhbmNlbD8iPGVtPiIrci5jYW5jZWwrIjwvZW0+ICI6IiIpK00odC50aXRsZSkrJzwvYnV0dG9uPjxkaXYgY2xhc3M9Imhiay1tZXRhIj48aSBjbGFzcz0iaGJrLWRvdCBjLScrdC5jYXQrJyI+PC9pPicrblt0LmNhdF0rKG8ubGVuZ3RoPyIgwrcgIitvLmpvaW4oIiDCtyAiKToiIikrKCJoYXZicmlzIiE9PXQuc3JjPycgwrcgPHNwYW4gY2xhc3M9Imhiay1zcmMiPicraSsiPC9zcGFuPiI6IiIpKyc8L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSJoYmstYWN0Ij4nK3UrIjwvZGl2PjwvYXJ0aWNsZT4ifWZ1bmN0aW9uIHooKXshZnVuY3Rpb24oKXt2YXIgZT0nPGRpdiBjbGFzcz0iaGJrLWNoaXBzIiByb2xlPSJncm91cCIgYXJpYS1sYWJlbD0iRmlsdGVyIj4nO2EuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZSs9SignPGkgY2xhc3M9Imhiay1kb3QgYy0nK3QrJyI+PC9pPicrblt0XSxiLmNhdHNbdF0sJ2RhdGEtY2F0PSInK3QrJyInKX0pKSxlKz0iPC9kaXY+IixiLmNhdHMuaGF2YnJpcyYmKGUrPSc8ZGl2IGNsYXNzPSJoYmstY2hpcHMgaGJrLXN1YiIgcm9sZT0iZ3JvdXAiIGFyaWEtbGFiZWw9Iicrci50b3VycysnIj4nLHUuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZSs9SihsW3RdLGIudG91cnNbdF0sJ2RhdGEtdG91cj0iJyt0KyciJywic20iKX0pKSxlKz0iPC9kaXY+IiksdygiLmhiay1maWx0ZXJzIikuaW5uZXJIVE1MPWUsdygiLmhiay1vbmx5IikuY2hlY2tlZD1iLm9ubHksQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbCh0LnF1ZXJ5U2VsZWN0b3JBbGwoIi5oYmstdmlldyBidXR0b24iKSwoZnVuY3Rpb24odCl7dC5jbGFzc0xpc3QudG9nZ2xlKCJvbiIsdC5nZXRBdHRyaWJ1dGUoImRhdGEtdmlldyIpPT09Yi52aWV3KX0pKX0oKSx3KCIuaGJrLXRpdGxlLW0iKS50ZXh0Q29udGVudD0oZT9yLm1vbltiLm1dOnIubW9uW2IubV0uY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrci5tb25bYi5tXS5zbGljZSgxKSkrIiAiK2IueTt2YXIgaT1SKCk7aj17fSxpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2pbdC5pZF09dH0pKTt2YXIgYz1mdW5jdGlvbigpe3ZhciB0PUsoKTtyZXR1cm4gdC5sZW5ndGg\/JzxkaXYgY2xhc3M9Imhiay1zZWFzb24iPjxoMz4nK3IuaW5zZWFzb24rJzwvaDM+PGRpdiBjbGFzcz0iaGJrLXNjYXJkcyI+Jyt0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuJzxkaXYgY2xhc3M9Imhiay1zY2FyZCI+PGRpdj48c3Ryb25nPicrTShlP3QubmU6dC5uKSsiPC9zdHJvbmc+PHNwYW4+IitNKGU\/dC5wZTp0LnApKyI8L3NwYW4+PC9kaXY+IisodC5nPyc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Imhiay1idG4gc20iIGRhdGEtYm9vaz0iJyt0LmsrJyIgZGF0YS1nPSInK3QuZysnIiBkYXRhLXU9IicrTShDKHQudSkpKyciPicrci5ib29rKyI8L2J1dHRvbj4iOic8YSBjbGFzcz0iaGJrLWJ0biBzbSIgaHJlZj0iJytNKEModC51KSkrJyNib29rIj4nK3IuYm9vaysiPC9hPiIpKyI8L2Rpdj4ifSkpLmpvaW4oIiIpKyI8L2Rpdj48L2Rpdj4iOiIifSgpO2lmKCJtb250aCI9PT1iLnZpZXcpe3ZhciBoPShuZXcgRGF0ZShiLnksYi5tLDEpLmdldERheSgpKzYpJTcsaz1uZXcgRGF0ZShiLnksYi5tKzEsMCkuZ2V0RGF0ZSgpLGc9e307aS5mb3JFYWNoKChmdW5jdGlvbih0KXsoZ1t0LmRhdGVdPWdbdC5kYXRlXXx8W10pLnB1c2godCl9KSksYys9JzxkaXYgY2xhc3M9Imhiay1ncmlkIj48ZGl2IGNsYXNzPSJoYmstd2QiPicrci53ZC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiI8c3Bhbj4iK3QrIjwvc3Bhbj4ifSkpLmpvaW4oIiIpKyc8L2Rpdj48ZGl2IGNsYXNzPSJoYmstZGF5cyI+Jztmb3IodmFyIG09MDttPGg7bSsrKWMrPSc8ZGl2IGNsYXNzPSJoYmstZGF5IG91dCI+PC9kaXY+Jztmb3IodmFyIHA9MTtwPD1rO3ArKyl7dmFyIHY9bmV3IERhdGUoYi55LGIubSxwKSx5PXEodiksRT1nW3ldfHxbXSxGPVtdLFM9e307RS5mb3JFYWNoKChmdW5jdGlvbih0KXtpZih0LnRvdXIpe2lmKFNbdC50b3VyXSlyZXR1cm47U1t0LnRvdXJdPTF9Ri5wdXNoKHQpfSkpLGMrPSc8ZGl2IGNsYXNzPSJoYmstZGF5JysoeT09PXEoZCk\/IiBub3ciOiIiKSsodjxkPyIgcGFzdCI6IiIpKyciPjxzcGFuIGNsYXNzPSJoYmstZG4iPicrcCsiPC9zcGFuPiIsRi5zbGljZSgwLDMpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2MrPVAodCwhMCl9KSksRi5sZW5ndGg+MyYmKGMrPSc8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Imhiay1tb3JlYiIgZGF0YS1kYXk9IicreSsnIj4rJysoRi5sZW5ndGgtMykrIjwvYnV0dG9uPiIpLGMrPSI8L2Rpdj4ifWZvcih2YXIgQT0oaCtrKSU3O0EmJkE8NztBKyspYys9JzxkaXYgY2xhc3M9Imhiay1kYXkgb3V0Ij48L2Rpdj4nO2MrPSI8L2Rpdj48L2Rpdj4ifWVsc2V7dmFyIFQ9IiIsTD0hMSxEPXt9O2kuZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYodC50b3VyJiYiMDEyMzQ1NiI9PT1vW3QudG91cl0uZGF5cyYmdC5kYXRlPj1xKGQpKXt2YXIgZT1EW3QudG91cl07ZXx8KGU9RFt0LnRvdXJdPXtlOnQsYTp0LmRhdGUsYjp0LmRhdGV9KSxlLmI9dC5kYXRlfX0pKTt2YXIgTz1PYmplY3Qua2V5cyhEKTtPLmxlbmd0aCYmKEw9ITAsYys9JzxkaXYgY2xhc3M9Imhiay1zZWFzb24gaGJrLWRhaWx5Ij48aDM+JysoZT8iRXZlcnkgZGF5IjoiSHZlciBkYWciKSsnPC9oMz48ZGl2IGNsYXNzPSJoYmstc2NhcmRzIj4nK08ubWFwKChmdW5jdGlvbih0KXt2YXIgbj1EW3RdLGE9eChuLmEpLG89eChuLmIpO3JldHVybic8ZGl2IGNsYXNzPSJoYmstc2NhcmQiPjxkaXY+PHN0cm9uZz4nK00obi5lLnRpdGxlKSsiPC9zdHJvbmc+PHNwYW4+IithLmdldERhdGUoKSsiLiAiK3IubW9uW2EuZ2V0TW9udGgoKV0rIiDigJMgIitvLmdldERhdGUoKSsiLiAiK3IubW9uW28uZ2V0TW9udGgoKV0rIiDCtyAiKyhlPyJhdCAiOiJrbC4gIikrbi5lLnRpbWVzLmpvaW4oIiBvZyAiKSsiIMK3ICIrTShuLmUucHJpY2UpKyc8L3NwYW4+PC9kaXY+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJoYmstYnRuIHNtIiBkYXRhLWJvb2s9IicrdCsnIj4nK3IuYm9vaysiPC9idXR0b24+PC9kaXY+In0pKS5qb2luKCIiKSsiPC9kaXY+PC9kaXY+IiksaS5mb3JFYWNoKChmdW5jdGlvbih0KXtpZighKHQuZGF0ZTxxKGQpfHxEW3QudG91cl0pKXtpZihMPSEwLHQuZGF0ZSE9PVQpe1QmJihjKz0iPC9kaXY+IiksVD10LmRhdGU7dmFyIGU9eCh0LmRhdGUpO2MrPSc8ZGl2IGNsYXNzPSJoYmstZGciIGlkPSJoYmstJyt0LmRhdGUrJyI+PGg0PjxzcGFuPicrZS5nZXREYXRlKCkrIjwvc3Bhbj4iK3Iud2RsW2UuZ2V0RGF5KCldKyIgIitlLmdldERhdGUoKSsiLiAiK3IubW9uW2UuZ2V0TW9udGgoKV0rIjwvaDQ+In1jKz1QKHQsITEpfX0pKSxUJiYoYys9IjwvZGl2PiIpLEx8fEsoKS5sZW5ndGh8fChjKz0nPHAgY2xhc3M9Imhiay1lbXB0eSI+JytyLm5vbmUrJyA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9Imhiay1saW5rIiBkYXRhLXJlc2V0PSIxIj4nK3IucmVzZXQrIjwvYnV0dG9uPjwvcD4iKX13KCIuaGJrLWJvZHkiKS5pbm5lckhUTUw9Yyx3KCIuaGJrLXN0YXR1cyIpLmlubmVySFRNTD1yLnNyYysnIDxhIGhyZWY9Imh0dHBzOi8vZnJvc3RhLmZyaXNrdXMuY29tL2V2ZW50cyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkZyaXNrdXMgRnJvc3RhPC9hPicrKCIhIj09PWYuZnJpc2t1cz8iICjinJUpIjoiIikrIiAiKyhlPyJhbmQiOiJvZyIpKycgPGEgaHJlZj0iaHR0cHM6Ly9mcm9zdGFwb3J0ZW4ubm8vZnJvc3Rha2FsZW5kZXJuLyIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPkZyb3N0YWthbGVuZGVy4oCZbiBww6UgRnJvc3RhcG9ydGVuPC9hPicrKCIhIj09PWYuZnJvc3RhcG9ydGVuPyIgKOKclSkiOiIiKSsoZT8iLCBwbHVzIEt1bHRhciwgRnJvc3RhIG11bmljaXBhbGl0eSBhbmQgQnlnZGVraW5vZW4uIjoiLCBzYW10IEt1bHRhciwgRnJvc3RhIGtvbW11bmUgb2cgQnlnZGVraW5vZW4uIik7dmFyIEI9dygiLmhiay1yZXEiKTtiLmNhdHMuaGF2YnJpcyYmIWIub25seT9CLmlubmVySFRNTD0iPGgzPiIrci5vbnJlcSsiPC9oMz48ZGl2PiIrcy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybic8YSBocmVmPSInK00oQyh0LnUpKSsnIj4nK00oZT90Lm5lOnQubikrIjwvYT4ifSkpLmpvaW4oIiIpKyI8L2Rpdj4iOkIuaW5uZXJIVE1MPSIifWZ1bmN0aW9uIEcoKXt3KCIuaGJrLW1vZGFsIikuY2xhc3NMaXN0LmFkZCgib2ZmIiksZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iIn19KCk7\"><\/script>[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kalender med alle Havbris-turer og arrangementer p\u00e5 Frosta. Filtrer og bestill turer direkte.<\/p>","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-5896","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kalender \u2013 hva skjer p\u00e5 Frosta - Havbris AS<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/havbrisas.no\/en\/kalender\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kalender \u2013 hva skjer p\u00e5 Frosta - Havbris AS\" \/>\n<meta property=\"og:description\" content=\"Kalender med alle Havbris-turer og arrangementer p\u00e5 Frosta. Filtrer og bestill turer direkte.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/havbrisas.no\/en\/kalender\/\" \/>\n<meta property=\"og:site_name\" content=\"Havbris AS\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/havbrisas\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-04T09:21:11+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/havbrisas.no\\\/kalender\\\/\",\"url\":\"https:\\\/\\\/havbrisas.no\\\/kalender\\\/\",\"name\":\"Kalender \u2013 hva skjer p\u00e5 Frosta - Havbris AS\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/havbrisas.no\\\/#website\"},\"datePublished\":\"2026-11-04T08:48:53+00:00\",\"dateModified\":\"2026-11-04T09:21:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/havbrisas.no\\\/kalender\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/havbrisas.no\\\/kalender\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/havbrisas.no\\\/kalender\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/havbrisas.no\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kalender \u2013 hva skjer p\u00e5 Frosta\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/havbrisas.no\\\/#website\",\"url\":\"https:\\\/\\\/havbrisas.no\\\/\",\"name\":\"Havbris AS\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/havbrisas.no\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/havbrisas.no\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/havbrisas.no\\\/#organization\",\"name\":\"Havbris AS\",\"url\":\"https:\\\/\\\/havbrisas.no\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/havbrisas.no\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/havbrisas.no\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/Untitled-design-24.png\",\"contentUrl\":\"https:\\\/\\\/havbrisas.no\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/Untitled-design-24.png\",\"width\":1000,\"height\":1288,\"caption\":\"Havbris AS\"},\"image\":{\"@id\":\"https:\\\/\\\/havbrisas.no\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/havbrisas\",\"https:\\\/\\\/www.instagram.com\\\/havbrisas\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kalender \u2013 hva skjer p\u00e5 Frosta - Havbris AS","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/havbrisas.no\/en\/kalender\/","og_locale":"en_US","og_type":"article","og_title":"Kalender \u2013 hva skjer p\u00e5 Frosta - Havbris AS","og_description":"Kalender med alle Havbris-turer og arrangementer p\u00e5 Frosta. Filtrer og bestill turer direkte.","og_url":"https:\/\/havbrisas.no\/en\/kalender\/","og_site_name":"Havbris AS","article_publisher":"https:\/\/www.facebook.com\/havbrisas","article_modified_time":"2026-11-04T09:21:11+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/havbrisas.no\/kalender\/","url":"https:\/\/havbrisas.no\/kalender\/","name":"Kalender \u2013 hva skjer p\u00e5 Frosta - Havbris AS","isPartOf":{"@id":"https:\/\/havbrisas.no\/#website"},"datePublished":"2026-11-04T08:48:53+00:00","dateModified":"2026-11-04T09:21:11+00:00","breadcrumb":{"@id":"https:\/\/havbrisas.no\/kalender\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/havbrisas.no\/kalender\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/havbrisas.no\/kalender\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/havbrisas.no\/"},{"@type":"ListItem","position":2,"name":"Kalender \u2013 hva skjer p\u00e5 Frosta"}]},{"@type":"WebSite","@id":"https:\/\/havbrisas.no\/#website","url":"https:\/\/havbrisas.no\/","name":"Havbris AS","description":"","publisher":{"@id":"https:\/\/havbrisas.no\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/havbrisas.no\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/havbrisas.no\/#organization","name":"Havbris AS","url":"https:\/\/havbrisas.no\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/havbrisas.no\/#\/schema\/logo\/image\/","url":"https:\/\/havbrisas.no\/wp-content\/uploads\/2024\/01\/Untitled-design-24.png","contentUrl":"https:\/\/havbrisas.no\/wp-content\/uploads\/2024\/01\/Untitled-design-24.png","width":1000,"height":1288,"caption":"Havbris AS"},"image":{"@id":"https:\/\/havbrisas.no\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/havbrisas","https:\/\/www.instagram.com\/havbrisas\/"]}]}},"_links":{"self":[{"href":"https:\/\/havbrisas.no\/en\/wp-json\/wp\/v2\/pages\/5896","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/havbrisas.no\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/havbrisas.no\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/havbrisas.no\/en\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/havbrisas.no\/en\/wp-json\/wp\/v2\/comments?post=5896"}],"version-history":[{"count":3,"href":"https:\/\/havbrisas.no\/en\/wp-json\/wp\/v2\/pages\/5896\/revisions"}],"predecessor-version":[{"id":5905,"href":"https:\/\/havbrisas.no\/en\/wp-json\/wp\/v2\/pages\/5896\/revisions\/5905"}],"wp:attachment":[{"href":"https:\/\/havbrisas.no\/en\/wp-json\/wp\/v2\/media?parent=5896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}