From 64a6acc9ab1a9846592557933ce5e9df87c9800b Mon Sep 17 00:00:00 2001 From: dpiercey Date: Mon, 4 Nov 2024 20:55:38 -0700 Subject: [PATCH] chore: updated static site --- assets/121.082b64a2.js | 2 - assets/121.082b64a2.js.br | Bin 1892 -> 0 bytes assets/121.082b64a2.js.gz | Bin 2140 -> 0 bytes assets/121.082b64a2.js.map.br | Bin 6424 -> 0 bytes assets/121.082b64a2.js.map.gz | Bin 7257 -> 0 bytes assets/121.dee40b05.js | 2 + assets/121.dee40b05.js.br | Bin 0 -> 1871 bytes assets/121.dee40b05.js.gz | Bin 0 -> 2135 bytes ...21.082b64a2.js.map => 121.dee40b05.js.map} | 2 +- assets/121.dee40b05.js.map.br | Bin 0 -> 6422 bytes assets/121.dee40b05.js.map.gz | Bin 0 -> 7259 bytes assets/313.b4d51fa5.js | 2 + assets/313.b4d51fa5.js.br | Bin 0 -> 5397 bytes assets/313.b4d51fa5.js.gz | Bin 0 -> 6127 bytes ...13.fdf44b36.js.map => 313.b4d51fa5.js.map} | 2 +- assets/313.b4d51fa5.js.map.br | Bin 0 -> 12239 bytes assets/313.b4d51fa5.js.map.gz | Bin 0 -> 13709 bytes assets/313.fdf44b36.js | 2 - assets/313.fdf44b36.js.br | Bin 5398 -> 0 bytes assets/313.fdf44b36.js.gz | Bin 6129 -> 0 bytes assets/313.fdf44b36.js.map.br | Bin 12237 -> 0 bytes assets/313.fdf44b36.js.map.gz | Bin 13709 -> 0 bytes assets/{39.40a6ace1.js => 39.0fd83ed0.js} | 4 +- assets/39.0fd83ed0.js.br | Bin 0 -> 4985 bytes assets/39.0fd83ed0.js.gz | Bin 0 -> 5650 bytes ...{39.40a6ace1.js.map => 39.0fd83ed0.js.map} | 2 +- assets/39.0fd83ed0.js.map.br | Bin 0 -> 11133 bytes assets/39.0fd83ed0.js.map.gz | Bin 0 -> 12494 bytes assets/39.40a6ace1.js.br | Bin 4969 -> 0 bytes assets/39.40a6ace1.js.gz | Bin 5651 -> 0 bytes assets/39.40a6ace1.js.map.br | Bin 11136 -> 0 bytes assets/39.40a6ace1.js.map.gz | Bin 12494 -> 0 bytes assets/{496.e12c06ed.js => 496.1f3507f7.js} | 4 +- assets/496.1f3507f7.js.br | Bin 0 -> 4885 bytes assets/496.1f3507f7.js.gz | Bin 0 -> 5560 bytes ...96.e12c06ed.js.map => 496.1f3507f7.js.map} | 2 +- assets/496.1f3507f7.js.map.br | Bin 0 -> 11280 bytes assets/496.1f3507f7.js.map.gz | Bin 0 -> 12636 bytes assets/496.e12c06ed.js.br | Bin 4883 -> 0 bytes assets/496.e12c06ed.js.gz | Bin 5560 -> 0 bytes assets/496.e12c06ed.js.map.br | Bin 11276 -> 0 bytes assets/496.e12c06ed.js.map.gz | Bin 12635 -> 0 bytes assets/{783.87193460.js => 783.35cb1cc0.js} | 6 +- ...ICENSE.txt => 783.35cb1cc0.js.LICENSE.txt} | 0 ....txt.br => 783.35cb1cc0.js.LICENSE.txt.br} | Bin ....txt.gz => 783.35cb1cc0.js.LICENSE.txt.gz} | Bin assets/783.35cb1cc0.js.br | Bin 0 -> 434471 bytes assets/783.35cb1cc0.js.gz | Bin 0 -> 575556 bytes assets/783.35cb1cc0.js.map | 1 + assets/783.35cb1cc0.js.map.br | Bin 0 -> 1270291 bytes assets/783.35cb1cc0.js.map.gz | Bin 0 -> 1606361 bytes assets/783.87193460.js.br | Bin 434355 -> 0 bytes assets/783.87193460.js.gz | Bin 575557 -> 0 bytes assets/783.87193460.js.map | 1 - assets/783.87193460.js.map.br | Bin 1270055 -> 0 bytes assets/783.87193460.js.map.gz | Bin 1606360 -> 0 bytes assets/{967.1b40276d.css => 81.bf3a891e.css} | 2 +- ...967.1b40276d.css.br => 81.bf3a891e.css.br} | Bin 350 -> 349 bytes assets/81.bf3a891e.css.gz | Bin 0 -> 461 bytes assets/81.bf3a891e.css.map | 1 + assets/81.bf3a891e.css.map.br | Bin 0 -> 2059 bytes assets/81.bf3a891e.css.map.gz | Bin 0 -> 2397 bytes assets/81.d98ad4c1.js | 2 + assets/81.d98ad4c1.js.br | Bin 0 -> 1700 bytes assets/81.d98ad4c1.js.gz | Bin 0 -> 1922 bytes assets/81.d98ad4c1.js.map | 1 + assets/81.d98ad4c1.js.map.br | Bin 0 -> 3794 bytes assets/81.d98ad4c1.js.map.gz | Bin 0 -> 4257 bytes assets/{858.e13f35da.js => 858.9323781e.js} | 4 +- assets/858.9323781e.js.br | Bin 0 -> 4496 bytes ...{858.e13f35da.js.gz => 858.9323781e.js.gz} | Bin 5092 -> 5092 bytes ...58.e13f35da.js.map => 858.9323781e.js.map} | 2 +- assets/858.9323781e.js.map.br | Bin 0 -> 10456 bytes assets/858.9323781e.js.map.gz | Bin 0 -> 11737 bytes assets/858.e13f35da.js.br | Bin 4494 -> 0 bytes assets/858.e13f35da.js.map.br | Bin 10457 -> 0 bytes assets/858.e13f35da.js.map.gz | Bin 11737 -> 0 bytes assets/967.1b40276d.css.gz | Bin 462 -> 0 bytes assets/967.1b40276d.css.map | 1 - assets/967.1b40276d.css.map.br | Bin 2103 -> 0 bytes assets/967.1b40276d.css.map.gz | Bin 2448 -> 0 bytes assets/967.614fc5e1.js | 2 - assets/967.614fc5e1.js.br | Bin 1991 -> 0 bytes assets/967.614fc5e1.js.gz | Bin 2260 -> 0 bytes assets/967.614fc5e1.js.map | 1 - assets/967.614fc5e1.js.map.br | Bin 4334 -> 0 bytes assets/967.614fc5e1.js.map.gz | Bin 4867 -> 0 bytes docs/10-awesome-marko-features/index.html | 2 +- docs/articles-overview/index.html | 2 +- docs/body-content/index.html | 2 +- docs/bundler-integrations-overview/index.html | 2 +- docs/class-components/index.html | 2 +- docs/cloudflare-workers/index.html | 2 +- docs/color-picker/index.html | 2 +- docs/compiler/index.html | 2 +- docs/concise/index.html | 2 +- docs/conditionals-and-lists/index.html | 2 +- docs/core-tags/index.html | 2 +- docs/custom-tags/index.html | 2 +- docs/editor-plugins/index.html | 2 +- docs/events/index.html | 2 +- docs/express/index.html | 2 +- docs/fastify/index.html | 2 +- docs/getting-started/index.html | 2 +- docs/guides-overview/index.html | 2 +- docs/http/index.html | 2 +- docs/index.html | 2 +- docs/installing/index.html | 2 +- docs/koa/index.html | 2 +- docs/lasso/index.html | 2 +- docs/marko-5-upgrade/index.html | 2 +- docs/marko-json/index.html | 2 +- docs/marko-vs-react/index.html | 2 +- docs/reference-overview/index.html | 2 +- docs/rendering/index.html | 2 +- docs/rollup/index.html | 2 +- docs/server-integrations-overview/index.html | 2 +- docs/state/index.html | 2 +- docs/styles/index.html | 2 +- docs/syntax/index.html | 2 +- docs/tooling-overview/index.html | 2 +- docs/troubleshooting-streaming/index.html | 2 +- docs/tutorials-overview/index.html | 2 +- docs/typescript/index.html | 2 +- docs/v6/index.html | 2 +- docs/vite/index.html | 2 +- docs/webpack/index.html | 2 +- docs/why-is-marko-fast/index.html | 2 +- index.html | 2 +- index.js | 2136 ++++++++--------- middleware.js | 2136 ++++++++--------- playground/index.html | 2 +- playground/v6/index.html | 2 +- try-online-new/index.html | 2 +- try-online/index.html | 2 +- v6/docs/components/index.html | 2 +- v6/docs/conditionals/index.html | 2 +- v6/docs/events/index.html | 2 +- v6/docs/index.html | 2 +- v6/docs/javascript/index.html | 2 +- v6/docs/language/index.html | 2 +- v6/docs/lists/index.html | 2 +- v6/docs/setup/index.html | 2 +- v6/docs/state/index.html | 2 +- v6/docs/styles/index.html | 2 +- v6/examples/[name]/index.html | 2 +- v6/examples/counter/index.html | 2 +- v6/examples/hello-world/index.html | 2 +- v6/examples/loop/index.html | 2 +- v6/index.html | 2 +- v6/playground/index.html | 2 +- v6/tutorials/index.html | 2 +- 152 files changed, 2223 insertions(+), 2223 deletions(-) delete mode 100644 assets/121.082b64a2.js delete mode 100644 assets/121.082b64a2.js.br delete mode 100644 assets/121.082b64a2.js.gz delete mode 100644 assets/121.082b64a2.js.map.br delete mode 100644 assets/121.082b64a2.js.map.gz create mode 100644 assets/121.dee40b05.js create mode 100644 assets/121.dee40b05.js.br create mode 100644 assets/121.dee40b05.js.gz rename assets/{121.082b64a2.js.map => 121.dee40b05.js.map} (52%) create mode 100644 assets/121.dee40b05.js.map.br create mode 100644 assets/121.dee40b05.js.map.gz create mode 100644 assets/313.b4d51fa5.js create mode 100644 assets/313.b4d51fa5.js.br create mode 100644 assets/313.b4d51fa5.js.gz rename assets/{313.fdf44b36.js.map => 313.b4d51fa5.js.map} (99%) create mode 100644 assets/313.b4d51fa5.js.map.br create mode 100644 assets/313.b4d51fa5.js.map.gz delete mode 100644 assets/313.fdf44b36.js delete mode 100644 assets/313.fdf44b36.js.br delete mode 100644 assets/313.fdf44b36.js.gz delete mode 100644 assets/313.fdf44b36.js.map.br delete mode 100644 assets/313.fdf44b36.js.map.gz rename assets/{39.40a6ace1.js => 39.0fd83ed0.js} (51%) create mode 100644 assets/39.0fd83ed0.js.br create mode 100644 assets/39.0fd83ed0.js.gz rename assets/{39.40a6ace1.js.map => 39.0fd83ed0.js.map} (99%) create mode 100644 assets/39.0fd83ed0.js.map.br create mode 100644 assets/39.0fd83ed0.js.map.gz delete mode 100644 assets/39.40a6ace1.js.br delete mode 100644 assets/39.40a6ace1.js.gz delete mode 100644 assets/39.40a6ace1.js.map.br delete mode 100644 assets/39.40a6ace1.js.map.gz rename assets/{496.e12c06ed.js => 496.1f3507f7.js} (53%) create mode 100644 assets/496.1f3507f7.js.br create mode 100644 assets/496.1f3507f7.js.gz rename assets/{496.e12c06ed.js.map => 496.1f3507f7.js.map} (99%) create mode 100644 assets/496.1f3507f7.js.map.br create mode 100644 assets/496.1f3507f7.js.map.gz delete mode 100644 assets/496.e12c06ed.js.br delete mode 100644 assets/496.e12c06ed.js.gz delete mode 100644 assets/496.e12c06ed.js.map.br delete mode 100644 assets/496.e12c06ed.js.map.gz rename assets/{783.87193460.js => 783.35cb1cc0.js} (57%) rename assets/{783.87193460.js.LICENSE.txt => 783.35cb1cc0.js.LICENSE.txt} (100%) rename assets/{783.87193460.js.LICENSE.txt.br => 783.35cb1cc0.js.LICENSE.txt.br} (100%) rename assets/{783.87193460.js.LICENSE.txt.gz => 783.35cb1cc0.js.LICENSE.txt.gz} (100%) create mode 100644 assets/783.35cb1cc0.js.br create mode 100644 assets/783.35cb1cc0.js.gz create mode 100644 assets/783.35cb1cc0.js.map create mode 100644 assets/783.35cb1cc0.js.map.br create mode 100644 assets/783.35cb1cc0.js.map.gz delete mode 100644 assets/783.87193460.js.br delete mode 100644 assets/783.87193460.js.gz delete mode 100644 assets/783.87193460.js.map delete mode 100644 assets/783.87193460.js.map.br delete mode 100644 assets/783.87193460.js.map.gz rename assets/{967.1b40276d.css => 81.bf3a891e.css} (95%) rename assets/{967.1b40276d.css.br => 81.bf3a891e.css.br} (72%) create mode 100644 assets/81.bf3a891e.css.gz create mode 100644 assets/81.bf3a891e.css.map create mode 100644 assets/81.bf3a891e.css.map.br create mode 100644 assets/81.bf3a891e.css.map.gz create mode 100644 assets/81.d98ad4c1.js create mode 100644 assets/81.d98ad4c1.js.br create mode 100644 assets/81.d98ad4c1.js.gz create mode 100644 assets/81.d98ad4c1.js.map create mode 100644 assets/81.d98ad4c1.js.map.br create mode 100644 assets/81.d98ad4c1.js.map.gz rename assets/{858.e13f35da.js => 858.9323781e.js} (61%) create mode 100644 assets/858.9323781e.js.br rename assets/{858.e13f35da.js.gz => 858.9323781e.js.gz} (63%) rename assets/{858.e13f35da.js.map => 858.9323781e.js.map} (99%) create mode 100644 assets/858.9323781e.js.map.br create mode 100644 assets/858.9323781e.js.map.gz delete mode 100644 assets/858.e13f35da.js.br delete mode 100644 assets/858.e13f35da.js.map.br delete mode 100644 assets/858.e13f35da.js.map.gz delete mode 100644 assets/967.1b40276d.css.gz delete mode 100644 assets/967.1b40276d.css.map delete mode 100644 assets/967.1b40276d.css.map.br delete mode 100644 assets/967.1b40276d.css.map.gz delete mode 100644 assets/967.614fc5e1.js delete mode 100644 assets/967.614fc5e1.js.br delete mode 100644 assets/967.614fc5e1.js.gz delete mode 100644 assets/967.614fc5e1.js.map delete mode 100644 assets/967.614fc5e1.js.map.br delete mode 100644 assets/967.614fc5e1.js.map.gz diff --git a/assets/121.082b64a2.js b/assets/121.082b64a2.js deleted file mode 100644 index b7fcea13..00000000 --- a/assets/121.082b64a2.js +++ /dev/null @@ -1,2 +0,0 @@ -(()=>{"use strict";var e,r,t={},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={id:e,loaded:!1,exports:{}};return t[e].call(a.exports,a,a.exports,o),a.loaded=!0,a.exports}o.m=t,o.amdO={},e=[],o.O=(r,t,n,a)=>{if(!t){var i=1/0;for(u=0;u=a)&&Object.keys(o.O).every((e=>o.O[e](t[d])))?t.splice(d--,1):(l=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[t,n,a]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>e+"."+{157:"ae2d24ea",205:"bfd12ce1",268:"424eb2a7",441:"8903fb09",535:"0b9b687d",663:"28f5dddc",694:"23c1d07e",745:"c73f1c83",760:"6ade6071",783:"87193460",887:"a3fce716",914:"7d0beb8a",967:"614fc5e1"}[e]+".js",o.miniCssF=e=>e+"."+{157:"22ba31eb",205:"30d0b998",268:"e2a184bf",441:"f1b3bb88",967:"1b40276d"}[e]+".css",o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},o.l=(e,t,n,a)=>{if(r[e])r[e].push(t);else{var i,l;if(void 0!==n)for(var d=document.getElementsByTagName("script"),s=0;s{i.onerror=i.onload=null,clearTimeout(c);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},c=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),l&&document.head.appendChild(i)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.p="/assets/",(()=>{if("undefined"!=typeof document){var e={121:0};o.f.miniCss=(r,t)=>{e[r]?t.push(e[r]):0!==e[r]&&{157:1,205:1,268:1,441:1,967:1}[r]&&t.push(e[r]=(e=>new Promise(((r,t)=>{var n=o.miniCssF(e),a=o.p+n;if(((e,r)=>{for(var t=document.getElementsByTagName("link"),n=0;n{var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",o.nc&&(i.nonce=o.nc),i.onerror=i.onload=t=>{if(i.onerror=i.onload=null,"load"===t.type)n();else{var o=t&&t.type,l=t&&t.target&&t.target.href||r,d=new Error("Loading CSS chunk "+e+" failed.\n("+o+": "+l+")");d.name="ChunkLoadError",d.code="CSS_CHUNK_LOAD_FAILED",d.type=o,d.request=l,i.parentNode&&i.parentNode.removeChild(i),a(d)}},i.href=r,document.head.appendChild(i)})(e,a,0,r,t)})))(r).then((()=>{e[r]=0}),(t=>{throw delete e[r],t})))}}})(),(()=>{var e={121:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(121!=r){var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),l=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+a+": "+i+")",l.name="ChunkLoadError",l.type=a,l.request=i,n[1](l)}}),"chunk-"+r,r)}else e[r]=0},o.O.j=r=>0===e[r];var r=(r,t)=>{var n,a,[i,l,d]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in l)o.o(l,n)&&(o.m[n]=l[n]);if(d)var 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 S?2~0XvHu@kn{lBL5dZ+`i7e~@ diff --git a/assets/121.082b64a2.js.map.br b/assets/121.082b64a2.js.map.br deleted file mode 100644 index 45af08d4a027310fa3a61bdaf61db1391f712088..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6424 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 diff --git a/assets/121.082b64a2.js.map.gz b/assets/121.082b64a2.js.map.gz deleted file mode 100644 index fcff9034611835af84cd57d397b5f85c8c507636..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7257 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"use strict";var e,r,t={},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={id:e,loaded:!1,exports:{}};return t[e].call(a.exports,a,a.exports,o),a.loaded=!0,a.exports}o.m=t,o.amdO={},e=[],o.O=(r,t,n,a)=>{if(!t){var i=1/0;for(u=0;u=a)&&Object.keys(o.O).every((e=>o.O[e](t[l])))?t.splice(l--,1):(d=!1,a0&&e[u-1][2]>a;u--)e[u]=e[u-1];e[u]=[t,n,a]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((r,t)=>(o.f[t](e,r),r)),[])),o.u=e=>e+"."+{81:"d98ad4c1",157:"ae2d24ea",205:"bfd12ce1",268:"424eb2a7",441:"8903fb09",535:"0b9b687d",663:"28f5dddc",694:"23c1d07e",745:"c73f1c83",760:"6ade6071",783:"35cb1cc0",887:"a3fce716",914:"7d0beb8a"}[e]+".js",o.miniCssF=e=>e+"."+{81:"bf3a891e",157:"22ba31eb",205:"30d0b998",268:"e2a184bf",441:"f1b3bb88"}[e]+".css",o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},o.l=(e,t,n,a)=>{if(r[e])r[e].push(t);else{var i,d;if(void 0!==n)for(var l=document.getElementsByTagName("script"),s=0;s{i.onerror=i.onload=null,clearTimeout(c);var o=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),o&&o.forEach((e=>e(n))),t)return t(n)},c=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),d&&document.head.appendChild(i)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.p="/assets/",(()=>{if("undefined"!=typeof document){var e={121:0};o.f.miniCss=(r,t)=>{e[r]?t.push(e[r]):0!==e[r]&&{81:1,157:1,205:1,268:1,441:1}[r]&&t.push(e[r]=(e=>new Promise(((r,t)=>{var n=o.miniCssF(e),a=o.p+n;if(((e,r)=>{for(var t=document.getElementsByTagName("link"),n=0;n{var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",o.nc&&(i.nonce=o.nc),i.onerror=i.onload=t=>{if(i.onerror=i.onload=null,"load"===t.type)n();else{var o=t&&t.type,d=t&&t.target&&t.target.href||r,l=new Error("Loading CSS chunk "+e+" failed.\n("+o+": "+d+")");l.name="ChunkLoadError",l.code="CSS_CHUNK_LOAD_FAILED",l.type=o,l.request=d,i.parentNode&&i.parentNode.removeChild(i),a(l)}},i.href=r,document.head.appendChild(i)})(e,a,0,r,t)})))(r).then((()=>{e[r]=0}),(t=>{throw delete e[r],t})))}}})(),(()=>{var e={121:0};o.f.j=(r,t)=>{var n=o.o(e,r)?e[r]:void 0;if(0!==n)if(n)t.push(n[2]);else if(121!=r){var a=new Promise(((t,o)=>n=e[r]=[t,o]));t.push(n[2]=a);var i=o.p+o.u(r),d=new Error;o.l(i,(t=>{if(o.o(e,r)&&(0!==(n=e[r])&&(e[r]=void 0),n)){var a=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;d.message="Loading chunk "+r+" failed.\n("+a+": "+i+")",d.name="ChunkLoadError",d.type=a,d.request=i,n[1](d)}}),"chunk-"+r,r)}else e[r]=0},o.O.j=r=>0===e[r];var r=(r,t)=>{var n,a,[i,d,l]=t,s=0;if(i.some((r=>0!==e[r]))){for(n in d)o.o(d,n)&&(o.m[n]=d[n]);if(l)var u=l(o)}for(r&&r(t);s$WeM4mF%|pmQy5kq@(PAUW9C!sHk? zTi^p^U6Q8@fX;yOvS1fW6q28tt?_%xyt7eZ;YB(BQ;4p$Kd0O4u^Ts6$9p#+x4?Tq zXJ{R%TF0DAr5T#+5iTvLSq==EFUd=)j;0Pg^*83GId)V__6M*Nnue_~TJx}u&X6(| zMmZzNxvV48U2Z6PSf?!qKH3+_6tpzY_kYs;YUuTymO$nVD!H1#b0#YAeo~FBG#GTgUg&6U&pJ22*8Y}@uf1{3| z9X-2@)uQwY;AQNp{x|kU>$BNi!9Y!0AkTdO4e&YQabq!%kOqRiQ9El>5uPM)*b^|Mic&Tg*$txiiWXzz6iy)%tZT<=p# zz2u%?OnjsVAJLt!u!QDZJh+3NSqMd-cZMMC6QYx;b1YJrGY~H~XC}PXBoPzqw?TLn z7mkti>fN((*fRf(H-nd`j)EL%{Z}o*`DVxmJT*w?WDp;o!#66uLVG}}M5XdSD>}f} zcYv0jpnaVEfAC*U(Z_FV5zw-@!_7Ju7+2(L;u-?p9?Ck&*FcrR56VkCuw(`1$?ev# zw*>oJ-CeMc21`++4VbPdlSkzOwlVhY*=Pjj60$0(3c=mt%BwNja7e=%bJ8z>UQqj# zFC3{qt)@2#ZN3NU#p72#DJ51r`4xMd|`sR}#oBWK$346oP-QOB)VD|Mc75?=}wQ zJmwv})PQF~v{Wxc`%IW4U~*l$zS;{=<$#oCR;_97$E^{9FN;LwdF3vSH1E<$Qj+1t z?TyMBLgFENG0Mu+YEt7mL?{G9S9=23I1PG@3fpN1QBd2Cht(pG4F3jNQUmNPYu{jB zWpX`B^B%x!KE<+F5aUz-v2b~mfEJ@AT3oFUjEd;?(G&m!q7!HPo!_z))M1cXkS^-N z3N982hSV4~(4P2{K^!b=vvHm4H6RBsds7i*2?{i%pl}UoQ+~5MnQBFArdl2HVZ{yD;Zx1I z`T_P9k$!5{(jZuYv)~D!#(Q!OLtf$8;C7vxw;v+I_wXQ&S{6ig@cBaUFpNc9409=x zgltAnLjjiwP8}AcspN!q)=|oOOr{|^O%Y?DWpfj*^!rk&O&;2svrA9%y3g1D{rk78 zquc3J#o0dGnv5=VHI`wZ`EF``KtS%pz@grzfGjXK7uZjLrcf!o_4d>M`gQ9R?9JA= zbVC$u8)<vayE-f|LzMKdbhJno7rPsj$m}9JI&JoG-mC6oMm=3HGAh?2& zPC1|W*Zdj^9~Ko!tq$>2FLN;i)B~TAx{ilHfdP$Lo@(#O?iDF(^pi98A}m-a3YtHO zX8B6?S0LwP#fnV}MjWw7&m3$$d`q^ZCM4z(Wcu-vGDDez7ZyTvH-id_WV{FCyx?Ux zk5DssZUYpS1H~QWHZC5eVm85Or}7-mlI5^HnZ`&bnJp^RQmWZxI+c()i;wnp<_?GH z*PD{awXX=bvH2$Pu6!MtufoP&6&&hCCF6^uD0$A31tx2iPI6_pqDIZ2K324<9SD&@ zhmBQl22b`k9-~_zkGYs)(H%({mEDxdjVN6I7b>~hHC^+Rrw5M!yM;4k+t;T*?#^7n zb{ke0&SNSKD`vbK5RDligH2EndDBZpK)&$b&U~`Ge6|+^-WT_${%_y3x<((4<3`T> JU0K z^L<}7ovytyIx!f?KCD}=D_E7P!C#D$Np`}yB^G>Vbz&L(zBAUlc$0`b`CiEaXlsN7 zS)Al_+*0iOz8uf_3RbKZZHvWp0~Pc*HiQZ`+`vz=<3exPmV0WL*vgxrGw^Cf4ZGpk zQcpD%!9>;I6F(@gc>W?Q8)I?Dv$A^$tOb4NH)S`Qk$sr|B5V~;t~gZPibjDg&&u|t zpEkF%8NnxcDh>yA%>_x*oAoECJ^Kvz4jXnu7<>VHk1_CT!)_{AVPCZ?LdYx6+^$tM z;P&*C=A^)qpX5}$RB4J87lZ`QO0tJ(Ul;d9hdQn?DIeVK(iB_nNZ(KH?*$i!!(d=I z(D9>z*IAlE)t%<6YQDM_Wp{c?f`xpTEaP}Iy{Cq04*YtIIHW1Cj~~IkGqP*pRmdD* z5*pF9zKCB_C=HX?(!D5bPpAzSNsfWq5Qs@FpD3MJVweeGB58UOh7gCNCnYpW!>`ut z!20{JM)#n*Em*N`p*YFt9r(gle$|s8qzTbC41&_XTC-ISSjeYu1Je*@L3TA@93}JX zFj@Ik)R0<2Xtg4Q8rFr2V1^i)?U#9hygY7WCgkq5-zgK9MQ|=qCkuDdY#vGhUjt`v|2PZ zT;>;uUgc*6x|G=()=Po<3RW}3J~>1U+bXSIJNL^I1J}($EU$7H4V=%{Vv)moG;op0 zY<+dL91VoI$d_m9W;C$L*NgRfxts*mE=s!N6MJA1K!{8X2IAb`@4z(4U2E2&{jgDP zB9P-u>Fxb~qKA!ghl7T%$uHA|=+P1)nDn*q^(JuC9|`)Zv@~BQA;VYS;}Gc0Rt8T5 zsE)Z(TM!;F5W?z>YNZ8zIAD1A;MI!I=h767%!Hn%tAhb3d%v;fYZ8okW390my}3;W zSh-{??h|c%BAioqI@!kQiR=<%lX1xYMw8zhByVotjZ=xc*IxWi6Q!L8A&UgffGJ7( zo=^yenhA!Z>N{(^3I1Ul;cmX_$%ui62Rsa*YI(%pkxgv{D-wR#u5%mgNeQikfncfp zrZi|WfxhL^)ZG@eXLsP=v=D~w@An_X-FvYGj9hKi&Lct{&r0{QotVo7Y983Etz4`; zUAW>W@2y&QJ{+|*BAkcl^R8T55TE;A9S%6MH&#c{LvTmwN0}ki!aDFAb-p=WBC42I zTQHsH`8*4BSf{CC?i;b%=o(O5BvdhHYYv14$MDLpB4sxmd#a<~n9&d-&ci4aGp@U~ zrF9F!ei&rodLVkk?O0NJFp?n8PMXmkXkUf968swXs`!x<@$Ha$N5 zFiYrzsZZC#B%v}*A0o2>A(`0iK+DOFK4hPbbqIBOz?wuS6RL0Tw`F}R$OYv>g;^03qss0PbT6MANa8Y$!l_+ZI^g=iX z-n~E+;}KndWa{Ll0SLhN`8+SOzBH_v2%V1=Z4Z@Qz48Mz!o9U3X_`8b#XW(y@{)`CKJS+9F z(b5z24abW6O0UQhBd5X$l;)#EDrNQA>{mh3vL4tssdNcLYt=8aL(ay2>&dZ zu%Y^)dHplG3O6DWd#yoj@txW#IwLACeylustjU8SJ;8x>AKGh7%IMl78xKwGbM!WN zwT$NS$36)3cE1CTJpArojP*KD99Ar{8lOn*JJRw)mOe*kC=7#-eUv~#$NEqm4EG_y z!UC1!IC9Ey#DYH#2TNQ2s7AguLMnZiyuQ6n>P@FVhw?T##c4y5Nrwa8_;;5f{4JZClvdKwqYy>VTt;1 zrVlwnM)LTc8$R);h&2(Kufh$*K=UC-hf=K?tjUOfUCmcR-%^67 zhVW}0874d+%!-im(JfpIMNLJ1Fs#FtP2Muoe9-s z(#EGLev);s&{jF8^c^b3G^Fa8baS>YCEJ2?;tu#jqD@I=pCp+Wl1zmpqw<*?lS2{- zDj$+aQC;OLJoIBI-hPT^mRizBACJKfZ&&t-TYjDKfwRlu1@=uCsi2jjlC~@EW49FX z=*$){4o642CuDfi>hRo>@wp|b4xTh@Tj>>-fs?}FmW=%sHlzPa7TLT`LVBOUtzry_2=lb=jIQGYE}A&4#qxe z9 {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\n// data-webpack is not used as build has no uniqueName\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"157\":\"ae2d24ea\",\"205\":\"bfd12ce1\",\"268\":\"424eb2a7\",\"441\":\"8903fb09\",\"535\":\"0b9b687d\",\"663\":\"28f5dddc\",\"694\":\"23c1d07e\",\"745\":\"c73f1c83\",\"760\":\"6ade6071\",\"783\":\"87193460\",\"887\":\"a3fce716\",\"914\":\"7d0beb8a\",\"967\":\"614fc5e1\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"157\":\"22ba31eb\",\"205\":\"30d0b998\",\"268\":\"e2a184bf\",\"441\":\"f1b3bb88\",\"967\":\"1b40276d\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/assets/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t121: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"157\":1,\"205\":1,\"268\":1,\"441\":1,\"967\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t121: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(121 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunk\"] = globalThis[\"webpackChunk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","inProgress","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","window","hmd","create","children","set","Error","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","p","installedCssChunks","miniCss","resolve","reject","href","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","oldTag","linkTag","nonce","errorType","realHref","err","name","code","request","createStylesheet","loadStylesheet","then","installedChunks","installedChunkData","promise","error","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"121.dee40b05.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///webpack/runtime/load script","webpack:///webpack/bootstrap","webpack:///webpack/runtime/amd options","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/get mini-css chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/harmony module decorator","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/css loading","webpack:///webpack/runtime/jsonp chunk loading"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\n// data-webpack is not used as build has no uniqueName\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"81\":\"d98ad4c1\",\"157\":\"ae2d24ea\",\"205\":\"bfd12ce1\",\"268\":\"424eb2a7\",\"441\":\"8903fb09\",\"535\":\"0b9b687d\",\"663\":\"28f5dddc\",\"694\":\"23c1d07e\",\"745\":\"c73f1c83\",\"760\":\"6ade6071\",\"783\":\"35cb1cc0\",\"887\":\"a3fce716\",\"914\":\"7d0beb8a\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + {\"81\":\"bf3a891e\",\"157\":\"22ba31eb\",\"205\":\"30d0b998\",\"268\":\"e2a184bf\",\"441\":\"f1b3bb88\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = (module) => {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: () => {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/assets/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = (chunkId, fullhref, oldTag, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && event.type;\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t121: 0\n};\n\n__webpack_require__.f.miniCss = (chunkId, promises) => {\n\tvar cssChunks = {\"81\":1,\"157\":1,\"205\":1,\"268\":1,\"441\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(() => {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, (e) => {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr\n\n// no prefetching\n\n// no preloaded","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t121: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(121 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunk\"] = globalThis[\"webpackChunk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","inProgress","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","amdO","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","window","hmd","create","children","set","Error","obj","prop","prototype","hasOwnProperty","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","p","installedCssChunks","miniCss","resolve","reject","href","fullhref","existingLinkTags","dataHref","tag","rel","existingStyleTags","findStylesheet","oldTag","linkTag","nonce","errorType","realHref","err","name","code","request","createStylesheet","loadStylesheet","then","installedChunks","installedChunkData","promise","error","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal"],"sourceRoot":""} \ No newline at end of file diff --git a/assets/121.dee40b05.js.map.br b/assets/121.dee40b05.js.map.br new file mode 100644 index 0000000000000000000000000000000000000000..94ba2b795d73b1d1e07181f0c851dbc37670d99b GIT binary patch literal 6422 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"use strict";n.d(t,{A:()=>re});var o=n("../../node_modules/marko/dist/runtime/vdom/index.js"),s=n("../../node_modules/@marko/tags-api-preview/dist/util/replace-assignments/index.mjs"),a=n("../../node_modules/@marko/tags-api-preview/dist/transform/cached-values/index-browser.mjs"),r=n("../../node_modules/@marko/tags-api-preview/dist/transform/native-tag-var/index-browser.mjs"),i=n("../../node_modules/@marko/tags-api-preview/dist/components/lifecycle/index.mjs"),l=n("../../node_modules/@marko/tags-api-preview/dist/components/_instance/index.marko"),d=n("../../node_modules/marko/dist/runtime/helpers/render-tag.js"),c=n.n(d),u=n("../../node_modules/marko/dist/runtime/helpers/class-value.js"),m=n.n(u),p=n("../../node_modules/marko/dist/runtime/helpers/of-fallback.js"),h=n.n(p),f=n("../../node_modules/@marko/tags-api-preview/dist/chunk-5R2Z7TR6.mjs"),v=n("../../node_modules/marko/dist/runtime/components/renderer.js"),g=n.n(v),y=n("../../node_modules/marko/dist/runtime/components/registry.js"),w=n("../../node_modules/marko/dist/runtime/components/defineComponent.js"),b=n.n(w);const _="JtPBPdcm",k=(0,o.t)(_),j=k;(0,y.r)(_,(()=>k));const x={onCreate(){this.state={}}};k._=g()((function(e,t,n,o,d,u){(0,f.begin)();try{var p=o,v=d;const{selectedIndexChange:u,filesChange:f,files:g,selectedIndex:y}=e,w=f||(e=>p.setState("0",e)),b=f?g:"0"in v?v[0]:v[0]=g,_=u||(e=>p.setState("1",e)),k=u?y:"1"in v?v[1]:v[1]=y,j=b[k];t.be("div",{class:"file-tabs"},"0",o,null,1);{const e="2"in v?v[2]:v[2]=1,d=e=>p.setState("2",e);let u=0;for(const e of h()(b)){let o=u++;const d=`[${o}]`;c()(l.default,{renderBody:(t,n,u,p)=>{var h=n,f=u;const v="0"in p?p[0]:p[0]=!1,g=e=>u.setState("0",e),y=j===e,x=o>0;t.be("div",{class:m()(["file-tab",{selected:y}])},"2"+d,f,null,1,{onclick:h.d("click",(function(){y?(0,s.default)(g,!0):((0,s.default)(g,!1),(0,s.default)(_,o))}),!1)}),v&&y&&x?c()(l.default,{renderBody:(t,n,l,d)=>{var c=n,u=l;const m="0"in d?d[0]:d[0]=e.name,p=(0,a.cache)((0,a.cached)(l,[m,b])||function(){const t={...e,name:m,path:e.path.replace(e.name,m)};(0,s.default)(w,[...b.slice(0,o),t,...b.slice(o+1)]),(0,s.default)(g,!1)}),h=(0,r.default)(l,"0");var f=e=>l.setState("0",e);t.e("input",{type:"text",size:m.length,value:m},"@0",u,0,0,{pa:[f&&"value"],onblur:c.d("blur",p,!1),onkeydown:c.d("keydown",(function(e){"Enter"===e.code&&p()}),!1),oninput:c.d("input",(e=>{f(e.target.value)}),!1)}),(0,i.default)(u,{onMount:(0,a.cache)((0,a.cached)(l,[m])||function(){h().focus(),h().setSelectionRange(0,m.indexOf("."))})})}},t,h,"3"+d):t.t(e.name,f),x&&(t.be("button",{class:"file-close"},"4"+d,f,null,1,{onclick:h.d("click",(function(t){window.confirm(`Delete ${e.path}?`)&&(k>=o&&(0,s.default)(_,k-1),(0,s.default)(w,[...b.slice(0,o),...b.slice(o+1)])),t.stopPropagation()}),!1)}),t.t("×",f),t.ee()),t.ee()}},t,n,"1"+d)}t.be("button",{class:"new-file"},"5",o,null,1,{onclick:n.d("click",(function(){const t={name:`Component${e}.marko`,path:`/components/Component${e}.marko`,content:""},n=b.length;(0,s.default)(w,b.concat(t)),(0,s.default)(_,n),(0,s.default)(d,e+1)}),!1)}),t.t("+",o),t.ee()}t.ee()}finally{(0,f.end)()}}),{t:_},x),k.Component=b()(x,k._);var C=n("../../node_modules/marko/dist/runtime/helpers/attr-tag.js"),S=n("../../node_modules/marko/dist/runtime/helpers/dynamic-tag.js"),T=n.n(S),E=n("../../node_modules/marko/dist/runtime/vdom/helpers/const-element.js"),L=n.n(E);const B="YdDerxpd",M=(0,o.t)(B),O=M,A=L()("div",{class:"pane-divider"},0);(0,y.r)(B,(()=>M));const H={};M._=g()((function(e,t,n,o,s,a){(0,f.begin)();try{const{actions:s,body:a}=e;t.be("div",{class:"pane"},"0",o,null,1),t.be("div",{class:"pane-actions"},"1",o,null,1),T()(t,s.renderBody,null,null,null,null,n,"2"),t.ee(),t.n(A,o),t.be("div",{class:"pane-body"},"4",o,null,1),T()(t,a.renderBody,null,null,null,null,n,"5"),t.ee(),t.ee()}finally{(0,f.end)()}}),{t:B,i:!0},H),M.Component=b()(H,M._);var R=n("../../node_modules/@marko/tags-api-preview/dist/components/effect/index.mjs");const q="edcMGKVi",F=(0,o.t)(q),I=F;(0,y.r)(q,(()=>F));const U={onCreate(){this.state={}}};F._=g()((function(e,t,n,o,s,i){(0,f.begin)();try{var l=o;const{value:s,valueChange:i,renderBody:d,class:c}=e,u=(0,r.default)(l,"0");t.be("select",{class:m()(c)},"@0",o,null,1,{onchange:n.d("change",(function(e){i(e.target.value)}),!1)}),T()(t,d,null,null,null,null,n,"0"),t.ee(),(0,R.default)(o,(0,a.cache)((0,a.cached)(l,[s,d,i])||function(){u().value=s}))}finally{(0,f.end)()}}),{t:q},U),F.Component=b()(U,F._);var P=n("../../node_modules/lz-string/libs/lz-string.js"),z=n("../../node_modules/@marko/tags-api-preview/dist/translate/native-tag-handlers/index-browser.mjs"),D=n("../../node_modules/marko/dist/runtime/vdom/helpers/attrs.js"),Y=n.n(D);const $="fLRwaABg",W=(0,o.t)($),J=W,N=L()("span",null,1).t("Open in playground ");(0,y.r)($,(()=>W));const V={};W._=g()((function(e,t,n,o,s,a){(0,f.begin)();try{const{files:s,...a}=e;var r={};t.be("a",Y()((0,z.default)({...a,href:`/playground/#${(0,P.compressToEncodedURIComponent)(JSON.stringify(s))}`,target:"_top",class:"playground-link"},n,"a",r)),"0",o,null,4,{...r}),t.n(N,o),t.t("↗",o),t.ee()}finally{(0,f.end)()}}),{t:$,i:!0},V),W.Component=b()(V,W._);var K=n("../../node_modules/@marko/tags-api-preview/dist/components/return/index-browser.mjs");const X="aEQdEE_f",Z=(0,o.t)(X),Q=Z;(0,y.r)(X,(()=>Z));const G={onCreate(){this.state={}}};Z._=g()((function(e,t,n,o,r,i){(0,f.begin)();try{var l=o,d=r;const{value:t,fallback:n}=e,i="0"in d?d[0]:d[0]=window.matchMedia(t).matches,c=e=>l.setState("0",e);(0,R.default)(o,(0,a.cache)((0,a.cached)(l,[t])||function(){const e=window.matchMedia(t),n=()=>(0,s.default)(c,!!e.matches);return e.addEventListener("change",n),(0,s.default)(c,!!e.matches),()=>e.removeEventListener("change",n)})),e._return&&e._return({value:i},1)}finally{(0,f.end)()}}),{t:X},G),Z.Component=b()(G,Z._);const ee="H_lRXCBe",te=(0,o.t)(ee),ne=te;(0,y.r)(ee,(()=>te));const oe={onCreate(){this.state={}}};te._=g()((function(e,t,n,o,i,d){(0,f.begin)();try{var u=o,p=i;const{left:d,right:f}=e,y="0"in p?p[0]:p[0]=.5,w=e=>u.setState("0",e),b="1"in p?p[1]:p[1]=!1,_=e=>u.setState("1",e);var h=(0,K.default)(u);c()(Q,{value:"(max-aspect-ratio: 1/1)",_return:h},t,n,"0");const{value:k}=h(),j=(0,r.default)(u,"0");t.be("div",{class:m()(["panes",b&&"resizing"])},"@0",o,null,1);var v={};t.be("div",Y()((0,z.default)({...d,style:`flex-grow:${y}`},n,"div",v)),"1",o,null,4,{...v}),T()(t,d.renderBody,null,null,null,null,n,"2"),t.ee(),t.be("div",{class:"divider"},"3",o,null,1),t.e("div",{class:"inner"},"4",o,0,1,{onmousedown:n.d("mousedown",(function(e){(0,s.default)(_,!0),e.preventDefault(),e.stopPropagation()}),!1)}),t.ee();var g={};t.be("div",Y()((0,z.default)({...f,style:"flex-grow:"+(1-y)},n,"div",g)),"5",o,null,4,{...g}),T()(t,f.renderBody,null,null,null,null,n,"6"),t.ee(),t.ee(),b&&c()(l.default,{renderBody:(e,t,n,o)=>{var r=n;(0,R.default)(r,(0,a.cache)((0,a.cached)(n,[k])||function(){const e=e=>{if(e.buttons||e.which){const t=j().getBoundingClientRect(),n=k?(e.clientY-t.top)/t.height:(e.clientX-t.left)/t.width;n>0&&(0,s.default)(w,Math.min(.8,Math.max(.2,n)))}else(0,s.default)(_,!1)};return window.addEventListener("mousemove",e),()=>window.removeEventListener("mousemove",e)}))}},t,n,"7")}finally{(0,f.end)()}}),{t:ee},oe),te.Component=b()(oe,te._);const se="rtapnbhf",ae=(0,o.t)(se),re=ae,ie=L()("option",{value:"preview"},1).t("App Preview"),le=L()("option",{value:"compiled-html"},1).t("Compiled (HTML)"),de=L()("option",{value:"compiled-vdom"},1).t("Compiled (DOM)");(0,y.r)(se,(()=>ae));const ce={onCreate(){this.state={}}};ae._=g()((function(e,t,o,r,d,u){(0,f.begin)();try{var m=r,p=d;const{filesChange:u,getCompilerOptions:h,files:f}=e,v="0"in p?p[0]:p[0]=0,g=e=>m.setState("0",e),y="1"in p?p[1]:p[1]="preview",w=e=>m.setState("1",e),b="2"in p?p[2]:p[2]=!1,_=e=>m.setState("2",e),k=f[v];c()(ne,(0,C.i)((()=>{(0,C.a)("left",{class:"editor-container",renderBody:e=>{c()(O,(0,C.i)((()=>{(0,C.a)("actions",{renderBody:e=>{c()(l.default,{renderBody:(e,t,n,o)=>{var r=t;c()(j,{files:f,filesChange:u,selectedIndex:v,selectedIndexChange:(0,a.cache)((0,a.cached)(n,[])||(e=>(0,s.default)(g,e)))},e,r,"3")}},e,o,"2")}}),(0,C.a)("body",{renderBody:e=>{c()(l.default,{renderBody:(e,t,o,r)=>{var d=t,m=o;const p="0"in r?r[0]:r[0]=null,h=e=>o.setState("0",e);p&&c()(l.default,{renderBody:(e,t,n,o)=>{var r=t;T()(e,p,(()=>({value:k.content,filename:k.path,valueChange:(0,a.cache)((0,a.cached)(n,[k,f,v])||function(e){const t={...k,content:e};(0,s.default)(u,[...f.slice(0,v),t,...f.slice(v+1)]),(0,s.default)(_,!0)})})),null,null,null,r,"6")}},e,d,"5"),(0,i.default)(m,{onMount:(0,a.cache)((0,a.cached)(o,[])||(async()=>{const e=await Promise.all([n.e(745),n.e(535),n.e(157),n.e(760),n.e(268)]).then(n.bind(n,"../components/repl/components/editor.marko"));await e.loading,(0,s.default)(h,e)}))})}},e,o,"4")}})})),e,o,"1")}}),(0,C.a)("right",{renderBody:e=>{c()(O,(0,C.i)((()=>{(0,C.a)("actions",{renderBody:e=>{c()(l.default,{renderBody:(e,t,n,o)=>{var r=t,i=n;c()(I,{value:y,valueChange:(0,a.cache)((0,a.cached)(n,[])||function(e){(0,s.default)(w,e),(0,s.default)(_,!1)}),class:"preview-select",renderBody:e=>{e.n(ie,i),e.n(le,i),e.n(de,i)}},e,r,"9"),c()(J,{files:f},e,r,"13")}},e,o,"8")}}),(0,C.a)("body",{renderBody:e=>{c()(l.default,{renderBody:(e,t,o,r)=>{var l=t,d=o;const c="0"in r?r[0]:r[0]=null,u=e=>o.setState("0",e);T()(e,c,(()=>({type:y,files:f,selectedFile:k,getCompilerOptions:h,debounce:b})),null,null,null,l,"15"),(0,i.default)(d,{onMount:(0,a.cache)((0,a.cached)(o,[])||(async()=>{(0,s.default)(u,await Promise.all([n.e(745),n.e(663),n.e(535),n.e(783),n.e(760),n.e(887),n.e(81)]).then(n.bind(n,"../components/repl/components/preview.marko")))}))})}},e,o,"14")}})})),e,o,"7")}})})),t,o,"0")}finally{(0,f.end)()}}),{t:se},ce),ae.Component=b()(ce,ae._)},"./playground/components/hash-value.marko":(e,t,n)=>{"use strict";n.d(t,{A:()=>v});var o=n("../../node_modules/marko/dist/runtime/vdom/index.js"),s=n("../../node_modules/lz-string/libs/lz-string.js"),a=n("../../node_modules/@marko/tags-api-preview/dist/transform/cached-values/index-browser.mjs"),r=n("../../node_modules/@marko/tags-api-preview/dist/util/replace-assignments/index.mjs"),i=n("../../node_modules/@marko/tags-api-preview/dist/components/lifecycle/index.mjs"),l=n("../../node_modules/@marko/tags-api-preview/dist/chunk-5R2Z7TR6.mjs"),d=n("../../node_modules/marko/dist/runtime/components/renderer.js"),c=n.n(d),u=n("../../node_modules/marko/dist/runtime/components/registry.js"),m=n("../../node_modules/marko/dist/runtime/components/defineComponent.js"),p=n.n(m);const h="iu_vYbKl",f=(0,o.t)(h),v=f;(0,u.r)(h,(()=>f));const g={onCreate(){this.state={}}};f._=c()((function(e,t,n,o,d,c){(0,l.begin)();try{var u=o,m=d;const{value:t}=e,n="0"in m?m[0]:m[0]=function(){try{return JSON.parse((0,s.decompressFromEncodedURIComponent)(window.location.hash.slice(1)))}catch(e){console.error(e)}}()||t,l=e=>u.setState("0",e);(0,i.default)(o,{onMount:(0,a.cache)((0,a.cached)(u,[])||function(){window.addEventListener("hashchange",this.handler=()=>{try{this.isUpdating?this.isUpdating=!1:(0,r.default)(l,JSON.parse((0,s.decompressFromEncodedURIComponent)(window.location.hash.slice(1))))}catch(e){console.error(e)}})}),onUpdate:(0,a.cache)((0,a.cached)(u,[n])||function(){this.isUpdating=!0,window.location.hash=(0,s.compressToEncodedURIComponent)(JSON.stringify(n))}),onDestroy:(0,a.cache)((0,a.cached)(u,[])||function(){window.removeEventListener("hashchange",this.handler)})}),e._return&&e._return({value:n,valueChange:(0,a.cache)((0,a.cached)(u,[])||(e=>(0,r.default)(l,e)))},1)}finally{(0,l.end)()}}),{t:h},g),f.Component=p()(g,f._)},"./v6/playground/index.marko?browser-entry":(e,t,n)=>{"use strict";var o=n("../../node_modules/marko/dist/runtime/components/index.js"),s=(n("../components/app-layout/favicon.png"),n("../logos/marko.svg"),n("../logos/marko-uwu.png"),n("../components/app-layout/components/layout-search/component-browser.js")),a=n("../components/app-layout/components/layout-header/component-browser.js"),r=n.n(a),i=n("../components/app-layout/components/layout-sidebar/components/version-switcher/component-browser.js"),l=n.n(i),d=n("../components/app-layout/components/layout-sidebar/component-browser.js"),c=n.n(d),u=(n("../components/app-footer/openjsf.svg"),n("../components/app-footer/osi.svg"),n("../components/app-footer/ebay.svg"),n("../logos/discord.svg"),n("../../node_modules/marko/dist/runtime/vdom/index.js")),m=n("./playground/components/hash-value.marko"),p=n("../../node_modules/@marko/translator-tags/dist/index.js"),h=n("../../node_modules/@marko/tags-api-preview/dist/transform/cached-values/index-browser.mjs"),f=n("../../node_modules/@marko/tags-api-preview/dist/components/return/index-browser.mjs"),v=n("../../node_modules/marko/dist/runtime/helpers/render-tag.js"),g=n.n(v),y=n("../components/repl/index.marko"),w=n("../../node_modules/@marko/tags-api-preview/dist/chunk-5R2Z7TR6.mjs"),b=n("../../node_modules/marko/dist/runtime/components/renderer.js"),_=n.n(b),k=n("../../node_modules/marko/dist/runtime/components/registry.js"),j=n("../../node_modules/marko/dist/runtime/components/defineComponent.js"),x=n.n(j);const C="TrmYoaCc",S=(0,u.t)(C);(0,k.r)(C,(()=>S));const T={onCreate(){this.state={}}};S._=_()((function(e,t,n,o,s,a){(0,w.begin)();try{var r=o,i=(0,f.default)(r);g()(m.A,{value:(0,h.cache)((0,h.cached)(r,[])||[{name:"index.marko",path:"/components/index.marko",content:"\n"}]),_return:i},t,n,"0");const{valueChange:e,value:s}=i();g()(y.A,{getCompilerOptions:(0,h.cache)((0,h.cached)(r,[])||function(){return{translator:p,optimize:!1}}),files:s,filesChange:e},t,n,"1")}finally{(0,w.end)()}}),{t:C},T),S.Component=x()(T,S._),(0,o.register)("MYKqWWDb",s.A),(0,o.register)("FbSTxHWc",r()),(0,o.register)("bjXvzQUk",l()),(0,o.register)("SxWdUlSh",c()),(0,o.init)()},"../../browser-shims/compiler/dist/babel-types/index.js":(e,t,n)=>{e.exports=n("../../node_modules/@marko/compiler/dist/babel-types/index.js")},"../../browser-shims/compiler/index.js":(e,t,n)=>{t.types=n("../../browser-shims/compiler/dist/babel-types/index.js")},"../../browser-shims/fs.js":(e,t,n)=>{e.exports=n("../../node_modules/memfs/lib/index.js")},"../../browser-shims/module.js":(e,t,n)=>{const o=n("../../node_modules/path-browserify/index.js"),s=n("../../node_modules/resolve/index.js"),a=n("../../node_modules/resolve.exports/dist/index.js"),r={_nodeModulePaths:function(e){const t=[];for(;;){const n=o.dirname(e);if(t.push(o.join(e,"node_modules")),!n||n===e)break;e=n}return t},_resolveFilename:function(e,t){return s.sync(e,{basedir:o.dirname(t.filename),paths:t.paths,extensions:[".js",".json",".marko",".mjs"],pathFilter(e,t,n){if(/^index(\.[^/\\]+)?$/.test(n))try{return a.legacy(e,r._resolveExportsOptions)}catch{}else try{return a.resolve(e,n,r._resolveExportsOptions)}catch{}return n}})},_resolveExportsOptions:{browser:!0}};e.exports=r},"../../browser-shims/process.js":e=>{e.exports={env:{},browser:!0,versions:{node:"1000.0.0"},cwd:()=>"/"}},"../components/app-layout/components/layout-header/component-browser.js":(e,t,n)=>{var o=n("../components/app-layout/components/layout-header/events.js"),s="headspace--fixed",a="headspace--hidden";e.exports={onMount(){o.emit("create",this);var e,t=0,n=this.getEl("header").offsetHeight,s=(this.getEl("banner")||{offsetHeight:0}).offsetHeight,a=(e=()=>{var e=window.pageYOffset;e<=s?this.reset():!this.paused&&e>n&&(Math.abs(e-t)>=3||e>t&&t<=n)&&(e>t?this.hide():this.fix()),t=e},()=>window.requestAnimationFrame(e));a(),window.addEventListener("scroll",a)},reset(){this.removeClass(s),this.removeClass(a),o.emit("reset")},fix(){this.addClass(s),this.removeClass(a),o.emit("fix")},hide(){this.addClass(a),o.emit("hide")},addClass(e){this.getEl("header").classList.add(e)},removeClass(e){this.getEl("header").classList.remove(e)},pause(){this.paused=!0},resume(){setTimeout((()=>window.requestAnimationFrame((()=>{this.paused=!1}))))},toggleMenu(){o.emit("toggle-menu")}}},"../components/app-layout/components/layout-header/events.js":(e,t,n)=>{var o=n("../../node_modules/events/events.js");e.exports=new o},"../components/app-layout/components/layout-search/component-browser.js":(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const o=class{async onMount(){const{init:e}=await Promise.all([n.e(914),n.e(205)]).then(n.bind(n,"../components/app-layout/components/layout-search/doc-search.js"));e(this.getEl("container"))}}},"../components/app-layout/components/layout-sidebar/component-browser.js":(e,t,n)=>{var o,s=n("../components/app-layout/components/layout-header/events.js"),a=[].forEach,r=[].filter,i=[].slice;e.exports={onMount(){this.preventOverscroll(),this.listenForHeaderChanges(),this.initScrollSpy()},initScrollSpy(){var e=[1,2,3,4,5,6].map((e=>".doc-content h"+e)).join(","),t=i.call(document.querySelectorAll(e)),n=!1;t.length&&this.subscribeTo(window).on("scroll",(()=>{n||(n=!0,setTimeout((()=>{var e,o,s=window.innerHeight/3;t.map((t=>{var n=t.getBoundingClientRect().top;(null==o||ne.classList.remove("selected")));d;){var u=d.closest("ul"),m=u&&r.call(u.querySelectorAll(":scope > li > a[href^=\\#]"),(e=>e!==d));m&&m.forEach((e=>e.classList.remove("selected"))),d.classList.add("selected"),d=u&&u.previousElementSibling}this.scrollAnchorIntoView(l),n=!1}),50))}))},listenForHeaderChanges(){a.call(this.el.querySelectorAll("a[href^=\\#]"),(e=>{this.subscribeTo(e).on("click",(()=>{o.hide(),o.pause(),o.resume(),this.hide()}))}));var e=i.call(this.el.querySelectorAll("a.selected")).pop();e&&this.subscribeTo(e).on("click",(e=>{window.scrollTo(0,0),o.reset(),e.preventDefault()})),this.subscribeTo(s).on("reset",(()=>{this.el.classList.remove("no-header"),this.el.classList.remove("fixed"),setTimeout((()=>this.el.classList.remove("transition")),0)})).on("fix",(()=>{this.el.classList.remove("no-header"),this.el.classList.add("fixed"),setTimeout((()=>this.el.classList.add("transition")),0)})).on("hide",(()=>{this.el.classList.add("no-header"),this.el.classList.add("fixed"),setTimeout((()=>this.el.classList.add("transition")),0)})).on("toggle-menu",(()=>{this.el.classList.contains("show")?(this.el.classList.remove("show"),document.body.style.overflow=""):this.el.classList.add("show")})).on("create",(e=>{o=e,window.pageYOffset>o.el.offsetHeight&&(this.el.classList.add("no-header"),this.el.classList.add("fixed"))}))},preventOverscroll(){var e=this.getEl("sidebar");this.subscribeTo(document.body).on("wheel",(t=>{var n=t.deltaY,o=e.scrollTop+n,s=e.scrollHeight-e.offsetHeight,a=o<=0,r=o>=s;(n<0&&a||n>0&&r)&&(t.target===e||e.contains(t.target))&&(a&&0!=e.scrollTop?e.scrollTop=0:r&&e.scrollTop!=s&&(e.scrollTop=s),t.preventDefault())}))},scrollAnchorIntoView(e){for(var t,n=this.getEl("sidebar"),o=(e.offsetTop,n.scrollTop),s=n.offsetHeight,a=o+s,r=e.closest("li");(t=r.parentNode.closest("ul"))&&t.offsetHeighto&&i+l{e.exports={onMount(){const e=this.getEl("version").value,t=e.startsWith("/v6"),n=!t&&e.startsWith("/");(this.v6&&!t||!this.v6&&!n)&&(window.location.href=e)},switchVersion(e){window.location.href=e.target.value}}},"../components/app-footer/ebay.svg":(e,t,n)=>{"use strict";n.p},"../components/app-footer/openjsf.svg":(e,t,n)=>{"use strict";n.p},"../components/app-footer/osi.svg":(e,t,n)=>{"use strict";n.p},"../components/app-layout/favicon.png":(e,t,n)=>{"use strict";n.p},"../logos/discord.svg":(e,t,n)=>{"use strict";n.p},"../logos/marko-uwu.png":(e,t,n)=>{"use strict";n.p},"../logos/marko.svg":(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const o=n.p+"91bc26e5.svg"},"?8b4e":()=>{},"?98fd":()=>{},"?2e65":()=>{},"?e376":()=>{},"?7dc1":()=>{},"?f84f":()=>{},"?4c42":()=>{},"?c95a":()=>{},"?c86f":()=>{},"?d1e8":()=>{}},e=>{e.O(0,[364,72,745,663,215],(()=>e(e.s="./v6/playground/index.marko?browser-entry"))),e.O()}]); +//# sourceMappingURL=313.b4d51fa5.js.map \ No newline at end of file diff --git a/assets/313.b4d51fa5.js.br b/assets/313.b4d51fa5.js.br new file mode 100644 index 0000000000000000000000000000000000000000..2946bd166916ab7d1fd25d8887c22abe5cfb4edc GIT binary patch literal 5397 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 BBE\n\n\n\n\n\n\n\n \n \n \n \n 0)/>\n \n \n ${file.name}\n \n \n \n \n \n \n \n \n = index) {\n selectedIndex--;\n }\n files = [...files.slice(0, index), ...files.slice(index+1)];\n }\n e.stopPropagation();\n }>\n ×\n \n \n \n \n \n +\n \n\n","\n\n\n \n <${actions.renderBody}/>\n \n \n \n <${body.renderBody}/>\n \n\n\n\n","\n\n\n // back to the original value. So we track those values as well,\n // so we can re-set the \n \n \n \n = index) {\n selectedIndex--;\n }\n files = [...files.slice(0, index), ...files.slice(index+1)];\n }\n e.stopPropagation();\n }>\n ×\n \n \n \n \n \n +\n \n\n","\n\n\n \n <${actions.renderBody}/>\n \n \n \n <${body.renderBody}/>\n \n\n\n\n","\n\n\n // back to the original value. So we track those values as well,\n // so we can re-set the \n \n \n \n = index) {\n selectedIndex--;\n }\n files = [...files.slice(0, index), ...files.slice(index+1)];\n }\n e.stopPropagation();\n }>\n ×\n \n \n \n \n \n +\n \n\n","\n\n\n \n <${actions.renderBody}/>\n \n \n \n <${body.renderBody}/>\n \n\n\n\n","\n\n\n // back to the original value. So we track those values as well,\n // so we can re-set the \n \n \n \n = index) {\n selectedIndex--;\n }\n files = [...files.slice(0, index), ...files.slice(index+1)];\n }\n e.stopPropagation();\n }>\n ×\n \n \n \n \n \n +\n \n\n","\n\n\n \n <${actions.renderBody}/>\n \n \n \n <${body.renderBody}/>\n \n\n\n\n","\n\n\n // back to the original value. So we track those values as well,\n // so we can re-set the \n \n \n \n = index) {\n selectedIndex--;\n }\n files = [...files.slice(0, index), ...files.slice(index+1)];\n }\n e.stopPropagation();\n }>\n ×\n \n \n \n \n \n +\n \n\n","\n\n\n \n <${actions.renderBody}/>\n \n \n \n <${body.renderBody}/>\n \n\n\n\n","\n\n\n // back to the original value. So we track those values as well,\n // so we can re-set the \n \n \n \n = index) {\n selectedIndex--;\n }\n files = [...files.slice(0, index), ...files.slice(index+1)];\n }\n e.stopPropagation();\n }>\n ×\n \n \n \n \n \n +\n \n\n","\n\n\n \n <${actions.renderBody}/>\n \n \n \n <${body.renderBody}/>\n \n\n\n\n","\n\n\n // back to the original value. So we track those values as well,\n // so we can re-set the "},r.paragraph=function(e){return"

"+e+"

\n"},r.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
\n"},r.tablerow=function(e){return"\n"+e+"\n"},r.tablecell=function(e,t){var r=t.header?"th":"td";return(t.align?"<"+r+' align="'+t.align+'">':"<"+r+">")+e+"\n"},r.strong=function(e){return""+e+""},r.em=function(e){return""+e+""},r.codespan=function(e){return""+e+""},r.br=function(){return this.options.xhtml?"
":"
"},r.del=function(e){return""+e+""},r.link=function(e,t,r){if(null===(e=x(this.options.sanitize,this.options.baseUrl,e)))return r;var n='"+r+""},r.image=function(e,t,r){if(null===(e=x(this.options.sanitize,this.options.baseUrl,e)))return r;var n=''+r+'":">")},r.text=function(e){return e},e}(),L=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,r){return""+r},t.image=function(e,t,r){return""+r},t.br=function(){return""},e}(),M=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var r=e,n=0;if(this.seen.hasOwnProperty(r)){n=this.seen[e];do{r=e+"-"+ ++n}while(this.seen.hasOwnProperty(r))}return t||(this.seen[e]=n,this.seen[r]=0),r},t.slug=function(e,t){void 0===t&&(t={});var r=this.serialize(e);return this.getNextSafeSlug(r,t.dryrun)},e}(),R=function(){function e(e){this.options=e||t.defaults,this.options.renderer=this.options.renderer||new B,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new L,this.slugger=new M}e.parse=function(t,r){return new e(r).parse(t)},e.parseInline=function(t,r){return new e(r).parseInline(t)};var r=e.prototype;return r.parse=function(e,t){void 0===t&&(t=!0);var r,n,s,i,o,a,l,u,c,p,d,h,m,g,y,b,v,x,D,E="",w=e.length;for(r=0;r0&&"paragraph"===y.tokens[0].type?(y.tokens[0].text=x+" "+y.tokens[0].text,y.tokens[0].tokens&&y.tokens[0].tokens.length>0&&"text"===y.tokens[0].tokens[0].type&&(y.tokens[0].tokens[0].text=x+" "+y.tokens[0].tokens[0].text)):y.tokens.unshift({type:"text",text:x}):g+=x),g+=this.parse(y.tokens,m),c+=this.renderer.listitem(g,v,b);E+=this.renderer.list(c,d,h);continue;case"html":E+=this.renderer.html(p.text);continue;case"paragraph":E+=this.renderer.paragraph(this.parseInline(p.tokens));continue;case"text":for(c=p.tokens?this.parseInline(p.tokens):p.text;r+1";return t?Promise.resolve(s):r?void r(null,s):s}if(t)return Promise.reject(n);if(!r)throw n;r(n)}}((s=n({},V.defaults,o)).silent,s.async,i);if(null==r)return a(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof r)return a(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(function(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}(s),s.hooks&&(s.hooks.options=s),i){var l,u=s.highlight;try{s.hooks&&(r=s.hooks.preprocess(r)),l=e(r,s)}catch(e){return a(e)}var c=function(e){var r;if(!e)try{s.walkTokens&&V.walkTokens(l,s.walkTokens),r=t(l,s),s.hooks&&(r=s.hooks.postprocess(r))}catch(t){e=t}return s.highlight=u,e?a(e):i(null,r)};if(!u||u.length<3)return c();if(delete s.highlight,!l.length)return c();var p=0;return V.walkTokens(l,(function(e){"code"===e.type&&(p++,setTimeout((function(){u(e.text,e.lang,(function(t,r){if(t)return c(t);null!=r&&r!==e.text&&(e.text=r,e.escaped=!0),0==--p&&c()}))}),0))})),void(0===p&&c())}if(s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(r):r).then((function(t){return e(t,s)})).then((function(e){return s.walkTokens?Promise.all(V.walkTokens(e,s.walkTokens)).then((function(){return e})):e})).then((function(e){return t(e,s)})).then((function(e){return s.hooks?s.hooks.postprocess(e):e})).catch(a);try{s.hooks&&(r=s.hooks.preprocess(r));var d=e(r,s);s.walkTokens&&V.walkTokens(d,s.walkTokens);var m=t(d,s);return s.hooks&&(m=s.hooks.postprocess(m)),m}catch(e){return a(e)}}}function V(e,t,r){return U(O.lex,R.parse)(e,t,r)}$.passThroughHooks=new Set(["preprocess","postprocess"]),V.options=V.setOptions=function(e){var r;return V.defaults=n({},V.defaults,e),r=V.defaults,t.defaults=r,V},V.getDefaults=o,V.defaults=t.defaults,V.use=function(){for(var e=V.defaults.extensions||{renderers:{},childTokens:{}},t=arguments.length,r=new Array(t),s=0;s{"use strict";r.r(t),r.d(t,{custom_tag_var_default:()=>a});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-T6EG7KQY.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),i=r("../../browser-shims/compiler/index.js"),o=r("../../node_modules/@marko/babel-utils/dist/index.js"),a={MarkoTag:{enter(e){if(!l(e))return;const{node:t}=e,r=t.var,o=i.types.objectPattern([i.types.objectProperty(i.types.identifier("value"),r)]),a=(0,n.closest)(e.parentPath),u=e.scope.generateUidIdentifier(`${e.node.name.value}Return`);e.set("var",o),e.pushContainer("attributes",[i.types.markoAttribute("_return",u)]),e.insertBefore(i.types.markoScriptlet([i.types.variableDeclaration("var",[i.types.variableDeclarator(u,i.types.callExpression((0,s.importRuntimeDefault)(e.hub.file,"components/return","return"),[a.component]))])])),e.insertAfter(i.types.markoScriptlet([i.types.variableDeclaration("const",[i.types.variableDeclarator(o,i.types.callExpression(u,[]))])]))},exit(e){l(e)&&(e.node.var=null)}}};function l(e){var t;return e.node.var&&!((0,o.isNativeTag)(e)||(0,o.isAttributeTag)(e)||(0,o.isDynamicTag)(e)||(null==(t=(0,o.getTagDef)(e))?void 0:t.translator))}},"../../node_modules/@marko/tags-api-preview/dist/chunk-3HOSD3AX.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{isAtRoot:()=>s});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-6RP5NCIJ.mjs");function s(e){const t=e.parentPath.parentPath;return t.isProgram()||(0,n.isCoreTag)("get",t)&&s(t)}},"../../node_modules/@marko/tags-api-preview/dist/chunk-3JWOFENM.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{transform:()=>o});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-KHJR3GW6.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),i=new WeakSet;function o(e){var t;if((0,s.isApi)(e,"class")||i.has(e))return;i.add(e);const r=(0,n.getAttr)(e,"value"),o=e.node.var?"does not support a tag variable":(null==(t=e.node.arguments)?void 0:t.length)?"does not support arguments, the tags api uses '' instead":r?e.node.attributes.length>1?"only supports the 'value' attribute":e.node.body.body.length?e.node.body.params.length?"does not support tag body parameters":void 0:"requires body content":"must be given a value";if(o)throw e.get("name").buildCodeFrameError(`The <${e.node.name.value}> tag ${o}.`);e.node.arguments=[r.node.value],e.node.attributes=[]}},"../../node_modules/@marko/tags-api-preview/dist/chunk-3P6FHBO5.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{assert_no_assignments_default:()=>n});var n=e=>{for(const t in e.getBindingIdentifiers()){const r=e.scope.getBinding(t),[n]=r.constantViolations;if(n)throw n.buildCodeFrameError("Reference is a constant and cannot be assigned.")}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-4WWNFOJT.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{track_function_handlers_default:()=>a});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),s=r("../../browser-shims/compiler/index.js"),i=/^on[A-Z]/,o=/Change$/,a={MarkoTag(e){if((0,n.isApi)(e,"tags")){const t=e.hub.file.metadata.marko;if(!t.hasFunctionEventHandlers)for(const r of e.node.attributes)if(s.types.isMarkoAttribute(r)&&(i.test(r.name)||o.test(r.name))){t.hasFunctionEventHandlers=!0;break}}}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-6QKU2CQW.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{attribute_bindings_default:()=>i});var n=r("../../browser-shims/compiler/index.js"),s={MarkoAttribute(e){if(!e.node.bound)return;const t=e.get("value");if(!t.isIdentifier())throw t.buildCodeFrameError("Can only bind to variable names.");const r=n.types.identifier("_"),s=n.types.markoAttribute(`${e.node.name}Change`,n.types.arrowFunctionExpression([r],n.types.assignmentExpression("=",t.node,r)));e.node.bound=!1,s.extra={___wasBound:!0},e.insertAfter(s)}},i={Program(e){e.traverse(s)}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-6RP5NCIJ.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{isCoreTag:()=>i});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-EXYEAROA.mjs"),s=r("../../node_modules/@marko/babel-utils/dist/index.js");function i(e,t){if(t.isMarkoTag()){const r=(0,s.getTagDef)(t);if(r&&r.name===e&&r.taglibId===n.taglibId)return!0}return!1}},"../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{importRuntimeDefault:()=>i,importRuntimeNamed:()=>o});var n=r("../../node_modules/@marko/babel-utils/dist/index.js"),s="@marko/tags-api-preview/dist/";function i(e,t,r){return(0,n.importDefault)(e,s+t,r)}function o(e,t,r,i){return(0,n.importNamed)(e,s+t,r,i)}},"../../node_modules/@marko/tags-api-preview/dist/chunk-BHRCPSMP.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{feature_detection_default:()=>a});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-KN5RH2HU.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-EXYEAROA.mjs"),i=r("../../node_modules/@marko/babel-utils/dist/index.js"),o={MarkoComment(e,t){/^\s*use tags\s*$/.test(e.node.value)&&l(t,"tags","\x3c!-- use tags --\x3e",e)},MarkoScriptlet(e,t){e.node.static||l(t,"class","Scriptlet",e)},MarkoClass(e,t){l(t,"class","Class block",e.get("body"))},ReferencedIdentifier(e,t){const r=e.node.name;"component"!==r&&"out"!==r||e.scope.hasBinding(r)||l(t,"class",`${r} template global`,e)},MarkoTag(e,t){var r,n;e.node.var&&l(t,"tags","Tag variable",e.get("var"));for(const n of e.get("attributes"))if(n.isMarkoAttribute()){if(null==(r=n.node.arguments)?void 0:r.length){l(t,"class","Attribute arguments",n.get("arguments")[0]);break}if(n.node.modifier){l(t,"class","Attribute modifier",n);break}if(n.node.bound){l(t,"tags","Bound attribute",n);break}}const o=(0,i.getTagDef)(e);if(o)switch(o.taglibId){case"marko-html":case"marko-math":case"marko-svg":for(const r of e.get("attributes"))if(r.isMarkoAttribute())switch(r.node.name){case"key":case"no-update":case"no-update-if":case"no-update-body-if":l(t,"class",`"${r.node.name}" attribute`,r)}break;case"marko-default-core":switch(o.name){case"if":case"for":case"else":case"else-if":case"import":case"style":case"html-comment":case"body":case"head":break;default:l(t,"class",`<${o.name}> tag`,e.get("name"))}break;case s.taglibId:switch(o.name){case"if":case"else-if":case"for":case"style":break;default:l(t,"tags",`<${o.name}> tag`,e.get("name"))}}else(0,i.isDynamicTag)(e)&&(null==(n=e.node.arguments)?void 0:n.length)&&l(t,"class","Dynamic tag arguments",e)}},a={Program(e){var t,r;const n={};null!=(t=e.node).extra||(t.extra={}),e.traverse(o,n),e.node.extra.___featureType=(null==(r=n.feature)?void 0:r.type)||"class"}};function l(e,t,r,s){if(e.feature){if(e.feature.type!==t)throw(0,n.buildAggregateError)(s.hub.file,'Cannot mix "tags api" and "class api" features',[e.feature.name,e.feature.path],[r,s])}else e.feature={name:r,path:s,type:t}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-EOOMCNH2.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{replaceAssignments:()=>o});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-M2NZ6OKP.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),i=r("../../browser-shims/compiler/index.js");function o(e,t){var r;const o=e.path.hub.file;for(const a of e.constantViolations){let l;if(a.isUpdateExpression()?l=i.types.binaryExpression("++"===a.node.operator?"+":"-",e.identifier,i.types.numericLiteral(1)):a.isAssignmentExpression()&&(l="="===a.node.operator?(0,n.transform_default)(o,a.node.right):i.types.binaryExpression(a.node.operator.slice(0,-1),e.identifier,a.node.right)),l){const e=a.parentPath;e.isFunction()&&e.parentPath.isMarkoAttribute()&&(null==(r=e.parentPath.node.extra)?void 0:r.___wasBound)?e.replaceWith(t):a.replaceWith(i.types.callExpression((0,s.importRuntimeDefault)(o,"util/replace-assignments","assign"),[t,l]))}}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-EXYEAROA.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{taglibId:()=>n}),r("../../node_modules/path-browserify/index.js");var n="@marko/tags-api-preview"},"../../node_modules/@marko/tags-api-preview/dist/chunk-HLW4GEXA.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{assignments_to_change_call_default:()=>i});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-EOOMCNH2.mjs"),s=r("../../browser-shims/compiler/index.js"),i={MarkoTag:{exit(e){const t=e.get("var");t.node&&!t.isIdentifier()&&a(t,o)}}};function o(e){const t=e.scope.getBinding(e.node.name),r=t.constantViolations;if(!r.length)return;let i,o=e.parentPath;if(o.isRestElement())throw r[0].buildCodeFrameError("Cannot assign to a ...rest element.");if(o.isAssignmentPattern()&&(o=o.parentPath),o.isArrayPattern())throw r[0].buildCodeFrameError("Assignment to a destructured array will come in a future version of the tags api preview.");if(o.isObjectProperty()){const t=o.parentPath;if(o.node.computed)i=e.scope.generateUidIdentifier(`${e.node.name}Change`),t.pushContainer("properties",s.types.objectProperty(s.types.binaryExpression("+",o.get("key").node,s.types.stringLiteral("Change")),i,!0));else{const r=`${l(o.get("key"))}Change`;for(const e of t.get("properties"))if(e.isObjectProperty()){const t=e.get("key"),n=e.get("value");if(!e.node.computed&&l(t)===r&&n.isIdentifier()){i=n.node;break}}i||t.unshiftContainer("properties",s.types.objectProperty(s.types.stringLiteral(r),i=e.scope.generateUidIdentifier(r)))}}(0,n.replaceAssignments)(t,i)}function a(e,t){switch(e.node.type){case"ObjectPattern":for(const r of e.get("properties"))a(r.isObjectProperty()?r.get("value"):r,t);break;case"ArrayPattern":for(const r of e.get("elements"))a(r,t);break;case"RestElement":a(e.get("argument"),t);break;case"AssignmentPattern":a(e.get("left"),t);break;case"Identifier":t(e)}}function l(e){return e.isStringLiteral()?e.node.value:e.node.name}},"../../node_modules/@marko/tags-api-preview/dist/chunk-KHJR3GW6.mjs":(e,t,r)=>{"use strict";function n(e,t){return e.get("attributes").find((e=>e.node.name===t))}r.r(t),r.d(t,{getAttr:()=>n})},"../../node_modules/@marko/tags-api-preview/dist/chunk-KN5RH2HU.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{buildAggregateError:()=>a});var n=r("../../node_modules/path-browserify/index.js"),s=r("../../node_modules/@babel/code-frame/lib/index.js"),i=r("../../browser-shims/process.js"),o=i.cwd();function a(e,t,...r){const a=new SyntaxError,l=n.relative(o,e.opts.filename),u=`${t}:\n\n${r.map((([t,r])=>`${t} at ${function(e,{node:{loc:t}}){return t?`${e}(${t.start.line},${t.start.column+1})`:e}(l,r)}:\n${function(e,{node:{loc:t}}){return t?(0,s.codeFrameColumns)(e.code,{start:{line:t.start.line,column:t.start.column+1},end:t.end&&t.start.line===t.end.line?{line:t.end.line,column:t.end.column+1}:void 0},{highlightCode:!0}):""}(e,r)}`)).join("\n\n")}`;return"MARKO_DEBUG"in i.env||(a.stack=u),Object.defineProperty(a,"message",{get:()=>u,set(){}}),a}},"../../node_modules/@marko/tags-api-preview/dist/chunk-LDVDH3RA.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{transform_default:()=>l});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-6RP5NCIJ.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-T6EG7KQY.mjs"),i=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),o=r("../../browser-shims/compiler/index.js"),a=r("../../node_modules/@marko/babel-utils/dist/index.js"),l={MarkoTag:{exit(e){if(!e.node.var)return;const{scope:t,hub:{file:r}}=e,n=e.get("var"),a=[],l=(0,s.closest)(e.parentPath);for(const p in n.getBindingIdentifiers()){const n=t.getBinding(p);if(n&&n.scope!==t){const t=n.scope.generateUidIdentifier(`${n.identifier.name}_hoisted`);let d=!1;const[h]=n.constantViolations;if(h)throw h.buildCodeFrameError("Assigning to a hoisted tag variable is not supported in the tags api preview.");for(const r of n.referencePaths)if(1===u(n.scope,e,r))switch(c(r)){case 1:break;case 0:throw r.buildCodeFrameError(`Cannot access '${p}' before initialization.`);case 2:d=!0,r.replaceWith(o.types.assignmentExpression("=",r.node,o.types.callExpression(t,[])))}const m=[o.types.variableDeclarator(n.identifier)];d?(m.push(o.types.variableDeclarator(t,o.types.callExpression((0,i.importRuntimeDefault)(r,"transform/hoist-tag-vars","hoist"),[(0,s.closest)(n.scope.path).component,o.types.stringLiteral(p),o.types.arrowFunctionExpression([o.types.identifier("_")],o.types.assignmentExpression("=",n.identifier,o.types.identifier("_")))]))),a.push(o.types.expressionStatement(o.types.callExpression(t,[l.component,n.identifier])))):(m.push(o.types.variableDeclarator(t,o.types.arrowFunctionExpression([o.types.identifier("_")],o.types.assignmentExpression("=",n.identifier,o.types.identifier("_"))))),a.push(o.types.expressionStatement(o.types.callExpression(t,[n.identifier])))),n.scope.path.unshiftContainer("body",o.types.markoScriptlet([o.types.variableDeclaration("var",m)]))}}a.length&&e.parentPath.pushContainer("body",o.types.markoScriptlet(a))}}};function u(e,t,r){const n=t=>t.scope===e&&(t.isMarkoScriptlet()||t.isMarkoPlaceholder()||t.isMarkoTag()),s=r.findParent(n),i=t.findParent(n);return s.key===i.key?0:s.keye.isMarkoAttribute()));if(r){const e=r.parentPath;if((0,a.isNativeTag)(e)||(0,n.isCoreTag)("effect",e)||(0,n.isCoreTag)("lifecycle",e))return 1}return 2}},"../../node_modules/@marko/tags-api-preview/dist/chunk-M2NZ6OKP.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{transform_default:()=>i});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),s=r("../../browser-shims/compiler/index.js"),i=(e,t)=>e.markoOpts.optimize||s.types.isLiteral(t)||s.types.isBinaryExpression(t)||s.types.isUnaryExpression(t)?t:s.types.callExpression((0,n.importRuntimeDefault)(e,"util/deep-freeze","freeze"),[t])},"../../node_modules/@marko/tags-api-preview/dist/chunk-N6K2YDX2.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{transform_default:()=>l});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-6RP5NCIJ.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-T6EG7KQY.mjs"),i=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),o=r("../../browser-shims/compiler/index.js"),a=r("../../node_modules/@marko/babel-utils/dist/index.js"),l={MarkoTag:{enter(e){const{node:t,hub:{file:r}}=e,l=t.var;if(!l||!((0,a.isNativeTag)(e)&&!(0,n.isCoreTag)("style",e)||(0,a.isDynamicTag)(e)))return;if(!o.types.isIdentifier(l))throw e.get("var").buildCodeFrameError("A tag variable on a native tag cannot be destructured.");const u=(0,s.closest)(e.parentPath),c=o.types.stringLiteral(""+u.refIndex++);e.insertBefore(o.types.markoScriptlet([o.types.variableDeclaration("const",[o.types.variableDeclarator(l,o.types.callExpression((0,i.importRuntimeDefault)(r,"transform/native-tag-var","createRef"),[u.component,c]))])])),e.pushContainer("attributes",o.types.markoAttribute("key",c))},exit(e){e.node.var&&((0,a.isNativeTag)(e)||(0,a.isDynamicTag)(e))&&(e.node.var=null)}}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs":(e,t,r)=>{"use strict";function n(e,t){return e.hub.file.path.node.extra.___featureType===t}r.r(t),r.d(t,{isApi:()=>n})},"../../node_modules/@marko/tags-api-preview/dist/chunk-RD5BSXXW.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{translate_default:()=>p});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-KHJR3GW6.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),i=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),o=r("../../browser-shims/compiler/index.js"),a=r("../../node_modules/@marko/babel-utils/dist/index.js"),l=/^on[A-Z]/,u=/Change$/,c={input:["value","checked"],textarea:["value"]},p={MarkoTag(e){if((0,s.isApi)(e,"tags")&&(0,a.isNativeTag)(e)){const t=e.hub.file,r="html"===t.markoOpts.output,s=e.node.extra||(e.node.extra={}),a=s.properties||(s.properties=[]),p=e.get("attributes");if(p.some((e=>e.isMarkoSpreadAttribute()))){const n=e.scope.generateUidIdentifier("meta"),s=[];e.insertBefore(o.types.variableDeclaration("var",[o.types.variableDeclarator(n,o.types.objectExpression([]))])),a.push(o.types.spreadElement(n));for(const e of p){if(e.isMarkoAttribute()){if("key"===e.node.name)continue;s.push(o.types.objectProperty(o.types.stringLiteral(e.node.name),e.node.value))}else s.push(o.types.spreadElement(e.node.value));e.remove()}e.pushContainer("attributes",o.types.markoSpreadAttribute(o.types.callExpression((0,i.importRuntimeDefault)(t,"translate/native-tag-handlers","extractHandlers"),r?[o.types.objectExpression(s)]:[o.types.objectExpression(s),t._componentDefIdentifier,e.node.name,n])))}else{const t=e.node.name.value,s=c[t];for(const e of p){const{node:t}=e,{name:n,value:s}=t;r?(l.test(n)||u.test(n))&&e.remove():l.test(n)&&s&&(t.arguments=[s],t.value=o.types.booleanLiteral(!0))}if(s){const t=[];for(const i of s){const s=`${i}Change`,a=(0,n.getAttr)(e,i),l=(0,n.getAttr)(e,s),u=o.types.stringLiteral(i);if(l){const n=o.types.identifier("e"),c=o.types.identifier("target"),p=e.scope.generateUidIdentifier(s),d=l.node.value;e.insertBefore(o.types.variableDeclaration("var",[o.types.variableDeclarator(p,d)])),e.pushContainer("attributes",o.types.markoAttribute("onInput",o.types.booleanLiteral(!0),null,[o.types.arrowFunctionExpression([n],o.types.blockStatement([o.types.expressionStatement(o.types.callExpression(p,[o.types.memberExpression(o.types.memberExpression(n,c),o.types.identifier(i))]))]))])),l.remove(),r||!a||o.types.isFunction(d)||t.push(o.types.logicalExpression("&&",p,u))}else!r&&a&&t.push(u)}t.length&&a.push(o.types.objectProperty(o.types.identifier("pa"),o.types.arrayExpression(t)))}}}}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-RTKXODG2.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{for_key_scope_default:()=>n});var n={MarkoTag(e){var t;const r="for"===e.node.name.value&&(null==(t=e.node.extra)?void 0:t.keyScope);r&&(e.node.keyScope=r)}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-T5RCUW6W.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{class_api_custom_tag_handlers_default:()=>a});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),s=r("../../browser-shims/compiler/index.js"),i=r("../../node_modules/@marko/babel-utils/dist/index.js"),o=/^on[A-Z]/,a={MarkoTag(e){if((0,n.isApi)(e,"class"))return;let t;for(const r of e.get("attributes"))if(r.isMarkoAttribute()&&!r.node.arguments&&o.test(r.node.name)){if(!t&&!(t=(0,i.loadFileForTag)(e))||(0,n.isApi)(t.path,"tags"))return;r.node.arguments=[r.node.value],r.node.value=s.types.booleanLiteral(!0)}}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-T6EG7KQY.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{closest:()=>u,ensureLifecycle:()=>p,wrapper_component_default:()=>c});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-EXYEAROA.mjs"),i=r("../../browser-shims/compiler/index.js"),o=r("../../node_modules/@marko/babel-utils/dist/index.js"),a=new WeakMap,l=new Set(["id","let","get","set","effect","return","lifecycle"]);function u(e){let t=e;do{const{node:e}=t;if(!e)return;const{extra:r}=e;if(r){const e=r.___lifecycle;if(e)return e}t=t.parentPath}while(t)}var c={Program:{enter(e){(0,n.isApi)(e,"tags")&&a.set(e,new Set)},exit(e){if((0,n.isApi)(e,"tags"))for(const t of a.get(e))t===e?t.node.extra.___lifecycle.client&&(e.node.body=d(e).concat(e.node.body)):t.node.body.body=h(t)}},MarkoTag(e){const t=(0,o.getTagDef)(e);t&&t.taglibId===s.taglibId?l.has(t.name)&&p(e,!("id"===t.name&&"Program"===e.parent.type)):e.node.var&&p(e)}};function p(e,t=!0){const r=e.hub.file.path;let n=e;for(;(n=n.parentPath)!==r&&(n=n.parentPath).node&&(0,o.isNativeTag)(n););if(m(e)&&((0,o.isTransparentTag)(n)&&(n=(0,o.findParentTag)(n)||r),n=(0,o.findParentTag)(n)||r),n.node){const e=a.get(r);let s=n.node.extra;if(e.has(n))t&&(s.___lifecycle.client=!0);else{const r={client:t,component:n.scope.generateUidIdentifier("component"),state:n.scope.generateUidIdentifier("state"),stateIndex:0,refIndex:0,varIndex:0};e.add(n),s?s.___lifecycle=r:s=n.node.extra={___lifecycle:r}}return s.___lifecycle}}function d(e){const t=e.node.extra.___lifecycle;return[i.types.markoClass(i.types.classBody([i.types.classMethod("method",i.types.identifier("onCreate"),[],i.types.blockStatement([i.types.expressionStatement(i.types.assignmentExpression("=",i.types.memberExpression(i.types.thisExpression(),i.types.identifier("state")),i.types.objectExpression([])))]))])),i.types.markoScriptlet([i.types.variableDeclaration("var",[i.types.variableDeclarator(t.component,i.types.identifier("component")),i.types.variableDeclarator(t.state,i.types.identifier("state"))])])]}function h(e){var t;const r=e.node.extra.___lifecycle,n=[],s=[];for(const r of e.node.body.body)(null==(t=r.extra)?void 0:t._hoistInInstance)?s.push(r):n.push(r);return s.push(i.types.markoTag(i.types.stringLiteral(r.client?"_instance":"_instance-stateless"),[],i.types.markoTagBody(n,[e.scope.generateUidIdentifier("nestedComponentDef"),r.component,r.state]))),s}function m(e){if((0,o.isAttributeTag)(e))return!0;if((0,o.isTransparentTag)(e))for(const t of e.get("body").get("body"))if(t.isMarkoTag()&&m(t))return!0;return!1}},"../../node_modules/@marko/tags-api-preview/dist/chunk-V33N2XTI.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{transform_default:()=>c});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-6RP5NCIJ.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-T6EG7KQY.mjs"),i=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),o=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),a=r("../../node_modules/@marko/babel-utils/dist/index.js"),l=r("../../browser-shims/compiler/index.js"),u={enter(e,t){e.parent===t.parent&&e.node!==t.node&&e.skip()},Function(e,t){t.shouldCache=!0},TaggedTemplateExpression(e,t){t.shouldCache=!0},ObjectExpression(e,t){t.shouldCache=!0},ArrayExpression(e,t){t.shouldCache=!0},CallExpression(e,t){t.shouldCache=!0},NewExpression(e,t){t.shouldCache=!0},ReferencedIdentifier:(e,t)=>{let{name:r}=e.node;const n=e.scope.getBinding(r);if(n?n.path.isMarkoTag()?n.path!==t.parentTag&&!(0,a.isNativeTag)(n.path)&&!(0,a.isDynamicTag)(n.path):"input"===r&&n.path.isProgram():"input"===r||"$global"===r){let n=t.deps||(t.deps={}),s=e.parentPath;for(;;){const e=n[r];if(!0===e)return;if(s.isMemberExpression()){const t=h(s.node);if(void 0!==t&&(!s.parentPath.isCallExpression()||s.parentPath.node.callee!==s.node||m(t))){s=s.parentPath,n=e||(n[r]={}),r=t;continue}}return void(n[r]=!0)}}}},c={MarkoTag(e){var t;if(!((0,i.isApi)(e,"class")||(0,a.isNativeTag)(e)||(0,n.isCoreTag)("let",e))){if(e.node.var)for(const t of d(e.get("var")))p(e,t);if(null==(t=e.node.body.params)?void 0:t.length)for(const t of e.get("body").get("params"))for(const r of d(t))p(e,r);if(e.node.attributes.length)for(const t of e.get("attributes"))switch(t.node.type){case"MarkoAttribute":case"MarkoSpreadAttribute":p(e,t.get("value"))}}}};function p(e,t){const r=t.parentPath,n={parentTag:e,node:t.node,parent:r.node,deps:void 0,shouldCache:!1};if(r.traverse(u,n),n.shouldCache){const{file:r}=t.hub,{component:i}=(0,s.ensureLifecycle)(e);t.replaceWith(l.types.callExpression((0,o.importRuntimeNamed)(r,"transform/cached-values","cache"),[l.types.logicalExpression("||",l.types.callExpression((0,o.importRuntimeNamed)(r,"transform/cached-values","cached"),[i,l.types.arrayExpression(n.deps?f(n.deps):[])]),t.node)]))[0].skip()}}function*d(e){switch(e.node.type){case"ArrayPattern":for(const t of e.get("elements"))yield*d(t);break;case"ObjectPattern":for(const t of e.get("properties"))"RestElement"!==t.node.type&&(yield*d(t.get("value")));break;case"AssignmentPattern":yield e.get("right")}}function h(e){if(e.computed){if(function(e){switch(e){case"StringLiteral":case"NumericLiteral":return!0;default:return!1}}(e.property.type))return e.property.value+""}else if("Identifier"===e.property.type)return e.property.name}function m(e){return/^on[A-Z]/.test(e)}function f(e,t,r=[]){for(const n in e){const s=e[n],i=t?l.types.memberExpression(t,l.types.stringLiteral(n),!0):l.types.identifier(n);!0===s?r.push(i):f(s,i,r)}return r}},"../../node_modules/@marko/tags-api-preview/dist/chunk-XT7NBTKV.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{tag_body_parameters_default:()=>o});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),s=r("../../browser-shims/compiler/index.js"),i=r("../../node_modules/@marko/babel-utils/dist/index.js"),o={MarkoTag(e){const t=e.get("body"),r=t.get("params"),o=(0,i.getTagDef)(e);if(!(0,n.isApi)(e,"class")&&r.length&&!(null==o?void 0:o.translator)){for(const e in t.getBindingIdentifiers()){const r=t.scope.getBinding(e);if(r){const[e]=r.constantViolations;if(e)throw e.buildCodeFrameError("Cannot assign to tag body parameters in the tags api preview.")}}t.node.params=[s.types.assignmentPattern(s.types.objectPattern([s.types.objectProperty(s.types.identifier("value"),s.types.assignmentPattern(s.types.arrayPattern(t.node.params),s.types.arrayExpression([])))]),s.types.objectExpression([]))]}}}},"../../node_modules/@marko/tags-api-preview/dist/chunk-ZMKPI3WI.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{translate_default:()=>o});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),i=r("../../browser-shims/compiler/index.js"),o={Program:{exit(e){const t=e.hub.file;if("html"===t.markoOpts.output||(0,n.isApi)(e,"class"))return;const r=t._renderBlock;r.node.body=[i.types.expressionStatement(i.types.callExpression((0,s.importRuntimeNamed)(t,"translate/track-rendering","begin"),[])),i.types.tryStatement(i.types.blockStatement(r.node.body),null,i.types.blockStatement([i.types.expressionStatement(i.types.callExpression((0,s.importRuntimeNamed)(t,"translate/track-rendering","end"),[]))]))]}}}},"../../node_modules/@marko/tags-api-preview/dist/components/_instance-stateless/components/component-def/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});var n=r("../../browser-shims/compiler/index.js"),s=e=>{e.replaceWith(n.types.variableDeclaration("var",[n.types.variableDeclarator(n.types.identifier("componentDef"),e.hub.file._componentDefIdentifier)]))}},"../../node_modules/@marko/tags-api-preview/dist/components/_instance-stateless/translator.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});var n=r("../../browser-shims/compiler/index.js"),s=e=>{const{node:t,hub:{file:r}}=e;e.get("body").unshiftContainer("body",n.types.variableDeclaration("var",[n.types.variableDeclarator(r._componentDefIdentifier,t.body.params[0]),n.types.variableDeclarator(r._componentInstanceIdentifier,t.body.params[1])]))}},"../../node_modules/@marko/tags-api-preview/dist/components/_instance/components/component-def/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});var n=r("../../browser-shims/compiler/index.js"),s=e=>{e.replaceWith(n.types.variableDeclaration("var",[n.types.variableDeclarator(n.types.identifier("componentDef"),e.hub.file._componentDefIdentifier)]))}},"../../node_modules/@marko/tags-api-preview/dist/components/_instance/translator.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});var n=r("../../browser-shims/compiler/index.js"),s=e=>{const{node:t,hub:{file:r}}=e;e.get("body").unshiftContainer("body",n.types.variableDeclaration("var",[n.types.variableDeclarator(r._componentDefIdentifier,t.body.params[0]),n.types.variableDeclarator(r._componentInstanceIdentifier,t.body.params[1])]))}},"../../node_modules/@marko/tags-api-preview/dist/components/attrs/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-3HOSD3AX.mjs"),s=(r("../../node_modules/@marko/tags-api-preview/dist/chunk-6RP5NCIJ.mjs"),r("../../node_modules/@marko/tags-api-preview/dist/chunk-M2NZ6OKP.mjs")),i=(r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),r("../../node_modules/@marko/tags-api-preview/dist/chunk-EXYEAROA.mjs"),r("../../browser-shims/compiler/index.js")),o=new WeakSet,a=e=>{var t;const r=e.node.var,a=o.has(e.hub)?"can only be used once within a template":r?(0,n.isAtRoot)(e)?e.node.attributes.length>0?"does not support attributes":e.node.body.body.length?"does not support body content":e.node.body.params.length?"does not support tag body parameters":(null==(t=e.node.arguments)?void 0:t.length)?"does not support arguments":void 0:"can only used at the root of the template":"requires a tag variable to be assigned to";if(a)throw e.get("name").buildCodeFrameError(`The tag ${a}.`);o.add(e.hub),e.replaceWith(i.types.variableDeclaration("const",[i.types.variableDeclarator(r,(0,s.transform_default)(e.hub.file,i.types.identifier("input")))]))}},"../../node_modules/@marko/tags-api-preview/dist/components/const/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-3P6FHBO5.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-KHJR3GW6.mjs"),i=r("../../node_modules/@marko/tags-api-preview/dist/chunk-M2NZ6OKP.mjs"),o=(r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),r("../../browser-shims/compiler/index.js")),a=e=>{var t;const r=e.node.var,a=(0,s.getAttr)(e,"value"),l=r?a?e.node.attributes.length>1?"only supports the 'value' attribute":e.node.body.body.length?"does not support body content":e.node.body.params.length?"does not support tag body parameters":(null==(t=e.node.arguments)?void 0:t.length)?"does not support arguments":void 0:"must be initialized with a value":"requires a tag variable to be assigned to";if(l)throw e.get("name").buildCodeFrameError(`The tag ${l}.`);(0,n.assert_no_assignments_default)(e.get("var")),e.replaceWith(o.types.variableDeclaration("const",[o.types.variableDeclarator(r,(0,i.transform_default)(e.hub.file,a.node.value))]))}},"../../node_modules/@marko/tags-api-preview/dist/components/effect/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-KHJR3GW6.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),i=r("../../browser-shims/compiler/index.js");function o(e){var t;const{file:r}=e.hub,o=(0,n.getAttr)(e,"value"),a=e.node.var?"does not support a tag variable":o?e.node.attributes.length>1?"only supports the 'value' attribute":e.node.body.body.length?"does not support body content":e.node.body.params.length?"does not support tag body parameters":(null==(t=e.node.arguments)?void 0:t.length)?"does not support arguments":void 0:"must be initialized with a value";if(a)throw e.get("name").buildCodeFrameError(`The tag ${a}.`);"html"!==r.markoOpts.output?e.replaceWith(i.types.expressionStatement(i.types.callExpression((0,s.importRuntimeDefault)(r,"components/effect","effect"),[r._componentInstanceIdentifier,(0,n.getAttr)(e,"value").node.value]))):e.remove()}},"../../node_modules/@marko/tags-api-preview/dist/components/else-if/transformer.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-3JWOFENM.mjs").transform},"../../node_modules/@marko/tags-api-preview/dist/components/for/transform.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-KHJR3GW6.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),i=r("../../browser-shims/compiler/index.js"),o=new WeakSet;function a(e){var t;if((0,s.isApi)(e,"class")||o.has(e))return;o.add(e);const r=(0,n.getAttr)(e,"by");if(!r)return;let a;const l=e.get("body"),{scope:u}=l,c=u.generateUidIdentifier("id"),p=l.get("params");r.get("value").isIdentifier()?a=r.node.value:(a=e.parentPath.scope.generateUidIdentifier("by"),e.insertBefore(i.types.markoScriptlet([i.types.variableDeclaration("const",[i.types.variableDeclarator(a,r.node.value)])])));const d=[],h=[];for(const e of p){if(e.isIdentifier())d.push(e.node);else{const t=e.scope.generateUidIdentifier();h.push(i.types.variableDeclarator(e.node,t)),d.push(t)}e.remove()}(0,n.getAttr)(e,"in")?(p.length<1&&d.push(u.generateUidIdentifier("key")),p.length<2&&d.push(u.generateUidIdentifier("val"))):(0,n.getAttr)(e,"of")?(p.length<1&&d.push(u.generateUidIdentifier("val")),p.length<2&&d.push(u.generateUidIdentifier("key"))):p.length<1&&d.push(u.generateUidIdentifier("index")),l.set("params",d),h.push(i.types.variableDeclarator(c,i.types.callExpression(a,d)));const m=i.types.markoScriptlet([i.types.variableDeclaration("const",h)]);m.extra={_hoistInInstance:!0},e.get("body").unshiftContainer("body",m),e.set("keyScope",c),null!=(t=e.node).extra||(t.extra={}),e.node.extra.keyScope=c,r.remove()}},"../../node_modules/@marko/tags-api-preview/dist/components/get/transform.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-KHJR3GW6.mjs"),s=r("../../node_modules/path-browserify/index.js"),i=r("../../browser-shims/compiler/index.js"),o=r("../../node_modules/@marko/babel-utils/dist/index.js");function a(e){const t=e.hub.file,r=(0,n.getAttr)(e,"value"),a=r&&e.node.attributes.length>1?"only supports the 'value' attribute":e.node.var?e.node.arguments?"does not support arguments":e.node.body.params.length?"does not support tag body parameters":e.node.body.body.length?"does not support body content":void 0:"requires a tag variable";if(a)throw e.get("name").buildCodeFrameError(`The tag ${a}.`);if(!r){for(const t in e.get("var").getBindingIdentifiers())for(const r of e.scope.getOwnBinding(t).constantViolations)throw r.buildCodeFrameError("Cannot mutate the global context.");return void e.replaceWith(i.types.markoScriptlet([i.types.variableDeclaration("const",[i.types.variableDeclarator(e.node.var,i.types.memberExpression(i.types.identifier("out"),i.types.identifier("global")))])]))}let l=r.node.value;if(i.types.isStringLiteral(l)){const e=l.value;if("."===e)l=(0,o.importDefault)(t,`./${s.basename(t.opts.sourceFileName)}`,"context");else if(e.includes("/"))l=(0,o.importDefault)(t,e,"context");else{if(!(0,o.getTagDefForTagName)(t,e))throw r.buildCodeFrameError(` could not find provider matching "${e}".`);l=(0,o.importDefault)(t,`<${e}>`,"context")}r.set("value",l)}}},"../../node_modules/@marko/tags-api-preview/dist/components/get/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>s});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-EOOMCNH2.mjs");function s(e){const t=e.get("var"),r=e.get("body"),s=[t.node];if(t.isIdentifier()){const r=e.scope.getBinding(t.node.name),i=e.scope.generateUidIdentifier(`${t.node.name}Change`);s.push(i),(0,n.replaceAssignments)(r,i)}for(const e of s)r.pushContainer("params",e);for(const t of e.getAllNextSiblings())r.pushContainer("body",t.node),t.remove();e.scope.crawl(),e.node.var=null}r("../../node_modules/@marko/tags-api-preview/dist/chunk-M2NZ6OKP.mjs"),r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs")},"../../node_modules/@marko/tags-api-preview/dist/components/id/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-3P6FHBO5.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-T6EG7KQY.mjs"),i=(r("../../node_modules/@marko/tags-api-preview/dist/chunk-EXYEAROA.mjs"),r("../../browser-shims/compiler/index.js"));function o(e){const t=e.node.var,r=t?i.types.isIdentifier(t)?e.node.attributes.length?"does not support attributes":e.node.arguments?"does not support arguments":e.node.body.params.length?"does not support tag body parameters":e.node.body.body.length?"does not support body content":void 0:"does not a destructured tag variable":"requires a tag variable";if(r)throw e.get("name").buildCodeFrameError(`The tag ${r}.`);(0,n.assert_no_assignments_default)(e.get("var"));const o=(0,s.closest)(e.parentPath);e.replaceWith(i.types.variableDeclaration("const",[i.types.variableDeclarator(t,i.types.callExpression(i.types.memberExpression(o.component,i.types.identifier("elId")),[i.types.stringLiteral("@"+o.refIndex++)]))]))}},"../../node_modules/@marko/tags-api-preview/dist/components/if/transformer.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>n.transform});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-3JWOFENM.mjs")},"../../node_modules/@marko/tags-api-preview/dist/components/let/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-EOOMCNH2.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-M2NZ6OKP.mjs"),i=r("../../node_modules/@marko/tags-api-preview/dist/chunk-T6EG7KQY.mjs"),o=(r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),r("../../node_modules/@marko/tags-api-preview/dist/chunk-EXYEAROA.mjs"),r("../../browser-shims/compiler/index.js"));function a(e){var t;const{file:r}=e.hub,a="html"===r.markoOpts.output,l=e.node.var;let u,c,p;for(const t of e.get("attributes")){if(t.isMarkoAttribute())switch(t.node.name){case"value":u=t;continue;case"valueChange":c=t;continue}p=`does not support the "${t.toString()}" attribute`;break}if(p=p||(l?o.types.isIdentifier(l)?e.node.body.body.length?"does not support body content":e.node.body.params.length?"does not support tag body parameters":(null==(t=e.node.arguments)?void 0:t.length)?"does not support arguments":void 0:"tag variable cannot be destructured":"requires a tag variable"),p)throw e.get("name").buildCodeFrameError(`The tag ${p}.`);r.path.scope.crawl();const d=u?u.node.value:o.types.unaryExpression("void",o.types.numericLiteral(0)),h=e.scope.getBinding(l.name);if(a)r.path.scope.crawl(),e.replaceWith(o.types.variableDeclaration("let",[o.types.variableDeclarator(l,(0,s.transform_default)(r,d))]));else{const t=(0,i.closest)(e.parentPath),a=o.types.stringLiteral(""+t.stateIndex++),u=e.scope.generateUidIdentifier(l.name),p=o.types.conditionalExpression(o.types.binaryExpression("in",a,t.state),o.types.memberExpression(t.state,a,!0),o.types.assignmentExpression("=",o.types.memberExpression(t.state,a,!0),(0,s.transform_default)(r,d)));if(c){const r=e.scope.generateUidIdentifier(`${l.name}Change`),s=[o.types.variableDeclarator(r,c.node.value)];let i;o.types.isFunction(c.node.value)?(i=r,s.push(o.types.variableDeclarator(l,d))):(i=e.scope.generateUidIdentifier(`${l.name}Set`),s.push(o.types.variableDeclarator(i,o.types.logicalExpression("||",r,o.types.arrowFunctionExpression([u],o.types.callExpression(o.types.memberExpression(t.component,o.types.identifier("setState")),[a,u])))),o.types.variableDeclarator(l,o.types.conditionalExpression(r,d,p)))),e.replaceWith(o.types.variableDeclaration("const",s)),(0,n.replaceAssignments)(h,i)}else{const r=e.scope.generateUidIdentifier(`${l.name}Set`);e.replaceWith(o.types.variableDeclaration("const",[o.types.variableDeclarator(l,p),o.types.variableDeclarator(r,o.types.arrowFunctionExpression([u],o.types.callExpression(o.types.memberExpression(t.component,o.types.identifier("setState")),[a,u])))])),(0,n.replaceAssignments)(h,r)}}}},"../../node_modules/@marko/tags-api-preview/dist/components/lifecycle/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-73OEUL4O.mjs"),s=r("../../browser-shims/compiler/index.js"),i=new Set(["onMount","onUpdate","onDestroy"]);function o(e){var t;const{file:r}=e.hub,o=[];let a=e.node.var?"does not support a tag variable":e.node.body.body.length?"does not support body content":e.node.body.params.length?"does not support tag body parameters":(null==(t=e.node.arguments)?void 0:t.length)?"does not support arguments":void 0;if(!a){for(const t of e.get("attributes")){if(!t.isMarkoAttribute()){a="does not support ...spread attributes";break}if(!i.has(t.node.name)){a=`does not support the "${t.node.name}" attribute`;break}o.push(s.types.objectProperty(s.types.stringLiteral(t.node.name),t.node.value))}o.length||a||(a="requires an onMount, onUpdate or onDestroy attribute")}if(a)throw e.get("name").buildCodeFrameError(`The tag ${a}.`);"html"!==r.markoOpts.output?e.replaceWith(s.types.expressionStatement(s.types.callExpression((0,n.importRuntimeDefault)(r,"components/lifecycle","lifecycle"),[r._componentInstanceIdentifier,s.types.objectExpression(o)]))):e.remove()}},"../../node_modules/@marko/tags-api-preview/dist/components/return/index.mjs":(e,t,r)=>{"use strict";function n(){let e;return(t,r)=>r?e=t:e}r.r(t),r.d(t,{default:()=>n})},"../../node_modules/@marko/tags-api-preview/dist/components/return/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-3HOSD3AX.mjs"),s=(r("../../node_modules/@marko/tags-api-preview/dist/chunk-6RP5NCIJ.mjs"),r("../../node_modules/@marko/tags-api-preview/dist/chunk-EXYEAROA.mjs"),r("../../browser-shims/compiler/index.js")),i=new WeakSet,o=e=>{var t;const r=i.has(e.hub)?"can only be used once within a template":e.node.var?"does not support a tag variable":(0,n.isAtRoot)(e)?e.node.attributes.length?e.node.body.body.length?"does not support body content":e.node.body.params.length?"does not support tag body parameters":(null==(t=e.node.arguments)?void 0:t.length)?"does not support arguments":void 0:"requires a default attribute":"can only used at the root of the template";if(r)throw e.get("name").buildCodeFrameError(`The tag ${r}.`);i.add(e.hub);const o=[];for(const t of e.get("attributes"))t.isMarkoAttribute()?o.push(s.types.objectProperty(s.types.stringLiteral(t.node.name),t.node.value)):o.push(s.types.spreadElement(t.node.value));const a=s.types.memberExpression(s.types.identifier("input"),s.types.identifier("_return"));e.replaceWith(s.types.expressionStatement(s.types.logicalExpression("&&",a,s.types.callExpression(a,[s.types.objectExpression(o),s.types.numericLiteral(1)]))))}},"../../node_modules/@marko/tags-api-preview/dist/components/set/translate.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>o});var n=r("../../node_modules/path-browserify/index.js"),s=r("../../browser-shims/compiler/index.js"),i=r("../../node_modules/@marko/babel-utils/dist/index.js");function o(e){var t;const r=e.hub.file;let o;for(const t of e.get("attributes")){if(t.isMarkoAttribute())switch(t.node.name){case"value":case"valueChange":continue}o=`does not support the "${t.toString()}" attribute`;break}if(o=o||(e.node.attributes.length?e.node.var?"does not support a tag variable":(null==(t=e.node.arguments)?void 0:t.length)?"does not support arguments":e.node.body.params.length?"does not support tag body parameters":e.node.body.body.length?void 0:"requires body content":"requires a value attribute"),o)throw e.get("name").buildCodeFrameError(`The tag ${o}.`);e.pushContainer("attributes",s.types.markoAttribute("___from",(0,i.importDefault)(r,`./${n.basename(r.opts.sourceFileName)}`,"context")))}},"../../node_modules/@marko/tags-api-preview/dist/components/style/transform.mjs":(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>p});var n=r("../../node_modules/@marko/tags-api-preview/dist/chunk-KHJR3GW6.mjs"),s=r("../../node_modules/@marko/tags-api-preview/dist/chunk-NX57VA7G.mjs"),i=r("../../node_modules/path-browserify/index.js"),o=r("../../node_modules/magic-string/dist/magic-string.es.mjs"),a=r("../../browser-shims/compiler/index.js"),l=r("../../node_modules/@marko/babel-utils/dist/index.js"),u=/^style((?:\.[^\s\\/:*?"<>|({]+)+)?/,c=new WeakMap,p=e=>{var t,r;if((0,s.isApi)(e,"class"))return;const{hub:{file:p},node:d}=e,{deps:h}=p.metadata.marko,m=p.opts.filename,f=null==(t=(0,n.getAttr)(e,"class"))?void 0:t.get("value"),[,g=".css"]=u.exec(d.rawValue||"style");f&&d.attributes.pop();const y=d.attributes.length>0?"does not support attributes":d.body.body.length?d.body.params.length?"does not support tag body parameters":(null==(r=d.arguments)?void 0:r.length)?"does not support arguments":!f||f.isStringLiteral()&&`.${f.node.value.replace(/ /g,".")}`===g?void 0:"invalid class attribute":"requires body content";if(y)throw e.get("name").buildCodeFrameError(`The \";\n scripts = concatScripts(\n scripts,\n REORDER_RUNTIME_CODE + \"(\" + runtimePrefix + \")\"\n );\n }\n for (const reorderedChunk of state.writeReorders) {\n const { reorderId } = reorderedChunk;\n let isSync = true;\n let reorderHTML = \"\";\n let reorderEffects = \"\";\n let reorderScripts = \"\";\n let cur = reorderedChunk;\n reorderedChunk.reorderId = null;\n for (; ; ) {\n cur.flushPlaceholder();\n reorderHTML += cur.html;\n reorderEffects = concatEffects(reorderEffects, cur.effects);\n reorderScripts = concatScripts(reorderScripts, cur.scripts);\n if (cur.async) {\n reorderHTML += state.mark(\n \"#\" /* ReorderMarker */,\n cur.reorderId = state.nextReorderId()\n );\n cur.html = cur.effects = cur.scripts = \"\";\n isSync = false;\n }\n if (cur.next) {\n cur = cur.next;\n } else {\n break;\n }\n }\n if (reorderEffects) {\n if (!state.hasWrittenResume) {\n state.hasWrittenResume = true;\n scripts = concatScripts(\n scripts,\n runtimePrefix + \".r=[]\"\n );\n }\n reorderScripts = concatScripts(\n reorderScripts,\n \"_.push(\" + reorderEffects + \")\"\n );\n }\n scripts = concatScripts(\n scripts,\n reorderScripts && runtimePrefix + \".j.\" + reorderId + \"=_=>{\" + reorderScripts + \"}\"\n );\n html += \"\" + reorderHTML + \"\";\n }\n state.writeReorders = null;\n }\n if (hasWalk) {\n scripts = concatScripts(scripts, runtimePrefix + \".w()\");\n }\n head.html = html;\n head.scripts = scripts;\n return head;\n}\nfunction flushChunk(head) {\n const { html, scripts } = head;\n head.html = head.scripts = \"\";\n return html + (scripts ? \"\" + scripts + \"\" : \"\");\n}\nfunction concatEffects(a, b) {\n return a ? b ? a + \",\" + b : a : b;\n}\nfunction concatScripts(a, b) {\n return a ? b ? a + \";\" + b : a : b;\n}\nvar tick = globalThis.setImmediate || globalThis.setTimeout || globalThis.queueMicrotask || ((cb) => Promise.resolve().then(cb));\nvar tickQueue;\nfunction queueTick(cb) {\n if (tickQueue) {\n tickQueue.add(cb);\n } else {\n tickQueue = /* @__PURE__ */ new Set([cb]);\n tick(flushTickQueue);\n }\n}\nfunction offTick(cb) {\n tickQueue?.delete(cb);\n}\nfunction flushTickQueue() {\n const queue = tickQueue;\n tickQueue = void 0;\n for (const cb of queue) {\n cb(true);\n }\n}\nfunction isPromise(value) {\n return value != null && typeof value.then === \"function\";\n}\nfunction getFilteredGlobals($global) {\n if (!$global) return void 0;\n const serializedGlobals = $global.serializedGlobals;\n if (!serializedGlobals) return void 0;\n let filtered;\n if (Array.isArray(serializedGlobals)) {\n for (const key of serializedGlobals) {\n const value = $global[key];\n if (value !== void 0) {\n if (filtered) {\n filtered[key] = value;\n } else {\n filtered = { [key]: value };\n }\n }\n }\n } else {\n for (const key in serializedGlobals) {\n if (serializedGlobals[key]) {\n const value = $global[key];\n if (value !== void 0) {\n if (filtered) {\n filtered[key] = value;\n } else {\n filtered = { [key]: value };\n }\n }\n }\n }\n }\n return filtered;\n}\n\n// src/html/attrs.ts\nfunction classAttr(val) {\n return stringAttr(\"class\", classValue(val));\n}\nfunction styleAttr(val) {\n return stringAttr(\"style\", styleValue(val));\n}\nfunction optionValueAttr(value) {\n const { [kSelectedValue]: selectedValue } = getChunk()?.context || {};\n return attr(\"value\", value) + (!isVoid(value) && (Array.isArray(value) ? selectedValue.includes(value) : selectedValue === value) ? ` selected` : \"\");\n}\nvar kSelectedValue = Symbol(\"selectedValue\");\nfunction controllable_select_value(scopeId, nodeAccessor, value, valueChange, renderBody) {\n if (valueChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \":\" /* ControlledValue */] = value;\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 3 /* SelectValue */;\n }\n if (renderBody) {\n withContext(kSelectedValue, value, renderBody);\n }\n}\nfunction controllable_input_value(scopeId, nodeAccessor, value, valueChange) {\n if (valueChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 2 /* InputValue */;\n }\n return attr(\"value\", value);\n}\nfunction controllable_input_checked(scopeId, nodeAccessor, checked, checkedChange) {\n if (checkedChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 0 /* InputChecked */;\n }\n return attr(\"checked\", checked);\n}\nfunction controllable_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value) {\n const multiple = Array.isArray(checkedValue);\n const valueAttr = attr(\"value\", value);\n if (checkedValueChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedValueChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 1 /* InputCheckedValue */;\n if (multiple) {\n scope[nodeAccessor + \":\" /* ControlledValue */] = checkedValue;\n }\n }\n return (multiple ? checkedValue.includes(value) : checkedValue === value) ? valueAttr + \" checked\" : valueAttr;\n}\nfunction controllable_detailsOrDialog_open(scopeId, nodeAccessor, open, openChange) {\n if (openChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \":\" /* ControlledValue */] = open;\n scope[nodeAccessor + \";\" /* ControlledHandler */] = openChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 4 /* DetailsOrDialogOpen */;\n }\n return attr(\"open\", open);\n}\nfunction attr(name, val) {\n return isVoid(val) ? \"\" : nonVoidAttr(name, val);\n}\nfunction attrs(data, nodeAccessor, scopeId, tagName) {\n let result = \"\";\n let skip = /[\\s/>\"'=]/;\n let scope;\n let events;\n switch (tagName) {\n case \"input\":\n if (data.checkedChange) {\n result += controllable_input_checked(\n scopeId,\n nodeAccessor,\n data.checked,\n data.checkedChange\n );\n } else if (data.checkedValue || data.checkedValueChange) {\n result += controllable_input_checkedValue(\n scopeId,\n nodeAccessor,\n data.checkedValue,\n data.checkedValueChange,\n data.value\n );\n } else if (data.valueChange) {\n result += controllable_input_value(\n scopeId,\n nodeAccessor,\n data.value,\n data.valueChange\n );\n } else {\n break;\n }\n skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\\s/>\"'=]/;\n break;\n case \"select\":\n if (data.value || data.valueChange) {\n skip = /^value(?:Change)?$|[\\s/>\"'=]/;\n }\n break;\n case \"option\":\n if (data.value) {\n result += optionValueAttr(data.value);\n skip = /^value$|[\\s/>\"'=]/;\n }\n break;\n case \"details\":\n case \"dialog\":\n if (data.openChange) {\n result += controllable_detailsOrDialog_open(\n scopeId,\n nodeAccessor,\n data.open,\n data.openChange\n );\n skip = /^open(?:Change)?$|[\\s/>\"'=]/;\n }\n break;\n }\n for (const name in data) {\n const val = data[name];\n switch (name) {\n case \"class\":\n result += classAttr(val);\n break;\n case \"style\":\n result += styleAttr(val);\n break;\n case \"\":\n case \"renderBody\":\n break;\n default:\n if (!isVoid(val)) {\n if (/^on[A-Z-]/.test(name)) {\n events ||= (scope ??= ensureScopeWithId(scopeId))[nodeAccessor + \"~\" /* EventAttributes */] ||= {};\n events[name[2] === \"-\" ? name.slice(3) : name.slice(2).toLowerCase()] = val;\n } else if (!skip.test(name)) {\n result += nonVoidAttr(name, val);\n }\n }\n break;\n }\n }\n return result;\n}\nfunction partialAttrs(data, skip, nodeAccessor, scopeId, tagName) {\n const partial = {};\n for (const key in data) {\n if (!skip[key]) partial[key] = data[key];\n }\n return attrs(partial, nodeAccessor, scopeId, tagName);\n}\nfunction stringAttr(name, val) {\n return val && ` ${name}=${escapeAttrValue(val)}`;\n}\nfunction nonVoidAttr(name, val) {\n switch (typeof val) {\n case \"string\":\n return ` ${name + attrAssignment(val)}`;\n case \"boolean\":\n return ` ${name}`;\n case \"number\":\n return ` ${name}=${val}`;\n case \"object\":\n if (val instanceof RegExp) {\n return ` ${name + attrAssignment(val.source)}`;\n }\n break;\n }\n return ` ${name + attrAssignment(val + \"\")}`;\n}\nfunction attrAssignment(val) {\n return val ? `=${escapeAttrValue(val)}` : \"\";\n}\nvar unsafeAttrChars = /[\"'>\\s]/g;\nfunction escapeAttrValue(str) {\n if (unsafeAttrChars.test(str)) {\n const c = str[unsafeAttrChars.lastIndex - 1];\n unsafeAttrChars.lastIndex = 0;\n return c === '\"' ? `'${str.replace(/'/g, \"'\")}'` : `\"${str.replace(/\"/g, \""\")}\"`;\n }\n return str;\n}\n\n// src/common/compat-meta.ts\nvar prefix = true ? \"$compat_\" : \"$C_\";\nvar RENDERER_REGISTER_ID = prefix + (true ? \"renderer\" : \"r\");\nvar SET_SCOPE_REGISTER_ID = prefix + (true ? \"setScope\" : \"s\");\n\n// src/common/meta.ts\nvar DEFAULT_RUNTIME_ID = \"M\";\nvar DEFAULT_RENDER_ID = \"_\";\n\n// src/html/dynamic-tag.ts\nvar voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/;\nfunction dynamicTagInput(scope, tag, input, renderBody, tagVar) {\n if (!tag && !renderBody) return void 0;\n const scopeId = getScopeId(scope);\n write(`${markResumeScopeStart(scopeId)}`);\n writeScope(scopeId, scope);\n if (!tag) {\n return renderBody();\n }\n if (typeof tag === \"string\") {\n nextScopeId();\n write(\n `<${tag}${attrs(input, true ? `#${tag}/0` : 0, scopeId, tag)}>`\n );\n if (!voidElementsReg.test(tag)) {\n if (renderBody) {\n if (tag === \"select\" && (\"value\" in input || \"valueChange\" in input)) {\n controllable_select_value(\n scopeId,\n true ? `#${tag}/0` : 0,\n input.value,\n input.valueChange,\n renderBody\n );\n } else {\n renderBody();\n }\n }\n write(``);\n } else if (renderBody) {\n throw new Error(\n `A renderBody was provided for a \"${tag}\" tag, which cannot have children.`\n );\n }\n return null;\n }\n const renderer = getDynamicRenderer(tag);\n if (true) {\n if (typeof renderer !== \"function\") {\n throw new Error(`Invalid renderer passed for dynamic tag: ${tag}`);\n }\n }\n return renderer(renderBody ? { ...input, renderBody } : input, tagVar);\n}\nfunction dynamicTagArgs(scope, tag, args) {\n if (!tag) return void 0;\n const scopeId = getScopeId(scope);\n write(`${markResumeScopeStart(scopeId)}`);\n writeScope(scopeId, scope);\n if (typeof tag === \"string\") {\n nextScopeId();\n write(\n `<${tag}${attrs(args[0], true ? `#${tag}/0` : 0, scopeId, tag)}>`\n );\n if (!voidElementsReg.test(tag)) {\n write(``);\n }\n return void 0;\n }\n const renderer = getDynamicRenderer(tag);\n if (true) {\n if (typeof renderer !== \"function\") {\n throw new Error(`Invalid renderer passed for dynamic tag: ${tag}`);\n }\n }\n return renderer(...args);\n}\nvar getDynamicRenderer = normalizeDynamicRenderer;\nvar createRenderer = (fn) => fn;\nfunction patchDynamicTag(newGetDynamicRenderer, newCreateRenderer) {\n getDynamicRenderer = newGetDynamicRenderer;\n createRenderer = newCreateRenderer;\n}\n\n// src/html/compat.ts\nvar K_TAGS_API_STATE = Symbol();\nvar COMPAT_REGISTRY = /* @__PURE__ */ new WeakMap();\nvar compat = {\n fork,\n write,\n writeScript,\n nextScopeId,\n patchDynamicTag,\n writeSetScopeForComponent(m5c) {\n const scopeId = nextScopeId();\n writeScope(scopeId, { m5c });\n writeEffect(scopeId, SET_SCOPE_REGISTER_ID);\n },\n toJSON() {\n let compatRegistered = COMPAT_REGISTRY.get(this);\n if (!compatRegistered) {\n const registered = getRegistered(this);\n if (registered) {\n const scopeId = getScopeId(registered.scope);\n if (scopeId !== void 0) {\n writeScope(scopeId, {});\n }\n COMPAT_REGISTRY.set(\n this,\n compatRegistered = [registered.id, scopeId]\n );\n }\n }\n return compatRegistered;\n },\n render(renderer, willRerender, classAPIOut, component, input) {\n const $global = classAPIOut.global;\n let state = $global[K_TAGS_API_STATE] ||= getChunk()?.boundary.state;\n if (!state) {\n $global.runtimeId ||= DEFAULT_RUNTIME_ID;\n $global.renderId ||= $global.componentIdPrefix || DEFAULT_RENDER_ID;\n $global[K_TAGS_API_STATE] = state = new State2($global);\n }\n const boundary = new Boundary(state);\n let head = new Chunk(\n boundary,\n null,\n null\n );\n head.render(() => {\n if (willRerender) {\n const scopeId = peekNextScopeId();\n writeScope(scopeId, { m5c: component.id });\n writeEffect(scopeId, SET_SCOPE_REGISTER_ID);\n }\n renderer(input);\n });\n const asyncOut = classAPIOut.beginAsync();\n (boundary.onNext = () => {\n if (boundary.done) {\n if (boundary.signal.aborted) {\n asyncOut.error(boundary.signal.reason);\n } else {\n queueMicrotask(() => {\n const { scripts, html } = head = prepareChunk(head);\n asyncOut.script(scripts);\n asyncOut.write(html);\n asyncOut.end();\n head.html = head.scripts = \"\";\n });\n }\n }\n })();\n },\n registerRenderer(renderer, id) {\n return register(\n RENDERER_REGISTER_ID,\n renderer,\n register(id, () => {\n })\n );\n }\n};\n\n// src/html/content.ts\nfunction toString(val) {\n return val ? val + \"\" : val === 0 ? \"0\" : \"\";\n}\nvar unsafeXMLReg = /[<&]/g;\nvar replaceUnsafeXML = (c) => c === \"&\" ? \"&\" : \"<\";\nvar escapeXMLStr = (str) => unsafeXMLReg.test(str) ? str.replace(unsafeXMLReg, replaceUnsafeXML) : str;\nfunction escapeXML(val) {\n return val ? escapeXMLStr(val + \"\") : val === 0 ? \"0\" : \"‍\";\n}\nvar unsafeScriptReg = /<\\/script/g;\nvar escapeScriptStr = (str) => unsafeScriptReg.test(str) ? str.replace(unsafeScriptReg, \"\\\\x3C/script\") : str;\nfunction escapeScript(val) {\n return val ? escapeScriptStr(val + \"\") : val === 0 ? \"0\" : \"\";\n}\nvar unsafeStyleReg = /<\\/style/g;\nvar escapeStyleStr = (str) => unsafeStyleReg.test(str) ? str.replace(unsafeStyleReg, \"\\\\3C/style\") : str;\nfunction escapeStyle(val) {\n return val ? escapeStyleStr(val + \"\") : val === 0 ? \"0\" : \"\";\n}\n\n// src/html/template.ts\nvar createTemplate = (renderer, templateId) => {\n renderer.render = render;\n renderer._ = renderer;\n if (true) {\n renderer.mount = () => {\n throw new Error(\n `mount() is not implemented for the HTML compilation of a Marko template`\n );\n };\n }\n return register2(renderer, templateId);\n};\nfunction render(input = {}) {\n let { $global } = input;\n if ($global) {\n ({ $global, ...input } = input);\n $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID,\n ...$global\n };\n } else {\n $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID\n };\n }\n const head = new Chunk(\n new Boundary(new State2($global), $global.signal),\n null,\n null\n );\n head.render(this, input);\n return new ServerRenderResult(head);\n}\nvar ServerRenderResult = class {\n #head;\n #cachedPromise = null;\n constructor(head) {\n this.#head = head;\n }\n [Symbol.asyncIterator]() {\n let resolve;\n let reject;\n let value = \"\";\n let done = false;\n let aborted = false;\n let reason;\n this.#read(\n (html) => {\n value += html;\n if (resolve) {\n resolve({ value, done });\n value = \"\";\n }\n },\n (err) => {\n aborted = true;\n reason = err;\n if (reject) {\n reject(err);\n }\n },\n () => {\n done = true;\n if (resolve) {\n resolve({ value, done: !value });\n }\n }\n );\n return {\n next() {\n if (value) {\n const result = { value, done: false };\n value = \"\";\n return Promise.resolve(result);\n }\n return done ? Promise.resolve({ value, done }) : aborted ? Promise.reject(reason) : new Promise(exec);\n }\n };\n function exec(_resolve, _reject) {\n resolve = _resolve;\n reject = _reject;\n }\n }\n pipe(stream) {\n this.#read(\n (html) => {\n stream.write(html);\n },\n (err) => {\n const socket = \"socket\" in stream && stream.socket;\n if (socket && typeof socket.destroySoon === \"function\") {\n socket.destroySoon();\n }\n if (!stream.emit?.(\"error\", err)) {\n throw err;\n }\n },\n () => {\n stream.end();\n }\n );\n }\n toReadable() {\n return new ReadableStream({\n start: (ctrl) => {\n this.#read(\n (html) => {\n ctrl.enqueue(html);\n },\n (err) => {\n ctrl.error(err);\n },\n () => {\n ctrl.close();\n }\n );\n }\n });\n }\n then(onfulfilled, onrejected) {\n return this.#promise().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.#promise().catch(onrejected);\n }\n finally(onfinally) {\n return this.#promise().finally(onfinally);\n }\n #promise() {\n return this.#cachedPromise ||= new Promise((resolve, reject) => {\n let head = this.#head;\n this.#head = null;\n if (!head) {\n return reject(new Error(\"Cannot read from a consumed render result\"));\n }\n const { boundary } = head;\n (boundary.onNext = () => {\n if (boundary.done) {\n if (boundary.signal.aborted) {\n reject(boundary.signal.reason);\n } else {\n head = prepareChunk(head);\n if (boundary.done) resolve(flushChunk(head));\n }\n }\n })();\n });\n }\n #read(onWrite, onAbort, onClose) {\n let tick2 = true;\n let head = this.#head;\n this.#head = null;\n if (!head) {\n onAbort(new Error(\"Cannot read from a consumed render result\"));\n return;\n }\n const { boundary } = head;\n const onNext = boundary.onNext = (write2) => {\n if (write2 || boundary.done) {\n if (boundary.signal.aborted) {\n if (!tick2) offTick(onNext);\n onAbort(boundary.signal.reason);\n return;\n }\n head = prepareChunk(head);\n }\n if (write2 || boundary.done) {\n const html = flushChunk(head);\n if (html) onWrite(html);\n if (boundary.done) {\n if (!tick2) offTick(onNext);\n onClose();\n } else {\n tick2 = true;\n }\n } else if (tick2) {\n tick2 = false;\n queueTick(onNext);\n }\n };\n onNext();\n }\n toString() {\n const head = this.#head;\n if (!head) throw new Error(\"Cannot read from a consumed render result\");\n if (head.next) throw new Error(\"Cannot fork in sync mode\");\n this.#head = null;\n return flushChunk(prepareChunk(head));\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n attr,\n attrTag,\n attrTags,\n attrs,\n classAttr,\n compat,\n controllable_detailsOrDialog_open,\n controllable_input_checked,\n controllable_input_checkedValue,\n controllable_input_value,\n controllable_select_value,\n createRenderer,\n createTemplate,\n dynamicTagArgs,\n dynamicTagInput,\n ensureScopeWithId,\n escapeScript,\n escapeStyle,\n escapeXML,\n forIn,\n forOf,\n forTo,\n fork,\n getScopeById,\n getStreamData,\n markResumeCleanup,\n markResumeControlEnd,\n markResumeControlSingleNodeEnd,\n markResumeNode,\n markResumeScopeStart,\n nextScopeId,\n nextTagId,\n nodeRef,\n normalizeDynamicRenderer,\n optionValueAttr,\n partialAttrs,\n peekNextScope,\n register,\n styleAttr,\n toString,\n tryCatch,\n tryPlaceholder,\n write,\n writeEffect,\n writeExistingScope,\n writeScope\n});\n","\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, __copyProps = (to, from, except, desc) => {\n if (from && typeof from == \"object\" || typeof from == \"function\")\n for (let key of __getOwnPropNames(from))\n !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: !0 }), mod);\n\n// src/dom.ts\nvar dom_exports = {};\n__export(dom_exports, {\n attr: () => attr,\n attrTag: () => attrTag,\n attrTags: () => attrTags,\n attrs: () => attrs,\n attrsEvents: () => attrsEvents,\n changeHandler: () => changeHandler,\n childClosures: () => childClosures,\n classAttr: () => classAttr,\n closure: () => closure,\n compat: () => compat,\n conditional: () => conditional,\n conditionalOnlyChild: () => conditionalOnlyChild,\n controllable_detailsOrDialog_open: () => controllable_detailsOrDialog_open,\n controllable_detailsOrDialog_open_effect: () => controllable_detailsOrDialog_open_effect,\n controllable_input_checked: () => controllable_input_checked,\n controllable_input_checkedValue: () => controllable_input_checkedValue,\n controllable_input_checkedValue_effect: () => controllable_input_checkedValue_effect,\n controllable_input_checked_effect: () => controllable_input_checked_effect,\n controllable_input_value: () => controllable_input_value,\n controllable_input_value_effect: () => controllable_input_value_effect,\n controllable_select_value: () => controllable_select_value,\n controllable_select_value_effect: () => controllable_select_value_effect,\n createRenderer: () => createRenderer,\n createRendererWithOwner: () => createRendererWithOwner,\n createScope: () => createScope,\n createTemplate: () => createTemplate,\n data: () => data,\n dynamicClosure: () => dynamicClosure,\n dynamicSubscribers: () => dynamicSubscribers,\n dynamicTagAttrs: () => dynamicTagAttrs,\n forIn: () => forIn,\n forOf: () => forOf,\n forTo: () => forTo,\n getAbortSignal: () => getAbortSignal,\n html: () => html,\n inChild: () => inChild,\n inConditionalScope: () => inConditionalScope,\n inLoopScope: () => inLoopScope,\n init: () => init,\n initValue: () => initValue,\n intersection: () => intersection,\n intersections: () => intersections,\n lifecycle: () => lifecycle,\n loopIn: () => loopIn,\n loopOf: () => loopOf,\n loopTo: () => loopTo,\n nextTagId: () => nextTagId,\n nodeRef: () => nodeRef,\n on: () => on,\n partialAttrs: () => partialAttrs,\n prepare: () => prepare,\n props: () => props,\n queueControllableSource: () => queueControllableSource,\n queueEffect: () => queueEffect,\n queueSource: () => queueSource,\n register: () => register,\n registerBoundSignal: () => registerBoundSignal,\n registerSubscriber: () => registerSubscriber,\n resetAbortSignal: () => resetAbortSignal,\n run: () => run,\n runEffects: () => runEffects,\n setTagVar: () => setTagVar,\n styleAttr: () => styleAttr,\n tagVarSignal: () => tagVarSignal,\n value: () => value\n});\nmodule.exports = __toCommonJS(dom_exports);\n\n// src/common/attr-tag.ts\nvar empty = [], rest = Symbol();\nfunction attrTag(attrs2) {\n return attrs2[Symbol.iterator] = attrTagIterator, attrs2[rest] = empty, attrs2;\n}\nfunction attrTags(first, attrs2) {\n return first ? (first[rest] === empty ? first[rest] = [attrs2] : first[rest].push(attrs2), first) : attrTag(attrs2);\n}\nfunction* attrTagIterator() {\n yield this, yield* this[rest];\n}\n\n// src/common/for.ts\nfunction forIn(obj, cb) {\n for (let key in obj)\n cb(key, obj[key]);\n}\nfunction forOf(list, cb) {\n if (list) {\n let i = 0;\n for (let item of list)\n cb(item, i++);\n }\n}\nfunction forTo(to, from, step, cb) {\n let start = from || 0, delta = step || 1;\n for (let steps = (to - start) / delta, i = 0; i <= steps; i++)\n cb(start + i * delta);\n}\n\n// src/dom/scope.ts\nfunction createScope($global) {\n return {\n u: 1,\n $global\n };\n}\nvar emptyScope = createScope({});\nfunction getEmptyScope(marker) {\n return emptyScope.a = emptyScope.b = marker, emptyScope;\n}\nfunction destroyScope(scope) {\n _destroyScope(scope), scope.d?.h?.delete(scope);\n let closureSignals = scope.x?.c;\n if (closureSignals)\n for (let signal of closureSignals)\n signal.j?.(scope);\n return scope;\n}\nfunction _destroyScope(scope) {\n let cleanup = scope.h;\n if (cleanup)\n for (let instance of cleanup)\n _destroyScope(instance);\n let controllers = scope.l;\n if (controllers)\n for (let ctrl of controllers.values())\n ctrl.abort();\n}\nfunction onDestroy(scope) {\n let parentScope = scope.d;\n for (; parentScope && !parentScope.h?.has(scope); )\n (parentScope.h ||= /* @__PURE__ */ new Set()).add(scope), scope = parentScope, parentScope = scope.d;\n}\nfunction removeAndDestroyScope(scope) {\n destroyScope(scope);\n let current = scope.a, stop = scope.b.nextSibling;\n for (; current !== stop; ) {\n let next = current.nextSibling;\n current.remove(), current = next;\n }\n}\nfunction insertBefore(scope, parent, nextSibling) {\n let current = scope.a, stop = scope.b.nextSibling;\n for (; current !== stop; ) {\n let next = current.nextSibling;\n parent.insertBefore(current, nextSibling), current = next;\n }\n}\n\n// src/dom/abort-signal.ts\nfunction resetAbortSignal(scope, id) {\n let controllers = scope.l;\n if (controllers) {\n let ctrl = controllers.get(id);\n ctrl && (ctrl.abort(), controllers.delete(id));\n }\n}\nfunction getAbortSignal(scope, id) {\n let controllers = scope.l ||= /* @__PURE__ */ new Map(), controller = controllers.get(id);\n return controller || (onDestroy(scope), controllers.set(id, controller = new AbortController())), controller.signal;\n}\n\n// src/common/compat-meta.ts\nvar prefix = \"$C_\", RENDERER_REGISTER_ID = prefix + \"r\", SET_SCOPE_REGISTER_ID = prefix + \"s\";\n\n// src/common/helpers.ts\nfunction classValue(value2) {\n return toDelimitedString(value2, \" \", stringifyClassObject);\n}\nfunction stringifyClassObject(name, value2) {\n return value2 ? name : \"\";\n}\nfunction styleValue(value2) {\n return toDelimitedString(value2, \";\", stringifyStyleObject);\n}\nvar NON_DIMENSIONAL = /^(--|ta|or|li|z)|n-c|i(do|nk|m|t)|w$|we/;\nfunction stringifyStyleObject(name, value2) {\n return value2 || value2 === 0 ? `${name}:${typeof value2 == \"number\" && value2 && !NON_DIMENSIONAL.test(name) ? value2 + \"px\" : value2}` : \"\";\n}\nfunction toDelimitedString(val, delimiter, stringify) {\n switch (typeof val) {\n case \"string\":\n return val;\n case \"object\":\n if (val !== null) {\n let result = \"\", curDelimiter = \"\";\n if (Array.isArray(val))\n for (let v of val) {\n let part = toDelimitedString(v, delimiter, stringify);\n part !== \"\" && (result += curDelimiter + part, curDelimiter = delimiter);\n }\n else\n for (let name in val) {\n let v = val[name], part = stringify(name, v);\n part !== \"\" && (result += curDelimiter + part, curDelimiter = delimiter);\n }\n return result;\n }\n }\n return \"\";\n}\nfunction normalizeDynamicRenderer(value2) {\n if (value2) return value2.renderBody || value2.default || value2;\n}\n\n// src/dom/reconcile.ts\nvar WRONG_POS = 2147483647;\nfunction reconcile(parent, oldScopes, newScopes, afterReference) {\n let oldStart = 0, newStart = 0, oldEnd = oldScopes.length - 1, newEnd = newScopes.length - 1, oldStartScope = oldScopes[oldStart], newStartScope = newScopes[newStart], oldEndScope = oldScopes[oldEnd], newEndScope = newScopes[newEnd], i, j, k, nextSibling, oldScope, newScope;\n outer: {\n for (; oldStartScope === newStartScope; ) {\n if (++oldStart, ++newStart, oldStart > oldEnd || newStart > newEnd)\n break outer;\n oldStartScope = oldScopes[oldStart], newStartScope = newScopes[newStart];\n }\n for (; oldEndScope === newEndScope; ) {\n if (--oldEnd, --newEnd, oldStart > oldEnd || newStart > newEnd)\n break outer;\n oldEndScope = oldScopes[oldEnd], newEndScope = newScopes[newEnd];\n }\n }\n if (oldStart > oldEnd) {\n if (newStart <= newEnd) {\n k = newEnd + 1, nextSibling = k < newScopes.length ? newScopes[k].a : afterReference;\n do\n insertBefore(newScopes[newStart++], parent, nextSibling);\n while (newStart <= newEnd);\n }\n } else if (newStart > newEnd)\n do\n removeAndDestroyScope(oldScopes[oldStart++]);\n while (oldStart <= oldEnd);\n else {\n let oldLength = oldEnd - oldStart + 1, newLength = newEnd - newStart + 1, aNullable = oldScopes, sources = new Array(newLength);\n for (i = 0; i < newLength; ++i)\n sources[i] = -1;\n let pos = 0, synced = 0, keyIndex = /* @__PURE__ */ new Map();\n for (j = newStart; j <= newEnd; ++j)\n keyIndex.set(newScopes[j], j);\n for (i = oldStart; i <= oldEnd && synced < newLength; ++i)\n oldScope = oldScopes[i], j = keyIndex.get(oldScope), j !== void 0 && (pos = pos > j ? WRONG_POS : j, ++synced, newScope = newScopes[j], sources[j - newStart] = i, aNullable[i] = null);\n if (oldLength === oldScopes.length && synced === 0) {\n for (; newStart < newLength; ++newStart)\n insertBefore(newScopes[newStart], parent, afterReference);\n for (; oldStart < oldLength; ++oldStart)\n removeAndDestroyScope(oldScopes[oldStart]);\n } else {\n for (i = oldLength - synced; i > 0; )\n oldScope = aNullable[oldStart++], oldScope !== null && (removeAndDestroyScope(oldScope), i--);\n if (pos === WRONG_POS) {\n let seq = longestIncreasingSubsequence(sources);\n for (j = seq.length - 1, k = newScopes.length, i = newLength - 1; i >= 0; --i)\n sources[i] === -1 ? (pos = i + newStart, newScope = newScopes[pos++], nextSibling = pos < k ? newScopes[pos].a : afterReference, insertBefore(newScope, parent, nextSibling)) : j < 0 || i !== seq[j] ? (pos = i + newStart, newScope = newScopes[pos++], nextSibling = pos < k ? newScopes[pos].a : afterReference, insertBefore(newScope, parent, nextSibling)) : --j;\n } else if (synced !== newLength)\n for (k = newScopes.length, i = newLength - 1; i >= 0; --i)\n sources[i] === -1 && (pos = i + newStart, newScope = newScopes[pos++], nextSibling = pos < k ? newScopes[pos].a : afterReference, insertBefore(newScope, parent, nextSibling));\n }\n }\n}\nfunction longestIncreasingSubsequence(a) {\n let p = a.slice(), result = [];\n result.push(0);\n let u, v;\n for (let i = 0, il = a.length; i < il; ++i) {\n if (a[i] === -1)\n continue;\n let j = result[result.length - 1];\n if (a[j] < a[i]) {\n p[i] = j, result.push(i);\n continue;\n }\n for (u = 0, v = result.length - 1; u < v; ) {\n let c = (u + v) / 2 | 0;\n a[result[c]] < a[i] ? u = c + 1 : v = c;\n }\n a[i] < a[result[u]] && (u > 0 && (p[i] = result[u - 1]), result[u] = i);\n }\n for (u = result.length, v = result[u - 1]; u-- > 0; )\n result[u] = v, v = p[v];\n return result;\n}\n\n// src/dom/event.ts\nvar elementHandlersByEvent = /* @__PURE__ */ new Map(), defaultDelegator = createDelegator();\nfunction on(element, type, handler) {\n let handlersByElement = elementHandlersByEvent.get(type);\n handlersByElement || elementHandlersByEvent.set(type, handlersByElement = /* @__PURE__ */ new WeakMap()), handlersByElement.has(element) || defaultDelegator(element, type, handleDelegated), handlersByElement.set(element, handler || void 0);\n}\nfunction createDelegator() {\n let delegatedEventsByRoot = /* @__PURE__ */ new WeakMap();\n return function(node, type, handler) {\n let root = node.getRootNode(), delegatedEvents = delegatedEventsByRoot.get(root);\n delegatedEvents || delegatedEventsByRoot.set(root, delegatedEvents = /* @__PURE__ */ new Set()), delegatedEvents.has(type) || (delegatedEvents.add(type), root.addEventListener(type, handler, !0));\n };\n}\nfunction handleDelegated(ev) {\n let target = ev.target;\n if (target) {\n let handlersByElement = elementHandlersByEvent.get(ev.type);\n if (handlersByElement.get(target)?.(ev, target), ev.bubbles)\n for (; (target = target.parentElement) && !ev.cancelBubble; )\n handlersByElement.get(target)?.(ev, target);\n }\n}\n\n// src/dom/schedule.ts\nvar port2 = /* @__PURE__ */ (() => {\n let { port1, port2: port22 } = new MessageChannel();\n return port1.onmessage = () => {\n isScheduled = !1, run();\n }, port22;\n})(), isScheduled;\nfunction schedule() {\n isScheduled || (isScheduled = !0, queueMicrotask(flushAndWaitFrame));\n}\nfunction flushAndWaitFrame() {\n run(), requestAnimationFrame(triggerMacroTask);\n}\nfunction triggerMacroTask() {\n port2.postMessage(0);\n}\n\n// src/dom/signals.ts\nvar MARK = {}, CLEAN = {}, DIRTY = {};\nfunction initValue(valueAccessor, valueSignal) {\n let markAccessor = valueAccessor + \"#\" /* Mark */;\n return (scope, valueOrOp) => {\n valueOrOp !== MARK && scope[markAccessor] === void 0 && valueSignal(scope, valueOrOp);\n };\n}\nfunction changeHandler(valueAccessor, fn) {\n let markAccessor = valueAccessor + \"#\" /* Mark */;\n return (scope, valueOrOp) => {\n fn(scope, valueOrOp);\n };\n}\nfunction value(valueAccessor, fn, getIntersection) {\n let markAccessor = valueAccessor + \"#\" /* Mark */, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, valueOrOp) => {\n if (valueOrOp === MARK)\n (scope[markAccessor] = (scope[markAccessor] ?? 0) + 1) === 1 && intersection2?.(scope, MARK);\n else if (valueOrOp !== DIRTY) {\n let existing = scope[markAccessor] !== void 0;\n (scope[markAccessor] ||= 1) === 1 && (valueOrOp === CLEAN || existing && scope[valueAccessor] === valueOrOp ? intersection2?.(scope, CLEAN) : (scope[valueAccessor] = valueOrOp, fn?.(scope, valueOrOp), intersection2?.(scope, DIRTY))), scope[markAccessor]--;\n }\n };\n}\nvar accessorId = 0;\nfunction intersection(count, fn, getIntersection) {\n let dirtyAccessor = \"?\" /* Dynamic */ + accessorId++, markAccessor = dirtyAccessor + \"#\" /* Mark */, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, op) => {\n op === MARK ? (scope[markAccessor] = (scope[markAccessor] ?? 0) + 1) === 1 && intersection2?.(scope, MARK) : scope[markAccessor] === void 0 ? (scope[markAccessor] = count - 1, scope[dirtyAccessor] = !0) : --scope[markAccessor] === 0 ? op === DIRTY || scope[dirtyAccessor] ? (scope[dirtyAccessor] = !1, fn(scope, 0), intersection2?.(scope, DIRTY)) : intersection2?.(scope, CLEAN) : scope[dirtyAccessor] ||= op === DIRTY;\n };\n}\nvar defaultGetOwnerScope = (scope) => scope._;\nfunction closure(ownerValueAccessor, fn, getOwnerScope = defaultGetOwnerScope, getIntersection) {\n let dirtyAccessor = \"?\" /* Dynamic */ + accessorId++, markAccessor = dirtyAccessor + 1, getOwnerValueAccessor = typeof ownerValueAccessor == \"function\" ? ownerValueAccessor : () => ownerValueAccessor, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, op) => {\n if (op === MARK)\n (scope[markAccessor] = (scope[markAccessor] ?? 0) + 1) === 1 && intersection2?.(scope, MARK);\n else {\n let ownerScope, ownerValueAccessor2;\n if (scope[markAccessor] === void 0) {\n ownerScope = getOwnerScope(scope), ownerValueAccessor2 = getOwnerValueAccessor(scope);\n let ownerMark = ownerScope[ownerValueAccessor2 + \"#\" /* Mark */], ownerHasRun = ownerMark === void 0 ? !ownerScope.u : ownerMark === 0;\n scope[markAccessor] = ownerHasRun ? 1 : 2, op = DIRTY;\n }\n --scope[markAccessor] === 0 ? op === DIRTY || scope[dirtyAccessor] ? (scope[dirtyAccessor] = !1, ownerScope ||= getOwnerScope(scope), ownerValueAccessor2 ||= getOwnerValueAccessor(scope), fn?.(scope, ownerScope[ownerValueAccessor2]), intersection2?.(scope, DIRTY)) : intersection2?.(scope, CLEAN) : scope[dirtyAccessor] ||= op === DIRTY;\n }\n };\n}\nfunction dynamicClosure(ownerValueAccessor, fn, getOwnerScope = defaultGetOwnerScope, getIntersection) {\n let getOwnerValueAccessor = typeof ownerValueAccessor == \"function\" ? ownerValueAccessor : () => ownerValueAccessor, signalFn = closure(\n getOwnerValueAccessor,\n fn,\n getOwnerScope,\n getIntersection\n ), subscribeFns = /* @__PURE__ */ new WeakMap();\n return signalFn.g = (scope) => {\n let subscribeFn = (value2) => signalFn(scope, value2), ownerScope = getOwnerScope(scope), providerSubscriptionsAccessor = getOwnerValueAccessor(scope) + \"*\" /* Subscribers */;\n subscribeFns.set(scope, subscribeFn), (ownerScope[providerSubscriptionsAccessor] ||= /* @__PURE__ */ new Set()).add(subscribeFn);\n }, signalFn.j = (scope) => {\n let ownerScope = getOwnerScope(scope), providerSubscriptionsAccessor = getOwnerValueAccessor(scope) + \"*\" /* Subscribers */;\n ownerScope[providerSubscriptionsAccessor]?.delete(subscribeFns.get(scope)), subscribeFns.delete(scope);\n }, signalFn;\n}\nfunction childClosures(closureSignals, childAccessor) {\n let signal = (scope, op) => {\n let childScope = scope[childAccessor];\n for (let closureSignal of closureSignals)\n closureSignal(childScope, op);\n };\n return signal.g = (scope) => {\n let childScope = scope[childAccessor];\n for (let closureSignal of closureSignals)\n closureSignal.g?.(childScope);\n }, signal.j = (scope) => {\n let childScope = scope[childAccessor];\n for (let closureSignal of closureSignals)\n closureSignal.j?.(childScope);\n }, signal;\n}\nfunction dynamicSubscribers(valueAccessor) {\n let subscribersAccessor = valueAccessor + \"*\" /* Subscribers */;\n return (scope, op) => {\n let subscribers = scope[subscribersAccessor];\n if (subscribers)\n for (let subscriber of subscribers)\n subscriber(op);\n };\n}\nfunction setTagVar(scope, childAccessor, tagVarSignal2) {\n scope[childAccessor][\"/\" /* TagVariable */] = (valueOrOp) => tagVarSignal2(scope, valueOrOp);\n}\nvar tagVarSignal = (scope, valueOrOp) => scope[\"/\" /* TagVariable */]?.(valueOrOp), renderBodyClosures = (renderBody, childScope, op) => {\n let signals = renderBody?.c;\n if (signals)\n for (let signal of signals)\n signal(childScope, op);\n};\nvar tagIdsByGlobal = /* @__PURE__ */ new WeakMap();\nfunction nextTagId({ $global }) {\n let id = tagIdsByGlobal.get($global) || 0;\n return tagIdsByGlobal.set($global, id + 1), \"c\" + $global.runtimeId + $global.renderId + id.toString(36);\n}\nfunction inChild(childAccessor, signal) {\n return (scope, valueOrOp) => {\n signal(scope[childAccessor], valueOrOp);\n };\n}\nfunction intersections(signals) {\n return (scope, op) => {\n for (let signal of signals)\n signal(scope, op);\n };\n}\n\n// src/dom/queue.ts\nvar currentBatch = [], currentEffects = [];\nfunction queueControllableSource(scope, signal, changeHandler2, value2) {\n return changeHandler2 ? (changeHandler2(value2), value2) : queueSource(scope, signal, value2);\n}\nfunction queueSource(scope, signal, value2) {\n return schedule(), signal(scope, MARK), currentBatch.push(scope, signal, value2), value2;\n}\nfunction queueEffect(scope, fn) {\n currentEffects.push(scope, fn);\n}\nfunction run() {\n try {\n runBatch();\n } finally {\n currentBatch = [];\n }\n try {\n runEffects();\n } finally {\n currentEffects = [];\n }\n}\nfunction runSync(fn, v) {\n let prevBatch = currentBatch, prevEffects = currentEffects;\n currentBatch = [], currentEffects = [];\n try {\n fn(v), runBatch(), currentBatch = prevBatch, runEffects();\n } finally {\n currentBatch = prevBatch, currentEffects = prevEffects;\n }\n}\nfunction prepare(fn) {\n let prevBatch = currentBatch, prevEffects = currentEffects, preparedEffects = currentEffects = [];\n currentBatch = [];\n try {\n fn(), runBatch();\n } finally {\n currentBatch = prevBatch, currentEffects = prevEffects;\n }\n return preparedEffects;\n}\nfunction runEffects(effects = currentEffects) {\n for (let i = 0; i < effects.length; i += 2 /* Total */) {\n let scope = effects[i], fn = effects[i + 1];\n fn(scope);\n }\n}\nfunction runBatch() {\n for (let i = 0; i < currentBatch.length; i += 3 /* Total */) {\n let scope = currentBatch[i + 0 /* Scope */], signal = currentBatch[i + 1 /* Signal */], value2 = currentBatch[i + 2 /* Value */];\n signal(scope, value2);\n }\n}\n\n// src/dom/resolve-cursor-position.ts\nfunction resolveCursorPosition(updatedValue, initialValue, initialPosition, inputType2) {\n if (initialPosition !== initialValue.length || // short regex to match input types that delete backwards\n /kw/.test(inputType2)) {\n let before = initialValue.slice(0, initialPosition), after = initialValue.slice(initialPosition);\n if (updatedValue.startsWith(before))\n return initialPosition;\n if (updatedValue.endsWith(after))\n return updatedValue.length - after.length;\n {\n let relevantChars = stripSpacesAndPunctuation(before).length, pos = 0, relevantIndex = 0;\n for (; relevantIndex < relevantChars; )\n stripSpacesAndPunctuation(updatedValue[pos]) && relevantIndex++, pos++;\n return pos;\n }\n }\n return -1;\n}\nfunction stripSpacesAndPunctuation(str) {\n return str.replace(/[^\\p{L}\\p{N}]/gu, \"\");\n}\n\n// src/common/meta.ts\nvar DEFAULT_RUNTIME_ID = \"M\", DEFAULT_RENDER_ID = \"_\";\n\n// src/dom/resume.ts\nvar registeredValues = {}, Render = class {\n m = [];\n n = {};\n y = {\n _: registeredValues\n };\n constructor(renders, runtimeId, renderId) {\n this.z = renders, this.A = runtimeId, this.o = renderId, this.p = renders[renderId], this.q();\n }\n w() {\n this.p.w(), this.q();\n }\n q() {\n let data2 = this.p, serializeContext = this.y, scopeLookup = this.n, visits = data2.v, cleanupOwners = /* @__PURE__ */ new Map();\n if (visits.length) {\n let commentPrefixLen = data2.i.length, cleanupMarkers = /* @__PURE__ */ new Map();\n data2.v = [];\n let sectionEnd = (visit, scopeId = this.f, curNode = visit) => {\n let scope = scopeLookup[scopeId] ||= {}, endNode = curNode;\n for (; (endNode = endNode.previousSibling).nodeType === 8; ) ;\n scope.b = endNode;\n let startNode = scope.a ||= endNode, len = cleanupMarkers.size;\n for (let [markerScopeId, markerNode] of cleanupMarkers) {\n if (!len--) break;\n markerScopeId !== scopeId && startNode.compareDocumentPosition(markerNode) & 4 && curNode.compareDocumentPosition(markerNode) & 2 && (cleanupOwners.set(\"\" + markerScopeId, scopeId), cleanupMarkers.delete(markerScopeId));\n }\n return cleanupMarkers.set(scopeId, visit), scope;\n };\n for (let visit of visits) {\n let commentText = visit.data, token = commentText[commentPrefixLen], scopeId = parseInt(commentText.slice(commentPrefixLen + 1)), scope = scopeLookup[scopeId] ||= {}, dataIndex = commentText.indexOf(\" \") + 1, data3 = dataIndex ? commentText.slice(dataIndex) : \"\";\n if (token === \"*\" /* Node */)\n scope[data3] = visit.previousSibling;\n else if (token === \"$\" /* Cleanup */)\n cleanupMarkers.set(scopeId, visit);\n else if (token === \"[\" /* SectionStart */)\n this.f && (data3 && sectionEnd(visit), this.m.push(this.f)), this.f = scopeId, scope.a = visit;\n else if (token === \"]\" /* SectionEnd */) {\n if (scope[data3] = visit, scopeId < this.f) {\n let currParent = visit.parentNode, startNode = sectionEnd(visit).a;\n currParent && currParent !== startNode.parentNode && currParent.prepend(startNode), this.f = this.m.pop();\n }\n } else if (token === \"|\" /* SectionSingleNodesEnd */) {\n scope[parseInt(data3)] = visit;\n let childScopeIds = JSON.parse(\n \"[\" + data3.slice(data3.indexOf(\" \") + 1) + \"]\"\n ), curNode = visit;\n for (let i = childScopeIds.length - 1; i >= 0; i--)\n curNode = sectionEnd(visit, childScopeIds[i], curNode).b;\n }\n }\n }\n let resumes = data2.r;\n if (resumes) {\n data2.r = [];\n let len = resumes.length, i = 0;\n try {\n for (isResuming = !0; i < len; ) {\n let resumeData = resumes[i++];\n if (typeof resumeData == \"function\") {\n let scopes = resumeData(serializeContext), { $global } = scopeLookup;\n $global || (scopeLookup.$global = $global = scopes.$ || {}, $global.runtimeId = this.A, $global.renderId = this.o);\n for (let scopeId in scopes)\n if (scopeId !== \"$\") {\n let scope = scopes[scopeId], prevScope = scopeLookup[scopeId];\n scope.$global = $global, prevScope !== scope && (scopeLookup[scopeId] = Object.assign(\n scope,\n prevScope\n ));\n let cleanupOwnerId = cleanupOwners.get(scopeId);\n cleanupOwnerId && (scope.d = scopes[cleanupOwnerId], onDestroy(scope));\n }\n } else i === len || typeof resumes[i] != \"string\" ? delete this.z[this.o] : registeredValues[resumes[i++]](\n scopeLookup[resumeData]\n );\n }\n } finally {\n isResuming = !1;\n }\n }\n }\n}, isResuming = !1;\nfunction register(id, obj) {\n return registeredValues[id] = obj, obj;\n}\nfunction registerBoundSignal(id, signal) {\n return registeredValues[id] = (scope) => (valueOrOp) => signal(scope, valueOrOp), signal;\n}\nfunction getRegisteredWithScope(id, scope) {\n let val = registeredValues[id];\n return scope ? val(scope) : val;\n}\nfunction init(runtimeId = DEFAULT_RUNTIME_ID) {\n let resumeRender = (renderId) => resumeRender[renderId] = renders[renderId] = new Render(renders, runtimeId, renderId), renders;\n window[runtimeId] ? setRenders(window[runtimeId]) : Object.defineProperty(window, runtimeId, {\n configurable: !0,\n set: setRenders\n });\n function setRenders(v) {\n renders = v;\n for (let renderId in v)\n resumeRender(renderId);\n Object.defineProperty(window, runtimeId, {\n configurable: !0,\n value: resumeRender\n });\n }\n}\nfunction registerSubscriber(id, signal) {\n return register(id, signal.g), signal;\n}\nfunction nodeRef(id, key) {\n return register(id, (scope) => () => scope[key]);\n}\n\n// src/dom/controllable.ts\nfunction controllable_input_checked(scope, nodeAccessor, checked, checkedChange) {\n setCheckboxValue(\n scope,\n nodeAccessor,\n 0 /* InputChecked */,\n normalizeBoolProp(checked),\n checkedChange\n );\n}\nfunction controllable_input_checked_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n syncControllable(el, \"input\", hasCheckboxChanged, () => {\n let checkedChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n checkedChange && (scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, runSync(checkedChange, el.checked), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && (el.checked = !el.checked));\n });\n}\nfunction controllable_input_checkedValue(scope, nodeAccessor, checkedValue, checkedValueChange, value2) {\n scope[nodeAccessor + \":\" /* ControlledValue */] = checkedValue, attr(scope[nodeAccessor], \"value\", value2), setCheckboxValue(\n scope,\n nodeAccessor,\n 1 /* InputCheckedValue */,\n Array.isArray(checkedValue) ? checkedValue.includes(value2) : checkedValue === value2,\n checkedValueChange\n );\n}\nfunction controllable_input_checkedValue_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n syncControllable(el, \"input\", hasCheckboxChanged, () => {\n let checkedValueChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n if (checkedValueChange) {\n let oldValue = scope[nodeAccessor + \":\" /* ControlledValue */];\n scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, runSync(\n checkedValueChange,\n Array.isArray(oldValue) ? updateList(oldValue, el.value, el.checked) : el.checked ? el.value : void 0\n ), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && (el.checked = !el.checked);\n }\n });\n}\nfunction controllable_input_value(scope, nodeAccessor, value2, valueChange) {\n let el = scope[nodeAccessor], normalizedValue = normalizeStrProp(value2);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange, valueChange ? (scope[nodeAccessor + \"=\" /* ControlledType */] = 0 /* InputChecked */, scope[nodeAccessor + \":\" /* ControlledValue */] = value2, el.isConnected ? setValueAndUpdateSelection(el, normalizedValue) : el.defaultValue = normalizedValue) : (scope[nodeAccessor + \"=\" /* ControlledType */] = 5 /* None */, el.defaultValue = normalizedValue);\n}\nfunction controllable_input_value_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n isResuming && (scope[nodeAccessor + \":\" /* ControlledValue */] = el.defaultValue), syncControllable(el, \"input\", hasValueChanged, (ev) => {\n let valueChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n valueChange && (scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, ev && (inputType = ev.inputType), runSync(valueChange, el.value), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && setValueAndUpdateSelection(\n el,\n scope[nodeAccessor + \":\" /* ControlledValue */]\n ), inputType = \"\");\n });\n}\nfunction controllable_select_value(scope, nodeAccessor, value2, valueChange) {\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange, valueChange ? (scope[nodeAccessor + \"=\" /* ControlledType */] = 3 /* SelectValue */, scope[nodeAccessor + \":\" /* ControlledValue */] = value2) : scope[nodeAccessor + \"=\" /* ControlledType */] = 5 /* None */, setSelectOptions(\n scope[nodeAccessor],\n value2,\n valueChange\n );\n}\nfunction controllable_select_value_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n syncControllable(el, \"input\", hasSelectChanged, () => {\n let valueChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n valueChange && (scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, runSync(\n valueChange,\n Array.isArray(scope[nodeAccessor + \":\" /* ControlledValue */]) ? Array.from(el.selectedOptions, toValueProp) : el.value\n ), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && setSelectOptions(\n el,\n scope[nodeAccessor + \":\" /* ControlledValue */],\n valueChange\n ));\n });\n}\nfunction setSelectOptions(el, value2, valueChange) {\n if (Array.isArray(value2))\n for (let opt of el.options) {\n let selected = value2.includes(opt.value);\n valueChange ? opt.selected = selected : opt.defaultSelected = selected;\n }\n else {\n let normalizedValue = normalizeStrProp(value2);\n if (valueChange)\n el.value = normalizedValue;\n else\n for (let opt of el.options)\n opt.defaultSelected = opt.value === normalizedValue;\n }\n}\nfunction controllable_detailsOrDialog_open(scope, nodeAccessor, open, openChange) {\n scope[nodeAccessor + \";\" /* ControlledHandler */] = openChange, openChange ? scope[nodeAccessor + \"=\" /* ControlledType */] = 4 /* DetailsOrDialogOpen */ : scope[nodeAccessor + \"=\" /* ControlledType */] = 5 /* None */, scope[nodeAccessor].open = normalizeBoolProp(open);\n}\nfunction controllable_detailsOrDialog_open_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n syncControllable(\n el,\n el.tagName === \"DIALOG\" ? \"close\" : \"toggle\",\n () => scope[nodeAccessor + \";\" /* ControlledHandler */] && el.open !== scope[nodeAccessor + \":\" /* ControlledValue */],\n () => {\n let openChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n openChange && (scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, runSync(openChange, el.open), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && (el.open = !el.open));\n }\n );\n}\nvar inputType = \"\";\nfunction setValueAndUpdateSelection(el, value2) {\n let initialValue = el.value;\n if (initialValue !== value2)\n if (el.getRootNode().activeElement === el) {\n let initialPosition = el.selectionStart;\n el.value = value2;\n let updatedPosition = resolveCursorPosition(\n el.value,\n initialValue,\n initialPosition,\n inputType\n );\n ~updatedPosition && el.setSelectionRange(updatedPosition, updatedPosition);\n } else\n el.value = value2;\n}\nfunction setCheckboxValue(scope, nodeAccessor, type, checked, checkedChange) {\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedChange, checkedChange ? (scope[nodeAccessor + \"=\" /* ControlledType */] = type, scope[nodeAccessor].checked = checked) : (scope[nodeAccessor + \"=\" /* ControlledType */] = 5 /* None */, scope[nodeAccessor].defaultChecked = checked);\n}\nvar delegateFormControl = createDelegator(), formChangeHandlers = /* @__PURE__ */ new WeakMap();\nfunction syncControllable(el, event, hasChanged, onChange) {\n formChangeHandlers.set(el, onChange), delegateFormControl(el, event, onFormChange), el.form && delegateFormControl(el.form, \"reset\", onFormReset), isResuming && hasChanged(el) && queueMicrotask(onChange);\n}\nfunction onFormChange(ev) {\n formChangeHandlers.get(ev.target)?.(ev);\n}\nfunction onFormReset(ev) {\n let handlers = [];\n for (let el of ev.target.elements) {\n let handler = formChangeHandlers.get(el);\n handler && hasFormElementChanged(el) && handlers.push(handler);\n }\n requestAnimationFrame(() => {\n if (!ev.defaultPrevented)\n for (let change of handlers)\n change();\n });\n}\nfunction hasValueChanged(el) {\n return el.value !== el.defaultValue;\n}\nfunction hasCheckboxChanged(el) {\n return el.checked !== el.defaultChecked;\n}\nfunction hasSelectChanged(el) {\n for (let opt of el.options)\n if (opt.selected !== opt.defaultSelected)\n return !0;\n}\nfunction hasFormElementChanged(el) {\n switch (el.tagName) {\n case \"INPUT\":\n return hasValueChanged(el) || hasCheckboxChanged(el);\n case \"SELECT\":\n return hasSelectChanged(el);\n }\n}\nfunction normalizeStrProp(value2) {\n return normalizeAttrValue(value2) || \"\";\n}\nfunction normalizeBoolProp(value2) {\n return value2 != null && value2 !== !1;\n}\nfunction updateList(arr, val, push) {\n let index = arr.indexOf(val);\n return (push ? !~index && [...arr, val] : ~index && arr.slice(0, index).concat(arr.slice(index + 1))) || arr;\n}\nfunction toValueProp(it) {\n return it.value;\n}\n\n// src/dom/parse-html.ts\nvar fallback = document.createTextNode(\"\"), parser = /* @__PURE__ */ new Range();\nfunction parseHTML(html2) {\n return parser.createContextualFragment(html2);\n}\nfunction parseHTMLOrSingleNode(html2) {\n let content = parseHTML(html2);\n return content.firstChild === content.lastChild ? content.firstChild || fallback : content;\n}\n\n// src/dom/dom.ts\nvar eventHandlerReg = /^on[A-Z-]/;\nfunction attr(element, name, value2) {\n setAttribute(element, name, normalizeAttrValue(value2));\n}\nfunction setAttribute(element, name, value2) {\n element.getAttribute(name) != value2 && (value2 === void 0 ? element.removeAttribute(name) : element.setAttribute(name, value2));\n}\nfunction classAttr(element, value2) {\n setAttribute(element, \"class\", classValue(value2) || void 0);\n}\nfunction styleAttr(element, value2) {\n setAttribute(element, \"style\", styleValue(value2) || void 0);\n}\nfunction data(node, value2) {\n let normalizedValue = normalizeString(value2);\n node.data !== normalizedValue && (node.data = normalizedValue);\n}\nfunction attrs(scope, nodeAccessor, nextAttrs) {\n let el = scope[nodeAccessor];\n for (let { name } of el.attributes)\n nextAttrs && (name in nextAttrs || hasAttrAlias(el, name, nextAttrs)) || el.removeAttribute(name);\n attrsInternal(scope, nodeAccessor, nextAttrs);\n}\nfunction hasAttrAlias(element, attr2, nextAttrs) {\n return attr2 === \"checked\" && element.tagName === \"INPUT\" && \"checkedValue\" in nextAttrs;\n}\nfunction partialAttrs(scope, nodeAccessor, nextAttrs, skip) {\n let el = scope[nodeAccessor], partial = {};\n for (let { name } of el.attributes)\n !skip[name] && !(nextAttrs && name in nextAttrs) && el.removeAttribute(name);\n for (let key in nextAttrs)\n skip[key] || (partial[key] = nextAttrs[key]);\n attrsInternal(scope, nodeAccessor, partial);\n}\nfunction attrsInternal(scope, nodeAccessor, nextAttrs) {\n let el = scope[nodeAccessor], events, skip;\n switch (el.tagName) {\n case \"INPUT\":\n if (nextAttrs.checkedChange)\n controllable_input_checked(\n scope,\n nodeAccessor,\n nextAttrs.checked,\n nextAttrs.checkedChange\n );\n else if (nextAttrs.checkedValue || nextAttrs.checkedValueChange)\n controllable_input_checkedValue(\n scope,\n nodeAccessor,\n nextAttrs.checkedValue,\n nextAttrs.checkedValueChange,\n nextAttrs.value\n );\n else if (nextAttrs.valueChange)\n controllable_input_value(\n scope,\n nodeAccessor,\n nextAttrs.value,\n nextAttrs.valueChange\n );\n else\n break;\n skip = /^(?:value|checked(?:Value)?)(?:Change)?$/;\n break;\n case \"SELECT\":\n (nextAttrs.value || nextAttrs.valueChange) && (controllable_select_value(\n scope,\n nodeAccessor,\n nextAttrs.value,\n nextAttrs.valueChange\n ), skip = /^value(?:Change)?$/);\n break;\n case \"DETAILS\":\n case \"DIALOG\":\n nextAttrs.openChange && (controllable_detailsOrDialog_open(\n scope,\n nodeAccessor,\n nextAttrs.open,\n nextAttrs.openChange\n ), skip = /^open(?:Change)?$/);\n break;\n }\n for (let name in nextAttrs) {\n let value2 = nextAttrs[name];\n switch (name) {\n case \"class\":\n classAttr(el, value2);\n break;\n case \"style\":\n styleAttr(el, value2);\n break;\n case \"renderBody\":\n break;\n default:\n eventHandlerReg.test(name) ? (events ||= scope[nodeAccessor + \"~\" /* EventAttributes */] = {})[name[2] === \"-\" ? name.slice(3) : name.slice(2).toLowerCase()] = value2 : skip?.test(name) || attr(el, name, value2);\n }\n }\n}\nfunction attrsEvents(scope, nodeAccessor) {\n let el = scope[nodeAccessor], events = scope[nodeAccessor + \"~\" /* EventAttributes */];\n switch (scope[nodeAccessor + \"=\" /* ControlledType */]) {\n case 0 /* InputChecked */:\n controllable_input_checked_effect(scope, nodeAccessor);\n break;\n case 1 /* InputCheckedValue */:\n controllable_input_checkedValue_effect(scope, nodeAccessor);\n break;\n case 2 /* InputValue */:\n controllable_input_value_effect(scope, nodeAccessor);\n break;\n case 3 /* SelectValue */:\n controllable_select_value_effect(scope, nodeAccessor);\n break;\n case 4 /* DetailsOrDialogOpen */:\n controllable_detailsOrDialog_open_effect(scope, nodeAccessor);\n break;\n }\n for (let name in events)\n on(el, name, events[name]);\n}\nfunction html(scope, value2, index) {\n let firstChild = scope[index], lastChild = scope[index + \"-\"] || firstChild, parentNode = firstChild.parentNode, afterReference = lastChild.nextSibling, newContent = parseHTML(value2 || value2 === 0 ? value2 + \"\" : \"\");\n scope[index] = newContent.firstChild, scope[index + \"-\" /* DynamicPlaceholderLastChild */] = newContent.lastChild, parentNode.insertBefore(newContent, firstChild);\n let current = firstChild;\n for (; current !== afterReference; ) {\n let next = current.nextSibling;\n current.remove(), current = next;\n }\n}\nfunction props(scope, nodeIndex, index) {\n let nextProps = scope[index], prevProps = scope[index + \"-\"], node = scope[nodeIndex];\n if (prevProps)\n for (let name in prevProps)\n name in nextProps || (node[name] = void 0);\n for (let name in nextProps)\n node[name] = nextProps[name];\n scope[index + \"-\"] = nextProps;\n}\nfunction normalizeAttrValue(value2) {\n if (value2 || value2 === 0)\n return value2 === !0 ? \"\" : value2 + \"\";\n}\nfunction normalizeString(value2) {\n return value2 || value2 === 0 ? value2 + \"\" : \"\\u200D\";\n}\nfunction lifecycle(scope, index, thisObj) {\n let instance = scope[index];\n instance ? (Object.assign(instance, thisObj), instance.onUpdate?.()) : (scope[index] = thisObj, thisObj.onMount?.(), getAbortSignal(\n scope,\n \"-\" /* LifecycleAbortController */ + index\n ).onabort = () => thisObj.onDestroy?.());\n}\n\n// src/dom/walker.ts\nvar walker = /* @__PURE__ */ document.createTreeWalker(document);\nfunction trimWalkString(walkString) {\n let end = walkString.length;\n for (; walkString.charCodeAt(--end) > 47 /* BeginChild */; ) ;\n return walkString.slice(0, end + 1);\n}\nfunction walk(startNode, walkCodes, scope) {\n walker.currentNode = startNode, walkInternal(walkCodes, scope, scope, 0), walker.currentNode = document.documentElement;\n}\nfunction walkInternal(walkCodes, scope, cleanupOwnerScope, currentWalkIndex) {\n let value2, storedMultiplier = 0, currentMultiplier = 0, currentScopeIndex = 0;\n for (cleanupOwnerScope !== scope && (scope.d = cleanupOwnerScope); value2 = walkCodes.charCodeAt(currentWalkIndex++); )\n if (currentMultiplier = storedMultiplier, storedMultiplier = 0, value2 >= 117 /* Multiplier */)\n storedMultiplier = currentMultiplier * 10 /* Multiplier */ + value2 - 117 /* Multiplier */;\n else if (value2 >= 107 /* Out */) {\n for (value2 = 10 /* Out */ * currentMultiplier + value2 - 107 /* Out */; value2--; )\n walker.parentNode();\n walker.nextSibling();\n } else if (value2 >= 97 /* Over */)\n for (value2 = 10 /* Over */ * currentMultiplier + value2 - 97 /* Over */; value2--; )\n walker.nextSibling();\n else if (value2 >= 67 /* Next */)\n for (value2 = 20 /* Next */ * currentMultiplier + value2 - 67 /* Next */; value2--; )\n walker.nextNode();\n else if (value2 === 47 /* BeginChild */)\n currentWalkIndex = walkInternal(\n walkCodes,\n scope[currentScopeIndex++] = createScope(scope.$global),\n cleanupOwnerScope,\n currentWalkIndex\n );\n else {\n if (value2 === 38 /* EndChild */)\n return currentWalkIndex;\n if (value2 === 32 /* Get */)\n scope[currentScopeIndex++] = walker.currentNode;\n else {\n let newNode = scope[currentScopeIndex++] = document.createTextNode(\"\"), current = walker.currentNode;\n current.parentNode.replaceChild(newNode, current), walker.currentNode = newNode;\n }\n }\n return currentWalkIndex;\n}\n\n// src/dom/renderer.ts\nfunction createScopeWithRenderer(renderer, $global, ownerScope) {\n let newScope = createScope($global);\n if (newScope._ = newScope.d = renderer.B || ownerScope, newScope.x = renderer, initRenderer(renderer, newScope), renderer.c)\n for (let signal of renderer.c)\n signal.g?.(newScope);\n return newScope;\n}\nfunction createScopeWithTagNameOrRenderer(tagNameOrRenderer, $global, ownerScope) {\n if (typeof tagNameOrRenderer != \"string\")\n return createScopeWithRenderer(tagNameOrRenderer, $global, ownerScope);\n let newScope = createScope($global);\n return newScope._ = newScope.d = ownerScope, newScope[0] = newScope.a = newScope.b = document.createElement(tagNameOrRenderer), newScope;\n}\nfunction initRenderer(renderer, scope) {\n let dom = renderer.k();\n return walk(\n dom.nodeType === 11 /* DocumentFragment */ ? dom.firstChild : dom,\n renderer.C,\n scope\n ), scope.a = dom.nodeType === 11 /* DocumentFragment */ ? dom.firstChild : dom, scope.b = dom.nodeType === 11 /* DocumentFragment */ ? dom.lastChild : dom, renderer.s && renderer.s(scope), dom;\n}\nfunction dynamicTagAttrs(nodeAccessor, getRenderBody, inputIsArgs) {\n return (scope, attrsOrOp) => {\n let renderer = scope[nodeAccessor + \"(\" /* ConditionalRenderer */];\n if (!renderer || attrsOrOp === DIRTY)\n return;\n let childScope = scope[nodeAccessor + \"!\" /* ConditionalScope */];\n if (attrsOrOp === MARK || attrsOrOp === CLEAN)\n return renderer.e?.(childScope, attrsOrOp);\n let renderBody = getRenderBody?.(scope);\n if (typeof renderer == \"string\")\n setConditionalRendererOnlyChild(childScope, 0, renderBody), attrs(childScope, 0, attrsOrOp());\n else if (renderer.e) {\n let attributes = attrsOrOp();\n renderer.e(\n childScope,\n inputIsArgs ? attributes : [\n renderBody ? {\n ...attributes,\n renderBody\n } : attributes\n ]\n );\n }\n };\n}\nfunction createRendererWithOwner(template, rawWalks, setup, getClosureSignals, hasUserEffects = 0, getArgs) {\n let args, closureSignals, id = {}, walks = rawWalks ? /* @__PURE__ */ trimWalkString(rawWalks) : \" \";\n return (owner) => ({\n t: id,\n D: template,\n C: walks,\n s: setup,\n k: _clone,\n B: owner,\n E: hasUserEffects,\n F: void 0,\n get e() {\n return args ||= getArgs?.();\n },\n get c() {\n return closureSignals ||= new Set(getClosureSignals?.());\n }\n });\n}\nfunction createRenderer(template, walks, setup, getClosureSignals, hasUserEffects, getArgs) {\n return createRendererWithOwner(\n template,\n walks,\n setup,\n getClosureSignals,\n hasUserEffects,\n getArgs\n )();\n}\nfunction _clone() {\n return (this.F ||= parseHTMLOrSingleNode(\n this.D\n )).cloneNode(!0);\n}\n\n// src/dom/control-flow.ts\nfunction patchConditionals(fn) {\n conditional = fn(conditional), conditionalOnlyChild = fn(conditionalOnlyChild);\n}\nvar conditional = function(nodeAccessor, fn, getIntersection) {\n let rendererAccessor = nodeAccessor + \"(\" /* ConditionalRenderer */, childScopeAccessor = nodeAccessor + \"!\" /* ConditionalScope */, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, newRendererOrOp) => {\n if (newRendererOrOp === DIRTY) return;\n let currentRenderer = scope[rendererAccessor], op = newRendererOrOp;\n if (newRendererOrOp !== MARK && newRendererOrOp !== CLEAN) {\n let normalizedRenderer = normalizeDynamicRenderer(newRendererOrOp);\n isDifferentRenderer(normalizedRenderer, currentRenderer) ? (currentRenderer = scope[rendererAccessor] = normalizedRenderer, setConditionalRenderer(scope, nodeAccessor, normalizedRenderer), fn?.(scope), op = DIRTY) : op = CLEAN;\n }\n intersection2?.(scope, op), renderBodyClosures(currentRenderer, scope[childScopeAccessor], op);\n };\n};\nfunction inConditionalScope(signal, nodeAccessor) {\n let scopeAccessor = nodeAccessor + \"!\" /* ConditionalScope */, rendererAccessor = nodeAccessor + \"(\" /* ConditionalRenderer */;\n return (scope, op) => {\n let conditionalScope = scope[scopeAccessor];\n if (conditionalScope) {\n let conditionalRenderer = scope[rendererAccessor];\n (!conditionalRenderer?.c || conditionalRenderer.c.has(signal)) && signal(conditionalScope, op);\n }\n };\n}\nfunction setConditionalRenderer(scope, nodeAccessor, newRenderer) {\n let newScope, prevScope = scope[nodeAccessor + \"!\" /* ConditionalScope */];\n newRenderer ? (newScope = scope[nodeAccessor + \"!\" /* ConditionalScope */] = createScopeWithTagNameOrRenderer(\n newRenderer,\n scope.$global,\n scope\n ), prevScope = prevScope || getEmptyScope(scope[nodeAccessor])) : (newScope = getEmptyScope(scope[nodeAccessor]), scope[nodeAccessor + \"!\" /* ConditionalScope */] = void 0), insertBefore(\n newScope,\n prevScope.a.parentNode,\n prevScope.a\n ), removeAndDestroyScope(prevScope);\n}\nvar conditionalOnlyChild = function(nodeAccessor, fn, getIntersection) {\n let rendererAccessor = nodeAccessor + \"(\" /* ConditionalRenderer */, childScopeAccessor = nodeAccessor + \"!\" /* ConditionalScope */, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, newRendererOrOp) => {\n if (newRendererOrOp === DIRTY) return;\n let currentRenderer = scope[rendererAccessor], op = newRendererOrOp;\n if (newRendererOrOp !== MARK && newRendererOrOp !== CLEAN) {\n let normalizedRenderer = normalizeDynamicRenderer(newRendererOrOp);\n isDifferentRenderer(normalizedRenderer, currentRenderer) ? (currentRenderer = scope[rendererAccessor] = normalizedRenderer, setConditionalRendererOnlyChild(\n scope,\n nodeAccessor,\n normalizedRenderer\n ), fn?.(scope), op = DIRTY) : op = CLEAN;\n }\n intersection2?.(scope, op), renderBodyClosures(currentRenderer, scope[childScopeAccessor], op);\n };\n};\nfunction setConditionalRendererOnlyChild(scope, nodeAccessor, newRenderer) {\n let prevScope = scope[nodeAccessor + \"!\" /* ConditionalScope */], referenceNode = scope[nodeAccessor];\n if (referenceNode.textContent = \"\", newRenderer) {\n let newScope = scope[nodeAccessor + \"!\" /* ConditionalScope */] = createScopeWithTagNameOrRenderer(newRenderer, scope.$global, scope);\n insertBefore(newScope, referenceNode, null);\n }\n prevScope && destroyScope(prevScope);\n}\nvar emptyMarkerMap = /* @__PURE__ */ new Map([[Symbol(), getEmptyScope(void 0)]]), emptyMarkerArray = [\n /* @__PURE__ */ getEmptyScope(void 0)\n], emptyMap = /* @__PURE__ */ new Map(), emptyArray = [];\nfunction loopOf(nodeAccessor, renderer) {\n return loop(\n nodeAccessor,\n renderer,\n ([all, by = bySecondArg], cb) => {\n typeof by == \"string\" ? forOf(\n all,\n (item, i) => cb(item[by], [item, i])\n ) : forOf(all, (item, i) => cb(by(item, i), [item, i]));\n }\n );\n}\nfunction loopIn(nodeAccessor, renderer) {\n return loop(\n nodeAccessor,\n renderer,\n ([obj, by = byFirstArg], cb) => forIn(obj, (key, value2) => cb(by(key, value2), [key, value2]))\n );\n}\nfunction loopTo(nodeAccessor, renderer) {\n return loop(\n nodeAccessor,\n renderer,\n ([to, from, step, by = byFirstArg], cb) => forTo(to, from, step, (v) => cb(by(v), [v]))\n );\n}\nfunction loop(nodeAccessor, renderer, forEach) {\n let loopScopeAccessor = nodeAccessor + \"!\" /* LoopScopeArray */, closureSignals = renderer.c, params = renderer.e;\n return (scope, valueOrOp) => {\n if (valueOrOp === DIRTY) return;\n if (valueOrOp === MARK || valueOrOp === CLEAN) {\n let loopScopes = scope[loopScopeAccessor] ?? scope[nodeAccessor + \"(\" /* LoopScopeMap */]?.values() ?? [];\n if (loopScopes !== emptyMarkerArray)\n for (let childScope of loopScopes) {\n params?.(childScope, valueOrOp);\n for (let signal of closureSignals)\n signal(childScope, valueOrOp);\n }\n return;\n }\n let referenceNode = scope[nodeAccessor], referenceIsMarker = referenceNode.nodeType === 8 || referenceNode.nodeType === 3, oldMap = scope[nodeAccessor + \"(\" /* LoopScopeMap */] || (referenceIsMarker ? emptyMarkerMap : emptyMap), oldArray = scope[nodeAccessor + \"!\" /* LoopScopeArray */] || Array.from(oldMap.values()), newMap, newArray, afterReference, parentNode, needsReconciliation = !0;\n if (forEach(valueOrOp, (key, args) => {\n let childScope = oldMap.get(key), closureOp = CLEAN;\n if (childScope || (childScope = createScopeWithRenderer(renderer, scope.$global, scope), closureOp = DIRTY), params && params(childScope, args), closureSignals)\n for (let signal of closureSignals)\n signal(childScope, closureOp);\n newMap ? (newMap.set(key, childScope), newArray.push(childScope)) : (newMap = /* @__PURE__ */ new Map([[key, childScope]]), newArray = [childScope]);\n }), !newMap)\n if (referenceIsMarker)\n newMap = emptyMarkerMap, newArray = emptyMarkerArray, getEmptyScope(referenceNode);\n else {\n if (renderer.E)\n for (let i = 0; i < oldArray.length; i++)\n destroyScope(oldArray[i]);\n referenceNode.textContent = \"\", newMap = emptyMap, newArray = emptyArray, needsReconciliation = !1;\n }\n if (needsReconciliation) {\n if (referenceIsMarker) {\n oldMap === emptyMarkerMap && getEmptyScope(referenceNode);\n let oldLastChild = oldArray[oldArray.length - 1];\n afterReference = oldLastChild.b.nextSibling, parentNode = oldLastChild.a.parentNode;\n } else\n afterReference = null, parentNode = referenceNode;\n reconcile(parentNode, oldArray, newArray, afterReference);\n }\n scope[nodeAccessor + \"(\" /* LoopScopeMap */] = newMap, scope[nodeAccessor + \"!\" /* LoopScopeArray */] = newArray;\n };\n}\nfunction inLoopScope(signal, loopNodeAccessor) {\n let loopScopeAccessor = loopNodeAccessor + \"!\" /* LoopScopeArray */;\n return (scope, op) => {\n let loopScopes = scope[loopScopeAccessor] ?? scope[loopNodeAccessor + \"(\" /* LoopScopeMap */]?.values() ?? [];\n if (loopScopes !== emptyMarkerArray)\n for (let scope2 of loopScopes)\n signal(scope2, op);\n };\n}\nfunction bySecondArg(_item, index) {\n return index;\n}\nfunction byFirstArg(name) {\n return name;\n}\nfunction isDifferentRenderer(a, b) {\n return a !== b && (a?.t || 0) !== b?.t;\n}\n\n// src/dom/compat.ts\nvar classIdToScope = /* @__PURE__ */ new Map(), compat = {\n patchConditionals,\n queueEffect,\n init() {\n register(SET_SCOPE_REGISTER_ID, (scope) => {\n classIdToScope.set(scope.m5c, scope);\n });\n },\n registerRenderer(fn) {\n register(RENDERER_REGISTER_ID, fn);\n },\n isOp(value2) {\n return value2 === MARK || value2 === CLEAN || value2 === DIRTY;\n },\n isRenderer(renderer) {\n return renderer.k !== void 0;\n },\n getStartNode(scope) {\n return scope.a;\n },\n setScopeNodes(scope, startNode, endNode) {\n scope.a = startNode, scope.b = endNode;\n },\n runComponentEffects() {\n runEffects(this.effects);\n },\n resolveRegistered(value2, {\n runtimeId,\n componentIdPrefix\n }) {\n return Array.isArray(value2) && typeof value2[0] == \"string\" ? getRegisteredWithScope(\n value2[0],\n value2.length === 2 && window[runtimeId]?.[componentIdPrefix === \"s\" ? \"_\" : componentIdPrefix]?.n[value2[1]]\n ) : value2;\n },\n createRenderer(setup, clone, args) {\n let renderer = createRenderer(\n \"\",\n void 0,\n setup,\n void 0,\n 1,\n args && (() => args)\n );\n return renderer.k = clone, renderer;\n },\n render(out, component, renderer, input) {\n let scope = component.scope;\n scope || (scope = classIdToScope.get(component.id), scope && (component.scope = scope, classIdToScope.delete(component.id)));\n let args = renderer.e || noop, existing = !1;\n if (component.effects = prepare(() => {\n if (scope)\n args(scope, MARK), existing = !0;\n else {\n scope = component.scope = createScopeWithRenderer(renderer, out.global);\n let closures = renderer.c;\n if (closures)\n for (let signal of closures)\n signal(component.scope, CLEAN);\n }\n args(scope, input);\n }), !existing)\n return scope.a === scope.b ? scope.a : scope.a.parentNode;\n }\n};\nfunction noop() {\n}\n\n// src/dom/template.ts\nvar createTemplate = (renderer, templateId) => (renderer.mount = mount, renderer._ = renderer, register(templateId, renderer));\nfunction mount(input = {}, reference, position) {\n let scope, dom, { $global } = input;\n $global ? ({ $global, ...input } = input, $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID,\n ...$global\n }) : $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID\n };\n let args = this.e, effects = prepare(() => {\n scope = createScope($global), dom = initRenderer(this, scope), args && args(scope, [input]);\n });\n switch (position) {\n case \"afterbegin\":\n reference.insertBefore(dom, reference.firstChild);\n break;\n case \"afterend\":\n reference.parentElement.insertBefore(dom, reference.nextSibling);\n break;\n case \"beforebegin\":\n reference.parentElement.insertBefore(dom, reference);\n break;\n default:\n reference.appendChild(dom);\n break;\n }\n return runEffects(effects), {\n update: (newInput) => {\n args && runSync(() => {\n args(scope, MARK), args(scope, [newInput]);\n });\n },\n destroy: () => {\n removeAndDestroyScope(scope);\n }\n };\n}\n","\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, __copyProps = (to, from, except, desc) => {\n if (from && typeof from == \"object\" || typeof from == \"function\")\n for (let key of __getOwnPropNames(from))\n !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: !0 }), mod);\n\n// src/html.ts\nvar html_exports = {};\n__export(html_exports, {\n attr: () => attr,\n attrTag: () => attrTag,\n attrTags: () => attrTags,\n attrs: () => attrs,\n classAttr: () => classAttr,\n compat: () => compat,\n controllable_detailsOrDialog_open: () => controllable_detailsOrDialog_open,\n controllable_input_checked: () => controllable_input_checked,\n controllable_input_checkedValue: () => controllable_input_checkedValue,\n controllable_input_value: () => controllable_input_value,\n controllable_select_value: () => controllable_select_value,\n createRenderer: () => createRenderer,\n createTemplate: () => createTemplate,\n dynamicTagArgs: () => dynamicTagArgs,\n dynamicTagInput: () => dynamicTagInput,\n ensureScopeWithId: () => ensureScopeWithId,\n escapeScript: () => escapeScript,\n escapeStyle: () => escapeStyle,\n escapeXML: () => escapeXML,\n forIn: () => forIn,\n forOf: () => forOf,\n forTo: () => forTo,\n fork: () => fork,\n getScopeById: () => getScopeById,\n getStreamData: () => getStreamData,\n markResumeCleanup: () => markResumeCleanup,\n markResumeControlEnd: () => markResumeControlEnd,\n markResumeControlSingleNodeEnd: () => markResumeControlSingleNodeEnd,\n markResumeNode: () => markResumeNode,\n markResumeScopeStart: () => markResumeScopeStart,\n nextScopeId: () => nextScopeId,\n nextTagId: () => nextTagId,\n nodeRef: () => nodeRef,\n normalizeDynamicRenderer: () => normalizeDynamicRenderer,\n optionValueAttr: () => optionValueAttr,\n partialAttrs: () => partialAttrs,\n peekNextScope: () => peekNextScope,\n register: () => register2,\n styleAttr: () => styleAttr,\n toString: () => toString,\n tryCatch: () => tryCatch,\n tryPlaceholder: () => tryPlaceholder,\n write: () => write,\n writeEffect: () => writeEffect,\n writeExistingScope: () => writeExistingScope,\n writeScope: () => writeScope\n});\nmodule.exports = __toCommonJS(html_exports);\n\n// src/common/attr-tag.ts\nvar empty = [], rest = Symbol();\nfunction attrTag(attrs2) {\n return attrs2[Symbol.iterator] = attrTagIterator, attrs2[rest] = empty, attrs2;\n}\nfunction attrTags(first, attrs2) {\n return first ? (first[rest] === empty ? first[rest] = [attrs2] : first[rest].push(attrs2), first) : attrTag(attrs2);\n}\nfunction* attrTagIterator() {\n yield this, yield* this[rest];\n}\n\n// src/common/for.ts\nfunction forIn(obj, cb) {\n for (let key in obj)\n cb(key, obj[key]);\n}\nfunction forOf(list, cb) {\n if (list) {\n let i = 0;\n for (let item of list)\n cb(item, i++);\n }\n}\nfunction forTo(to, from, step, cb) {\n let start = from || 0, delta = step || 1;\n for (let steps = (to - start) / delta, i = 0; i <= steps; i++)\n cb(start + i * delta);\n}\n\n// src/common/helpers.ts\nfunction classValue(value) {\n return toDelimitedString(value, \" \", stringifyClassObject);\n}\nfunction stringifyClassObject(name, value) {\n return value ? name : \"\";\n}\nfunction styleValue(value) {\n return toDelimitedString(value, \";\", stringifyStyleObject);\n}\nvar NON_DIMENSIONAL = /^(--|ta|or|li|z)|n-c|i(do|nk|m|t)|w$|we/;\nfunction stringifyStyleObject(name, value) {\n return value || value === 0 ? `${name}:${typeof value == \"number\" && value && !NON_DIMENSIONAL.test(name) ? value + \"px\" : value}` : \"\";\n}\nfunction toDelimitedString(val, delimiter, stringify) {\n switch (typeof val) {\n case \"string\":\n return val;\n case \"object\":\n if (val !== null) {\n let result = \"\", curDelimiter = \"\";\n if (Array.isArray(val))\n for (let v of val) {\n let part = toDelimitedString(v, delimiter, stringify);\n part !== \"\" && (result += curDelimiter + part, curDelimiter = delimiter);\n }\n else\n for (let name in val) {\n let v = val[name], part = stringify(name, v);\n part !== \"\" && (result += curDelimiter + part, curDelimiter = delimiter);\n }\n return result;\n }\n }\n return \"\";\n}\nfunction isVoid(value) {\n return value == null || value === !1;\n}\nfunction normalizeDynamicRenderer(value) {\n if (value) return value.renderBody || value.default || value;\n}\n\n// src/html/inlined-runtimes.ts\nvar WALKER_RUNTIME_CODE = '(e=>self[e]=self[e]||(l=>{let t,d={},f=[],s=document,a=s.createTreeWalker(s,129),r=self[e][l]={i:l=e+l,d:s,l:d,v:f,x(){},w(e){for(;e=a.nextNode();)this.x(r=(r=e.data)&&!r.indexOf(l)&&(d[t=r.slice(x+1)]=e,r[x]),t,e),r>\"#\"&&f.push(e)}},x=l.length}))', REORDER_RUNTIME_CODE = '(e=>{let i,t,r,l,d={},n=(e,i)=>{e.replaceWith(...i.childNodes),i.remove()};e.d.head.append(e.d.querySelector(\"style[\"+e.i+\"]\")||\"\"),e.j={},e.x=(o,a,c,p,b)=>{\"#\"==o?(d[a]=t).i++:c==r&&i(),\"T\"==c.tagName&&(a=c.getAttribute(e.i))&&((p=e.l[\"^\"+a])?t=d[a]={i:0,c(i=e.l[a]||l||c){for(;i.parentNode!==p.parentNode;)i=i.parentNode;for(;i!=r;(r=p.nextSibling).remove());n(p,c)}}:(i=()=>{l=c.previousSibling,n(e.l[a],c),--p.i||p.c()},p=t=d[a],r=c.nextElementSibling||i()),b=t.c,(o=e.j[a])&&(t.c=()=>b()+o(e)),c.attributes.c&&t.c())}})';\n\n// src/html/serializer.ts\nvar { hasOwnProperty } = {}, Generator = function* () {\n}().constructor, AsyncGenerator = async function* () {\n}().constructor, REGISTRY = /* @__PURE__ */ new WeakMap(), KNOWN_SYMBOLS = (() => {\n let KNOWN_SYMBOLS2 = /* @__PURE__ */ new Map();\n for (let name of Object.getOwnPropertyNames(Symbol)) {\n let symbol = Symbol[name];\n typeof symbol == \"symbol\" && KNOWN_SYMBOLS2.set(symbol, \"Symbol.\" + name);\n }\n return KNOWN_SYMBOLS2;\n})(), KNOWN_FUNCTIONS = /* @__PURE__ */ new Map([\n // This is by no means an exhaustive list,\n // but it should cover most of the built-in functions.\n [AggregateError, \"AggregateError\"],\n [Array, \"Array\"],\n [Array.from, \"Array.from\"],\n [Array.isArray, \"Array.isArray\"],\n [Array.of, \"Array.of\"],\n [ArrayBuffer, \"ArrayBuffer\"],\n [ArrayBuffer.isView, \"ArrayBuffer.isView\"],\n [Atomics.add, \"Atomics.add\"],\n [Atomics.and, \"Atomics.and\"],\n [Atomics.compareExchange, \"Atomics.compareExchange\"],\n [Atomics.exchange, \"Atomics.exchange\"],\n [Atomics.isLockFree, \"Atomics.isLockFree\"],\n [Atomics.load, \"Atomics.load\"],\n [Atomics.notify, \"Atomics.notify\"],\n [Atomics.or, \"Atomics.or\"],\n [Atomics.store, \"Atomics.store\"],\n [Atomics.sub, \"Atomics.sub\"],\n [Atomics.wait, \"Atomics.wait\"],\n [BigInt, \"BigInt\"],\n [BigInt.asIntN, \"BigInt.asIntN\"],\n [BigInt.asUintN, \"BigInt.asUintN\"],\n [BigInt64Array, \"BigInt64Array\"],\n [BigInt64Array.from, \"BigInt64Array.from\"],\n [BigInt64Array.of, \"BigInt64Array.of\"],\n [BigUint64Array, \"BigUint64Array\"],\n [BigUint64Array.from, \"BigUint64Array.from\"],\n [BigUint64Array.of, \"BigUint64Array.of\"],\n [Boolean, \"Boolean\"],\n [console.assert, \"console.assert\"],\n [console.clear, \"console.clear\"],\n [console.count, \"console.count\"],\n [console.countReset, \"console.countReset\"],\n [console.debug, \"console.debug\"],\n [console.dir, \"console.dir\"],\n [console.dirxml, \"console.dirxml\"],\n [console.error, \"console.error\"],\n [console.group, \"console.group\"],\n [console.groupCollapsed, \"console.groupCollapsed\"],\n [console.groupEnd, \"console.groupEnd\"],\n [console.info, \"console.info\"],\n [console.log, \"console.log\"],\n [console.table, \"console.table\"],\n [console.time, \"console.time\"],\n [console.timeEnd, \"console.timeEnd\"],\n [console.timeLog, \"console.timeLog\"],\n [console.timeStamp, \"console.timeStamp\"],\n [console.trace, \"console.trace\"],\n [console.warn, \"console.warn\"],\n [DataView, \"DataView\"],\n [Date, \"Date\"],\n [Date.now, \"Date.now\"],\n [Date.parse, \"Date.parse\"],\n [Date.UTC, \"Date.UTC\"],\n [decodeURI, \"decodeURI\"],\n [decodeURIComponent, \"decodeURIComponent\"],\n [encodeURI, \"encodeURI\"],\n [encodeURIComponent, \"encodeURIComponent\"],\n [Error, \"Error\"],\n [EvalError, \"EvalError\"],\n [Float32Array, \"Float32Array\"],\n [Float32Array.from, \"Float32Array.from\"],\n [Float32Array.of, \"Float32Array.of\"],\n [Float64Array, \"Float64Array\"],\n [Float64Array.from, \"Float64Array.from\"],\n [Float64Array.of, \"Float64Array.of\"],\n [Function, \"Function\"],\n [globalThis.atob, \"atob\"],\n [globalThis.btoa, \"btoa\"],\n [globalThis.clearImmediate, \"clearImmediate\"],\n [globalThis.clearInterval, \"clearInterval\"],\n [globalThis.clearTimeout, \"clearTimeout\"],\n [globalThis.crypto?.getRandomValues, \"crypto.getRandomValues\"],\n [globalThis.crypto?.randomUUID, \"crypto.randomUUID\"],\n [globalThis.fetch, \"fetch\"],\n [globalThis.performance?.now, \"performance.now\"],\n [globalThis.queueMicrotask, \"queueMicrotask\"],\n [globalThis.setImmediate, \"setImmediate\"],\n [globalThis.setInterval, \"setInterval\"],\n [globalThis.setTimeout, \"setTimeout\"],\n [globalThis.structuredClone, \"structuredClone\"],\n [globalThis.URL, \"URL\"],\n [globalThis.URLSearchParams, \"URLSearchParams\"],\n [globalThis.WritableStream, \"WritableStream\"],\n [Int16Array, \"Int16Array\"],\n [Int16Array.from, \"Int16Array.from\"],\n [Int16Array.of, \"Int16Array.of\"],\n [Int32Array, \"Int32Array\"],\n [Int32Array.from, \"Int32Array.from\"],\n [Int32Array.of, \"Int32Array.of\"],\n [Int8Array, \"Int8Array\"],\n [Int8Array.from, \"Int8Array.from\"],\n [Int8Array.of, \"Int8Array.of\"],\n [Intl.Collator, \"Intl.Collator\"],\n [Intl.DateTimeFormat, \"Intl.DateTimeFormat\"],\n [Intl.DisplayNames, \"Intl.DisplayNames\"],\n [Intl.getCanonicalLocales, \"Intl.getCanonicalLocales\"],\n [Intl.ListFormat, \"Intl.ListFormat\"],\n [Intl.Locale, \"Intl.Locale\"],\n [Intl.NumberFormat, \"Intl.NumberFormat\"],\n [Intl.PluralRules, \"Intl.PluralRules\"],\n [Intl.RelativeTimeFormat, \"Intl.RelativeTimeFormat\"],\n [Intl.Segmenter, \"Intl.Segmenter\"],\n [Intl.supportedValuesOf, \"Intl.supportedValuesOf\"],\n [isFinite, \"isFinite\"],\n [isNaN, \"isNaN\"],\n [JSON.parse, \"JSON.parse\"],\n [JSON.stringify, \"JSON.stringify\"],\n [Map, \"Map\"],\n [Map.groupBy, \"Map.groupBy\"],\n [Math.abs, \"Math.abs\"],\n [Math.acos, \"Math.acos\"],\n [Math.acosh, \"Math.acosh\"],\n [Math.asin, \"Math.asin\"],\n [Math.asinh, \"Math.asinh\"],\n [Math.atan, \"Math.atan\"],\n [Math.atan2, \"Math.atan2\"],\n [Math.atanh, \"Math.atanh\"],\n [Math.cbrt, \"Math.cbrt\"],\n [Math.ceil, \"Math.ceil\"],\n [Math.clz32, \"Math.clz32\"],\n [Math.cos, \"Math.cos\"],\n [Math.cosh, \"Math.cosh\"],\n [Math.exp, \"Math.exp\"],\n [Math.expm1, \"Math.expm1\"],\n [Math.floor, \"Math.floor\"],\n [Math.fround, \"Math.fround\"],\n [Math.hypot, \"Math.hypot\"],\n [Math.imul, \"Math.imul\"],\n [Math.log, \"Math.log\"],\n [Math.log10, \"Math.log10\"],\n [Math.log1p, \"Math.log1p\"],\n [Math.log2, \"Math.log2\"],\n [Math.max, \"Math.max\"],\n [Math.min, \"Math.min\"],\n [Math.pow, \"Math.pow\"],\n [Math.random, \"Math.random\"],\n [Math.round, \"Math.round\"],\n [Math.sign, \"Math.sign\"],\n [Math.sin, \"Math.sin\"],\n [Math.sinh, \"Math.sinh\"],\n [Math.sqrt, \"Math.sqrt\"],\n [Math.tan, \"Math.tan\"],\n [Math.tanh, \"Math.tanh\"],\n [Math.trunc, \"Math.trunc\"],\n [Number, \"Number\"],\n [Number.isFinite, \"Number.isFinite\"],\n [Number.isInteger, \"Number.isInteger\"],\n [Number.isNaN, \"Number.isNaN\"],\n [Number.isSafeInteger, \"Number.isSafeInteger\"],\n [Number.parseFloat, \"Number.parseFloat\"],\n [Number.parseInt, \"Number.parseInt\"],\n [Object, \"Object\"],\n [Object.assign, \"Object.assign\"],\n [Object.create, \"Object.create\"],\n [Object.defineProperties, \"Object.defineProperties\"],\n [Object.defineProperty, \"Object.defineProperty\"],\n [Object.entries, \"Object.entries\"],\n [Object.freeze, \"Object.freeze\"],\n [Object.fromEntries, \"Object.fromEntries\"],\n [Object.getOwnPropertyDescriptor, \"Object.getOwnPropertyDescriptor\"],\n [Object.getOwnPropertyDescriptors, \"Object.getOwnPropertyDescriptors\"],\n [Object.getOwnPropertyNames, \"Object.getOwnPropertyNames\"],\n [Object.getOwnPropertySymbols, \"Object.getOwnPropertySymbols\"],\n [Object.getPrototypeOf, \"Object.getPrototypeOf\"],\n [Object.is, \"Object.is\"],\n [Object.isExtensible, \"Object.isExtensible\"],\n [Object.isFrozen, \"Object.isFrozen\"],\n [Object.isSealed, \"Object.isSealed\"],\n [Object.keys, \"Object.keys\"],\n [Object.preventExtensions, \"Object.preventExtensions\"],\n [Object.seal, \"Object.seal\"],\n [Object.setPrototypeOf, \"Object.setPrototypeOf\"],\n [Object.values, \"Object.values\"],\n [parseFloat, \"parseFloat\"],\n [parseInt, \"parseInt\"],\n [Promise, \"Promise\"],\n [Proxy, \"Proxy\"],\n [RangeError, \"RangeError\"],\n [ReferenceError, \"ReferenceError\"],\n [Reflect.apply, \"Reflect.apply\"],\n [Reflect.construct, \"Reflect.construct\"],\n [Reflect.defineProperty, \"Reflect.defineProperty\"],\n [Reflect.deleteProperty, \"Reflect.deleteProperty\"],\n [Reflect.get, \"Reflect.get\"],\n [Reflect.getOwnPropertyDescriptor, \"Reflect.getOwnPropertyDescriptor\"],\n [Reflect.getPrototypeOf, \"Reflect.getPrototypeOf\"],\n [Reflect.has, \"Reflect.has\"],\n [Reflect.isExtensible, \"Reflect.isExtensible\"],\n [Reflect.ownKeys, \"Reflect.ownKeys\"],\n [Reflect.preventExtensions, \"Reflect.preventExtensions\"],\n [Reflect.set, \"Reflect.set\"],\n [Reflect.setPrototypeOf, \"Reflect.setPrototypeOf\"],\n [RegExp, \"RegExp\"],\n [Set, \"Set\"],\n [String, \"String\"],\n [String.fromCharCode, \"String.fromCharCode\"],\n [String.fromCodePoint, \"String.fromCodePoint\"],\n [String.raw, \"String.raw\"],\n [Symbol, \"Symbol\"],\n [Symbol.for, \"Symbol.for\"],\n [SyntaxError, \"SyntaxError\"],\n [TypeError, \"TypeError\"],\n [Uint16Array, \"Uint16Array\"],\n [Uint16Array.from, \"Uint16Array.from\"],\n [Uint16Array.of, \"Uint16Array.of\"],\n [Uint32Array, \"Uint32Array\"],\n [Uint32Array.from, \"Uint32Array.from\"],\n [Uint32Array.of, \"Uint32Array.of\"],\n [Uint8Array, \"Uint8Array\"],\n [Uint8Array.from, \"Uint8Array.from\"],\n [Uint8Array.of, \"Uint8Array.of\"],\n [Uint8ClampedArray, \"Uint8ClampedArray\"],\n [Uint8ClampedArray.from, \"Uint8ClampedArray.from\"],\n [Uint8ClampedArray.of, \"Uint8ClampedArray.of\"],\n [URIError, \"URIError\"],\n [WeakMap, \"WeakMap\"],\n [WeakSet, \"WeakSet\"]\n]), KNOWN_OBJECTS = /* @__PURE__ */ new Map([\n [Atomics, \"Atomics\"],\n [console, \"console\"],\n [globalThis, \"globalThis\"],\n [globalThis.crypto, \"crypto\"],\n [Intl, \"Intl\"],\n [JSON, \"JSON\"],\n [Math, \"Math\"],\n [Reflect, \"Reflect\"]\n]), State = class {\n ids = 0;\n flush = 0;\n flushed = !1;\n buf = [];\n refs = /* @__PURE__ */ new WeakMap();\n assigned = /* @__PURE__ */ new Set();\n boundary = void 0;\n}, Reference = class {\n constructor(parent, accessor, flush, pos = null, id = null) {\n this.parent = parent;\n this.accessor = accessor;\n this.flush = flush;\n this.pos = pos;\n this.id = id;\n this.parent = parent, this.accessor = accessor, this.flush = flush, this.pos = pos, this.id = id;\n }\n init = \"\";\n assigns = \"\";\n}, Serializer = class {\n #state = new State();\n get flushed() {\n return this.#state.flushed;\n }\n stringify(val, boundary) {\n try {\n return this.#state.flushed = !1, this.#state.boundary = boundary, writeRoot(this.#state, val);\n } finally {\n this.#flush();\n }\n }\n nextId() {\n return nextId(this.#state);\n }\n symbol(id) {\n let symbol = Symbol();\n return this.#state.refs.set(symbol, new Reference(null, null, 0, null, id)), symbol;\n }\n #flush() {\n this.#state.flush++, this.#state.buf = [], this.#state.assigned = /* @__PURE__ */ new Set();\n }\n};\nfunction register(id, val, scope) {\n return REGISTRY.set(val, { id, scope, access: \"_._\" + toAccess(toObjectKey(id)) }), val;\n}\nfunction getRegistered(val) {\n let registered = REGISTRY.get(val);\n if (registered)\n return {\n id: registered.id,\n scope: registered.scope\n };\n}\nfunction writeRoot(state, root) {\n let { buf, assigned } = state, hadBuf = buf.length !== 0, result = \"\";\n if (hadBuf && buf.push(\",\"), writeProp(state, root, null, \"\")) {\n let rootRef = state.refs.get(root);\n rootRef && ensureId(state, rootRef), assigned.size && (assigned.delete(rootRef) ? (assigned.add(rootRef), writeAssigned(state)) : (writeAssigned(state), buf.push(\",\" + rootRef.id))), result = \"(\", buf.push(\")\");\n } else\n hadBuf && (buf.pop(), writeAssigned(state)), result = \"{\", buf.push(\"}\");\n for (let chunk of buf)\n result += chunk;\n return \"_=>\" + result;\n}\nfunction writeAssigned(state) {\n for (let valueRef of state.assigned)\n state.buf.push(\",\" + valueRef.assigns + (valueRef.init || valueRef.id)), valueRef.init = \"\";\n}\nfunction writeProp(state, val, parent, accessor) {\n switch (typeof val) {\n case \"string\":\n return writeString(state, val);\n case \"number\":\n return writeNumber(state, val);\n case \"boolean\":\n return writeBoolean(state, val);\n case \"bigint\":\n return writeBigInt(state, val);\n case \"symbol\":\n return writeSymbol(state, val, parent, accessor);\n case \"function\":\n return writeFunction(state, val, parent, accessor);\n case \"object\":\n return writeObject(state, val, parent, accessor);\n default:\n return !1;\n }\n}\nfunction writeReferenceOr(state, write2, val, parent, accessor) {\n let ref = state.refs.get(val);\n if (ref)\n return ref.init ? (ref.assigns += ensureId(state, parent) + toAccess(accessor) + \"=\", !1) : isCircular(parent, ref) ? (ref.assigns || (ensureId(state, ref), state.assigned.add(ref)), ref.assigns += ensureId(state, parent) + toAccess(accessor) + \"=\", !1) : (state.buf.push(ensureId(state, ref)), !0);\n let registered = REGISTRY.get(val);\n return registered ? writeRegistered(state, val, parent, accessor, registered) : (state.refs.set(\n val,\n ref = new Reference(parent, accessor, state.flush, state.buf.length)\n ), write2(state, val, ref) ? !0 : (state.refs.delete(ref), !1));\n}\nfunction writeRegistered(state, val, parent, accessor, { access, scope }) {\n if (scope) {\n let scopeRef = state.refs.get(scope), fnRef = new Reference(\n parent,\n accessor,\n state.flush,\n state.buf.length\n );\n if (state.refs.set(val, fnRef), scopeRef) {\n let scopeId = ensureId(state, scopeRef);\n if (isCircular(parent, scopeRef))\n return state.assigned.add(fnRef), fnRef.init = access + \"(\" + scopeId + \")\", fnRef.assigns += ensureId(state, parent) + toAccess(accessor) + \"=\", !1;\n state.buf.push(access + \"(\" + scopeId + \")\");\n } else {\n state.buf.push(access + \"(\"), writeProp(state, scope, parent, \"\");\n let scopeRef2 = state.refs.get(scope);\n scopeRef2 && ensureId(state, scopeRef2), state.buf.push(\")\");\n }\n } else\n state.buf.push(access);\n return !0;\n}\nfunction writeString(state, val) {\n return state.buf.push(quote(val, 0)), !0;\n}\nfunction writeNumber(state, val) {\n return state.buf.push(val + \"\"), !0;\n}\nfunction writeBoolean(state, val) {\n return state.buf.push(val ? \"!0\" : \"!1\"), !0;\n}\nfunction writeBigInt(state, val) {\n return state.buf.push(val + \"n\"), !0;\n}\nfunction writeFunction(state, val, parent, accessor) {\n let wellKnownFunction = KNOWN_FUNCTIONS.get(val);\n return wellKnownFunction ? (state.buf.push(wellKnownFunction), !0) : writeReferenceOr(state, writeNever, val, parent, accessor);\n}\nfunction writeSymbol(state, val, parent, accessor) {\n let wellKnownSymbol = KNOWN_SYMBOLS.get(val);\n if (wellKnownSymbol)\n return state.buf.push(wellKnownSymbol), !0;\n let key = Symbol.keyFor(val);\n return key !== void 0 ? (state.buf.push(\"Symbol.for(\" + quote(key, 0) + \")\"), !0) : writeReferenceOr(state, writeUnknownSymbol, val, parent, accessor);\n}\nfunction writeUnknownSymbol(state) {\n return state.buf.push(\"Symbol()\"), !0;\n}\nfunction writeNever() {\n return !1;\n}\nfunction writeNull(state) {\n return state.buf.push(\"null\"), !0;\n}\nfunction writeObject(state, val, parent, accessor) {\n if (val === null) return writeNull(state);\n let wellKnownObject = KNOWN_OBJECTS.get(val);\n return wellKnownObject ? (state.buf.push(wellKnownObject), !0) : writeReferenceOr(state, writeUnknownObject, val, parent, accessor);\n}\nfunction writeUnknownObject(state, val, ref) {\n switch (val.constructor) {\n case void 0:\n return writeNullObject(state, val, ref);\n case Object:\n return writePlainObject(state, val, ref);\n case Array:\n return writeArray(state, val, ref);\n case Date:\n return writeDate(state, val);\n case RegExp:\n return writeRegExp(state, val);\n case Promise:\n return writePromise(state, val, ref);\n case Map:\n return writeMap(state, val, ref);\n case Set:\n return writeSet(state, val, ref);\n case Generator:\n return writeGenerator(state, val, ref);\n case AsyncGenerator:\n return writeAsyncGenerator(state, val, ref);\n case Error:\n case EvalError:\n case RangeError:\n case ReferenceError:\n case SyntaxError:\n case TypeError:\n case URIError:\n return writeError(state, val, ref);\n case AggregateError:\n return writeAggregateError(state, val, ref);\n case ArrayBuffer:\n return writeArrayBuffer(state, val);\n case Int8Array:\n case Uint8Array:\n case Uint8ClampedArray:\n case Int16Array:\n case Uint16Array:\n case Int32Array:\n case Uint32Array:\n case Float32Array:\n case Float64Array:\n return writeTypedArray(state, val, ref);\n case WeakSet:\n return writeWeakSet(state);\n case WeakMap:\n return writeWeakMap(state);\n // The following references use `globalThis`\n // since they are not implemented by all runtimes.\n case globalThis.URL:\n return writeURL(state, val);\n case globalThis.URLSearchParams:\n return writeURLSearchParams(state, val);\n case globalThis.Headers:\n return writeHeaders(state, val);\n case globalThis.FormData:\n return writeFormData(state, val);\n case globalThis.ReadableStream:\n return writeReadableStream(state, val, ref);\n case globalThis.Request:\n return writeRequest(state, val, ref);\n case globalThis.Response:\n return writeResponse(state, val, ref);\n }\n return !1;\n}\nfunction writePlainObject(state, val, ref) {\n return state.buf.push(\"{\"), writeObjectProps(state, val, ref), state.buf.push(\"}\"), !0;\n}\nfunction writeArray(state, val, ref) {\n state.buf.push(\"[\"), writeProp(state, val[0], ref, \"0\");\n for (let i = 1; i < val.length; i++)\n state.buf.push(\",\"), writeProp(state, val[i], ref, \"\" + i);\n return state.buf.push(\"]\"), !0;\n}\nfunction writeDate(state, val) {\n return state.buf.push('new Date(\"' + val.toISOString() + '\")'), !0;\n}\nfunction writeRegExp(state, val) {\n return state.buf.push(val + \"\"), !0;\n}\nfunction writePromise(state, val, ref) {\n let { boundary } = state;\n if (!boundary) return !1;\n let pId = nextRefAccess(state), pRef = new Reference(ref, null, state.flush, null, pId);\n return state.buf.push(\"new Promise((f,r)=>\" + pId + \"={f,r})\"), val.then(\n (v) => writeAsyncCall(state, boundary, pRef, \"f\", v, pId),\n (v) => writeAsyncCall(state, boundary, pRef, \"r\", v, pId)\n ), boundary.startAsync(), !0;\n}\nfunction writeMap(state, val, ref) {\n if (!val.size)\n return state.buf.push(\"new Map\"), !0;\n let items = [], assigns = \"\";\n for (let [itemKey, itemValue] of val)\n itemKey === val && (itemKey = void 0, assigns += \"i[\" + items.length + \"][0]=\"), itemValue === val && (itemValue = void 0, assigns += \"i[\" + items.length + \"][1]=\"), itemValue === void 0 ? items.push([itemKey]) : items.push([itemKey, itemValue]);\n let arrayRef = new Reference(\n ref,\n null,\n state.flush,\n null,\n nextRefAccess(state)\n );\n return state.buf.push(\n (assigns ? \"((m,i)=>(\" + assigns + \"m,i.forEach(i=>m.set(i[0],i[1])),m))(new Map,\" : \"new Map(\") + arrayRef.id + \"=\"\n ), writeArray(state, items, arrayRef), state.buf.push(\")\"), !0;\n}\nfunction writeSet(state, val, ref) {\n if (!val.size)\n return state.buf.push(\"new Set\"), !0;\n let items = [], assigns = \"\";\n for (let item of val)\n item === val && (item = void 0, assigns += \"i[\" + items.length + \"]=\"), items.push(item);\n let arrayRef = new Reference(\n ref,\n null,\n state.flush,\n null,\n nextRefAccess(state)\n );\n return state.buf.push(\n (assigns ? \"((s,i)=>(\" + assigns + \"s,i.forEach(i=>s.add(i)),s))(new Set,\" : \"new Set(\") + arrayRef.id + \"=\"\n ), writeArray(state, items, arrayRef), state.buf.push(\")\"), !0;\n}\nfunction writeArrayBuffer(state, val) {\n let result = \"\";\n if (val.byteLength) {\n let view = new Int8Array(val);\n result = hasOnlyZeros(view) ? \"new ArrayBuffer(\" + val.byteLength + \")\" : \"new Int8Array(\" + typedArrayToInitString(view) + \").buffer\";\n } else\n result = \"new ArrayBuffer\";\n return state.buf.push(result), !0;\n}\nfunction writeTypedArray(state, val, ref) {\n return val.byteOffset || state.refs.has(val.buffer) ? (state.buf.push(\"new \" + val.constructor.name + \"(\"), writeProp(state, val.buffer, ref, \"buffer\"), state.buf.push(val.byteOffset ? \",\" + val.byteOffset + \")\" : \")\")) : (state.refs.set(val.buffer, new Reference(ref, \"buffer\", state.flush, null)), state.buf.push(\n \"new \" + val.constructor.name + (val.length === 0 ? \"\" : \"(\" + (hasOnlyZeros(val) ? val.length : typedArrayToInitString(val)) + \")\")\n )), !0;\n}\nfunction writeWeakSet(state) {\n return state.buf.push(\"new WeakSet\"), !0;\n}\nfunction writeWeakMap(state) {\n return state.buf.push(\"new WeakMap\"), !0;\n}\nfunction writeError(state, val, ref) {\n let result = \"new \" + val.constructor.name + \"(\" + quote(val.message + \"\", 0);\n return val.cause ? (state.buf.push(result + \",{cause:\"), writeProp(state, val.cause, ref, \"cause\"), state.buf.push(\"})\")) : state.buf.push(result + \")\"), !0;\n}\nfunction writeAggregateError(state, val, ref) {\n return state.buf.push(\"new AggregateError(\"), writeProp(state, val.errors, ref, \"errors\"), val.message ? state.buf.push(\",\" + quote(val.message + \"\", 0) + \")\") : state.buf.push(\")\"), !0;\n}\nfunction writeURL(state, val) {\n return state.buf.push(\"new URL(\" + quote(val.toString(), 0) + \")\"), !0;\n}\nfunction writeURLSearchParams(state, val) {\n let str = val.toString();\n return str ? state.buf.push(\"new URLSearchParams(\" + quote(str, 0) + \")\") : state.buf.push(\"new URLSearchParams\"), !0;\n}\nfunction writeHeaders(state, val) {\n let headers = stringEntriesToProps(val);\n return state.buf.push(\"new Headers\" + (headers ? \"({\" + headers + \"})\" : \"\")), !0;\n}\nfunction writeFormData(state, val) {\n let sep = \"[\", valStr = \"\";\n for (let [key, value] of val)\n typeof value == \"string\" && (valStr += sep + \"[\" + quote(key, 0) + \",\" + quote(value, 0) + \"]\", sep = \",\");\n return sep === \"[\" ? state.buf.push(\"new FormData\") : state.buf.push(\n \"((f,i)=>(f,i.forEach(i=>f.append(i[0],i[1])),f))(new FormData,\" + valStr + \"])\"\n ), !0;\n}\nfunction writeRequest(state, val, ref) {\n let sep = \"\", hasBody = val.body && !val.bodyUsed && val.duplex === \"half\";\n state.buf.push(\"new Request(\" + quote(val.url, 0)), hasBody && (state.buf.push(\",{body:\"), writeProp(state, val.body, ref, \"body\") ? (state.buf.push(',duplex:\"half\"'), sep = \",\") : state.buf.pop());\n let options = \"\";\n val.cache !== \"default\" && (options += sep + \"cache:\" + quote(val.cache, 0), sep = \",\"), val.credentials !== \"same-origin\" && (options += sep + \"credentials:\" + quote(val.credentials, 0), sep = \",\");\n let headers = stringEntriesToProps(val.headers);\n return state.refs.set(val.headers, new Reference(ref, \"headers\", state.flush, null)), headers && (options += sep + \"headers:{\" + headers + \"}\", sep = \",\"), val.integrity && (options += sep + \"integrity:\" + quote(val.integrity, 0), sep = \",\"), val.keepalive && (options += sep + \"keepalive:true\", sep = \",\"), val.method !== \"GET\" && (options += sep + \"method:\" + quote(val.method, 0), sep = \",\"), val.mode !== \"cors\" && (options += sep + \"mode:\" + quote(val.mode, 0), sep = \",\"), val.redirect !== \"follow\" && (options += sep + \"redirect:\" + quote(val.redirect, 0), sep = \",\"), val.referrer !== \"about:client\" && (options += sep + \"referrer:\" + quote(val.referrer, 0), sep = \",\"), val.referrerPolicy && (options += sep + \"referrerPolicy:\" + quote(val.referrerPolicy, 0), sep = \",\"), state.buf.push(\n hasBody ? options + \"})\" : options ? \",{\" + options + \"})\" : \")\"\n ), !0;\n}\nfunction writeResponse(state, val, ref) {\n let sep = \"\", options = \"\";\n val.status !== 200 && (options += \"status:\" + val.status, sep = \",\"), val.statusText && (options += sep + \"statusText:\" + quote(val.statusText, 0), sep = \",\");\n let headers = stringEntriesToProps(val.headers);\n return state.refs.set(val.headers, new Reference(ref, \"headers\", state.flush, null)), headers && (options += sep + \"headers:{\" + headers + \"}\", sep = \",\"), !val.body || val.bodyUsed ? state.buf.push(\n \"new Response\" + (options ? \"(null,{\" + options + \"})\" : \"\")\n ) : (state.buf.push(\"new Response(\"), state.buf.push(\n (writeProp(state, val.body, ref, \"body\") ? \"\" : \"null\") + (options ? \",{\" + options + \"})\" : \")\")\n )), !0;\n}\nfunction writeReadableStream(state, val, ref) {\n let { boundary } = state;\n if (!boundary || val.locked) return !1;\n let reader = val.getReader(), iterId = nextRefAccess(state), iterRef = new Reference(ref, null, state.flush, null, iterId), onFulfilled = ({ value, done }) => {\n done ? writeAsyncCall(state, boundary, iterRef, \"r\", value) : boundary.signal.aborted || (reader.read().then(onFulfilled, onRejected), boundary.startAsync(), writeAsyncCall(state, boundary, iterRef, \"f\", value));\n }, onRejected = (reason) => {\n writeAsyncCall(state, boundary, iterRef, \"j\", reason);\n };\n return state.buf.push(\n \"new ReadableStream({start(c){(async(_,f,v,l,i,p=a=>l=new Promise((r,j)=>{f=_.r=r;_.j=j}),a=((_.f=v=>{f(v);a.push(p())}),[p()]))=>{for(i of a)v=await i,i==l?c.close():c.enqueue(v)})(\" + iterId + \"={}).catch(e=>c.error(e))}})\"\n ), reader.read().then(onFulfilled, onRejected), boundary.startAsync(), !0;\n}\nfunction writeGenerator(state, iter, ref) {\n let sep = \"\";\n for (state.buf.push(\"(function*(){\"); ; ) {\n let { value, done } = iter.next();\n if (done) {\n value !== void 0 && (state.buf.push(sep + \"return \"), writeProp(state, value, ref, \"\"));\n break;\n }\n value === void 0 ? state.buf.push(sep + \"yield\") : (state.buf.push(sep + \"yield \"), writeProp(state, value, ref, \"\")), sep = \";\";\n }\n return state.buf.push(\"})()\"), !0;\n}\nfunction writeAsyncGenerator(state, iter, ref) {\n let { boundary } = state;\n if (!boundary) return !1;\n let iterId = nextRefAccess(state), iterRef = new Reference(ref, null, state.flush, null, iterId), onFulfilled = ({ value, done }) => {\n done ? writeAsyncCall(state, boundary, iterRef, \"r\", value) : boundary.signal.aborted || (iter.next().then(onFulfilled, onRejected), boundary.startAsync(), writeAsyncCall(state, boundary, iterRef, \"f\", value));\n }, onRejected = (reason) => {\n writeAsyncCall(state, boundary, iterRef, \"j\", reason);\n };\n return state.buf.push(\n \"(async function*(_,f,v,l,i,p=a=>l=new Promise((r,j)=>{f=_.r=r;_.j=j}),a=((_.f=v=>{f(v);a.push(p())}),[p()])){for(i of a)v=await i,i!=l&&(yield v);return v})(\" + iterId + \"={})\"\n ), iter.next().then(onFulfilled, onRejected), boundary.startAsync(), !0;\n}\nfunction writeNullObject(state, val, ref) {\n return state.buf.push(\"{\"), state.buf.push(writeObjectProps(state, val, ref) + \"__proto__:null}\"), !0;\n}\nfunction writeObjectProps(state, val, ref) {\n let sep = \"\";\n for (let key in val)\n if (hasOwnProperty.call(val, key)) {\n let escapedKey = toObjectKey(key);\n state.buf.push(sep + escapedKey + \":\"), writeProp(\n state,\n val[key],\n ref,\n escapedKey\n ) ? sep = \",\" : state.buf.pop();\n }\n if (hasSymbolIterator(val) && (state.buf.push(sep + \"[Symbol.iterator]:\"), sep = \",\", !writeReferenceOr(\n state,\n writeNever,\n val[Symbol.iterator],\n ref,\n \"Symbol.iterator\"\n ))) {\n let arrayRef = new Reference(\n ref,\n null,\n state.flush,\n null,\n nextRefAccess(state)\n );\n state.buf.push(\"(a=>()=>a.values())(\" + arrayRef.id + \"=\"), writeArray(state, [...val], arrayRef), state.buf.push(\")\");\n }\n return sep;\n}\nfunction writeAsyncCall(state, boundary, ref, method, value, preferredValueId = null) {\n if (boundary.signal.aborted) return;\n state.flushed = !0;\n let valueStartIndex = state.buf.push(\n (state.buf.length === 0 ? \"\" : \",\") + ref.id + \".\" + method + \"(\"\n );\n if (writeProp(state, value, ref, \"\")) {\n let valueRef = state.refs.get(value);\n valueRef && !valueRef.id && (valueRef.id = preferredValueId || nextRefAccess(state), state.buf[valueStartIndex] = valueRef.id + \"=\" + state.buf[valueStartIndex]);\n }\n state.buf.push(\")\"), boundary.endAsync();\n}\nfunction isCircular(parent, ref) {\n let cur = parent;\n for (; cur; ) {\n if (cur === ref) return !0;\n cur = cur.parent;\n }\n return !1;\n}\nfunction toObjectKey(name) {\n if (name === \"\")\n return '\"\"';\n let startChar = name[0];\n if (isDigit(startChar)) {\n if (startChar === \"0\") {\n if (name !== \"0\")\n return quote(name, 1);\n } else\n for (let i = 1; i < name.length; i++)\n if (!isDigit(name[i]))\n return quote(name, i);\n } else if (isWord(startChar)) {\n for (let i = 1; i < name.length; i++)\n if (!isWordOrDigit(name[i]))\n return quote(name, i);\n } else\n return quote(name, 0);\n return name;\n}\nfunction toAccess(accessor) {\n let start = accessor[0];\n return start === '\"' || start >= \"0\" && start <= \"9\" ? \"[\" + accessor + \"]\" : \".\" + accessor;\n}\nfunction quote(str, startPos) {\n let result = \"\", lastPos = 0;\n for (let i = startPos; i < str.length; i++) {\n let replacement;\n switch (str[i]) {\n case '\"':\n replacement = '\\\\\"';\n break;\n case \"\\\\\":\n replacement = \"\\\\\\\\\";\n break;\n case \"<\":\n replacement = \"\\\\x3C\";\n break;\n case `\n`:\n replacement = \"\\\\n\";\n break;\n case \"\\r\":\n replacement = \"\\\\r\";\n break;\n case \"\\u2028\":\n replacement = \"\\\\u2028\";\n break;\n case \"\\u2029\":\n replacement = \"\\\\u2029\";\n break;\n default:\n continue;\n }\n result += str.slice(lastPos, i) + replacement, lastPos = i + 1;\n }\n return '\"' + (lastPos === startPos ? str : result + str.slice(lastPos)) + '\"';\n}\nfunction ensureId(state, ref) {\n return ref.id || assignId(state, ref);\n}\nfunction assignId(state, ref) {\n let { pos } = ref;\n if (ref.id = nextRefAccess(state), pos !== null && ref.flush === state.flush)\n return pos === 0 ? state.buf[0] = ref.id + \"=\" + state.buf[0] : state.buf[pos - 1] += ref.id + \"=\", ref.id;\n let cur = ref, accessPrevValue = \"\";\n do {\n accessPrevValue = toAccess(cur.accessor) + accessPrevValue;\n let parent = cur.parent;\n if (parent.id) {\n accessPrevValue = parent.id + accessPrevValue;\n break;\n }\n if (parent.flush === state.flush) {\n accessPrevValue = ensureId(state, parent) + accessPrevValue;\n break;\n }\n cur = parent;\n } while (cur);\n return ref.id + \"=\" + accessPrevValue;\n}\nfunction nextRefAccess(state) {\n return \"_.\" + nextId(state);\n}\nfunction nextId(state) {\n let encodeChars = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789\", encodeLen = encodeChars.length, encodeStartLen = encodeLen - 11, index = state.ids++, mod = index % encodeStartLen, id = encodeChars[mod];\n for (index = (index - mod) / encodeStartLen; index > 0; )\n mod = index % encodeLen, id += encodeChars[mod], index = (index - mod) / encodeLen;\n return id;\n}\nfunction hasSymbolIterator(value) {\n return Symbol.iterator in value;\n}\nfunction stringEntriesToProps(entries) {\n let result = \"\", sep = \"\";\n for (let [key, value] of entries)\n result += sep + toObjectKey(key) + \":\" + quote(value, 0), sep = \",\";\n return result;\n}\nfunction typedArrayToInitString(view) {\n let result = \"[\", sep = \"\";\n for (let i = 0; i < view.length; i++)\n result += sep + view[i], sep = \",\";\n return result += \"]\", result;\n}\nfunction hasOnlyZeros(typedArray) {\n for (let i = 0; i < typedArray.length; i++)\n if (typedArray[i] !== 0) return !1;\n return !0;\n}\nfunction isWordOrDigit(char) {\n return isWord(char) || isDigit(char);\n}\nfunction isDigit(char) {\n return char >= \"0\" && char <= \"9\";\n}\nfunction isWord(char) {\n return char >= \"a\" && char <= \"z\" || char >= \"A\" && char <= \"Z\" || char === \"_\" || char === \"$\";\n}\n\n// src/html/writer.ts\nvar $chunk, NOOP = () => {\n}, K_SCOPE_ID = Symbol(\"Scope ID\");\nfunction getChunk() {\n return $chunk;\n}\nfunction getScopeId(scope) {\n return scope[K_SCOPE_ID];\n}\nfunction write(html) {\n $chunk.writeHTML(html);\n}\nfunction writeScript(script) {\n $chunk.writeScript(script);\n}\nfunction writeEffect(scopeId, registryId) {\n $chunk.boundary.state.needsMainRuntime = !0, $chunk.writeEffect(scopeId, registryId);\n}\nvar kPendingContexts = Symbol(\"Pending Contexts\");\nfunction withContext(key, value, cb) {\n let ctx = $chunk.context ||= { [kPendingContexts]: 0 }, prev = ctx[key];\n ctx[kPendingContexts]++, ctx[key] = value;\n try {\n cb();\n } finally {\n ctx[kPendingContexts]--, ctx[key] = prev;\n }\n}\nfunction register2(val, id, scopeId) {\n return scopeId === void 0 ? register(id, val) : register(id, val, ensureScopeWithId(scopeId));\n}\nfunction nextTagId() {\n let state = $chunk.boundary.state, { $global } = state;\n return \"s\" + $global.runtimeId + $global.renderId + (state.tagIndex++).toString(36);\n}\nfunction nextScopeId() {\n return $chunk.boundary.state.scopeIndex++;\n}\nfunction peekNextScopeId() {\n return $chunk.boundary.state.scopeIndex;\n}\nfunction peekNextScope() {\n return ensureScopeWithId(peekNextScopeId());\n}\nfunction getScopeById(scopeId) {\n if (scopeId !== void 0)\n return $chunk.boundary.state.scopes.get(scopeId);\n}\nfunction markResumeNode(scopeId, accessor) {\n let { state } = $chunk.boundary;\n return state.needsMainRuntime = !0, state.mark(\"*\" /* Node */, scopeId + \" \" + accessor);\n}\nfunction nodeRef(scopeId, id) {\n let getter = () => {\n };\n return id ? register2(getter, id, scopeId) : getter;\n}\nfunction markResumeScopeStart(scopeId, index) {\n return $chunk.boundary.state.mark(\n \"[\" /* SectionStart */,\n scopeId + (index ? \" \" + index : \"\")\n );\n}\nfunction markResumeControlEnd(scopeId, accessor) {\n return $chunk.boundary.state.mark(\"]\" /* SectionEnd */, scopeId + \" \" + accessor);\n}\nfunction markResumeControlSingleNodeEnd(scopeId, accessor, childScopeIds) {\n return $chunk.boundary.state.mark(\n \"|\" /* SectionSingleNodesEnd */,\n scopeId + \" \" + accessor + \" \" + (childScopeIds ?? \"\")\n );\n}\nfunction markResumeCleanup(scopeId) {\n return $chunk.boundary.state.mark(\"$\" /* Cleanup */, \"\" + scopeId);\n}\nfunction writeScope(scopeId, partialScope) {\n let { state } = $chunk.boundary, { scopes } = state, scope = scopes.get(scopeId);\n return state.needsMainRuntime = !0, scope ? Object.assign(scope, partialScope) : (scope = partialScope, scope[K_SCOPE_ID] = scopeId, state.scopes.set(scopeId, scope)), state.writeScopes ? state.writeScopes[scopeId] = scope : state.hasGlobals ? state.writeScopes = { [scopeId]: scope } : (state.hasGlobals = !0, state.writeScopes = {\n $: getFilteredGlobals(state.$global),\n [scopeId]: scope\n }), scope;\n}\nfunction writeExistingScope(scope) {\n return writeScope(scope[K_SCOPE_ID], scope);\n}\nfunction ensureScopeWithId(scopeId) {\n let { state } = $chunk.boundary, scope = state.scopes.get(scopeId);\n return scope || (scope = { [K_SCOPE_ID]: scopeId }, state.scopes.set(scopeId, scope)), scope;\n}\nfunction getStreamData() {\n return $chunk.boundary.state;\n}\nfunction fork(promise, renderBody) {\n if (!isPromise(promise)) {\n renderBody(promise);\n return;\n }\n let chunk = $chunk, { boundary } = chunk;\n chunk.next = $chunk = new Chunk(boundary, chunk.next, chunk.context), chunk.async = !0, chunk.context?.[kPendingContexts] && (chunk.context = { ...chunk.context, [kPendingContexts]: 0 }), boundary.startAsync(), promise.then(\n (value) => {\n chunk.async && (chunk.async = !1, boundary.signal.aborted || (chunk.render(renderBody, value), boundary.endAsync(chunk)));\n },\n (err) => {\n chunk.async = !1, boundary.abort(err);\n }\n );\n}\nfunction tryPlaceholder(renderBody, renderPlaceholder) {\n let chunk = $chunk, { boundary } = chunk, body = new Chunk(boundary, null, chunk.context);\n if (body === body.render(renderBody)) {\n chunk.append(body);\n return;\n }\n chunk.next = $chunk = new Chunk(boundary, chunk.next, body.context), chunk.placeholderBody = body, chunk.placeholderRender = renderPlaceholder;\n}\nfunction tryCatch(renderBody, renderCatch) {\n let chunk = $chunk, { boundary } = chunk, { state } = boundary, catchBoundary = new Boundary(state), body = new Chunk(catchBoundary, null, chunk.context), bodyEnd = body.render(renderBody);\n if (catchBoundary.signal.aborted) {\n renderCatch(catchBoundary.signal.reason);\n return;\n }\n if (body === bodyEnd) {\n chunk.append(body);\n return;\n }\n let reorderId = state.nextReorderId(), endMarker = state.mark(\"!\" /* PlaceholderEnd */, reorderId), bodyNext = bodyEnd.next = $chunk = new Chunk(boundary, chunk.next, body.context);\n chunk.next = body, chunk.writeHTML(state.mark(\"!^\" /* Placeholder */, reorderId)), bodyEnd.writeHTML(endMarker), boundary.startAsync(), catchBoundary.onNext = () => {\n if (!boundary.signal.aborted)\n if (catchBoundary.signal.aborted) {\n if (!bodyEnd.consumed) {\n let cur = body, writeMarker = !0;\n do {\n let next = cur.next;\n cur.boundary !== catchBoundary && cur.boundary.abort(catchBoundary.signal.reason), writeMarker && !cur.consumed && (writeMarker = !1, cur.async = !1, cur.next = bodyNext, cur.html = endMarker, cur.scripts = cur.effects = \"\", cur.placeholderBody = cur.placeholderRender = cur.reorderId = null), cur = next;\n } while (cur !== bodyNext);\n }\n let catchChunk = new Chunk(boundary, null, chunk.context);\n catchChunk.reorderId = reorderId, catchChunk.render(renderCatch, catchBoundary.signal.reason), state.reorder(catchChunk), boundary.endAsync();\n } else catchBoundary.done ? boundary.endAsync() : boundary.onNext();\n };\n}\nvar State2 = class {\n constructor($global) {\n this.$global = $global;\n this.$global = $global;\n }\n tagIndex = 0;\n scopeIndex = 0;\n reorderIndex = 0;\n hasGlobals = !1;\n needsMainRuntime = !1;\n hasMainRuntime = !1;\n hasReorderRuntime = !1;\n hasWrittenResume = !1;\n serializer = new Serializer();\n writeReorders = null;\n scopes = /* @__PURE__ */ new Map();\n writeScopes = null;\n get runtimePrefix() {\n let { $global } = this;\n return $global.runtimeId + \".\" + $global.renderId;\n }\n get commentPrefix() {\n let { $global } = this;\n return $global.runtimeId + $global.renderId;\n }\n reorder(chunk) {\n this.writeReorders ? this.writeReorders.push(chunk) : (this.needsMainRuntime = !0, this.writeReorders = [chunk]);\n }\n nextReorderId() {\n let encodeChars = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789\", encodeLen = encodeChars.length, encodeStartLen = encodeLen - 10, index = this.reorderIndex++, mod = index % encodeStartLen, id = encodeChars[mod];\n for (index = (index - mod) / encodeStartLen; index > 0; )\n mod = index % encodeLen, id += encodeChars[mod], index = (index - mod) / encodeLen;\n return id;\n }\n mark(code, str) {\n return \"\";\n }\n}, Boundary = class extends AbortController {\n constructor(state, parent) {\n super();\n this.state = state;\n this.state = state, this.signal.addEventListener(\"abort\", () => {\n this.count = 0, this.state = new State2(this.state.$global), this.onNext();\n }), parent && (parent.aborted ? this.abort(parent.reason) : parent.addEventListener(\"abort\", () => {\n this.abort(parent.reason);\n }));\n }\n onNext = NOOP;\n count = 0;\n get done() {\n return this.count === 0;\n }\n startAsync() {\n this.signal.aborted || this.count++;\n }\n endAsync(chunk) {\n !this.signal.aborted && this.count && (this.count--, chunk?.reorderId && this.state.reorder(chunk), this.onNext());\n }\n}, Chunk = class {\n constructor(boundary, next, context) {\n this.boundary = boundary;\n this.next = next;\n this.context = context;\n this.boundary = boundary, this.next = next, this.context = context;\n }\n html = \"\";\n scripts = \"\";\n effects = \"\";\n async = !1;\n consumed = !1;\n reorderId = null;\n placeholderBody = null;\n placeholderRender = null;\n writeHTML(html) {\n this.html += html;\n }\n writeEffect(scopeId, registryId) {\n this.effects = concatEffects(\n this.effects,\n scopeId + ',\"' + registryId + '\"'\n );\n }\n writeScript(script) {\n this.scripts = concatScripts(this.scripts, script);\n }\n append(chunk) {\n this.html += chunk.html, this.effects = concatEffects(this.effects, chunk.effects), this.scripts = concatScripts(this.scripts, chunk.scripts);\n }\n flushPlaceholder() {\n if (this.placeholderBody) {\n let body = this.placeholderBody.consume();\n if (body.async) {\n let { state } = this.boundary, reorderId = body.reorderId = state.nextReorderId();\n this.writeHTML(state.mark(\"!^\" /* Placeholder */, reorderId));\n let after = this.render(this.placeholderRender);\n after !== this && this.boundary.abort(\n new Error(\"An @placeholder cannot contain async content.\")\n ), after.writeHTML(state.mark(\"!\" /* PlaceholderEnd */, reorderId)), state.reorder(body);\n } else\n body.next = this.next, this.next = body;\n this.placeholderRender = this.placeholderBody = null;\n }\n }\n consume() {\n let cur = this;\n if (cur.next && !cur.async) {\n let html = \"\", effects = \"\", scripts = \"\";\n do\n cur.flushPlaceholder(), html += cur.html, effects += cur.effects, scripts = concatScripts(scripts, cur.scripts), cur.consumed = !0, cur = cur.next;\n while (cur.next && !cur.async);\n cur.html = html + cur.html, cur.effects = concatEffects(effects, cur.effects), cur.scripts = concatScripts(scripts, cur.scripts);\n }\n return cur;\n }\n render(renderBody, val) {\n let prev = $chunk;\n $chunk = this;\n try {\n return renderBody(val), $chunk;\n } catch (err) {\n return this.boundary.abort(err), this;\n } finally {\n $chunk = prev;\n }\n }\n};\nfunction prepareChunk(chunk) {\n let head = chunk.consume(), { boundary, effects } = head, { state } = boundary, { $global, runtimePrefix, serializer } = state, nonceAttr = $global.cspNonce ? \" nonce=\" + escapeAttrValue($global.cspNonce + \"\") : \"\", { html, scripts } = head, hasWalk = !1;\n head.effects = \"\", state.needsMainRuntime && !state.hasMainRuntime && (state.hasMainRuntime = !0, scripts = concatScripts(\n scripts,\n WALKER_RUNTIME_CODE + '(\"' + $global.runtimeId + '\")(\"' + $global.renderId + '\")'\n ));\n let resumes = \"\";\n if ((state.writeScopes || serializer.flushed) && (resumes = state.serializer.stringify(state.writeScopes || {}, boundary), state.writeScopes = null), effects && (hasWalk = !0, resumes = resumes ? resumes + \",\" + effects : effects), boundary.done && (resumes || state.hasWrittenResume) && (resumes = resumes ? resumes + \",0\" : \"0\"), resumes && (state.hasWrittenResume ? scripts = concatScripts(\n scripts,\n runtimePrefix + \".r.push(\" + resumes + \")\"\n ) : (state.hasWrittenResume = !0, scripts = concatScripts(\n scripts,\n runtimePrefix + \".r=[\" + resumes + \"]\"\n ))), state.writeReorders) {\n hasWalk = !0, state.hasReorderRuntime || (state.hasReorderRuntime = !0, html += \"\", scripts = concatScripts(\n scripts,\n REORDER_RUNTIME_CODE + \"(\" + runtimePrefix + \")\"\n ));\n for (let reorderedChunk of state.writeReorders) {\n let { reorderId } = reorderedChunk, isSync = !0, reorderHTML = \"\", reorderEffects = \"\", reorderScripts = \"\", cur = reorderedChunk;\n for (reorderedChunk.reorderId = null; cur.flushPlaceholder(), reorderHTML += cur.html, reorderEffects = concatEffects(reorderEffects, cur.effects), reorderScripts = concatScripts(reorderScripts, cur.scripts), cur.async && (reorderHTML += state.mark(\n \"#\" /* ReorderMarker */,\n cur.reorderId = state.nextReorderId()\n ), cur.html = cur.effects = cur.scripts = \"\", isSync = !1), cur.next; )\n cur = cur.next;\n reorderEffects && (state.hasWrittenResume || (state.hasWrittenResume = !0, scripts = concatScripts(\n scripts,\n runtimePrefix + \".r=[]\"\n )), reorderScripts = concatScripts(\n reorderScripts,\n \"_.push(\" + reorderEffects + \")\"\n )), scripts = concatScripts(\n scripts,\n reorderScripts && runtimePrefix + \".j.\" + reorderId + \"=_=>{\" + reorderScripts + \"}\"\n ), html += \"\" + reorderHTML + \"\";\n }\n state.writeReorders = null;\n }\n return hasWalk && (scripts = concatScripts(scripts, runtimePrefix + \".w()\")), head.html = html, head.scripts = scripts, head;\n}\nfunction flushChunk(head) {\n let { html, scripts } = head;\n return head.html = head.scripts = \"\", html + (scripts ? \"\" + scripts + \"\" : \"\");\n}\nfunction concatEffects(a, b) {\n return a ? b ? a + \",\" + b : a : b;\n}\nfunction concatScripts(a, b) {\n return a ? b ? a + \";\" + b : a : b;\n}\nvar tick = globalThis.setImmediate || globalThis.setTimeout || globalThis.queueMicrotask || ((cb) => Promise.resolve().then(cb)), tickQueue;\nfunction queueTick(cb) {\n tickQueue ? tickQueue.add(cb) : (tickQueue = /* @__PURE__ */ new Set([cb]), tick(flushTickQueue));\n}\nfunction offTick(cb) {\n tickQueue?.delete(cb);\n}\nfunction flushTickQueue() {\n let queue = tickQueue;\n tickQueue = void 0;\n for (let cb of queue)\n cb(!0);\n}\nfunction isPromise(value) {\n return value != null && typeof value.then == \"function\";\n}\nfunction getFilteredGlobals($global) {\n if (!$global) return;\n let serializedGlobals = $global.serializedGlobals;\n if (!serializedGlobals) return;\n let filtered;\n if (Array.isArray(serializedGlobals))\n for (let key of serializedGlobals) {\n let value = $global[key];\n value !== void 0 && (filtered ? filtered[key] = value : filtered = { [key]: value });\n }\n else\n for (let key in serializedGlobals)\n if (serializedGlobals[key]) {\n let value = $global[key];\n value !== void 0 && (filtered ? filtered[key] = value : filtered = { [key]: value });\n }\n return filtered;\n}\n\n// src/html/attrs.ts\nfunction classAttr(val) {\n return stringAttr(\"class\", classValue(val));\n}\nfunction styleAttr(val) {\n return stringAttr(\"style\", styleValue(val));\n}\nfunction optionValueAttr(value) {\n let { [kSelectedValue]: selectedValue } = getChunk()?.context || {};\n return attr(\"value\", value) + (!isVoid(value) && (Array.isArray(value) ? selectedValue.includes(value) : selectedValue === value) ? \" selected\" : \"\");\n}\nvar kSelectedValue = Symbol(\"selectedValue\");\nfunction controllable_select_value(scopeId, nodeAccessor, value, valueChange, renderBody) {\n if (valueChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \":\" /* ControlledValue */] = value, scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 3 /* SelectValue */;\n }\n renderBody && withContext(kSelectedValue, value, renderBody);\n}\nfunction controllable_input_value(scopeId, nodeAccessor, value, valueChange) {\n if (valueChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 2 /* InputValue */;\n }\n return attr(\"value\", value);\n}\nfunction controllable_input_checked(scopeId, nodeAccessor, checked, checkedChange) {\n if (checkedChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 0 /* InputChecked */;\n }\n return attr(\"checked\", checked);\n}\nfunction controllable_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value) {\n let multiple = Array.isArray(checkedValue), valueAttr = attr(\"value\", value);\n if (checkedValueChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedValueChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 1 /* InputCheckedValue */, multiple && (scope[nodeAccessor + \":\" /* ControlledValue */] = checkedValue);\n }\n return (multiple ? checkedValue.includes(value) : checkedValue === value) ? valueAttr + \" checked\" : valueAttr;\n}\nfunction controllable_detailsOrDialog_open(scopeId, nodeAccessor, open, openChange) {\n if (openChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \":\" /* ControlledValue */] = open, scope[nodeAccessor + \";\" /* ControlledHandler */] = openChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 4 /* DetailsOrDialogOpen */;\n }\n return attr(\"open\", open);\n}\nfunction attr(name, val) {\n return isVoid(val) ? \"\" : nonVoidAttr(name, val);\n}\nfunction attrs(data, nodeAccessor, scopeId, tagName) {\n let result = \"\", skip = /[\\s/>\"'=]/, scope, events;\n switch (tagName) {\n case \"input\":\n if (data.checkedChange)\n result += controllable_input_checked(\n scopeId,\n nodeAccessor,\n data.checked,\n data.checkedChange\n );\n else if (data.checkedValue || data.checkedValueChange)\n result += controllable_input_checkedValue(\n scopeId,\n nodeAccessor,\n data.checkedValue,\n data.checkedValueChange,\n data.value\n );\n else if (data.valueChange)\n result += controllable_input_value(\n scopeId,\n nodeAccessor,\n data.value,\n data.valueChange\n );\n else\n break;\n skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\\s/>\"'=]/;\n break;\n case \"select\":\n (data.value || data.valueChange) && (skip = /^value(?:Change)?$|[\\s/>\"'=]/);\n break;\n case \"option\":\n data.value && (result += optionValueAttr(data.value), skip = /^value$|[\\s/>\"'=]/);\n break;\n case \"details\":\n case \"dialog\":\n data.openChange && (result += controllable_detailsOrDialog_open(\n scopeId,\n nodeAccessor,\n data.open,\n data.openChange\n ), skip = /^open(?:Change)?$|[\\s/>\"'=]/);\n break;\n }\n for (let name in data) {\n let val = data[name];\n switch (name) {\n case \"class\":\n result += classAttr(val);\n break;\n case \"style\":\n result += styleAttr(val);\n break;\n case \"\":\n case \"renderBody\":\n break;\n default:\n isVoid(val) || (/^on[A-Z-]/.test(name) ? (events ||= (scope ??= ensureScopeWithId(scopeId))[nodeAccessor + \"~\" /* EventAttributes */] ||= {}, events[name[2] === \"-\" ? name.slice(3) : name.slice(2).toLowerCase()] = val) : skip.test(name) || (result += nonVoidAttr(name, val)));\n break;\n }\n }\n return result;\n}\nfunction partialAttrs(data, skip, nodeAccessor, scopeId, tagName) {\n let partial = {};\n for (let key in data)\n skip[key] || (partial[key] = data[key]);\n return attrs(partial, nodeAccessor, scopeId, tagName);\n}\nfunction stringAttr(name, val) {\n return val && ` ${name}=${escapeAttrValue(val)}`;\n}\nfunction nonVoidAttr(name, val) {\n switch (typeof val) {\n case \"string\":\n return ` ${name + attrAssignment(val)}`;\n case \"boolean\":\n return ` ${name}`;\n case \"number\":\n return ` ${name}=${val}`;\n case \"object\":\n if (val instanceof RegExp)\n return ` ${name + attrAssignment(val.source)}`;\n break;\n }\n return ` ${name + attrAssignment(val + \"\")}`;\n}\nfunction attrAssignment(val) {\n return val ? `=${escapeAttrValue(val)}` : \"\";\n}\nvar unsafeAttrChars = /[\"'>\\s]/g;\nfunction escapeAttrValue(str) {\n if (unsafeAttrChars.test(str)) {\n let c = str[unsafeAttrChars.lastIndex - 1];\n return unsafeAttrChars.lastIndex = 0, c === '\"' ? `'${str.replace(/'/g, \"'\")}'` : `\"${str.replace(/\"/g, \""\")}\"`;\n }\n return str;\n}\n\n// src/common/compat-meta.ts\nvar prefix = \"$C_\", RENDERER_REGISTER_ID = prefix + \"r\", SET_SCOPE_REGISTER_ID = prefix + \"s\";\n\n// src/common/meta.ts\nvar DEFAULT_RUNTIME_ID = \"M\", DEFAULT_RENDER_ID = \"_\";\n\n// src/html/dynamic-tag.ts\nvar voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/;\nfunction dynamicTagInput(scope, tag, input, renderBody, tagVar) {\n if (!tag && !renderBody) return;\n let scopeId = getScopeId(scope);\n return write(`${markResumeScopeStart(scopeId)}`), writeScope(scopeId, scope), tag ? typeof tag == \"string\" ? (nextScopeId(), write(\n `<${tag}${attrs(input, 0, scopeId, tag)}>`\n ), voidElementsReg.test(tag) || (renderBody && (tag === \"select\" && (\"value\" in input || \"valueChange\" in input) ? controllable_select_value(\n scopeId,\n 0,\n input.value,\n input.valueChange,\n renderBody\n ) : renderBody()), write(``)), null) : getDynamicRenderer(tag)(renderBody ? { ...input, renderBody } : input, tagVar) : renderBody();\n}\nfunction dynamicTagArgs(scope, tag, args) {\n if (!tag) return;\n let scopeId = getScopeId(scope);\n if (write(`${markResumeScopeStart(scopeId)}`), writeScope(scopeId, scope), typeof tag == \"string\") {\n nextScopeId(), write(\n `<${tag}${attrs(args[0], 0, scopeId, tag)}>`\n ), voidElementsReg.test(tag) || write(``);\n return;\n }\n return getDynamicRenderer(tag)(...args);\n}\nvar getDynamicRenderer = normalizeDynamicRenderer, createRenderer = (fn) => fn;\nfunction patchDynamicTag(newGetDynamicRenderer, newCreateRenderer) {\n getDynamicRenderer = newGetDynamicRenderer, createRenderer = newCreateRenderer;\n}\n\n// src/html/compat.ts\nvar K_TAGS_API_STATE = Symbol(), COMPAT_REGISTRY = /* @__PURE__ */ new WeakMap(), compat = {\n fork,\n write,\n writeScript,\n nextScopeId,\n patchDynamicTag,\n writeSetScopeForComponent(m5c) {\n let scopeId = nextScopeId();\n writeScope(scopeId, { m5c }), writeEffect(scopeId, SET_SCOPE_REGISTER_ID);\n },\n toJSON() {\n let compatRegistered = COMPAT_REGISTRY.get(this);\n if (!compatRegistered) {\n let registered = getRegistered(this);\n if (registered) {\n let scopeId = getScopeId(registered.scope);\n scopeId !== void 0 && writeScope(scopeId, {}), COMPAT_REGISTRY.set(\n this,\n compatRegistered = [registered.id, scopeId]\n );\n }\n }\n return compatRegistered;\n },\n render(renderer, willRerender, classAPIOut, component, input) {\n let $global = classAPIOut.global, state = $global[K_TAGS_API_STATE] ||= getChunk()?.boundary.state;\n state || ($global.runtimeId ||= DEFAULT_RUNTIME_ID, $global.renderId ||= $global.componentIdPrefix || DEFAULT_RENDER_ID, $global[K_TAGS_API_STATE] = state = new State2($global));\n let boundary = new Boundary(state), head = new Chunk(\n boundary,\n null,\n null\n );\n head.render(() => {\n if (willRerender) {\n let scopeId = peekNextScopeId();\n writeScope(scopeId, { m5c: component.id }), writeEffect(scopeId, SET_SCOPE_REGISTER_ID);\n }\n renderer(input);\n });\n let asyncOut = classAPIOut.beginAsync();\n (boundary.onNext = () => {\n boundary.done && (boundary.signal.aborted ? asyncOut.error(boundary.signal.reason) : queueMicrotask(() => {\n let { scripts, html } = head = prepareChunk(head);\n asyncOut.script(scripts), asyncOut.write(html), asyncOut.end(), head.html = head.scripts = \"\";\n }));\n })();\n },\n registerRenderer(renderer, id) {\n return register(\n RENDERER_REGISTER_ID,\n renderer,\n register(id, () => {\n })\n );\n }\n};\n\n// src/html/content.ts\nfunction toString(val) {\n return val ? val + \"\" : val === 0 ? \"0\" : \"\";\n}\nvar unsafeXMLReg = /[<&]/g, replaceUnsafeXML = (c) => c === \"&\" ? \"&\" : \"<\", escapeXMLStr = (str) => unsafeXMLReg.test(str) ? str.replace(unsafeXMLReg, replaceUnsafeXML) : str;\nfunction escapeXML(val) {\n return val ? escapeXMLStr(val + \"\") : val === 0 ? \"0\" : \"‍\";\n}\nvar unsafeScriptReg = /<\\/script/g, escapeScriptStr = (str) => unsafeScriptReg.test(str) ? str.replace(unsafeScriptReg, \"\\\\x3C/script\") : str;\nfunction escapeScript(val) {\n return val ? escapeScriptStr(val + \"\") : val === 0 ? \"0\" : \"\";\n}\nvar unsafeStyleReg = /<\\/style/g, escapeStyleStr = (str) => unsafeStyleReg.test(str) ? str.replace(unsafeStyleReg, \"\\\\3C/style\") : str;\nfunction escapeStyle(val) {\n return val ? escapeStyleStr(val + \"\") : val === 0 ? \"0\" : \"\";\n}\n\n// src/html/template.ts\nvar createTemplate = (renderer, templateId) => (renderer.render = render, renderer._ = renderer, register2(renderer, templateId));\nfunction render(input = {}) {\n let { $global } = input;\n $global ? ({ $global, ...input } = input, $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID,\n ...$global\n }) : $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID\n };\n let head = new Chunk(\n new Boundary(new State2($global), $global.signal),\n null,\n null\n );\n return head.render(this, input), new ServerRenderResult(head);\n}\nvar ServerRenderResult = class {\n #head;\n #cachedPromise = null;\n constructor(head) {\n this.#head = head;\n }\n [Symbol.asyncIterator]() {\n let resolve, reject, value = \"\", done = !1, aborted = !1, reason;\n return this.#read(\n (html) => {\n value += html, resolve && (resolve({ value, done }), value = \"\");\n },\n (err) => {\n aborted = !0, reason = err, reject && reject(err);\n },\n () => {\n done = !0, resolve && resolve({ value, done: !value });\n }\n ), {\n next() {\n if (value) {\n let result = { value, done: !1 };\n return value = \"\", Promise.resolve(result);\n }\n return done ? Promise.resolve({ value, done }) : aborted ? Promise.reject(reason) : new Promise(exec);\n }\n };\n function exec(_resolve, _reject) {\n resolve = _resolve, reject = _reject;\n }\n }\n pipe(stream) {\n this.#read(\n (html) => {\n stream.write(html);\n },\n (err) => {\n let socket = \"socket\" in stream && stream.socket;\n if (socket && typeof socket.destroySoon == \"function\" && socket.destroySoon(), !stream.emit?.(\"error\", err))\n throw err;\n },\n () => {\n stream.end();\n }\n );\n }\n toReadable() {\n return new ReadableStream({\n start: (ctrl) => {\n this.#read(\n (html) => {\n ctrl.enqueue(html);\n },\n (err) => {\n ctrl.error(err);\n },\n () => {\n ctrl.close();\n }\n );\n }\n });\n }\n then(onfulfilled, onrejected) {\n return this.#promise().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.#promise().catch(onrejected);\n }\n finally(onfinally) {\n return this.#promise().finally(onfinally);\n }\n #promise() {\n return this.#cachedPromise ||= new Promise((resolve, reject) => {\n let head = this.#head;\n if (this.#head = null, !head)\n return reject(new Error(\"Cannot read from a consumed render result\"));\n let { boundary } = head;\n (boundary.onNext = () => {\n boundary.done && (boundary.signal.aborted ? reject(boundary.signal.reason) : (head = prepareChunk(head), boundary.done && resolve(flushChunk(head))));\n })();\n });\n }\n #read(onWrite, onAbort, onClose) {\n let tick2 = !0, head = this.#head;\n if (this.#head = null, !head) {\n onAbort(new Error(\"Cannot read from a consumed render result\"));\n return;\n }\n let { boundary } = head, onNext = boundary.onNext = (write2) => {\n if (write2 || boundary.done) {\n if (boundary.signal.aborted) {\n tick2 || offTick(onNext), onAbort(boundary.signal.reason);\n return;\n }\n head = prepareChunk(head);\n }\n if (write2 || boundary.done) {\n let html = flushChunk(head);\n html && onWrite(html), boundary.done ? (tick2 || offTick(onNext), onClose()) : tick2 = !0;\n } else tick2 && (tick2 = !1, queueTick(onNext));\n };\n onNext();\n }\n toString() {\n let head = this.#head;\n if (!head) throw new Error(\"Cannot read from a consumed render result\");\n if (head.next) throw new Error(\"Cannot fork in sync mode\");\n return this.#head = null, flushChunk(prepareChunk(head));\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n attr,\n attrTag,\n attrTags,\n attrs,\n classAttr,\n compat,\n controllable_detailsOrDialog_open,\n controllable_input_checked,\n controllable_input_checkedValue,\n controllable_input_value,\n controllable_select_value,\n createRenderer,\n createTemplate,\n dynamicTagArgs,\n dynamicTagInput,\n ensureScopeWithId,\n escapeScript,\n escapeStyle,\n escapeXML,\n forIn,\n forOf,\n forTo,\n fork,\n getScopeById,\n getStreamData,\n markResumeCleanup,\n markResumeControlEnd,\n markResumeControlSingleNodeEnd,\n markResumeNode,\n markResumeScopeStart,\n nextScopeId,\n nextTagId,\n nodeRef,\n normalizeDynamicRenderer,\n optionValueAttr,\n partialAttrs,\n peekNextScope,\n register,\n styleAttr,\n toString,\n tryCatch,\n tryPlaceholder,\n write,\n writeEffect,\n writeExistingScope,\n writeScope\n});\n","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n\n path.replaceWith(\n (0, _withPreviousLocation.default)(\n (0, _htmlOutWrite.default)``,\n node\n )\n );\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _vdomOutWrite = _interopRequireDefault(require(\"../util/vdom-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n\n path.replaceWith(\n (0, _withPreviousLocation.default)((0, _vdomOutWrite.default)(\"t\", _compiler.types.stringLiteral(node.value)), node)\n );\n}","\"use strict\";exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nfunction _default(path) {\n const {\n hub: { file },\n node: {\n body: { body }\n }\n } = path;\n\n const classProperties = [];\n let onCreateMethod = body.find(\n (prop) =>\n prop.computed === false &&\n _compiler.types.isIdentifier(prop.key) &&\n prop.key.name === \"onCreate\"\n );\n\n const objectProperties = body.\n map((prop) => {\n if (_compiler.types.isClassMethod(prop)) {\n prop.type = \"ObjectMethod\";\n delete prop.start;\n delete prop.end;\n delete prop.loc;\n return prop;\n } else if (_compiler.types.isClassProperty(prop) && !prop.static) {\n if (!prop.declare) {\n classProperties.push(\n _compiler.types.assignmentExpression(\n \"=\",\n _compiler.types.memberExpression(_compiler.types.thisExpression(), prop.key, prop.computed),\n prop.value || _compiler.types.unaryExpression(\"void\", _compiler.types.numericLiteral(0))\n )\n );\n }\n\n return undefined;\n }\n\n throw file.buildCodeFrameError(\n prop,\n \"Unsupported class property on component.\"\n );\n }).\n filter(Boolean);\n\n if (classProperties.length) {\n if (!onCreateMethod) {\n objectProperties.push(\n onCreateMethod = _compiler.types.objectMethod(\n \"method\",\n _compiler.types.identifier(\"onCreate\"),\n [],\n _compiler.types.blockStatement([])\n )\n );\n }\n\n onCreateMethod.body.body.unshift(...classProperties);\n }\n\n file._inlineComponentClass = _compiler.types.objectExpression(objectProperties);\n path.remove();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\nconst ieConditionalCommentRegExp = /^\\[if |`, node)\n );\n } else {\n path.remove();\n }\n}","\"use strict\";exports.__esModule = true;exports.default = _default;function _default(path) {\n path.remove();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n\n path.replaceWith(\n (0, _withPreviousLocation.default)((0, _htmlOutWrite.default)``, node)\n );\n}","\"use strict\";exports.__esModule = true;exports.default = _default;function _default(path) {\n path.remove();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n\n path.replaceWith(\n (0, _withPreviousLocation.default)((0, _htmlOutWrite.default)``, node)\n );\n}","\"use strict\";exports.__esModule = true;exports.default = _default;function _default(path) {\n path.remove();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.analyze = void 0;exports.getRuntimeEntryFiles = getRuntimeEntryFiles;exports.translate = exports.taglibs = exports.optionalTaglibs = exports.internalEntryBuilder = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _package = require(\"marko/package.json\");\nvar _path = require(\"path\");\n\nvar _cdata = _interopRequireDefault(require(\"./cdata\"));\nvar _class = _interopRequireDefault(require(\"./class\"));\nvar _comment = _interopRequireDefault(require(\"./comment\"));\nvar _declaration = _interopRequireDefault(require(\"./declaration\"));\nvar _documentType = _interopRequireDefault(require(\"./document-type\"));\nvar _placeholder = _interopRequireDefault(require(\"./placeholder\"));\nvar _scriptlet = _interopRequireDefault(require(\"./scriptlet\"));\nvar _tag = _interopRequireDefault(require(\"./tag\"));\nvar _text = _interopRequireDefault(require(\"./text\"));\nvar _addDependencies = _interopRequireWildcard(require(\"./util/add-dependencies\"));exports.internalEntryBuilder = _addDependencies.entryBuilder;\nvar _getComponentFiles = _interopRequireDefault(require(\"./util/get-component-files\"));\nvar _optimizeHtmlWrites = require(\"./util/optimize-html-writes\");\nvar _optimizeVdomCreate = require(\"./util/optimize-vdom-create\");\n\nvar _taglib = _interopRequireWildcard(require(\"./taglib\"));exports.optionalTaglibs = _taglib.optionalTaglibs;exports.taglibs = _taglib.default;function _getRequireWildcardCache(e) {if (\"function\" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}\n\n\nconst analyze = exports.analyze = {\n Program: {\n enter(program) {\n // Pre populate metadata for component files.\n const meta = program.hub.file.metadata.marko;\n (0, _getComponentFiles.default)(program);\n\n if (!meta.hasComponent && !meta.hasComponentBrowser) {\n meta.hasComponent = program.\n get(\"body\").\n some((child) => child.isMarkoClass());\n }\n },\n exit(program) {\n const { file } = program.hub;\n const meta = file.metadata.marko;\n const componentFiles = (0, _getComponentFiles.default)(program);\n const { styleFile, packageFile, componentBrowserFile } = componentFiles;\n\n if (packageFile) {\n meta.deps.unshift(`package: ${packageFile}`);\n }\n\n if (styleFile) {\n meta.deps.unshift(styleFile);\n }\n\n if (!meta.widgetBind) {\n if (meta.hasComponentBrowser) {\n meta.component = componentBrowserFile;\n } else if (\n meta.hasComponent ||\n meta.hasStatefulTagParams ||\n meta.hasFunctionEventHandlers)\n {\n meta.component = file.opts.filename;\n } else if (meta.hasStringEventHandlers) {\n meta.component = componentFiles.componentBrowserFile =\n \"marko/src/runtime/helpers/empty-component.js\";\n meta.hasComponentBrowser = true;\n }\n }\n\n meta.component =\n meta.component && (0, _babelUtils.resolveRelativePath)(file, meta.component);\n meta.deps = meta.deps.map((filename) =>\n typeof filename === \"string\" ?\n (0, _babelUtils.resolveRelativePath)(file, filename) :\n filename\n );\n }\n },\n MarkoTag(tag) {\n const { file } = tag.hub;\n const tagDef = (0, _babelUtils.getTagDef)(tag);\n // Check if tag uses stateful tag params.\n const meta = tag.hub.file.metadata.marko;\n\n if (tagDef) {\n if (tagDef.html && !tagDef.template && !tagDef.renderer) {\n if (tagDef.htmlType === \"custom-element\") {\n if (tagDef.parseOptions && tagDef.parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n meta.deps.push(\n (0, _path.resolve)(\n tagDef.dir,\n (0, _path.resolve)(tagDef.dir, tagDef.parseOptions.import)\n )\n );\n }\n }\n } else if (tag.get(\"name\").isStringLiteral()) {\n const relativePath = resolveRelativeTagEntry(file, tagDef);\n\n if (relativePath) {\n tag.node.extra = tag.node.extra || {};\n tag.node.extra.relativePath = relativePath;\n\n if (!meta.tags.includes(relativePath)) {\n meta.tags.push(relativePath);\n }\n }\n }\n\n if (tagDef.translator && tagDef.translator.path) {\n if (!meta.watchFiles.includes(tagDef.translator.path)) {\n meta.watchFiles.push(tagDef.translator.path);\n }\n }\n }\n\n if (!(meta.hasFunctionEventHandlers || meta.hasStringEventHandlers)) {\n for (const attr of tag.node.attributes) {\n if (\n _compiler.types.isMarkoAttribute(attr) &&\n attr.arguments &&\n /^on[-A-Z]/.test(attr.name))\n {\n if (\n attr.arguments.length >= 1 &&\n attr.arguments[0].type === \"StringLiteral\")\n {\n meta.hasStringEventHandlers = true;\n } else {\n meta.hasFunctionEventHandlers = true;\n }\n break;\n }\n }\n }\n\n if (\n meta.hasStatefulTagParams ||\n (0, _babelUtils.isNativeTag)(tag) ||\n (0, _babelUtils.isMacroTag)(tag) ||\n !tag.get(\"body\").get(\"params\").length)\n {\n return;\n }\n\n if ((0, _babelUtils.isDynamicTag)(tag)) {\n meta.hasStatefulTagParams = true;\n return;\n }\n\n let curTag = tag;\n while ((0, _babelUtils.isAttributeTag)(curTag)) {\n curTag = (0, _babelUtils.findParentTag)(curTag);\n }\n\n const tagFile = (0, _babelUtils.loadFileForTag)(curTag);\n const childMeta = tagFile && tagFile.metadata.marko;\n meta.hasStatefulTagParams =\n childMeta && (\n childMeta.hasStatefulTagParams ||\n childMeta.hasFunctionEventHandlers ||\n childMeta.hasComponent && !childMeta.hasComponentBrowser);\n },\n ImportDeclaration: {\n exit(path) {\n const source = path.get(\"source\");\n const tagEntry = (0, _babelUtils.resolveTagImport)(source, source.node.value);\n\n if (tagEntry) {\n const meta = path.hub.file.metadata.marko;\n source.node.value = tagEntry;\n\n if (!meta.tags.includes(tagEntry)) {\n meta.tags.push(tagEntry);\n }\n }\n }\n }\n};\n\nconst translate = exports.translate = {\n MarkoDocumentType: _documentType.default,\n MarkoDeclaration: _declaration.default,\n MarkoCDATA: _cdata.default,\n MarkoTag: _tag.default,\n MarkoText: _text.default,\n MarkoPlaceholder: _placeholder.default,\n MarkoScriptlet: _scriptlet.default,\n MarkoClass: _class.default,\n MarkoComment: _comment.default,\n ReferencedIdentifier(path) {\n if (path.node.name === \"component\" && !path.scope.hasBinding(\"component\")) {\n path.replaceWith(path.hub.file._componentInstanceIdentifier);\n }\n },\n Program: {\n enter(path) {\n const {\n hub: { file }\n } = path;\n\n if (file.markoOpts.output === \"hydrate\") {\n (0, _addDependencies.default)(file, true);\n return;\n } else if (\n file.markoOpts.resolveVirtualDependency &&\n file.markoOpts.output !== \"html\")\n {\n (0, _addDependencies.default)(file, false);\n }\n\n if (file.metadata.marko.moduleCode) {\n path.\n replaceWith(\n _compiler.types.program(\n (0, _babelUtils.parseStatements)(file, file.metadata.marko.moduleCode),\n undefined,\n file.markoOpts.modules === \"cjs\" ? \"script\" : \"module\"\n )\n )[0].\n skip();\n return;\n }\n\n file._componentDefIdentifier =\n path.scope.generateUidIdentifier(\"componentDef\");\n\n file._componentInstanceIdentifier =\n path.scope.generateUidIdentifier(\"component\");\n\n // Pre-Analyze tree\n (0, _optimizeVdomCreate.analyzeStaticVDOM)(path);\n\n // Move non static content into the renderBody.\n const [renderBlock] = path.pushContainer(\"body\", _compiler.types.blockStatement([]));\n path.\n get(\"body\").\n filter(isRenderContent).\n forEach((childPath) => {\n renderBlock.pushContainer(\"body\", childPath.node);\n childPath.remove();\n });\n\n file._renderBlock = renderBlock;\n path.scope.crawl();\n },\n exit(path) {\n const {\n hub: { file }\n } = path;\n const { markoOpts, _inlineComponentClass } = file;\n const includeMetaInSource = markoOpts.meta !== false;\n const meta = file.metadata.marko;\n const { componentFile, componentBrowserFile } = (0, _getComponentFiles.default)(path);\n const isHTML = markoOpts.output === \"html\";\n\n const renderBlock = file._renderBlock;\n const componentClass =\n componentFile &&\n (0, _babelUtils.importDefault)(\n file,\n (0, _babelUtils.resolveRelativePath)(file, componentFile),\n \"marko_component\"\n ) ||\n _inlineComponentClass ||\n _compiler.types.objectExpression([]);\n\n const componentIdentifier =\n path.scope.generateUidIdentifier(\"marko_component\");\n const componentTypeIdentifier = path.scope.generateUidIdentifier(\n \"marko_componentType\"\n );\n const templateIdentifier =\n path.scope.generateUidIdentifier(\"marko_template\");\n const rendererIdentifier = (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/components/renderer.js\",\n \"marko_renderer\"\n );\n const templateRendererMember = _compiler.types.memberExpression(\n templateIdentifier,\n _compiler.types.identifier(\"_\")\n );\n const templateMetaMember = _compiler.types.memberExpression(\n templateIdentifier,\n _compiler.types.identifier(\"meta\")\n );\n\n if (markoOpts.writeVersionComment) {\n path.addComment(\n \"leading\",\n ` Compiled using marko@${_package.version} - DO NOT EDIT`,\n true\n );\n }\n\n const runtimeTemplateIdentifier = path.scope.generateUidIdentifier(\"t\");\n\n path.unshiftContainer(\n \"body\",\n [\n _compiler.types.importDeclaration(\n [_compiler.types.importSpecifier(runtimeTemplateIdentifier, _compiler.types.identifier(\"t\"))],\n _compiler.types.stringLiteral(\n `marko/${markoOpts.optimize ? \"dist\" : \"src\"}/runtime/${\n isHTML ? \"html\" : \"vdom\"}/${\n markoOpts.hot ? \"hot-reload.js\" : \"index.js\"}`\n )\n ),\n _compiler.types.variableDeclaration(\"const\", [\n _compiler.types.variableDeclarator(\n componentTypeIdentifier,\n _compiler.types.stringLiteral(meta.id)\n ),\n _compiler.types.variableDeclarator(\n templateIdentifier,\n _compiler.types.callExpression(runtimeTemplateIdentifier, [\n componentTypeIdentifier]\n )\n )]\n ),\n includeMetaInSource &&\n _compiler.types.expressionStatement(\n _compiler.types.assignmentExpression(\n \"=\",\n _compiler.types.memberExpression(templateIdentifier, _compiler.types.identifier(\"path\")),\n _compiler.types.identifier(\"__filename\")\n )\n ),\n _compiler.types.exportDefaultDeclaration(templateIdentifier)].\n filter(Boolean)\n );\n\n path.pushContainer(\n \"body\",\n [\n !isHTML &&\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n (0, _babelUtils.importNamed)(\n file,\n \"marko/src/runtime/components/registry.js\",\n \"r\",\n \"marko_registerComponent\"\n ),\n [\n componentTypeIdentifier,\n _compiler.types.arrowFunctionExpression(\n [],\n componentBrowserFile ?\n (0, _babelUtils.importDefault)(\n file,\n (0, _babelUtils.resolveRelativePath)(file, componentBrowserFile),\n \"marko_split_component\"\n ) :\n templateIdentifier\n )]\n\n )\n ),\n _compiler.types.variableDeclaration(\"const\", [\n _compiler.types.variableDeclarator(componentIdentifier, componentClass)]\n )].\n filter(Boolean)\n );\n\n const templateRenderOptionsProps = [\n _compiler.types.objectProperty(_compiler.types.identifier(\"t\"), componentTypeIdentifier)];\n\n\n if (!meta.component) {\n templateRenderOptionsProps.push(\n _compiler.types.objectProperty(_compiler.types.identifier(\"i\"), _compiler.types.booleanLiteral(true))\n );\n }\n\n if (componentBrowserFile) {\n templateRenderOptionsProps.push(\n _compiler.types.objectProperty(_compiler.types.identifier(\"s\"), _compiler.types.booleanLiteral(true))\n );\n }\n\n if (!markoOpts.optimize) {\n templateRenderOptionsProps.push(\n _compiler.types.objectProperty(_compiler.types.identifier(\"d\"), _compiler.types.booleanLiteral(true))\n );\n }\n\n path.pushContainer(\n \"body\",\n _compiler.types.expressionStatement(\n _compiler.types.assignmentExpression(\n \"=\",\n templateRendererMember,\n _compiler.types.callExpression(rendererIdentifier, [\n _compiler.types.functionExpression(\n null,\n [\n _compiler.types.identifier(\"input\"),\n _compiler.types.identifier(\"out\"),\n file._componentDefIdentifier,\n file._componentInstanceIdentifier,\n _compiler.types.identifier(\"state\"),\n _compiler.types.identifier(\"$global\")],\n\n renderBlock.node\n ),\n _compiler.types.objectExpression(templateRenderOptionsProps),\n componentIdentifier]\n )\n )\n )\n );\n renderBlock.remove();\n\n if (!isHTML) {\n path.pushContainer(\n \"body\",\n _compiler.types.expressionStatement(\n _compiler.types.assignmentExpression(\n \"=\",\n _compiler.types.memberExpression(templateIdentifier, _compiler.types.identifier(\"Component\")),\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/components/defineComponent.js\",\n \"marko_defineComponent\"\n ),\n [componentIdentifier, templateRendererMember]\n )\n )\n )\n );\n }\n\n if (includeMetaInSource) {\n const metaObject = _compiler.types.objectExpression([\n _compiler.types.objectProperty(_compiler.types.identifier(\"id\"), componentTypeIdentifier)]\n );\n\n if (meta.component) {\n metaObject.properties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"component\"),\n _compiler.types.stringLiteral(meta.component)\n )\n );\n }\n\n if (meta.deps.length) {\n metaObject.properties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"deps\"),\n (0, _babelUtils.parseExpression)(file, JSON.stringify(meta.deps))\n )\n );\n }\n\n if (meta.tags.length) {\n metaObject.properties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"tags\"),\n _compiler.types.arrayExpression(meta.tags.map((tag) => _compiler.types.stringLiteral(tag)))\n )\n );\n }\n\n path.pushContainer(\n \"body\",\n _compiler.types.expressionStatement(\n _compiler.types.assignmentExpression(\"=\", templateMetaMember, metaObject)\n )\n );\n }\n\n (0, _optimizeHtmlWrites.optimizeHTMLWrites)(path);\n }\n }\n};\n\nfunction getRuntimeEntryFiles(output, optimize) {\n const base = `marko/${optimize ? \"dist\" : \"src\"}/`;\n\n return [\n `${base}runtime/components/index.js`,\n `${base}runtime/components/defineComponent.js`,\n `${base}runtime/components/renderer.js`,\n `${base}runtime/components/registry.js`,\n `${base}runtime/components/attach-detach.js`,\n `${base}runtime/helpers/assign.js`,\n `${base}runtime/helpers/class-value.js`,\n `${base}runtime/helpers/of-fallback.js`,\n `${base}runtime/helpers/dynamic-tag.js`,\n `${base}runtime/helpers/attr-tag.js`,\n `${base}runtime/helpers/merge.js`,\n `${base}runtime/helpers/render-tag.js`,\n `${base}runtime/helpers/style-value.js`,\n `${base}runtime/helpers/to-string.js`,\n `${base}runtime/helpers/empty-component.js`,\n `${base}core-tags/components/preserve-tag.js`,\n ...(output === \"html\" ?\n [\n `${base}runtime/html/index.js`,\n `${base}runtime/html/hot-reload.js`,\n `${base}runtime/html/helpers/attr.js`,\n `${base}runtime/html/helpers/attrs.js`,\n `${base}runtime/html/helpers/class-attr.js`,\n `${base}runtime/html/helpers/data-marko.js`,\n `${base}runtime/html/helpers/escape-quotes.js`,\n `${base}runtime/html/helpers/escape-script-placeholder.js`,\n `${base}runtime/html/helpers/escape-style-placeholder.js`,\n `${base}runtime/html/helpers/escape-xml.js`,\n `${base}runtime/html/helpers/merge-attrs.js`,\n `${base}runtime/html/helpers/props-script.js`,\n `${base}runtime/html/helpers/style-attr.js`,\n `${base}core-tags/components/init-components-tag.js`,\n `${base}core-tags/components/preferred-script-location-tag.js`,\n `${base}core-tags/core/__flush_here_and_after__.js`,\n `${base}core-tags/core/await/renderer.js`,\n `${base}core-tags/core/await/reorderer-renderer.js`] :\n\n [\n `${base}runtime/vdom/index.js`,\n `${base}runtime/vdom/hot-reload.js`,\n `${base}runtime/vdom/helpers/attrs.js`,\n `${base}runtime/vdom/helpers/const-element.js`])];\n\n\n}\n\nfunction isRenderContent(path) {\n const { node } = path;\n return _compiler.types.MARKO_TYPES.includes(node.type) && !node.static;\n}\n\nfunction resolveRelativeTagEntry(file, tagDef) {\n // TODO: support transform and other entries.\n const entry = tagDef.template || tagDef.renderer;\n return entry && (0, _babelUtils.resolveRelativePath)(file, entry);\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _toString = _interopRequireDefault(require(\"marko/src/runtime/helpers/to-string\"));\nvar _escapeScriptPlaceholder = _interopRequireDefault(require(\"marko/src/runtime/html/helpers/escape-script-placeholder\"));\nvar _escapeStylePlaceholder = _interopRequireDefault(require(\"marko/src/runtime/html/helpers/escape-style-placeholder\"));\nvar _escapeXml = require(\"marko/src/runtime/html/helpers/escape-xml\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nconst ESCAPE_TYPES = {\n html: {\n name: \"x\",\n module: \"marko/src/runtime/html/helpers/escape-xml.js\",\n alias: \"marko_escapeXml\",\n fn: _escapeXml.x\n },\n script: {\n module: \"marko/src/runtime/html/helpers/escape-script-placeholder.js\",\n alias: \"marko_escapeScript\",\n fn: _escapeScriptPlaceholder.default\n },\n style: {\n module: \"marko/src/runtime/html/helpers/escape-style-placeholder.js\",\n alias: \"marko_escapeStyle\",\n fn: _escapeStylePlaceholder.default\n }\n};\n\nfunction _default(path) {\n const {\n node,\n hub: { file }\n } = path;\n const computed = (0, _babelUtils.computeNode)(node.value);\n let { escape, value } = node;\n\n if (escape) {\n const tagName = findParentTagName(path);\n const escapeType = ESCAPE_TYPES[tagName] || ESCAPE_TYPES.html;\n\n value = computed ?\n _compiler.types.stringLiteral(escapeType.fn(computed.value)) :\n _compiler.types.callExpression(\n escapeType.name ?\n (0, _babelUtils.importNamed)(\n file,\n escapeType.module,\n escapeType.name,\n escapeType.alias\n ) :\n (0, _babelUtils.importDefault)(file, escapeType.module, escapeType.alias),\n [value]\n );\n } else {\n value = computed ?\n _compiler.types.stringLiteral((0, _toString.default)(computed.value)) :\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/helpers/to-string.js\",\n \"marko_to_string\"\n ),\n [value]\n );\n }\n\n const replacement = (0, _htmlOutWrite.default)`${value}`;\n\n if (replacement) {\n path.replaceWith((0, _withPreviousLocation.default)(replacement, node));\n } else {\n path.remove();\n }\n}\n\nfunction findParentTagName(path) {\n while (path = path.parentPath) {\n if (path.isProgram()) {\n return;\n }\n\n if (path.isMarkoTag()) {\n const tagDef = (0, _babelUtils.getTagDef)(path);\n return tagDef && tagDef.html && path.get(\"name.value\").node;\n }\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _vdomOutWrite = _interopRequireDefault(require(\"../util/vdom-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n const { escape, value } = node;\n const method = escape ? \"t\" : \"h\";\n const computed = (0, _babelUtils.computeNode)(value);\n\n if (computed && computed.value == null) {\n path.remove();\n } else {\n path.replaceWith(\n (0, _withPreviousLocation.default)(\n (0, _vdomOutWrite.default)(method, value, path.hub.file._componentInstanceIdentifier),\n node\n )\n );\n }\n}","\"use strict\";exports.__esModule = true;exports.default = _default;function _default(path) {\n const { node } = path;\n path.replaceWithMultiple(node.body);\n}","\"use strict\";exports.__esModule = true;exports.analyzeAttributeTags = analyzeAttributeTags;exports.default = translateAttributeTag;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\n\nvar _util = require(\"./util\");\n\nconst attributeTagsForTag = new WeakMap();\nconst contentTypeCache = new WeakMap();\nconst ContentType = {\n attribute: 0,\n render: 1,\n mixed: 2\n};\n\nfunction analyzeAttributeTags(rootTag) {\n const visit = [rootTag];\n const parentTags = [rootTag];\n let i = 0;\n let attributeTags;\n\n while (i < visit.length) {\n const tag = visit[i++];\n for (const child of tag.get(\"attributeTags\")) {\n if ((0, _babelUtils.isAttributeTag)(child)) {\n (0, _babelUtils.assertNoArgs)(child);\n const tagDef = (0, _babelUtils.getTagDef)(child) || {};\n const name = (0, _babelUtils.getFullyResolvedTagName)(child);\n let {\n targetProperty = child.node.name.value.slice(1),\n isRepeated = false\n } = tagDef;\n\n const preserveName =\n tagDef.preserveName === true || tagDef.removeDashes === false;\n\n if (!preserveName) {\n targetProperty = removeDashes(targetProperty);\n }\n\n const attrTagMeta = (attributeTags ||= {})[name] ||= {\n targetProperty,\n isRepeated\n };\n\n (child.node.extra ||= {}).attributeTag = attrTagMeta;\n\n const parentTag = (0, _babelUtils.findParentTag)(child);\n const parentTagExtra = parentTag.node.extra ||= {};\n const parentSeenAttributeTagProperties =\n attributeTagsForTag.get(parentTag);\n let hasAttributeTags = false;\n\n if (!parentSeenAttributeTagProperties) {\n parentTagExtra.hasAttributeTags = true;\n attributeTagsForTag.set(parentTag, new Set([targetProperty]));\n } else if (parentSeenAttributeTagProperties.has(targetProperty)) {\n hasAttributeTags = true;\n } else {\n parentSeenAttributeTagProperties.add(targetProperty);\n }\n\n if (!hasAttributeTags) {\n if (\n parentTag.\n get(\"attributes\").\n some(\n (attr) =>\n attr.isMarkoSpreadAttribute() ||\n attr.node.name === targetProperty\n ))\n {\n parentTag.pushContainer(\n \"attributes\",\n _compiler.types.markoAttribute(\n targetProperty,\n _compiler.types.unaryExpression(\"void\", _compiler.types.numericLiteral(0))\n )\n );\n }\n }\n\n parentTags.push(child);\n visit.push(child);\n } else if ((0, _babelUtils.isTransparentTag)(child)) {\n switch (getContentType(child)) {\n case ContentType.mixed:\n throw child.buildCodeFrameError(\n \"Cannot mix @tags with other content when under a control flow.\"\n );\n case ContentType.attribute:\n visit.push(child);\n break;\n case ContentType.render:\n break;\n }\n }\n }\n }\n\n if (attributeTags) {\n (rootTag.node.extra ??= {}).attributeTags = attributeTags;\n }\n}\n\nfunction translateAttributeTag(tag) {\n const { node } = tag;\n const meta = node.extra?.attributeTag;\n if (!meta) {\n throw tag.\n get(\"name\").\n buildCodeFrameError(\"@tags must be nested within another element.\");\n }\n\n (0, _babelUtils.assertNoArgs)(tag);\n\n tag.replaceWith(\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n (0, _babelUtils.importNamed)(\n tag.hub.file,\n \"marko/src/runtime/helpers/attr-tag.js\",\n meta.isRepeated ? \"r\" : \"a\",\n meta.isRepeated ?\n \"marko_repeated_attr_tag\" :\n \"marko_repeatable_attr_tag\"\n ),\n [_compiler.types.stringLiteral(meta.targetProperty), getAttrTagObject(tag)]\n )\n )\n );\n}\n\nfunction getAttrTagObject(tag) {\n const attrs = (0, _util.getAttrs)(tag);\n\n if (_compiler.types.isNullLiteral(attrs)) {\n return _compiler.types.objectExpression([]);\n }\n\n return attrs;\n}\n\nfunction getContentType(tag) {\n const { node } = tag;\n const cached = contentTypeCache.get(node);\n if (cached !== undefined) return cached;\n\n const body = tag.get(\"body\").get(\"body\");\n let hasAttributeTag = false;\n let hasRenderBody = false;\n\n for (const child of body) {\n if ((0, _babelUtils.isAttributeTag)(child)) {\n hasAttributeTag = true;\n } else if ((0, _babelUtils.isTransparentTag)(child)) {\n switch (getContentType(child)) {\n case ContentType.mixed:\n contentTypeCache.set(node, ContentType.mixed);\n return ContentType.mixed;\n case ContentType.attribute:\n hasAttributeTag = true;\n break;\n case ContentType.render:\n hasRenderBody = true;\n break;\n }\n } else if (!child.isMarkoScriptlet() && !child.isMarkoComment()) {\n hasRenderBody = true;\n }\n\n if (hasAttributeTag && hasRenderBody) {\n contentTypeCache.set(node, ContentType.mixed);\n return ContentType.mixed;\n }\n }\n\n const result = hasAttributeTag ? ContentType.attribute : ContentType.render;\n contentTypeCache.set(node, result);\n return result;\n}\n\nfunction removeDashes(str) {\n return str.replace(/-([a-z])/g, matchToUpperCase);\n}\n\nfunction matchToUpperCase(_match, lower) {\n return lower.toUpperCase();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\nvar _classValue = _interopRequireDefault(require(\"marko/src/runtime/helpers/class-value\"));\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../../util/with-previous-location\"));var _default = exports.default =\n\n{\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (!(0, _babelUtils.isNativeTag)(tag)) return;\n\n const computed = (0, _babelUtils.computeNode)(value.node);\n if (computed) {\n const str = (0, _classValue.default)(computed.value);\n if (str) {\n value.replaceWith(_compiler.types.stringLiteral(str));\n } else {\n value.parentPath.remove();\n }\n } else if (!value.isTemplateLiteral()) {\n value.replaceWith(\n (0, _withPreviousLocation.default)(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/helpers/class-value.js\",\n \"marko_class_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _class = _interopRequireDefault(require(\"./class\"));\nvar _noUpdate = _interopRequireDefault(require(\"./no-update\"));\nvar _noUpdateBody = _interopRequireDefault(require(\"./no-update-body\"));\nvar _noUpdateBodyIf = _interopRequireDefault(require(\"./no-update-body-if\"));\nvar _noUpdateIf = _interopRequireDefault(require(\"./no-update-if\"));\nvar _style = _interopRequireDefault(require(\"./style\"));var _default = exports.default =\n\n{\n class: _class.default,\n style: _style.default,\n \"no-update\": _noUpdate.default,\n \"no-update-if\": _noUpdateIf.default,\n \"no-update-body\": _noUpdateBody.default,\n \"no-update-body-if\": _noUpdateBodyIf.default\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _noUpdate = _interopRequireDefault(require(\"./no-update\"));var _default = exports.default =\n\n{\n enter(tag) {\n tag.node.isPreserved = true;\n },\n exit(tag, attr, value) {\n _noUpdate.default.exit(tag, attr, value, {\n if: (0, _babelUtils.getArgOrSequence)(attr),\n bodyOnly: true\n });\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _noUpdate = _interopRequireDefault(require(\"./no-update\"));var _default = exports.default =\n\n{\n enter(tag) {\n tag.node.isPreserved = true;\n },\n exit(tag, attr, value) {\n _noUpdate.default.exit(tag, attr, value, { bodyOnly: true });\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _noUpdate = _interopRequireDefault(require(\"./no-update\"));var _default = exports.default =\n\n{\n enter(tag) {\n tag.node.isPreserved = true;\n },\n exit(tag, attr, value) {\n _noUpdate.default.exit(tag, attr, value, { if: (0, _babelUtils.getArgOrSequence)(attr) });\n }\n};","\"use strict\";exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\nconst EMPTY_OBJECT = {};var _default = exports.default =\n\n{\n enter(tag) {\n tag.node.isPreserved = true;\n },\n exit(tag, attr, _, opts = EMPTY_OBJECT) {\n attr.remove();\n const { node } = tag;\n const replacement = _compiler.types.markoTag(\n _compiler.types.stringLiteral(\"_preserve\"),\n [],\n opts.bodyOnly ? node.body : _compiler.types.markoTagBody([node])\n );\n\n if ((0, _babelUtils.isNativeTag)(tag)) {\n replacement.key = node.key;\n replacement.attributes.push(\n _compiler.types.markoAttribute(\"n\", _compiler.types.booleanLiteral(true))\n );\n\n if (opts.bodyOnly) {\n replacement.attributes.push(\n _compiler.types.markoAttribute(\"b\", _compiler.types.booleanLiteral(true))\n );\n }\n } else {\n replacement.key = (0, _babelUtils.normalizeTemplateString)`p_${node.key}`;\n }\n\n replacement.isPreserved = true;\n\n if (opts.if) {\n replacement.attributes.push(_compiler.types.markoAttribute(\"i\", opts.if));\n }\n\n if (opts.bodyOnly) {\n tag.set(\"body\", _compiler.types.markoTagBody([replacement]));\n } else {\n tag.replaceWith(replacement);\n }\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\nvar _styleValue = _interopRequireDefault(require(\"marko/src/runtime/helpers/style-value\"));\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../../util/with-previous-location\"));var _default = exports.default =\n\n{\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (!(0, _babelUtils.isNativeTag)(tag)) return;\n\n const computed = (0, _babelUtils.computeNode)(value.node);\n if (computed) {\n const str = (0, _styleValue.default)(computed.value);\n if (str) {\n value.replaceWith(_compiler.types.stringLiteral(str));\n } else {\n value.parentPath.remove();\n }\n } else if (!value.isTemplateLiteral()) {\n value.replaceWith(\n (0, _withPreviousLocation.default)(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/helpers/style-value.js\",\n \"marko_style_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _directives = _interopRequireDefault(require(\"./directives\"));\nvar _modifiers = _interopRequireDefault(require(\"./modifiers\"));\n\nconst EMPTY_ARRAY = [];\nconst EVENT_REG = /^(on(?:ce)?)(-)?(.*)$/;\nconst attachedDetachedLoaded = new WeakSet();var _default = exports.default =\n\n{\n enter(attr) {\n const {\n hub: { file }\n } = attr;\n const tag = attr.parentPath;\n const value = attr.get(\"value\");\n const { name, arguments: args } = attr.node;\n const isVDOM = file.markoOpts.output !== \"html\";\n\n if (execModifiersAndDirectives(\"enter\", tag, attr, value)) {\n return;\n }\n\n // Event handlers.\n let [, eventType, isDash, eventName] = EVENT_REG.exec(name) || EMPTY_ARRAY;\n\n if (eventType && args) {\n if (!args.length) {\n throw attr.buildCodeFrameError(\"Event handler is missing arguments.\");\n }\n\n if (!value.isBooleanLiteral(true)) {\n throw value.buildCodeFrameError(\n `\"${name}(handler, ...args)\" does not accept a value.`\n );\n }\n\n if (!isDash) {\n // When the event is not in dash case we normalized differently for html tags and custom tags.\n\n if ((0, _babelUtils.isNativeTag)(tag)) {\n // Lowercase the string\n // Example: onMouseOver → mouseover\n eventName = eventName.toLowerCase();\n } else {\n // Convert first character to lower case:\n // Example: onBeforeShow → beforeShow\n eventName = eventName.charAt(0).toLowerCase() + eventName.slice(1);\n }\n }\n\n const handlers = tag.node.handlers = tag.node.handlers || {};\n if (handlers[eventName]) {\n throw attr.buildCodeFrameError(\n \"Duplicate event handlers are not supported.\"\n );\n }\n\n handlers[eventName] = {\n arguments: args,\n once: eventType === \"once\"\n };\n\n if (isVDOM) {\n if (eventName === \"attach\" || eventName === \"detach\") {\n if (!attachedDetachedLoaded.has(file)) {\n // Pull in helper for element attach/detach;\n attachedDetachedLoaded.add(file);\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/components/attach-detach.js\"\n );\n }\n }\n }\n\n attr.remove();\n return;\n }\n },\n exit(attr) {\n const tag = attr.parentPath;\n const { name, arguments: args } = attr.node;\n const value = attr.get(\"value\");\n\n if (execModifiersAndDirectives(\"exit\", tag, attr, value)) {\n return;\n }\n\n const tagDef = (0, _babelUtils.getTagDef)(tag);\n\n if (tagDef) {\n if (!tagDef.html && !tagDef.getAttribute(name)) {\n throw attr.buildCodeFrameError(\n `<${\n tag.get(\"name.value\").node}> does not support the \"${\n name}\" attribute.`\n );\n }\n }\n\n if (args && args.length) {\n throw attr.buildCodeFrameError(\n `Unsupported arguments on the \"${name}\" attribute.`\n );\n }\n\n if (attr.node.bound) {\n throw attr.buildCodeFrameError(\n `The binding syntax (:=) is only supported when using the \"Tags API\".`\n );\n }\n }\n};\n\nfunction execModifiersAndDirectives(type, tag, attr, value) {\n const { node } = attr;\n const { name, modifier } = node;\n\n if (modifier) {\n const modifierTranslate = _modifiers.default[modifier];\n if (modifierTranslate) {\n if (modifierTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n modifierTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n } else if (name === \"xlink\" && modifier === \"href\" && (0, _babelUtils.isNativeTag)(tag)) {\n node.name += `:${modifier}`;\n node.modifier = undefined;\n } else {\n throw attr.buildCodeFrameError(`Unsupported modifier \"${modifier}\".`);\n }\n }\n\n const directiveTranslate = _directives.default[name];\n if (directiveTranslate) {\n if (directiveTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n directiveTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _noUpdate = _interopRequireDefault(require(\"./no-update\"));\nvar _scoped = _interopRequireDefault(require(\"./scoped\"));var _default = exports.default =\n\n{\n scoped: _scoped.default,\n \"no-update\": _noUpdate.default\n};","\"use strict\";exports.__esModule = true;exports.default = void 0; /**\n * Does nothing in html mode.\n */var _default = exports.default =\n{\n exit(tag, attr) {\n const { node } = tag;\n\n if (!node.preserveAttrs) {\n node.preserveAttrs = [];\n }\n\n node.preserveAttrs.push(attr.node.name);\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _compiler = require(\"@marko/compiler\");\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../../util/with-previous-location\"));var _default = exports.default =\n\n{\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n value.replaceWith(\n (0, _withPreviousLocation.default)(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(\n file._componentDefIdentifier,\n _compiler.types.identifier(\"elId\")\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\nvar _dynamicTag = _interopRequireDefault(require(\"./dynamic-tag\"));\nvar _nativeTag = _interopRequireDefault(require(\"./native-tag\"));\nvar _util = require(\"./util\");\n\nfunction _default(path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const { markoOpts } = file;\n const { name, key } = node;\n\n (0, _babelUtils.assertNoArgs)(path);\n\n let tagIdentifier;\n\n if (_compiler.types.isStringLiteral(name)) {\n const tagName = name.value;\n let relativePath = node.extra && node.extra.relativePath;\n\n if (!relativePath) {\n const tagDef = (0, _babelUtils.getTagDef)(path);\n if (tagDef && tagDef.renderer) {\n // Normally new tags should not be added in the translate stage.\n // We make an exception here for core tags, init-components & _preserve being the primary culprits.\n // TODO: in the future refactor so this is not needed.\n relativePath = (0, _babelUtils.resolveRelativePath)(file, tagDef.renderer);\n }\n }\n\n let binding = !relativePath && path.scope.getBinding(tagName);\n if (binding && !binding.identifier.loc) binding = null;\n\n if (binding && binding.kind === \"module\") {\n const importSource = binding.path.parent.source;\n relativePath =\n (0, _babelUtils.resolveTagImport)(path, importSource.value) || importSource.value;\n (node.extra ??= {}).tagNameImported = relativePath;\n binding = undefined;\n }\n\n const childFile = (0, _babelUtils.loadFileForTag)(path);\n const childProgram = childFile?.ast.program;\n\n if (childProgram?.extra?.featureType === \"tags\") {\n const compatRuntimeFile = `marko/src/runtime/helpers/tags-compat/${\n markoOpts.output === \"html\" ? \"html\" : \"dom\"}${\n markoOpts.optimize ? \"\" : \"-debug\"}.${markoOpts.modules === \"esm\" ? \"mjs\" : \"js\"}`;\n (0, _babelUtils.importDefault)(file, compatRuntimeFile);\n path.set(\"name\", (0, _babelUtils.importDefault)(file, relativePath, path.node.name.value));\n return (0, _dynamicTag.default)(path);\n } else if (relativePath) {\n if (binding) {\n\n\n\n\n\n\n\n // TODO: implement auto migration for conflicts here\n // and log below warning\n // console.warn(\n // path.buildCodeFrameError(\n // `The <${tagName}> tag has been resolved from the filesystem, however a local variable with the same name exists. In the next major version of Marko the local variable will tag precedence.`\n // )\n // );\n }tagIdentifier = (0, _babelUtils.importDefault)(file, relativePath, tagName);} else if (binding) {path.set(\"name\", _compiler.types.identifier(tagName));return (0, _dynamicTag.default)(path);} else if (markoOpts.ignoreUnrecognizedTags) {return (0, _nativeTag.default)(path);\n } else {\n throw path.\n get(\"name\").\n buildCodeFrameError(\n `Unable to find entry point for custom tag <${tagName}>.`\n );\n }\n } else {\n tagIdentifier = name;\n }\n\n const foundAttrs = (0, _util.getAttrs)(path);\n const customTagRenderCall = (0, _withPreviousLocation.default)(\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/helpers/render-tag.js\",\n \"marko_tag\"\n ),\n [\n tagIdentifier,\n // TODO: this could be left as null if we froze input mutations and used a default object in the runtime.\n _compiler.types.isNullLiteral(foundAttrs) ? _compiler.types.objectExpression([]) : foundAttrs,\n _compiler.types.identifier(\"out\"),\n file._componentDefIdentifier,\n key,\n ...(0, _util.buildEventHandlerArray)(path)]\n\n )\n ),\n node\n );\n\n if (isNullable) {\n let renderBodyIdentifier;\n const renderBodyProp =\n _compiler.types.isObjectExpression(foundAttrs) &&\n foundAttrs.properties.find(\n (prop) => prop.key && prop.key.value === \"renderBody\"\n );\n\n if (renderBodyProp) {\n renderBodyIdentifier = path.scope.generateUidIdentifier(\"renderBody\");\n path.insertBefore(\n _compiler.types.variableDeclaration(\"const\", [\n _compiler.types.variableDeclarator(renderBodyIdentifier, renderBodyProp.value)]\n )\n );\n\n renderBodyProp.value = renderBodyIdentifier;\n }\n\n path.replaceWith(\n _compiler.types.ifStatement(\n name,\n customTagRenderCall,\n renderBodyIdentifier &&\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(renderBodyIdentifier, [_compiler.types.identifier(\"out\")])\n )\n )\n );\n } else {\n path.replaceWith(customTagRenderCall);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\nvar _util = require(\"./util\");\n\nfunction _default(path) {\n const {\n node,\n hub: { file }\n } = path;\n const tagProperties = path.node.extra && path.node.extra.properties || [];\n const { key, arguments: args } = node;\n const foundAttrs = (0, _util.getAttrs)(path, true);\n let renderBodyProp;\n let attrsLen = _compiler.types.isNullLiteral(foundAttrs) ? 0 : 1;\n\n if (node.preserveAttrs) {\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"pa\"),\n _compiler.types.objectExpression(\n node.preserveAttrs.map((name) =>\n _compiler.types.objectProperty(\n _compiler.types.isValidIdentifier(name) ?\n _compiler.types.identifier(name) :\n _compiler.types.stringLiteral(name),\n _compiler.types.numericLiteral(1)\n )\n )\n )\n )\n );\n }\n\n if (_compiler.types.isObjectExpression(foundAttrs)) {\n const renderBodyIndex = foundAttrs.properties.findIndex(\n (prop) => prop.key && prop.key.value === \"renderBody\"\n );\n\n attrsLen = foundAttrs.properties.length;\n\n if (renderBodyIndex > -1) {\n renderBodyProp = foundAttrs.properties[renderBodyIndex];\n foundAttrs.properties.splice(renderBodyIndex, 1);\n attrsLen--;\n }\n }\n\n const dynamicTagRenderCall = _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n `marko/src/runtime/helpers/dynamic-tag.js`,\n \"marko_dynamic_tag\"\n ),\n [\n _compiler.types.identifier(\"out\"),\n node.name,\n attrsLen ? _compiler.types.arrowFunctionExpression([], foundAttrs) : _compiler.types.nullLiteral(),\n renderBodyProp ? renderBodyProp.value : _compiler.types.nullLiteral(),\n args && args.length ? _compiler.types.arrayExpression(args) : _compiler.types.nullLiteral(),\n tagProperties.length ?\n _compiler.types.objectExpression(tagProperties) :\n _compiler.types.nullLiteral(),\n file._componentDefIdentifier,\n key,\n ...(0, _util.buildEventHandlerArray)(path)]\n\n )\n );\n\n path.replaceWith((0, _withPreviousLocation.default)(dynamicTagRenderCall, node));\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _path = _interopRequireDefault(require(\"path\"));\n\nvar _keyManager = require(\"../util/key-manager\");\nvar _optimizeVdomCreate = require(\"../util/optimize-vdom-create\");\nvar _pluginHooks = require(\"../util/plugin-hooks\");\nvar _attribute = _interopRequireDefault(require(\"./attribute\"));\nvar _attributeTag = _interopRequireWildcard(require(\"./attribute-tag\"));\nvar _customTag = _interopRequireDefault(require(\"./custom-tag\"));\nvar _dynamicTag = _interopRequireDefault(require(\"./dynamic-tag\"));\nvar _macroTag = _interopRequireDefault(require(\"./macro-tag\"));\nvar _nativeTag = _interopRequireDefault(require(\"./native-tag\"));function _getRequireWildcardCache(e) {if (\"function\" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}var _default = exports.default =\n\n{\n enter(path) {\n const tagDef = (0, _babelUtils.getTagDef)(path);\n\n if (tagDef && tagDef.translator) {\n const { node } = path;\n (0, _pluginHooks.enter)(tagDef.translator.hook, path, _compiler.types);\n\n if (path.node !== node) {\n return;\n }\n }\n\n (0, _babelUtils.assertNoVar)(path);\n\n for (const attr of path.get(\"attributes\")) {\n if (attr.isMarkoAttribute()) {\n const { node } = path;\n _attribute.default.enter(attr);\n if (path.node !== node) {\n return;\n }\n }\n }\n\n if (!(0, _babelUtils.isAttributeTag)(path)) {\n if (\n !tagDef &&\n path.node.attributeTags.length &&\n path.hub.file.markoOpts.ignoreUnrecognizedTags &&\n !(0, _babelUtils.isDynamicTag)(path))\n {\n moveIgnoredAttrTags(path);\n }\n\n if ((0, _babelUtils.isDynamicTag)(path) || !((0, _babelUtils.isMacroTag)(path) || (0, _babelUtils.isNativeTag)(path))) {\n (0, _attributeTag.analyzeAttributeTags)(path);\n }\n\n (0, _keyManager.getKeyManager)(path).resolveKey(path);\n }\n\n (0, _optimizeVdomCreate.optimizeStaticVDOM)(path);\n },\n exit(path) {\n let isUnknownDynamic = false;\n let isDynamicNullable = false;\n\n if ((0, _babelUtils.isDynamicTag)(path)) {\n const name = path.get(\"name\");\n const types = findDynamicTagTypes(name);\n if (types && !(types.string && types.component)) {\n if (!name.isIdentifier()) {\n const tagIdentifier = path.scope.generateUidIdentifier(`tagName`);\n path.insertBefore(\n _compiler.types.variableDeclaration(\"const\", [\n _compiler.types.variableDeclarator(tagIdentifier, name.node)]\n )\n );\n\n name.replaceWith(tagIdentifier);\n }\n\n isDynamicNullable = types.empty;\n path.node._isDynamicString = types.string;\n } else {\n isUnknownDynamic = true;\n }\n }\n\n for (const attr of path.get(\"attributes\")) {\n if (attr.isMarkoAttribute()) {\n const { node } = path;\n _attribute.default.exit(attr);\n if (path.node !== node) {\n return;\n }\n }\n }\n\n if (isUnknownDynamic) {\n return (0, _dynamicTag.default)(path);\n }\n\n if ((0, _babelUtils.isAttributeTag)(path)) {\n return (0, _attributeTag.default)(path);\n }\n\n if ((0, _babelUtils.isMacroTag)(path)) {\n return (0, _macroTag.default)(path);\n }\n\n const tagDef = (0, _babelUtils.getTagDef)(path);\n\n if (tagDef && tagDef.translator) {\n const { node } = path;\n\n (0, _pluginHooks.exit)(tagDef.translator.hook, path, _compiler.types);\n\n if (path.node !== node) {\n return;\n }\n }\n\n if ((0, _babelUtils.isNativeTag)(path)) {\n return (0, _nativeTag.default)(path, isDynamicNullable);\n } else {\n return (0, _customTag.default)(path, isDynamicNullable);\n }\n }\n};\n\nconst HANDLE_BINDINGS = [\"module\", \"var\", \"let\", \"const\"];\nfunction findDynamicTagTypes(root) {\n const pending = [root];\n const types = {\n string: false,\n empty: false,\n component: false\n };\n let tagNameImported;\n\n let path;\n while (path = pending.pop()) {\n switch (path.type) {\n case \"ConditionalExpression\":\n pending.push(path.get(\"consequent\"));\n\n if (path.get(\"alternate\").node) {\n pending.push(path.get(\"alternate\"));\n }\n break;\n\n case \"LogicalExpression\":\n if (path.get(\"operator\").node === \"||\") {\n pending.push(path.get(\"left\"));\n } else {\n types.empty = true;\n }\n\n pending.push(path.get(\"right\"));\n break;\n\n case \"AssignmentExpression\":\n pending.push(path.get(\"right\"));\n break;\n\n case \"BinaryExpression\":\n if (path.get(\"operator\").node !== \"+\") {\n return false;\n }\n\n types.string = true;\n break;\n\n case \"StringLiteral\":\n case \"TemplateLiteral\":\n types.string = true;\n break;\n\n case \"NullLiteral\":\n types.empty = true;\n break;\n\n case \"Identifier\":\n if (path.get(\"name\").node === \"undefined\") {\n types.empty = true;\n } else {\n const binding = path.scope.getBinding(path.node.name);\n\n if (!binding || !HANDLE_BINDINGS.includes(binding.kind)) {\n return false;\n }\n\n if (binding.kind === \"module\") {\n const importSource = binding.path.parent.source;\n if (\n _compiler.types.isStringLiteral(importSource) &&\n isMarkoFile(importSource.value))\n {\n const resolvedImport =\n (0, _babelUtils.resolveTagImport)(root.parentPath, importSource.value) ||\n importSource.value;\n\n if (tagNameImported === undefined) {\n tagNameImported = resolvedImport;\n } else if (\n tagNameImported &&\n tagNameImported !== resolvedImport)\n {\n tagNameImported = null;\n }\n\n types.component = true;\n } else {\n return false;\n }\n } else {\n const initialValue = binding.path.get(\"init\");\n if (initialValue.node) {\n pending.push(initialValue);\n } else {\n types.empty = true;\n }\n\n const assignments = binding.constantViolations;\n if (assignments && assignments.length) {\n for (const assignment of assignments) {\n const operator = assignment.get(\"operator\").node;\n if (operator === \"=\") {\n pending.push(assignment.get(\"right\"));\n } else if (operator === \"+=\") {\n types.string = true;\n } else {\n return false;\n }\n }\n }\n }\n }\n break;\n\n default:\n return false;\n }\n }\n\n if (tagNameImported && !types.string) {\n (root.parent.extra ??= {}).tagNameImported = tagNameImported;\n }\n\n return types;\n}\n\nfunction isMarkoFile(request) {\n return _path.default.extname(request) === \".marko\" || /^<.*>$/.test(request);\n}\n\nfunction moveIgnoredAttrTags(parentTag) {\n if (!parentTag.node.attributeTags.length) return;\n\n for (const attrTag of parentTag.get(\"attributeTags\")) {\n if (attrTag.isMarkoTag()) {\n if ((0, _babelUtils.isAttributeTag)(attrTag)) {\n attrTag.set(\n \"name\",\n _compiler.types.stringLiteral(`at_${attrTag.get(\"name.value\").node.slice(1)}`)\n );\n }\n\n moveIgnoredAttrTags(attrTag);\n }\n }\n\n parentTag.node.body.body = parentTag.node.attributeTags.concat(\n parentTag.node.body.body\n );\n parentTag.node.attributeTags = [];\n}","\"use strict\";exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\nfunction _default(path) {\n path.node.name = (0, _babelUtils.getMacroIdentifier)(path);\n path.node._isMacroTagCall = true;\n path.requeue();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\nvar _nativeTagHtml = _interopRequireDefault(require(\"./native-tag[html]\"));\nvar _nativeTagVdom = _interopRequireDefault(require(\"./native-tag[vdom]\"));\n\nfunction _default(path, isNullable) {\n const {\n hub: { file }\n } = path;\n const { markoOpts } = file;\n\n if (!markoOpts.ignoreUnrecognizedTags) {\n (0, _babelUtils.assertNoArgs)(path);\n (0, _babelUtils.assertNoParams)(path);\n (0, _babelUtils.assertNoAttributeTags)(path);\n }\n\n if (markoOpts.output === \"html\") {\n (0, _nativeTagHtml.default)(path, isNullable);\n } else {\n (0, _nativeTagVdom.default)(path, isNullable);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _attr = _interopRequireDefault(require(\"marko/src/runtime/html/helpers/attr\"));\nvar _escapeQuotes = require(\"marko/src/runtime/html/helpers/escape-quotes\");\n\nvar _util = require(\"../util\");\n\nfunction _default(path, attrs) {\n const len = attrs.length;\n if (len === 0) return _compiler.types.stringLiteral(\"\");\n if (len === 1 && attrs[0].node.type === \"MarkoSpreadAttribute\") {\n return _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n path.hub.file,\n \"marko/src/runtime/html/helpers/attrs.js\",\n \"marko_attrs\"\n ),\n [attrs[0].node.value]\n );\n }\n\n if (attrs.some((attr) => attr.node.type === \"MarkoSpreadAttribute\")) {\n const attrsObjects = [];\n let props;\n\n for (let i = 0; i < len; i++) {\n const attr = attrs[i];\n const {\n node: { name, value }\n } = attr;\n\n if (name) {\n const computed = (0, _util.evaluateAttr)(attr);\n const prop = _compiler.types.objectProperty(\n _compiler.types.stringLiteral(name),\n computed?.value !== undefined ?\n _compiler.types.stringLiteral(computed.value) :\n value\n );\n if (props) {\n props.push(prop);\n } else {\n attrsObjects.push(_compiler.types.objectExpression(props = [prop]));\n }\n } else {\n attrsObjects.push(value);\n props = undefined;\n }\n }\n\n return _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n path.hub.file,\n \"marko/src/runtime/html/helpers/merge-attrs.js\",\n \"marko_merge_attrs\"\n ),\n attrsObjects\n );\n }\n\n const file = path.hub.file;\n const quasis = [];\n const expressions = [];\n const attrValues = new Map();\n let curString = \"\";\n\n // Remove duplicate attrs so last one wins.\n for (let i = len; i--;) {\n const attr = attrs[i];\n const { name, value } = attr.node;\n if (attrValues.has(name)) continue;\n const computed = (0, _util.evaluateAttr)(attr);\n attrValues.set(\n name,\n computed ?\n {\n confident: true,\n computed: computed.value,\n value\n } :\n {\n confident: false,\n computed: undefined,\n value\n }\n );\n }\n\n for (const [name, { confident, computed, value }] of [\n ...attrValues].\n reverse()) {\n if (confident) {\n if (computed == null || computed === false) {\n continue;\n }\n\n curString += (0, _attr.default)(name, computed);\n } else if (value.type === \"TemplateLiteral\") {\n curString += \" \" + name + '=\"';\n\n for (let i = 0; i < value.expressions.length; i++) {\n const quasi = value.quasis[i];\n const expression = value.expressions[i];\n curString += (0, _escapeQuotes.d)(quasi.value.cooked);\n quasis.push(curString);\n curString = \"\";\n expressions.push(\n _compiler.types.callExpression(\n (0, _babelUtils.importNamed)(\n file,\n \"marko/src/runtime/html/helpers/escape-quotes.js\",\n \"d\",\n \"marko_escape_double_quotes\"\n ),\n [expression]\n )\n );\n }\n\n curString +=\n (0, _escapeQuotes.d)(\n value.quasis[value.expressions.length].value.cooked\n ) + '\"';\n } else {\n quasis.push(curString);\n curString = \"\";\n expressions.push(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/html/helpers/attr.js\",\n \"marko_attr\"\n ),\n [_compiler.types.stringLiteral(name), value]\n )\n );\n }\n }\n\n quasis.push(curString);\n\n if (expressions.length) {\n return (0, _babelUtils.normalizeTemplateString)(quasis, ...expressions);\n } else {\n return _compiler.types.stringLiteral(quasis.join(\"\"));\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _path = require(\"path\");\nvar _selfClosingTags = _interopRequireDefault(require(\"self-closing-tags\"));\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../../util/html-out-write\"));\nvar _keyManager = require(\"../../util/key-manager\");\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../util/with-previous-location\"));\nvar _attributes = _interopRequireDefault(require(\"./attributes\"));\n\nconst EMPTY_OBJECT = {};\n\n/**\n * Translates the html streaming version of a standard html element.\n */\nfunction _default(path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const {\n key,\n name,\n body: { body },\n handlers\n } = node;\n const tagProperties = path.node.extra && path.node.extra.properties || [];\n const tagDef = (0, _babelUtils.getTagDef)(path);\n const meta = file.metadata.marko;\n\n if (tagDef) {\n const { parseOptions = EMPTY_OBJECT } = tagDef;\n if (parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n file.metadata.marko.deps.push((0, _path.resolve)(tagDef.dir, parseOptions.import));\n }\n }\n\n if (handlers) {\n Object.entries(handlers).forEach(\n ([eventName, { arguments: args, once }]) => {\n const delegateArgs = [_compiler.types.stringLiteral(eventName), args[0]];\n\n // TODO: look into only sending this if once is true.\n delegateArgs.push(_compiler.types.booleanLiteral(once));\n\n if (args.length > 1) {\n delegateArgs.push(_compiler.types.arrayExpression(args.slice(1)));\n }\n\n // TODO: why do we output eventName twice.\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(`on${eventName}`),\n _compiler.types.callExpression(\n _compiler.types.memberExpression(\n file._componentDefIdentifier,\n _compiler.types.identifier(\"d\")\n ),\n delegateArgs\n )\n )\n );\n }\n );\n }\n\n const isHTML = file.markoOpts.output === \"html\";\n let dataMarko = _compiler.types.stringLiteral(\"\");\n\n if (node.preserveAttrs) {\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"pa\"),\n _compiler.types.objectExpression(\n node.preserveAttrs.map((name) =>\n _compiler.types.objectProperty(\n _compiler.types.isValidIdentifier(name) ?\n _compiler.types.identifier(name) :\n _compiler.types.stringLiteral(name),\n _compiler.types.numericLiteral(1)\n )\n )\n )\n )\n );\n }\n\n if (isHTML) {\n if (\n !meta.hasStatefulTagParams &&\n !meta.hasFunctionEventHandlers && (\n meta.hasComponentBrowser || !meta.hasComponent) ||\n isPreserved(path))\n {\n const dataMarkoArgs = [_compiler.types.identifier(\"out\"), file._componentDefIdentifier];\n\n if (tagProperties.length) {\n // TODO we should pre evaluate this if it is static.\n dataMarkoArgs.push(_compiler.types.objectExpression(tagProperties));\n }\n\n if ((0, _keyManager.hasUserKey)(path) || key && node.isPreserved) {\n if (dataMarkoArgs.length === 2) {\n dataMarkoArgs.push(_compiler.types.numericLiteral(0));\n }\n\n dataMarkoArgs.push(key);\n }\n\n if (dataMarkoArgs.length > 2) {\n dataMarko = _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/html/helpers/data-marko.js\",\n \"marko_props\"\n ),\n dataMarkoArgs\n );\n }\n }\n }\n\n const translatedAttrs = (0, _attributes.default)(path, path.get(\"attributes\"));\n let isSelfClosing = false;\n let openTagEnding = \">\";\n\n if (_compiler.types.isStringLiteral(name)) {\n if (\n tagDef &&\n tagDef.htmlType && (\n tagDef.htmlType === \"svg\" || tagDef.htmlType === \"math\"))\n {\n if (!body.length) {\n isSelfClosing = true;\n openTagEnding = \" />\";\n }\n } else if (_selfClosingTags.default.voidElements.indexOf(name.value) !== -1) {\n isSelfClosing = true;\n }\n }\n\n const isEmpty = isSelfClosing || !body.length;\n let writeStartNode = (0, _babelUtils.normalizeTemplateString)`<${name}${dataMarko}${translatedAttrs}${openTagEnding}`;\n\n writeStartNode = (0, _withPreviousLocation.default)(\n isEmpty && !isSelfClosing ?\n (0, _htmlOutWrite.default)`${writeStartNode}` :\n (0, _htmlOutWrite.default)`${writeStartNode}`,\n name\n );\n\n if (isNullable) {\n writeStartNode = _compiler.types.ifStatement(name, writeStartNode);\n\n if (!isEmpty) {\n writeStartNode.alternate = _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(_compiler.types.identifier(\"out\"), _compiler.types.identifier(\"bf\")),\n [\n (0, _babelUtils.normalizeTemplateString)`f_${key}`,\n file._componentInstanceIdentifier,\n _compiler.types.numericLiteral(1)]\n\n )\n );\n }\n }\n\n if (isEmpty) {\n path.replaceWith(writeStartNode);\n return;\n }\n\n let needsBlock;\n for (const childNode of body) {\n if (_compiler.types.isVariableDeclaration(childNode)) {\n if (childNode.kind === \"const\" || childNode.kind === \"let\") {\n needsBlock = true;\n break;\n }\n }\n }\n\n let writeEndNode = (0, _htmlOutWrite.default)``;\n\n if (isNullable) {\n writeEndNode = _compiler.types.ifStatement(\n name,\n writeEndNode,\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(_compiler.types.identifier(\"out\"), _compiler.types.identifier(\"ef\")),\n []\n )\n )\n );\n }\n\n path.replaceWithMultiple(\n [writeStartNode].\n concat(needsBlock ? _compiler.types.blockStatement(body) : body).\n concat(writeEndNode)\n );\n}\n\nfunction isPreserved(path) {\n let parentTag = path;\n do {\n parentTag = parentTag.parentPath.parentPath;\n if (parentTag.get(\"isPreserved\").node === true) {\n return true;\n }\n } while (_compiler.types.isMarkoTag(parentTag));\n\n return false;\n}","\"use strict\";exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\n\nvar _util = require(\"../util\");\n\nfunction _default(path, attrs) {\n const len = attrs.length;\n if (len === 0) return _compiler.types.nullLiteral();\n if (len === 1 && attrs[0].node.type === \"MarkoSpreadAttribute\") {\n return _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n path.hub.file,\n \"marko/src/runtime/vdom/helpers/attrs.js\",\n \"marko_attrs\"\n ),\n [attrs[0].node.value]\n );\n }\n\n if (attrs.some((attr) => attr.node.type === \"MarkoSpreadAttribute\")) {\n const attrsObjects = [];\n let props;\n\n for (let i = 0; i < len; i++) {\n const attr = attrs[i];\n const {\n node: { name, value }\n } = attr;\n\n if (name) {\n const computed = (0, _util.evaluateAttr)(attr);\n const prop = _compiler.types.objectProperty(\n _compiler.types.stringLiteral(name),\n computed?.value !== undefined ?\n _compiler.types.stringLiteral(computed.value) :\n value\n );\n if (props) {\n props.push(prop);\n } else {\n attrsObjects.push(_compiler.types.objectExpression(props = [prop]));\n }\n } else {\n attrsObjects.push(value);\n props = undefined;\n }\n }\n\n return _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n path.hub.file,\n \"marko/src/runtime/vdom/helpers/merge-attrs.js\",\n \"marko_merge_attrs\"\n ),\n attrsObjects\n );\n }\n\n const attrValues = new Map();\n const props = [];\n\n // Remove duplicate attrs so last one wins.\n for (let i = len; i--;) {\n const attr = attrs[i];\n const { name, value } = attr.node;\n if (attrValues.has(name)) continue;\n const computed = (0, _util.evaluateAttr)(attr);\n attrValues.set(\n name,\n computed ?\n {\n confident: true,\n computed: computed.value,\n value\n } :\n {\n confident: false,\n computed: undefined,\n value\n }\n );\n }\n\n for (const [name, { confident, computed, value }] of [\n ...attrValues].\n reverse()) {\n if (confident) {\n if (computed == null || computed === false) {\n continue;\n }\n\n props.push(\n _compiler.types.objectProperty(_compiler.types.stringLiteral(name), _compiler.types.stringLiteral(computed))\n );\n } else {\n props.push(_compiler.types.objectProperty(_compiler.types.stringLiteral(name), value));\n }\n }\n\n if (props.length) {\n return _compiler.types.objectExpression(props);\n }\n\n return _compiler.types.nullLiteral();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\n\nvar FLAGS = _interopRequireWildcard(require(\"../../util/runtime-flags\"));\nvar _vdomOutWrite = _interopRequireDefault(require(\"../../util/vdom-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../util/with-previous-location\"));\nvar _attributes = _interopRequireDefault(require(\"./attributes\"));function _getRequireWildcardCache(e) {if (\"function\" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}\n\nconst SIMPLE_ATTRS = [\"id\", \"class\", \"style\"];\n\n/**\n * Translates the html streaming version of a standard html element.\n */\nfunction _default(path, isNullable) {\n const { node } = path;\n const {\n name,\n key,\n body: { body }\n } = node;\n\n const isEmpty = !body.length;\n const writeArgs = tagArguments(path, false);\n let writeStartNode = (0, _withPreviousLocation.default)(\n (0, _vdomOutWrite.default)(isEmpty ? \"e\" : \"be\", ...writeArgs),\n node.name\n );\n\n if (isNullable) {\n writeStartNode = _compiler.types.ifStatement(name, writeStartNode);\n\n if (!isEmpty) {\n writeStartNode.alternate = _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(_compiler.types.identifier(\"out\"), _compiler.types.identifier(\"bf\")),\n [\n (0, _babelUtils.normalizeTemplateString)`f_${key}`,\n path.hub.file._componentInstanceIdentifier]\n\n )\n );\n }\n }\n\n if (isEmpty) {\n path.replaceWith(writeStartNode);\n return;\n }\n\n let writeEndNode = (0, _vdomOutWrite.default)(\"ee\");\n if (isNullable) {\n writeEndNode = _compiler.types.ifStatement(\n name,\n writeEndNode,\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(_compiler.types.identifier(\"out\"), _compiler.types.identifier(\"ef\")),\n []\n )\n )\n );\n }\n\n let needsBlock;\n for (const childNode of body) {\n if (_compiler.types.isVariableDeclaration(childNode)) {\n if (childNode.kind === \"const\" || childNode.kind === \"let\") {\n needsBlock = true;\n break;\n }\n }\n }\n\n path.replaceWithMultiple(\n [writeStartNode].\n concat(needsBlock ? _compiler.types.blockStatement(body) : body).\n concat(writeEndNode)\n );\n}\n\nfunction isPropertyName({ key }, names) {\n if (_compiler.types.isStringLiteral(key)) {\n return names.includes(key.value);\n } else if (_compiler.types.isIdentifier(key)) {\n return names.includes(key.name);\n }\n}\n\nfunction tagArguments(path) {\n const {\n hub: { file },\n node\n } = path;\n const {\n name,\n key,\n body: { body },\n handlers\n } = node;\n const tagProperties = path.node.extra && path.node.extra.properties || [];\n const attrsObj = (0, _attributes.default)(path, path.get(\"attributes\"));\n let runtimeFlags = 0;\n\n if (!_compiler.types.isNullLiteral(attrsObj) && !_compiler.types.isObjectExpression(attrsObj)) {\n runtimeFlags |= FLAGS.SPREAD_ATTRS;\n }\n\n const writeArgs = [\n name,\n attrsObj,\n key,\n file._componentInstanceIdentifier,\n body.length ? _compiler.types.nullLiteral() : _compiler.types.numericLiteral(0)];\n\n\n if (node.preserveAttrs) {\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"pa\"),\n _compiler.types.objectExpression(\n node.preserveAttrs.map((name) =>\n _compiler.types.objectProperty(\n _compiler.types.isValidIdentifier(name) ?\n _compiler.types.identifier(name) :\n _compiler.types.stringLiteral(name),\n _compiler.types.numericLiteral(1)\n )\n )\n )\n )\n );\n }\n\n if (handlers) {\n Object.entries(handlers).forEach(\n ([eventName, { arguments: args, once }]) => {\n const delegateArgs = [_compiler.types.stringLiteral(eventName), args[0]];\n\n // TODO: look into only sending this if once is true.\n delegateArgs.push(_compiler.types.booleanLiteral(once));\n\n if (args.length > 1) {\n delegateArgs.push(_compiler.types.arrayExpression(args.slice(1)));\n }\n\n // TODO: why do we output eventName twice.\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(`on${eventName}`),\n _compiler.types.callExpression(\n _compiler.types.memberExpression(\n file._componentDefIdentifier,\n _compiler.types.identifier(\"d\")\n ),\n delegateArgs\n )\n )\n );\n }\n );\n }\n\n if (\n _compiler.types.isObjectExpression(attrsObj) &&\n attrsObj.properties.every((n) => isPropertyName(n, SIMPLE_ATTRS)) &&\n !node.preserveAttrs)\n {\n runtimeFlags |= FLAGS.HAS_SIMPLE_ATTRS;\n }\n\n const tagDef = (0, _babelUtils.getTagDef)(path);\n\n if (tagDef) {\n const { htmlType } = tagDef;\n if (htmlType === \"custom-element\") {\n runtimeFlags |= FLAGS.IS_CUSTOM_ELEMENT;\n }\n }\n\n writeArgs.push(_compiler.types.numericLiteral(runtimeFlags));\n\n if (tagProperties.length) {\n writeArgs.push(_compiler.types.objectExpression(tagProperties));\n }\n return writeArgs;\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.buildEventHandlerArray = buildEventHandlerArray;exports.evaluateAttr = evaluateAttr;exports.getAttrs = getAttrs;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\nvar _classValue = _interopRequireDefault(require(\"marko/src/runtime/helpers/class-value\"));\nvar _styleValue = _interopRequireDefault(require(\"marko/src/runtime/helpers/style-value\"));\n\nfunction getAttrs(path, preserveNames) {\n const { node } = path;\n const {\n extra,\n attributes,\n attributeTags,\n body: { body, params }\n } = node;\n const attrsLen = attributes.length;\n const childLen = body.length;\n const properties = [];\n const targetObjects = {};\n const tagDef = (0, _babelUtils.getTagDef)(path);\n const foundProperties = {};\n const hasAttributeTags = !!attributeTags.length;\n\n for (let i = 0; i < attrsLen; i++) {\n const { name, value } = attributes[i];\n\n if (name) {\n const attrDef = tagDef && tagDef.getAttribute(name);\n let targetProperties = properties;\n let targetProperty = name;\n let preserveName = preserveNames;\n\n if (attrDef) {\n if (attrDef.targetProperty) {\n const key = attrDef.targetProperty;\n preserveName =\n attrDef.preserveName !== false && attrDef.removeDashes !== true;\n\n if (attrDef.dynamicAttribute) {\n let targetObject = targetObjects[key];\n\n if (!targetObject) {\n properties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(key),\n targetObject = targetObjects[key] = _compiler.types.objectExpression([])\n )\n );\n }\n\n targetProperties = targetObject.properties;\n } else {\n targetProperty = key;\n }\n } else if (\n !preserveName && (\n attrDef.preserveName === true || attrDef.removeDashes === false))\n {\n preserveName = true;\n }\n }\n\n if (!preserveName) {\n targetProperty = camelCase(targetProperty);\n }\n\n foundProperties[targetProperty] = true;\n targetProperties.push(\n _compiler.types.objectProperty(_compiler.types.stringLiteral(targetProperty), value)\n );\n } else {\n mergeSpread(properties, value);\n }\n }\n\n if (childLen && !hasAttributeTags) {\n properties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(\"renderBody\"),\n _compiler.types.arrowFunctionExpression(\n [_compiler.types.identifier(\"out\"), ...params],\n _compiler.types.blockStatement(body)\n )\n )\n );\n }\n\n // Default parameters\n tagDef &&\n tagDef.forEachAttribute &&\n tagDef.forEachAttribute((attr) => {\n if (foundProperties[attr.name] || attr.dynamicAttribute) {\n return;\n }\n\n if (attr.defaultValue !== undefined) {\n properties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(attr.name),\n _compiler.types.stringLiteral(attr.defaultValue + \"\")\n )\n );\n } else if (attr.required) {\n throw path.\n get(\"name\").\n buildCodeFrameError(`The \"${attr.name}\" attribute is required.`);\n }\n });\n\n let attrsObject =\n properties.length === 0 ?\n _compiler.types.nullLiteral() :\n !hasAttributeTags &&\n properties.length === 1 &&\n _compiler.types.isSpreadElement(properties[0]) ?\n properties[0].argument :\n _compiler.types.objectExpression(properties);\n\n if (hasAttributeTags) {\n let attrTagBody = attributeTags;\n\n if (body.length) {\n attrTagBody = attrTagBody.concat(\n _compiler.types.returnStatement(\n _compiler.types.arrowFunctionExpression(\n [_compiler.types.identifier(\"out\"), ...params],\n _compiler.types.blockStatement(body)\n )\n )\n );\n }\n\n const attrTagFn = _compiler.types.arrowFunctionExpression(\n [],\n _compiler.types.blockStatement(attrTagBody)\n );\n\n attrsObject = _compiler.types.callExpression(\n (0, _babelUtils.importNamed)(\n path.hub.file,\n \"marko/src/runtime/helpers/attr-tag.js\",\n \"i\",\n \"marko_render_input\"\n ),\n properties.length === 0 ? [attrTagFn] : [attrTagFn, attrsObject]\n );\n }\n\n return attrsObject;\n}\n\nfunction buildEventHandlerArray(path) {\n const { handlers } = path.node;\n if (!handlers) {\n return [];\n }\n\n return [\n _compiler.types.arrayExpression(\n Object.entries(handlers).map(([eventName, { arguments: args, once }]) => {\n const parts = [\n _compiler.types.stringLiteral(eventName),\n args[0],\n _compiler.types.booleanLiteral(once)];\n\n\n if (args.length > 1) {\n parts.push(_compiler.types.arrayExpression(args.slice(1)));\n }\n\n return _compiler.types.arrayExpression(parts);\n })\n )];\n\n}\n\nfunction evaluateAttr(attr) {\n const computed = (0, _babelUtils.computeNode)(attr.node.value);\n if (computed) {\n const { value } = computed;\n switch (attr.node.name) {\n case \"class\":\n return {\n value: (0, _classValue.default)(value)?.replace(/\\s+/, \" \").trim()\n };\n case \"style\":\n return {\n value: (0, _styleValue.default)(value)?.\n replace(/\\s+/, \" \").\n trim().\n replace(/;$/, \"\")\n };\n }\n\n if (value == null || value === false) {\n return { value: undefined };\n }\n\n if (value === true) {\n return { value: \"\" };\n }\n\n if (typeof value === \"object\") {\n switch (value.toString) {\n case Object.prototype.toString:\n case Array.prototype.toString:\n return { value: JSON.stringify(value) };\n case RegExp.prototype.toString:\n return { value: value.source };\n }\n }\n\n return { value: value + \"\" };\n }\n}\n\nfunction camelCase(string) {\n return string.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n\nfunction findLastIndex(arr, check) {\n for (let i = arr.length; i--;) {\n if (check(arr[i])) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction mergeSpread(properties, value) {\n if (_compiler.types.isObjectExpression(value)) {\n for (const prop of value.properties) {\n if (_compiler.types.isSpreadElement(prop)) {\n mergeSpread(properties, prop.argument);\n } else {\n properties.push(prop);\n }\n }\n } else {\n properties.push(_compiler.types.spreadElement(value));\n }\n}","\"use strict\";exports.__esModule = true;exports.exit = exit;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _util = require(\"./util\");\n\nfunction exit(path) {\n (0, _babelUtils.assertNoAttributes)(path);\n\n const { ifStatement, arguments: args } = path.node;\n\n if (!ifStatement) {\n throw path.\n get(\"name\").\n buildCodeFrameError(\n \"Invalid 'else-if' tag, expected preceding 'if' or 'else-if' tag.\"\n );\n }\n\n ifStatement.alternate = (0, _util.buildIfStatement)(path, args);\n path.remove();\n}","\"use strict\";exports.__esModule = true;exports.exit = exit;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\n\nfunction exit(path) {\n (0, _babelUtils.assertNoArgs)(path);\n (0, _babelUtils.assertNoAttributes)(path);\n\n const { ifStatement } = path.node;\n\n if (!ifStatement) {\n throw path.\n get(\"name\").\n buildCodeFrameError(\n \"Invalid 'else' tag, expected preceding 'if' or 'else-if' tag.\"\n );\n }\n\n ifStatement.alternate = _compiler.types.blockStatement(\n path.node.attributeTags.length ?\n path.node.attributeTags :\n path.node.body.body\n );\n path.remove();\n}","\"use strict\";exports.__esModule = true;exports.exit = exit;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _util = require(\"./util\");\n\nfunction exit(path) {\n (0, _babelUtils.assertNoAttributes)(path);\n path.replaceWith((0, _util.buildIfStatement)(path, path.node.arguments));\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.buildIfStatement = buildIfStatement;var _compiler = require(\"@marko/compiler\");\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../../util/with-previous-location\"));\n\nfunction buildIfStatement(path, args) {\n if (!args || !args.length) {\n const name = path.get(\"name\");\n throw name.buildCodeFrameError(\n `Invalid '<${name.node.value}>' tag, expected arguments like '<${name.node.value}(test)>'.`\n );\n }\n\n const ifStatement = _compiler.types.ifStatement(\n args.length === 1 ? args[0] : _compiler.types.sequenceExpression(args),\n _compiler.types.blockStatement(\n path.node.attributeTags.length ?\n path.node.attributeTags :\n path.node.body.body\n )\n );\n\n let nextPath = path.getNextSibling();\n\n while (\n nextPath.isMarkoComment() ||\n nextPath.isMarkoText() && /^\\s*$/.test(nextPath.node.value))\n {\n const ignorePath = nextPath;\n nextPath = nextPath.getNextSibling();\n ignorePath.remove();\n }\n\n // Provide the if statement to the next part of the if chain.\n if (nextPath.isMarkoTag()) {\n const nextTagName = nextPath.get(\"name\");\n if (\n nextTagName.isStringLiteral({ value: \"else\" }) ||\n nextTagName.isStringLiteral({ value: \"else-if\" }))\n {\n nextPath.node.ifStatement = ifStatement;\n }\n }\n\n return (0, _withPreviousLocation.default)(ifStatement, path.node);\n}","\"use strict\";exports.__esModule = true;exports.default = void 0;var translateElse = _interopRequireWildcard(require(\"./conditional/translate-else\"));\nvar translateElseIf = _interopRequireWildcard(require(\"./conditional/translate-else-if\"));\nvar translateIf = _interopRequireWildcard(require(\"./conditional/translate-if\"));\nvar parseMacro = _interopRequireWildcard(require(\"./macro/parse\"));\nvar translateMacro = _interopRequireWildcard(require(\"./macro/translate\"));\nvar parseClass = _interopRequireWildcard(require(\"./parse-class\"));\nvar parseExport = _interopRequireWildcard(require(\"./parse-export\"));\nvar parseImport = _interopRequireWildcard(require(\"./parse-import\"));\nvar parseModuleCode = _interopRequireWildcard(require(\"./parse-module-code\"));\nvar parseStatic = _interopRequireWildcard(require(\"./parse-static\"));\nvar transformStyle = _interopRequireWildcard(require(\"./transform-style\"));\nvar translateAwait = _interopRequireWildcard(require(\"./translate-await\"));\nvar translateBody = _interopRequireWildcard(require(\"./translate-body\"));\nvar translateFor = _interopRequireWildcard(require(\"./translate-for\"));\nvar translateHTMLComment = _interopRequireWildcard(require(\"./translate-html-comment\"));\nvar translateIncludeContent = _interopRequireWildcard(require(\"./translate-include-content\"));\nvar translateServerOnly = _interopRequireWildcard(require(\"./translate-server-only\"));\nvar translateWhile = _interopRequireWildcard(require(\"./translate-while\"));function _getRequireWildcardCache(e) {if (\"function\" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}var _default = exports.default =\n\n{\n \"taglib-id\": \"marko-default-core\",\n \"\": {\n \"node-factory\": parseImport,\n \"parse-options\": {\n statement: true,\n rawOpenTag: true\n },\n autocomplete: [\n {\n displayText: 'import from \"\"',\n description:\n \"Use to import external modules, follows the same syntax as JavaScript imports.\",\n snippet: 'import ${2} from \"${1:path}\"',\n descriptionMoreURL:\n \"https://markojs.com/docs/syntax/#importing-external-files\"\n }]\n\n },\n \"\": {\n \"node-factory\": parseExport,\n \"parse-options\": {\n statement: true,\n rawOpenTag: true\n },\n autocomplete: [\n {\n displayText: \"export \",\n description:\n \"Use export additional data with the template, follows the same syntax as JavaScript exports.\",\n snippet: \"export ${1}\",\n descriptionMoreURL:\n \"https://markojs.com/docs/syntax/#importing-external-files\"\n }]\n\n },\n \"\": {\n \"node-factory\": parseClass,\n \"parse-options\": {\n statement: true,\n rawOpenTag: true\n },\n autocomplete: [\n {\n displayText: \"class { /** lifecycle methods **/ }\",\n snippet: \"class {\\n\\t$0\\n}\",\n description:\n \"A class containing the lifecycle methods, event handlers, and other properties for this component.\",\n descriptionMoreURL:\n \"https://markojs.com/docs/class-components/#single-file-components\"\n }]\n\n },\n \"\": {\n \"node-factory\": parseStatic,\n \"parse-options\": {\n statement: true,\n rawOpenTag: true\n },\n autocomplete: [\n {\n displayText: \"static \",\n description:\n \"A JavaScript statement which is only evaluated once your template is loaded.\",\n descriptionMoreURL:\n \"https://markojs.com/docs/syntax/#static-javascript\"\n }]\n\n },\n \"\" +\n `
' +\n result.toString() +\n \"
\"\n );\n } else {\n asyncOut.write(\n `
' +\n result.toString() +\n \"
\"\n );\n }\n\n if (!flushedScript && flushedPlaceholder) {\n flushedScript = true;\n asyncOut.script(\n `$${reorderFunctionId}(` + (\n typeof awaitInfo.id === \"number\" ?\n awaitInfo.id :\n '\"' + awaitInfo.id + '\"') + (\n awaitInfo.after ? ',\"' + awaitInfo.after + '\"' : \"\") +\n \")\"\n );\n }\n\n awaitInfo.out.writer = asyncOut.writer;\n\n out.emit(\"await:finish\", awaitInfo);\n\n out.flush();\n\n if (--remaining === 0) {\n asyncOut.end();\n next();\n }\n }\n }\n\n awaitContext.instances.forEach(handleAwait);\n\n out.on(\"await:clientReorder\", function (awaitInfo) {\n remaining++;\n handleAwait(awaitInfo);\n });\n\n // Now that we have a listener attached, we want to receive any additional\n // out-of-sync instances via an event\n delete awaitContext.instances;\n });\n};","\"use strict\";\n/* jshint newcap:false */\n\nvar BaseState;\nvar BaseComponent;\nvar inherit;\nvar req = require(\"@internal/require\");\nvar registry = require(\"@internal/components-registry\");\nvar jQuery = require(\"../../../runtime/components/legacy/jquery\");\nvar ready = require(\"../../../runtime/components/legacy/ready\");\n// eslint-disable-next-line no-constant-binary-expression\n\nvar hasHowOwnProperty = {}.hasOwnProperty;\nvar stateToJSONDef = {\n enumerable: false,\n value: function returnSelf() {\n return this;\n }\n};\nfunction noop() {}\n\nmodule.exports = function defineWidget(def, renderer) {\n def = def.Widget || def;\n\n if (def.y_) {\n return def;\n }\n\n var ComponentClass = function () {};\n var proto;\n var legacyInit;\n\n if (typeof def === \"function\") {\n proto = def.prototype;\n legacyInit = def;\n } else if (typeof def === \"object\") {\n proto = def;\n legacyInit = def.init;\n } else {\n throw TypeError();\n }\n\n ComponentClass.prototype = proto;\n\n // We don't use the constructor provided by the user\n // since we don't invoke their constructor until\n // we have had a chance to do our own initialization.\n // Instead, we store their constructor in the \"initComponent\"\n // property and that method gets called later inside\n // init-components-browser.js\n function Component(id, doc) {\n BaseComponent.call(this, id, doc);\n }\n\n if (!proto.y_) {\n // Inherit from Component if they didn't already\n ComponentClass.prototype = Object.create(BaseComponent.prototype);\n for (var propName in proto) {\n if (hasOwnProperty.call(proto, propName)) {\n ComponentClass.prototype[propName] = proto[propName];\n }\n }\n }\n\n // The same prototype will be used by our constructor after\n // we he have set up the prototype chain using the inherit function\n proto = Component.prototype = ComponentClass.prototype;\n proto.z_ = true;\n\n proto.constructor = def.constructor = Component;\n\n Object.defineProperty(proto, \"state\", {\n get: function () {\n var raw = this.A_ && this.A_.B_;\n\n if (raw && !raw.toJSON) {\n Object.defineProperty(this.A_.B_, \"toJSON\", stateToJSONDef);\n }\n\n return raw;\n },\n set: function (newState) {\n newState = newState || {};\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n\n\n\n this.setState(newState);\n }\n });\n\n Object.defineProperty(proto, \"__document\", {\n get: function () {\n // eslint-disable-next-line no-constant-condition\n\n\n\n return this.C_;\n }\n });\n\n Object.defineProperty(proto, \"el\", {\n get: function () {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n\n\n return this.D_;\n }\n });\n\n // get legacy methods\n\n proto.E_ = proto.onRender;\n Object.defineProperty(proto, \"onRender\", {\n get: noop,\n set: function (v) {\n proto.E_ = v;\n }\n });\n\n proto.F_ = proto.onUpdate;\n Object.defineProperty(proto, \"onUpdate\", {\n get: function () {\n return modernMountOrUpdate;\n },\n set: function (v) {\n proto.F_ = v;\n }\n });\n\n proto.G_ = proto.onDestroy;\n Object.defineProperty(proto, \"onDestroy\", {\n get: function () {\n return modernOnDestory;\n },\n set: function (v) {\n proto.G_ = v;\n }\n });\n\n proto.getWidget = proto.getComponent;\n proto.getWidgets = proto.getComponents;\n proto.onMount = modernMountOrUpdate;\n\n if (legacyInit) {\n proto.H_ = legacyInit;\n }\n\n // convert legacy to modern\n proto.I_ = proto.update;\n proto.update = function () {\n if (this.J_) {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n this.destroy = modernOnDestory;\n this.J_ = false;\n }\n this.K_ = true;\n if (this.D_) {\n this.onBeforeUpdate && this.onBeforeUpdate();\n }\n\n this.I_();\n this.K_ = false;\n };\n\n function modernMountOrUpdate() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var self = this;\n var el = this.L_[\"@_wbind\"];\n var prevEl = this.D_;\n\n if (prevEl !== el) {\n this.D_ = el;\n\n if (prevEl) {\n this.onBeforeDestroy && this.onBeforeDestroy();\n this.G_ && this.G_();\n this.M_ = undefined;\n this.removeAllListeners();\n }\n\n if (el) {\n this.H_ && this.H_(this.widgetConfig || {});\n this.E_ && this.E_({ firstRender: true });\n this.M_ = legacyRender;\n\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n el.__widget = this;\n\n }\n } else if (el) {\n if (prevEl) {\n this.F_ && this.F_();\n }\n\n if (this.N_) {\n this.E_ &&\n this.E_({ firstRender: false });\n }\n }\n\n this.O_ = this.P_;\n this.P_ = null;\n this.N_ = false;\n }\n\n function legacyRender() {\n if (!this.K_) {\n this.onBeforeUpdate && this.onBeforeUpdate();\n }\n\n this.N_ = true;\n }\n\n function modernOnDestory() {\n if (this.D_) {\n this.onBeforeDestroy && this.onBeforeDestroy();\n this.G_ && this.G_();\n this.D_ = null;\n }\n }\n\n // Set a flag on the constructor function to make it clear this is\n // a component so that we can short-circuit this work later\n Component.y_ = true;\n\n function State() {\n BaseState.apply(this, arguments);\n }\n inherit(State, BaseState);\n proto.Q_ = State;\n\n jQuery.patchComponent(\n window.$,\n proto,\n true /* don't throw error until used if `$` is missing*/\n );\n\n ready.patchComponent(proto);\n\n if (!renderer) {\n renderer = ComponentClass.renderer || ComponentClass.prototype.renderer;\n if (renderer) {\n // Legacy support\n var createOut = renderer.createOut;\n if (typeof renderer !== \"function\") {\n var rendererObject = renderer;\n renderer = function (input, out) {\n var rendererFunc = rendererObject.renderer || rendererObject.render;\n rendererFunc(input, out);\n };\n renderer.createOut = createOut;\n }\n\n renderer.render = function (input) {\n var out = createOut();\n renderer(input, out);\n return out.end();\n };\n }\n }\n\n if (renderer) {\n // Add the rendering related methods as statics on the\n // new component constructor function\n Component.renderer = proto.R_ = renderer;\n Component.render = renderer.render;\n Component.renderSync = renderer.renderSync;\n }\n\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n Component._isWidget = true;\n\n\n var template = def.template;\n if (template) {\n if (typeof template === \"string\") {\n template = req(template);\n }\n\n registry.r((template.default || template).S_, function () {\n return Component;\n });\n }\n\n return Component;\n};\n\nBaseState = require(\"../../../runtime/components/State\");\nBaseComponent = require(\"../../../runtime/components/Component\");\ninherit = require(\"raptor-util/inherit\");","\"use strict\";var Component = require(\"../../../runtime/components/Component\");\nvar req = require(\"@internal/require\");\nvar getComponentForEl =\nrequire(\"@internal/components-util\").U_;\n\n// eslint-disable-next-line no-constant-binary-expression\n\n\n// expose legacy\nrequire(\"@internal/components-registry\")._h_ = exports;\nexports.load = function (typeName) {\n return exports.defineWidget(req(typeName));\n};\n\n// legacy api\nexports.defineComponent = require(\"../../../runtime/components/legacy/defineComponent-legacy\");\nexports.defineWidget = require(\"@internal/components-define-widget-legacy\");\nexports.defineRenderer = require(\"../../../runtime/components/legacy/defineRenderer-legacy\");\nexports.makeRenderable =\nexports.renderable = require(\"../../../runtime/renderable\");\n\n// browser only\nvar Widget = exports.Widget = Component;\nexports.getWidgetForEl = exports.get = function (elOrId) {\n var el = elOrId;\n\n if (typeof elOrId === \"string\") {\n el = document.getElementById(elOrId);\n }\n\n if (el && el.__widget) {\n return el.__widget;\n }\n\n return getComponentForEl(el);\n};\nexports.initWidgets =\nrequire(\"@internal/components-registry\").V_;\n\n// monkey patch Widget\nif (Widget) {\n var WidgetProto = Widget.prototype;\n WidgetProto.setProps = function (newInput) {\n this._i_ = true;\n this._j_(newInput);\n };\n WidgetProto.rerender = function (newInput) {\n if (newInput) {\n this.setProps(newInput);\n }\n\n this.forceUpdate();\n this.update();\n };\n}\n\nvar RenderResult = require(\"../../../runtime/RenderResult\");\n\nRenderResult.prototype.getWidget = function () {\n // eslint-disable-next-line no-constant-condition\n\n\n\n return this.getWidgets()[0];\n};\nRenderResult.prototype.getWidgets = function () {\n // eslint-disable-next-line no-constant-condition\n\n\n\n return RenderResult.prototype.getComponents.\n apply(this, arguments).\n filter(function (component) {\n return component.z_;\n });\n};","\"use strict\";var encoder = new TextEncoder();\nvar noop = function () {};\n\nmodule.exports = function (data) {\n\n var transformStream = new TransformStream();\n var writer = transformStream.writable.getWriter();\n var facade = {\n write: function (string) {\n writer.write(encoder.encode(string));\n },\n end: function () {\n writer.close();\n }\n };\n var out = this.createOut(\n data && data.$global,\n facade,\n undefined,\n this._W_\n );\n out.once(\"error\", (err) => {\n facade.write = facade.end = noop;\n writer.abort(err);\n });\n this.render(data, out);\n out.end();\n\n return transformStream.readable;\n};","\"use strict\";\n// eslint-disable-next-line no-constant-binary-expression\n\n\nclass ServerComponent {\n constructor(id, input, out, typeName, customEvents, scope) {\n this.id = id;\n this.X_ = customEvents;\n this.Y_ = scope;\n this.typeName = typeName;\n this.Z_ = undefined; // Used to keep track of bubbling DOM events for components rendered on the server\n this._a_ = 0;\n\n this.onCreate(input, out);\n this._b_ = this.onInput(input, out) || input;\n if (this.P_ === undefined) {\n this.P_ = this._b_;\n }\n this.onRender(out);\n }\n\n set input(newInput) {\n this.P_ = newInput;\n }\n\n get input() {\n return this.P_;\n }\n\n set state(newState) {\n this.A_ = newState;\n }\n\n get state() {\n return this.A_;\n }\n\n get aD_() {\n return this.A_;\n }\n\n elId(nestedId) {\n var id = this.id;\n\n if (nestedId == null) {\n return id;\n } else {\n if (typeof nestedId !== \"string\") {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n nestedId = String(nestedId);\n }\n\n if (nestedId.indexOf(\"#\") === 0) {\n id = \"#\" + id;\n nestedId = nestedId.substring(1);\n }\n\n return id + \"-\" + nestedId;\n }\n }\n\n onCreate() {}\n onInput() {}\n onRender() {}\n}\n\nServerComponent.prototype.getElId = ServerComponent.prototype.elId;\n\nmodule.exports = ServerComponent;","\"use strict\";var eventDelegation = require(\"./event-delegation\");\nvar delegateEvent = eventDelegation.aT_;\nvar getEventFromEl = eventDelegation.aU_;\n\n// var componentsUtil = require('@internal/components-util');\n// var destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;\n// var destroyComponentForNode = componentsUtil.___destroyComponentForNode;\n\nfunction handleNodeAttach(node, componentsContext) {\n if (node.nodeType === 1) {\n var eventName = \"onattach\";\n var target = getEventFromEl(node, eventName);\n if (target) {\n var out = componentsContext.s_;\n var data = out.data;\n\n var attachTargets = data.aV_;\n if (!attachTargets) {\n attachTargets = data.aV_ = [];\n out.on(\"aQ_\", function () {\n for (var i = 0; i < attachTargets.length; i += 2) {\n var node = attachTargets[i];\n var target = attachTargets[i + 1];\n delegateEvent(node, eventName, target, {});\n }\n });\n }\n\n attachTargets.push(node);\n attachTargets.push(target);\n }\n }\n}\n\nfunction handleNodeDetach(node) {\n if (node.nodeType === 1) {\n var eventName = \"ondetach\";\n var target = getEventFromEl(node, eventName);\n if (target) {\n var allowDetach;\n\n delegateEvent(node, eventName, target, {\n preventDefault: function () {\n allowDetach = false;\n },\n detach: function () {\n var parentNode = node.parentNode;\n if (parentNode) {\n parentNode.removeChild(node);\n }\n }\n });\n\n return allowDetach;\n }\n }\n}\n\neventDelegation.aW_ = handleNodeAttach;\neventDelegation.ao_ = handleNodeDetach;","\"use strict\"; /**\n * Define a new UI component that includes component and renderer.\n *\n * @param {Object} def The definition of the UI component (component methods, component constructor, rendering methods, etc.)\n * @return {Component} The resulting Component with renderer\n */\nvar defineRenderer;\nvar defineWidget;\n\nmodule.exports = function defineComponent(def) {\n if (def.y_) {\n return def;\n }\n\n var renderer;\n\n if (def.template || def.renderer) {\n renderer = defineRenderer(def);\n } else {\n throw new Error('Expected \"template\" or \"renderer\"');\n }\n\n return defineWidget(def, renderer);\n};\n\ndefineRenderer = require(\"./defineRenderer-legacy\");\ndefineWidget = require(\"./defineWidget-legacy\");","\"use strict\"; // eslint-disable-next-line no-constant-binary-expression\n\nvar componentLookup = require(\"@internal/components-util\")._m_;\nvar req = require(\"@internal/require\");\nvar makeRenderable = require(\"../../renderable\");\nvar getComponentsContext =\nrequire(\"../ComponentsContext\").T_;\nvar modernRenderer = require(\"../renderer\");\nvar resolveComponentKey = modernRenderer.aY_;\n\nmodule.exports = function defineRenderer(renderingLogic) {\n var renderer = renderingLogic.renderer;\n\n if (renderer && renderer.aZ_) {\n return renderer;\n }\n\n var template = renderingLogic.template;\n\n if (typeof template === \"string\") {\n template = req(template);\n }\n\n if (template && template.default) {\n template = template.default;\n }\n\n if (!renderer) {\n var getInitialProps;\n var getTemplateData;\n var getInitialState;\n var getWidgetConfig;\n var getInitialBody;\n\n if (renderingLogic) {\n getInitialProps = renderingLogic.getInitialProps;\n getTemplateData = renderingLogic.getTemplateData;\n getInitialState = renderingLogic.getInitialState;\n getWidgetConfig = renderingLogic.getWidgetConfig;\n getInitialBody = renderingLogic.getInitialBody;\n }\n\n // Create a renderer function that takes care of translating\n // the input properties to a view state. Also, this renderer\n // takes care of re-using existing components.\n renderer = function renderer(input, out) {\n var componentsContext = getComponentsContext(out);\n var globalComponentsContext = componentsContext.q_;\n var component = globalComponentsContext.aA_;\n var isReceivingNewInput = !component || component._i_;\n var parentComponentDef;\n\n if (component) {\n component._i_ = false;\n }\n\n // Render the template associated with the component using the final template\n // data that we constructed\n var newProps = input;\n var widgetConfig;\n var widgetState;\n var widgetBody;\n var id;\n\n if (!component && componentLookup) {\n var key = out.ab_;\n\n if (\n (parentComponentDef = componentsContext.p_) &&\n key != null)\n {\n id = resolveComponentKey(key.toString(), parentComponentDef);\n } else if (parentComponentDef) {\n id = parentComponentDef.aP_();\n } else {\n id = globalComponentsContext.aP_();\n }\n\n component = componentLookup[id];\n }\n\n if (isReceivingNewInput) {\n // If we do not have state then we need to go through the process\n // of converting the input to a widget state, or simply normalizing\n // the input using getInitialProps\n\n if (getInitialProps) {\n // This optional method is used to normalize input state\n newProps = getInitialProps(newProps, out) || {};\n }\n\n if (getInitialState) {\n // This optional method is used to derive the widget state\n // from the input properties\n widgetState = getInitialState(newProps, out);\n }\n\n if (getInitialBody) {\n // If we have widget a widget body then pass it to the template\n // so that it is available to the widget tag and can be inserted\n // at the w-body marker\n widgetBody = getInitialBody(newProps, out);\n } else {\n // Default to using the nested content as the widget body\n // getInitialBody was not implemented\n widgetBody = newProps.renderBody;\n }\n } else if (component) {\n newProps = newProps || component.O_;\n widgetBody = component.___;\n widgetState = component.aD_;\n widgetConfig = component.widgetConfig;\n }\n\n // Use getTemplateData(state, props, out) to get the template\n // data. If that method is not provided then just use the\n // the state (if provided) or the input data.\n var templateData = clone(\n getTemplateData ?\n getTemplateData(widgetState, newProps, out) :\n widgetState || newProps\n );\n\n if (isReceivingNewInput && getWidgetConfig) {\n // If getWidgetConfig() was implemented then use that to\n // get the widget config. The widget config will be passed\n // to the widget constructor. If rendered on the server the\n // widget config will be serialized.\n widgetConfig = getWidgetConfig(newProps, out);\n }\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n\n templateData.widgetProps = newProps;\n widgetBody && (templateData.renderBody = widgetBody);\n widgetState && (templateData.widgetState = widgetState);\n widgetConfig && (templateData.widgetConfig = widgetConfig);\n\n template._(templateData, out, id, renderingLogic);\n };\n }\n\n renderer.aZ_ = true;\n renderer.createOut = template ? template.createOut : renderingLogic.createOut;\n renderer.template = template;\n\n makeRenderable(renderer, renderer);\n renderer.render = renderer.render.bind(renderer);\n\n return renderer;\n};\n\nfunction clone(src) {\n var result = {};\n\n if (src) {\n for (var key in src) {\n result[key] = src[key];\n }\n }\n\n return result;\n}","\"use strict\";module.exports = require(\"@internal/components-define-widget-legacy\");","\"use strict\";var Template = require(\"../../../html\").Template;\nvar patch = require(\"./\").patch;\npatch(Template);","\"use strict\";var nodePath = require(\"path\");\nvar defaultResolveFrom = require(\"resolve-from\");\nvar env = process.env.NODE_ENV;\nvar production = !env || env !== \"development\";\n\nfunction getRootDeps(template, context) {\n if (production && template.b__) {\n return template.b__;\n }\n\n attachDepsAndComponentsToTemplate(template, context);\n\n var deps = template.b__ = Object.keys(template.ba_).map(\n (key) => template.ba_[key]\n );\n var initModule = getInitModule(template.path, template.b_);\n\n if (initModule) deps.push(initModule);\n\n // these dependencies should be last\n deps.concat = function () {\n var result = [];\n result = result.concat.apply(result, arguments);\n result.push.apply(result, this);\n return result;\n };\n\n return deps;\n}\n\nfunction attachDepsAndComponentsToTemplate(target, context) {\n var template;\n\n if (!target.meta && target.template) {\n template = target.template;\n } else {\n template = target;\n }\n\n if (typeof template.createOut !== \"function\") return;\n if (production && target.ba_) return;\n\n var deps = target.ba_ = {};\n var components = target.b_ = {};\n\n if (!template.meta) {\n console.warn(\"Metadata not set for template at \", template.path);\n return;\n }\n\n var meta = template.meta;\n var root = nodePath.dirname(template.path);\n\n if (meta.deps) {\n meta.deps.forEach((dep) => {\n dep = resolveDep(dep, root, context);\n deps[dep.virtualPath || dep.path] = dep;\n });\n }\n\n if (meta.id && meta.component) {\n var resolveFrom = context && context.resolveFrom || defaultResolveFrom;\n components[meta.id] = {\n id: meta.id,\n path: resolveFrom(root, meta.component)\n };\n }\n\n if (meta.tags) {\n meta.tags.forEach((tagPath) => {\n var resolveFrom = context.resolveFrom || defaultResolveFrom;\n var tag = resolveFrom(root, tagPath);\n var ext = nodePath.extname(tag);\n var req = context.require || require;\n\n try {\n tag = req.resolve(tag.slice(0, 0 - ext.length) + \".js\");\n } catch (e) {\n\n /* ignore error */}\n\n tag = req(tag);\n\n attachDepsAndComponentsToTemplate(tag, context);\n\n if (tag.ba_) Object.assign(deps, tag.ba_);\n if (tag.b_) Object.assign(components, tag.b_);\n });\n }\n}\n\nfunction getInitModule(path, components) {\n var module = null;\n\n if (components) {\n components = Object.keys(components).map((key) => components[key]);\n\n if (components.length) {\n var root = nodePath.dirname(path);\n var virtualPath = path + \".init.js\";\n var registrations = components.map(\n (component) =>\n `components.register('${component.id}', require('.${\n nodePath.sep}${\n nodePath.relative(root, component.path)}'));`\n );\n var code = `\n var components = require('marko/components');\n ${registrations.join(\"\\n\")}\n `;\n\n module = {\n type: \"require\",\n run: true,\n virtualModule: {\n path: virtualPath,\n read: function (_, callback) {\n // TODO: Check if read can just return string in lasso 2\n if (callback) {\n callback(null, code);\n } else {\n return code;\n }\n }\n }\n };\n }\n }\n\n return module;\n}\n\nfunction resolveDep(dep, root, context) {\n if (typeof dep === \"string\") {\n dep = parseDependencyString(dep);\n }\n\n if (dep.path) {\n var resolveFrom = context && context.resolveFrom || defaultResolveFrom;\n dep.path = resolveFrom(root, dep.path);\n\n if (dep.path && !dep.type) {\n dep.type = dep.path.slice(dep.path.lastIndexOf(\".\") + 1);\n }\n }\n\n if (dep.virtualPath) {\n dep.virtualPath = nodePath.resolve(root, dep.virtualPath);\n }\n\n if (dep.type === \"js\") {\n dep.type = \"require\";\n dep.run = true;\n }\n\n return dep;\n}\n\nfunction parseDependencyString(string) {\n var match = /^(?:([\\w-]+)(?::\\s*|\\s+))?(.*?(?:\\.(\\w+))?)$/.exec(string);\n return {\n type: match[1] || match[3],\n path: match[2]\n };\n}\n\nfunction patch(Template) {\n Template.prototype.getDependencies = function (context) {\n context = context || {};\n\n return getRootDeps(this, context);\n };\n}\n\nexports.getDeps = getRootDeps;\nexports.resolveDep = resolveDep;\nexports.patch = patch;","\"use strict\";var Template = require(\"../../../vdom\").Template;\nvar patch = require(\"./\").patch;\npatch(Template);","\"use strict\";module.exports = require(\"@internal/components-entry-legacy\");","\"use strict\";var ready = require(\"./ready\");\n\nvar idRegExp = /^#(\\S+)( .*)?/;\n\nexports.patchComponent = function (jQuery, proto, delayThrow) {\n if (!jQuery && !delayThrow) {\n throw new Error(\"jQuery not found\");\n }\n\n (proto || require(\"../Component\").prototype).$ = function jqueryProxy(arg) {\n var args = arguments;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var self = this;\n\n if (!(jQuery || (jQuery = window.$))) {\n throw new Error(\"jQuery not found\");\n }\n\n if (args.length === 1) {\n //Handle an \"ondomready\" callback function\n if (typeof arg === \"function\") {\n return ready(function () {\n arg.call(self);\n });\n } else if (typeof arg === \"string\") {\n var match = idRegExp.exec(arg);\n //Reset the search to 0 so the next call to exec will start from the beginning for the new string\n if (match != null) {\n var key = match[1];\n if (match[2] == null) {\n return jQuery(self.getEl(key));\n } else {\n return jQuery(match[2].trim(), self.getEl(key));\n }\n } else {\n var rootEl = self.getEl();\n if (!rootEl) {\n throw new Error(\"Root element is not defined for component\");\n }\n if (rootEl) {\n return jQuery(arg, rootEl);\n }\n }\n }\n } else if (args.length === 2 && typeof args[1] === \"string\") {\n return jQuery(arg, self.getEl(args[1]));\n } else if (args.length === 0) {\n return jQuery(self.el);\n }\n return jQuery.apply(window, arguments);\n };\n};","\"use strict\"; /*\n jQuery's doc.ready/$(function(){}) should\n you wish to use a cross-browser domReady solution\n without opting for a library.\n\n Demo: http://jsfiddle.net/zKLpb/\n\n usage:\n $(function(){\n // your code\n });\n\n Parts: jQuery project, Diego Perini, Lucent M.\n Previous version from Addy Osmani (https://raw.github.com/addyosmani/jquery.parts/master/jquery.documentReady.js)\n\n This version: Patrick Steele-Idem\n - Converted to CommonJS module\n - Code cleanup\n - Fixes for IE <=10\n*/\n\nvar isReady = false;\nvar readyBound = false;\n\nvar defaultWindow = typeof window != \"undefined\" && window;\nvar defaultDocument = typeof document != \"undefined\" && document;\n\nvar listeners = [];\n\nfunction domReadyCallback() {\n for (var i = 0, len = listeners.length; i < len; i++) {\n var listener = listeners[i];\n listener[0].call(listener[1]);\n }\n listeners = null;\n}\n\nfunction bindReady(doc) {\n var toplevel = false;\n var win = doc.defaultView || defaultWindow || doc;\n\n // Handle when the DOM is ready\n function domReady() {\n // Make sure that the DOM is not already loaded\n if (!isReady) {\n // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).\n if (!doc.body) {\n return setTimeout(domReady, 1);\n }\n // Remember that the DOM is ready\n isReady = true;\n // If there are functions bound, to execute\n domReadyCallback();\n // Execute all of them\n }\n } // /ready()\n\n // The ready event handler\n function domContentLoaded() {\n if (doc.addEventListener) {\n doc.removeEventListener(\"DOMContentLoaded\", domContentLoaded, false);\n doc.removeEventListener(\"load\", domContentLoaded, false);\n } else {\n // we're here because readyState !== \"loading\" in oldIE\n // which is good enough for us to call the dom ready!\n doc.detachEvent(\"onreadystatechange\", domContentLoaded);\n doc.detachEvent(\"onload\", domContentLoaded);\n }\n domReady();\n }\n\n // The DOM ready check for Internet Explorer\n function doScrollCheck() {\n if (isReady) {\n return;\n }\n\n try {\n // If IE is used, use the trick by Diego Perini\n // http://javascript.nwbox.com/IEContentLoaded/\n doc.documentElement.doScroll(\"left\");\n } catch (error) {\n setTimeout(doScrollCheck, 1);\n return;\n }\n // and execute any waiting functions\n domReady();\n }\n\n // Catch cases where $ is called after the\n // browser event has already occurred. IE <= 10 has a bug that results in 'interactive' being assigned\n // to the readyState before the DOM is really ready\n if (\n document.attachEvent ?\n document.readyState === \"complete\" :\n document.readyState !== \"loading\")\n {\n // We will get here if the browser is IE and the readyState === 'complete' or the browser\n // is not IE and the readyState === 'interactive' || 'complete'\n domReady(doc);\n } else if (doc.addEventListener) {\n // Standards-based browsers support DOMContentLoaded\n // Use the handy event callback\n doc.addEventListener(\"DOMContentLoaded\", domContentLoaded, false);\n // A fallback to win.onload, that will always work\n win.addEventListener(\"load\", domContentLoaded, false);\n // If IE event model is used\n } else if (doc.attachEvent) {\n // ensure firing before onload,\n // maybe late but safe also for iframes\n doc.attachEvent(\"onreadystatechange\", domContentLoaded);\n // A fallback to win.onload, that will always work\n win.attachEvent(\"onload\", domContentLoaded);\n // If IE and not a frame\n // continually check to see if the document is ready\n try {\n toplevel = win.frameElement == null;\n } catch (e) {\n\n /* ignore error */}\n if (doc.documentElement.doScroll && toplevel) {\n doScrollCheck();\n }\n }\n}\n\nfunction ready(callback, thisObj, doc) {\n if (isReady) {\n return callback.call(thisObj);\n }\n\n listeners.push([callback, thisObj]);\n\n if (!readyBound) {\n readyBound = true;\n bindReady(doc || defaultDocument);\n }\n}\n\nmodule.exports = ready;\n\nmodule.exports.patchComponent = function (proto) {\n if (proto && proto.ready) {\n // Don't patch if the component has overwritten the ready method.\n return;\n }\n\n (proto || require(\"../Component\").prototype).ready = function (callback) {\n var document = this.el.ownerDocument;\n ready(callback, this, document);\n };\n};","\"use strict\";var beginComponent = require(\"@internal/components-beginComponent\");\nvar endComponent = require(\"@internal/components-endComponent\");\nvar registry = require(\"@internal/components-registry\");\nvar componentsUtil = require(\"@internal/components-util\");\nvar getComponentsContext =\nrequire(\"../ComponentsContext\").T_;\nvar componentLookup = componentsUtil._m_;\nvar modernRenderer = require(\"../renderer\");\nvar resolveComponentKey = modernRenderer.aY_;\nvar trackAsyncComponents = modernRenderer.bb_;\n// eslint-disable-next-line no-constant-binary-expression\n\n\nfunction createRendererFunc(templateRenderFunc, componentProps) {\n var typeName = componentProps.t;\n //var assignedId = componentProps.id;\n var isSplit = componentProps.s === true;\n var isImplicit = componentProps.i === true;\n\n return function renderer(input, out, assignedId, renderingLogic) {\n trackAsyncComponents(out);\n\n var componentsContext = getComponentsContext(out);\n var parentLegacyComponentDef = componentsContext.bc_;\n\n if (isImplicit && parentLegacyComponentDef) {\n templateRenderFunc(\n input,\n out,\n parentLegacyComponentDef,\n parentLegacyComponentDef.t_,\n parentLegacyComponentDef.t_.aD_,\n out.global\n );\n return;\n }\n\n var widgetBody = input.renderBody;\n var widgetState = input.widgetState;\n var widgetConfig = input.widgetConfig;\n var globalComponentsContext = componentsContext.q_;\n var component = globalComponentsContext.aA_;\n\n var isRerender = component !== undefined;\n var id = assignedId;\n var isExisting;\n var parentComponentDef = componentsContext.p_;\n var ownerComponentDef = out.aa_;\n var ownerComponentId = ownerComponentDef && ownerComponentDef.id;\n var key = out.ab_;\n var customEvents = out.bd_;\n\n out.aa_ = null;\n\n if (component) {\n id = component.id;\n isExisting = true;\n globalComponentsContext.aA_ = null;\n } else {\n if (key != null) {\n id = id || resolveComponentKey(key.toString(), parentComponentDef);\n } else if (parentComponentDef) {\n id = parentComponentDef.aP_();\n } else {\n id = globalComponentsContext.aP_();\n }\n }\n\n if (registry._K_ && typeName) {\n if (renderingLogic) delete renderingLogic.onRender;\n component = registry._H_(\n renderingLogic,\n id,\n input,\n out,\n typeName,\n customEvents,\n ownerComponentId\n );\n if (isSplit || widgetState) {\n component.input = null;\n } else if (input.widgetProps) {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n component.input = input.widgetProps;\n }\n } else {\n if (!component) {\n if (isRerender) {\n // Look in in the DOM to see if a component with the same ID and type already exists.\n component = componentLookup[id];\n if (component && component._r_ !== typeName) {\n component = undefined;\n }\n }\n\n if (component) {\n isExisting = true;\n } else {\n isExisting = false;\n // We need to create a new instance of the component\n if (typeName) {\n component = registry._H_(typeName, id);\n }\n }\n }\n }\n\n var isFakeComponent = false;\n\n if (!component) {\n isFakeComponent = true;\n component = {\n id: id,\n L_: {}\n };\n } else {\n component._c_ = true;\n\n if (widgetState) {\n component.state = widgetState;\n }\n }\n\n component.widgetConfig = widgetConfig;\n component.___ = widgetBody || component.___;\n\n var componentDef = beginComponent(\n componentsContext,\n component,\n key,\n ownerComponentDef,\n isSplit,\n isFakeComponent\n );\n componentsContext.bc_ = componentDef;\n\n // This is a hack, but we have to swap out the component instance stored with this node\n var vComponentNode = out.ac_;\n\n componentDef.t_ = isFakeComponent ? null : component;\n componentDef._v_ = isExisting;\n componentDef.z_ = true;\n\n componentDef.t = function (typeName) {\n if (typeName) {\n if (registry._K_) {\n var oldComponent = component;\n if (renderingLogic) delete renderingLogic.onRender;\n component = registry._H_(\n renderingLogic || {},\n id,\n input,\n out,\n typeName,\n customEvents,\n ownerComponentId\n );\n if (isSplit || widgetState) {\n component.input = null;\n } else if (input.widgetProps) {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n component.input = input.widgetProps;\n }\n Object.assign(component, oldComponent);\n beginComponent(\n componentsContext,\n component,\n key,\n ownerComponentDef,\n isSplit,\n false,\n this\n );\n } else {\n vComponentNode.t_ = component = registry._H_(\n typeName,\n component.id\n );\n }\n this.t_ = component;\n }\n\n return component;\n };\n\n if (!registry._K_) {\n component.M_ && component.M_();\n }\n\n // Render the template associated with the component using the final template\n // data that we constructed\n templateRenderFunc(\n input,\n out,\n componentDef,\n component,\n component.aD_,\n out.global\n );\n\n if (customEvents && componentDef.t_) {\n if (registry._K_) {\n componentDef.X_ = customEvents;\n componentDef.Y_ = ownerComponentId;\n } else {\n componentDef.t_.aE_(\n customEvents,\n ownerComponentId\n );\n }\n }\n\n endComponent(out, componentDef);\n componentsContext.p_ = parentComponentDef;\n componentsContext.bc_ = parentLegacyComponentDef;\n };\n}\n\nmodule.exports = createRendererFunc;","\"use strict\";var EventEmitter = require(\"events-light\");\nmodule.exports = new EventEmitter();","\"use strict\";\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Merges object properties\n */\nmodule.exports = function assign() {\n var into = arguments[0];\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n if (source != null) {\n for (var k in source) {\n if (hasOwnProperty.call(source, k)) {\n into[k] = source[k];\n }\n }\n }\n }\n return into;\n};","\"use strict\";module.exports = {};","\"use strict\";var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Merges object properties\n */\nmodule.exports = function merge(into, source) {\n for (var k in source) {\n if (hasOwnProperty.call(source, k) && !hasOwnProperty.call(into, k)) {\n into[k] = source[k];\n }\n }\n return into;\n};","\"use strict\";require(\"./runtime-dom.js\").p(require(\"@marko/runtime-tags/debug/dom\").compat);","\"use strict\";require(\"./runtime-dom.js\").p(require(\"@marko/runtime-tags/dom\").compat);","\"use strict\";exports.s = require(\"./runtime-html.js\").p(\n require(\"@marko/runtime-tags/debug/html\").compat\n);","\"use strict\";exports.s = require(\"./runtime-html.js\").p(\n require(\"@marko/runtime-tags/html\").compat\n);","\"use strict\";const { _m_ } = require(\"@internal/components-util\");\nconst {\n T_\n} = require(\"../../components/ComponentsContext\");\nconst defineComponent = require(\"../../components/defineComponent\");\nconst { r: registerComponent } = require(\"../../components/registry\");\nconst createRenderer = require(\"../../components/renderer\");\nconst defaultCreateOut = require(\"../../createOut\");\nconst morphdom = require(\"../../vdom/morphdom\");\nconst { _l_ } = require(\"../../vdom/morphdom/fragment\");\nconst dynamicTag = require(\"../dynamic-tag\");\n\nexports.p = function (domCompat) {\n dynamicTag.bo_ = function tagsToVdom(\n renderer,\n renderBody,\n args,\n global)\n {\n const tagsRenderer = domCompat.resolveRegistered(\n renderer || renderBody,\n global\n );\n\n if (tagsRenderer && domCompat.isRenderer(tagsRenderer)) {\n return (input, out) => {\n return TagsCompat({ i: args ? args : input, r: tagsRenderer }, out);\n };\n }\n\n return renderer;\n };\n\n const TagsCompatId = \"tags-compat\";\n const TagsCompat = createRenderer(\n function (_, out, componentDef, component) {\n const input = Array.isArray(_.i) ? _.i : [_.i];\n const tagsRenderer = domCompat.resolveRegistered(_.r, global);\n const newNode = domCompat.render(out, component, tagsRenderer, input);\n\n out.bf(out.ab_, component, !newNode);\n if (newNode) {\n out.node({ bp_: () => newNode });\n }\n out.ef();\n },\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n {\n t: TagsCompatId\n },\n {}\n );\n\n registerComponent(TagsCompatId, () => ({\n _: TagsCompat,\n Component: defineComponent(\n {\n onMount: domCompat.runComponentEffects,\n onUpdate: domCompat.runComponentEffects\n },\n TagsCompat\n )\n }));\n\n // (\n // nodeAccessor: Accessor,\n // dynamicTagAttrs?: IntersectionSignal,\n // intersection?: IntersectionSignal,\n // valueWithIntersection?: ValueSignal\n // )\n\n const rendererCache = new WeakMap();\n\n domCompat.patchConditionals((conditional) => (...args) => {\n const signal = conditional(...args);\n const skipAttrs = args.length <= 1;\n return (scope, rendererOrOp) => {\n return signal(\n scope,\n domCompat.isOp(rendererOrOp) ?\n rendererOrOp :\n create5to6Renderer(rendererOrOp, skipAttrs)\n );\n };\n });\n\n function create5to6Renderer(renderer, skipAttrs) {\n let newRenderer = renderer;\n if (renderer && typeof renderer !== \"string\") {\n const rendererFromAnywhere =\n renderer._ ||\n renderer.render ||\n renderer.renderer && renderer.renderer.renderer ||\n renderer.renderer;\n\n if (!domCompat.isRenderer(rendererFromAnywhere || renderer)) {\n newRenderer = rendererCache.get(renderer);\n if (!newRenderer) {\n const { Component } = renderer;\n if (Component) {\n const setCustomEvents = Component.prototype.aE_;\n Component.prototype.aE_ = function (\n customEvents,\n scopeId)\n {\n const global = this.al_;\n for (const customEvent of customEvents) {\n customEvent[1] = domCompat.resolveRegistered(\n customEvent[1],\n global\n );\n }\n\n setCustomEvents.call(this, customEvents, scopeId);\n };\n }\n newRenderer = domCompat.createRenderer(\n (scope) => {\n if (skipAttrs) {\n renderAndMorph(scope, rendererFromAnywhere, renderer, {});\n }\n },\n () => {\n const realFragment = document.createDocumentFragment();\n _l_(null, null, realFragment);\n return realFragment;\n },\n (scope, input) => {\n if (domCompat.isOp(input)) return;\n renderAndMorph(scope, rendererFromAnywhere, renderer, input);\n }\n );\n rendererCache.set(renderer, newRenderer);\n }\n }\n }\n return newRenderer;\n }\n\n domCompat.registerRenderer(create5to6Renderer);\n domCompat.init();\n\n function renderAndMorph(scope, renderer, renderBody, input) {\n const out = defaultCreateOut();\n let host = domCompat.getStartNode(scope);\n let rootNode = host.fragment;\n if (!rootNode) {\n const component = scope.bq_ =\n _m_[scope.m5c];\n rootNode = component._F_;\n host = rootNode.startNode;\n domCompat.setScopeNodes(host, rootNode.endNode);\n }\n const existingComponent = scope.bq_;\n const componentsContext = T_(out);\n const globalComponentsContext = componentsContext.q_;\n let customEvents;\n globalComponentsContext.aA_ = existingComponent;\n out.sync();\n if (renderer) {\n const [rawInput] = input;\n const normalizedInput = {};\n\n for (const key in rawInput) {\n let value = rawInput[key];\n if (key.startsWith(\"on\")) {\n const c = key[2];\n customEvents = customEvents || {};\n customEvents[(c === \"-\" ? \"\" : c.toLowerCase()) + key.slice(3)] = [\n value];\n\n } else {\n normalizedInput[key] = rawInput[key];\n }\n }\n\n renderer(normalizedInput, out);\n } else {\n RenderBodyComponent({ renderBody, args: input }, out);\n }\n\n domCompat.queueEffect(scope, () => {\n const targetNode = out.ai_().aB_;\n morphdom(rootNode, targetNode, host, componentsContext);\n const componentDefs = componentsContext.ag_(\n getRootNode(host)\n );\n const component = componentDefs[0].t_;\n component._F_ = rootNode;\n component.P_ = input[0];\n component.X_ = customEvents;\n scope.bq_ = component;\n });\n }\n\n function getRootNode(el) {\n var cur = el;\n while (cur.parentNode) cur = cur.parentNode;\n return cur;\n }\n\n const RenderBodyComponentId = \"renderbody-renderer\";\n const RenderBodyComponent = createRenderer(\n function (input, out, _componentDef) {\n dynamicTag(\n out,\n input.renderBody,\n null,\n null,\n input.args,\n null,\n _componentDef,\n \"0\"\n );\n },\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n {\n t: RenderBodyComponentId,\n i: true\n },\n {}\n );\n\n registerComponent(RenderBodyComponentId, () => ({\n _: RenderBodyComponent,\n Component: defineComponent({}, RenderBodyComponent)\n }));\n};","\"use strict\";const initComponentsTag = require(\"../../../core-tags/components/init-components-tag\");\nconst {\n T_\n} = require(\"../../components/ComponentsContext\");\nconst createRenderer = require(\"../../components/renderer\");\nconst defaultCreateOut = require(\"../../createOut\");\nconst dynamicTag5 = require(\"../dynamic-tag\");\n\nexports.p = function (htmlCompat) {\n const isMarko6 = (fn) => !!fn.br_;\n const isMarko5 = (fn) => !fn.br_;\n const writeHTML = (result) => {\n const state = result.out._state;\n const writer = state.writer;\n state.events.emit(\"c_\", writer);\n htmlCompat.writeScript(writer._scripts);\n htmlCompat.write(writer._content);\n };\n\n dynamicTag5.bo_ = function tagsToVdom(\n tagsRenderer,\n renderBody,\n args)\n {\n if (tagsRenderer ? isMarko5(tagsRenderer) : isMarko5(renderBody)) {\n return tagsRenderer;\n }\n\n if (!tagsRenderer && renderBody) {\n renderBody.toJSON = htmlCompat.toJSON;\n }\n\n return (input, out) =>\n TagsCompat(\n args ?\n { i: args, r: (args) => (tagsRenderer || renderBody)(...args) } :\n { i: input, r: tagsRenderer || renderBody },\n out\n );\n };\n\n const TagsCompatId = \"tags-compat\";\n const TagsCompat = createRenderer(\n function (_, out, componentDef, component) {\n const input = _.i;\n const tagsRenderer = _.r;\n const willRerender = componentDef._wrr;\n out.bf(out.ab_, component, willRerender);\n htmlCompat.render(tagsRenderer, willRerender, out, component, input);\n out.ef();\n },\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n {\n t: TagsCompatId,\n i: true\n },\n {}\n );\n\n htmlCompat.patchDynamicTag(\n function getRenderer(tag) {\n const renderer = tag._ || tag.renderBody || tag;\n if (isMarko6(renderer)) return renderer;\n\n const renderer5 =\n tag._ ||\n tag.render ||\n tag.renderer && tag.renderer.renderer ||\n tag.renderer;\n const renderBody5 = tag.renderBody || tag;\n\n return (input, ...args) => {\n const out = defaultCreateOut();\n let customEvents;\n\n if (renderer5) {\n const normalizedInput = {};\n\n for (const key in input) {\n let value = input[key];\n if (key.startsWith(\"on\") && typeof value === \"function\") {\n const c = key[2];\n customEvents = customEvents || [];\n customEvents.push([\n (c === \"-\" ? \"\" : c.toLowerCase()) + key.slice(3),\n value]\n );\n value.toJSON = htmlCompat.toJSON;\n } else {\n normalizedInput[key] = input[key];\n }\n }\n renderer5(normalizedInput, out);\n } else {\n renderBody5(out, input, ...args);\n }\n\n const componentsContext = T_(out);\n const component = componentsContext.b_[0];\n if (component) {\n component.t_.X_ = customEvents;\n htmlCompat.writeSetScopeForComponent(component.id);\n }\n\n initComponentsTag({}, out);\n\n let async;\n out.once(\"finish\", (result) => {\n if (!async) {\n async = false;\n writeHTML(result);\n }\n });\n\n out.end();\n\n if (async !== false) {\n async = true;\n htmlCompat.fork(out, writeHTML);\n }\n };\n },\n function createRenderer(renderFn) {\n renderFn.br_ = true;\n return renderFn;\n }\n );\n\n return htmlCompat.registerRenderer;\n};","\"use strict\";\n\nmodule.exports = function (value) {\n return value == null ? \"\" : value + \"\";\n};","\"use strict\";\nvar EventEmitter = require(\"events-light\");\nvar selfClosingTags = require(\"self-closing-tags\");\nvar RenderResult = require(\"../RenderResult\");\nvar parseHTML = require(\"../vdom/parse-html\");\nvar BufferedWriter = require(\"./BufferedWriter\");\nvar attrsHelper = require(\"./helpers/attrs\");\nvar markoAttr = require(\"./helpers/data-marko\");\nvar escapeXmlHelper = require(\"./helpers/escape-xml\");\nvar StringWriter = require(\"./StringWriter\");\nvar escapeXmlOrNullish = escapeXmlHelper.x;\nvar escapeXmlString = escapeXmlHelper.bs_;\nvar missingSetTimeout = typeof setTimeout !== \"function\";\n\nfunction noop() {}\n\nvar voidWriter = {\n write: noop,\n script: noop,\n merge: noop,\n clear: noop,\n get: function () {\n return [];\n },\n toString: function () {\n return \"\";\n }\n};\n\nfunction State(root, stream, writer, events) {\n this.root = root;\n this.stream = stream;\n this.writer = writer;\n this.events = events;\n\n this.finished = false;\n}\n\nfunction escapeEndingComment(text) {\n return text.replace(/(--!?)>/g, \"$1>\");\n}\n\nfunction deferred() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n}\n\nfunction AsyncStream(global, writer, parentOut) {\n if (parentOut === null) {\n throw new Error(\"illegal state\");\n }\n var finalGlobal = this.attributes = global || {};\n var originalStream;\n var state;\n\n if (parentOut) {\n state = parentOut._state;\n originalStream = state.stream;\n } else {\n var events = finalGlobal.events /* deprecated */ =\n writer && writer.on ? writer : new EventEmitter();\n\n if (writer) {\n originalStream = writer;\n writer = new BufferedWriter(writer);\n } else {\n writer = originalStream = new StringWriter();\n }\n\n state = new State(this, originalStream, writer, events);\n writer.state = state;\n }\n\n finalGlobal.runtimeId = finalGlobal.runtimeId || \"M\";\n this.global = finalGlobal;\n this.stream = originalStream;\n this._state = state;\n\n this._ended = false;\n this._remaining = 1;\n this._lastCount = 0;\n this._last = undefined; // Array\n this._parentOut = parentOut;\n\n this.data = {};\n this.writer = writer;\n writer.stream = this;\n\n this._sync = false;\n this._stack = undefined;\n this.name = undefined;\n this._timeoutId = undefined;\n\n this._node = undefined;\n\n this._elStack = undefined; // Array\n\n this.b_ = null; // ComponentsContext\n\n this.aa_ = null;\n this.ab_ = null;\n this.bd_ = null;\n this.bt_ = false;\n}\n\nAsyncStream.DEFAULT_TIMEOUT = 10000;\n\n/**\n * If set to `true`, AsyncStream errors will include the full stack trace\n */\nAsyncStream.INCLUDE_STACK =\ntypeof process !== \"undefined\" && (\n!process.env.NODE_ENV ||\nprocess.env.NODE_ENV === \"development\" ||\nprocess.env.NODE_ENV === \"dev\");\n\nAsyncStream.enableAsyncStackTrace = function () {\n AsyncStream.INCLUDE_STACK = true;\n};\n\nvar proto = AsyncStream.prototype = {\n constructor: AsyncStream,\n C_: typeof document === \"object\" && document,\n bu_: true,\n\n [Symbol.asyncIterator]() {\n if (this.bv_) {\n return this.bv_;\n }\n\n const originalWriter = this._state.writer;\n let buffer = \"\";\n let iteratorNextFn;\n\n if (!originalWriter.stream) {\n // Writing has finished completely so we can use a simple iterator\n buffer = this.toString();\n iteratorNextFn = () => {\n const value = buffer;\n buffer = \"\";\n return { value, done: !value };\n };\n } else {\n let done = false;\n let pending = deferred();\n const stream = {\n write(data) {\n buffer += data;\n },\n end() {\n done = true;\n pending.resolve({\n value: \"\",\n done\n });\n },\n flush() {\n pending.resolve({\n value: buffer,\n done: false\n });\n buffer = \"\";\n pending = deferred();\n }\n };\n\n this.on(\"error\", pending.reject);\n\n const writer = new BufferedWriter(stream);\n writer.stream = originalWriter.stream;\n writer.stream.writer = writer;\n writer.next = originalWriter.next;\n writer.state = this._state;\n writer.merge(originalWriter);\n\n this._state.stream = stream;\n this._state.writer = writer;\n\n iteratorNextFn = async () => {\n if (buffer || done) {\n const value = buffer;\n buffer = \"\";\n return { value, done };\n }\n return pending.promise;\n };\n }\n\n return this.bv_ = {\n next: iteratorNextFn,\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n },\n\n sync: function () {\n this._sync = true;\n },\n\n isSync: function () {\n return this._sync === true;\n },\n\n write: function (str) {\n if (str != null) {\n this.writer.write(str.toString());\n }\n return this;\n },\n\n script: function (str) {\n if (str != null) {\n this.writer.script(str.toString());\n }\n return this;\n },\n\n ai_: function () {\n return this._state.writer.toString();\n },\n\n /**\n * Legacy...\n */\n getOutput: function () {\n return this.ai_();\n },\n\n toString: function () {\n return this._state.writer.toString();\n },\n\n o_: function () {\n this._result = this._result || new RenderResult(this);\n return this._result;\n },\n\n beginAsync: function (options) {\n if (this._sync) {\n throw new Error(\"beginAsync() not allowed when using renderSync()\");\n }\n\n var state = this._state;\n\n var currentWriter = this.writer;\n\n /* ┏━━━━━┓ this\n ┃ WAS ┃ ↓↑\n ┗━━━━━┛ prevWriter → currentWriter → nextWriter */\n\n var newWriter = new StringWriter();\n var newStream = new AsyncStream(this.global, currentWriter, this);\n newWriter.state = state;\n\n this.writer = newWriter;\n newWriter.stream = this;\n\n newWriter.next = currentWriter.next;\n currentWriter.next = newWriter;\n\n /* ┏━━━━━┓ newStream this\n ┃ NOW ┃ ↓↑ ↓↑\n ┗━━━━━┛ prevWriter → currentWriter → newWriter → nextWriter */\n\n var timeout;\n var name;\n\n this._remaining++;\n\n if (options != null) {\n if (typeof options === \"number\") {\n timeout = options;\n } else {\n timeout = options.timeout;\n\n if (options.last === true) {\n if (timeout == null) {\n // Don't assign a timeout to last flush fragments\n // unless it is explicitly given a timeout\n timeout = 0;\n }\n\n this._lastCount++;\n newStream.bt_ = true;\n }\n\n name = options.name;\n }\n }\n\n if (missingSetTimeout) {\n timeout = 0;\n } else if (timeout == null) {\n timeout = AsyncStream.DEFAULT_TIMEOUT;\n }\n\n newStream._stack = AsyncStream.INCLUDE_STACK ? new Error() : null;\n newStream.name = name;\n\n if (timeout > 0) {\n newStream._timeoutId = setTimeout(function () {\n newStream.error(\n new Error(\n \"Async fragment \" + (\n name ? \"(\" + name + \") \" : \"\") +\n \"timed out after \" +\n timeout +\n \"ms\"\n )\n );\n }, timeout);\n }\n\n state.events.emit(\"beginAsync\", {\n out: newStream,\n parentOut: this\n });\n\n return newStream;\n },\n\n _doFinish: function () {\n var state = this._state;\n\n state.finished = true;\n\n if (state.writer.end) {\n state.writer.end();\n }\n\n if (state.events !== state.stream) {\n state.events.emit(\"finish\", this.o_());\n }\n },\n\n end: function (data) {\n if (this._ended === true) {\n return;\n }\n\n this._ended = true;\n\n var remaining = --this._remaining;\n\n if (data != null) {\n this.write(data);\n }\n\n var currentWriter = this.writer;\n\n /* ┏━━━━━┓ this nextStream\n ┃ WAS ┃ ↓↑ ↓↑\n ┗━━━━━┛ currentWriter → nextWriter → futureWriter */\n\n // Prevent any more writes to the current steam\n this.writer = voidWriter;\n currentWriter.stream = null;\n\n // Flush the contents of nextWriter to the currentWriter\n this._flushNext(currentWriter);\n\n /* ┏━━━━━┓ this ╵ nextStream\n ┃ ┃ ↓ ╵ ↓↑\n ┃ NOW ┃ voidWriter ╵ currentWriter → futureWriter\n ┃ ┃ ──────────────┴────────────────────────────────\n ┗━━━━━┛ Flushed & garbage collected: nextWriter */\n\n var parentOut = this._parentOut;\n\n if (parentOut === undefined) {\n if (remaining === 0) {\n this._doFinish();\n } else if (remaining - this._lastCount === 0) {\n this._emitLast();\n }\n } else {\n var timeoutId = this._timeoutId;\n\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n\n if (remaining === 0) {\n parentOut._handleChildDone(this);\n } else if (remaining - this._lastCount === 0) {\n this._emitLast();\n }\n }\n\n return this;\n },\n\n _handleChildDone: function (childOut) {\n var remaining = --this._remaining;\n\n if (remaining === 0) {\n var parentOut = this._parentOut;\n if (parentOut === undefined) {\n this._doFinish();\n } else {\n parentOut._handleChildDone(this);\n }\n } else {\n if (childOut.bt_) {\n this._lastCount--;\n }\n\n if (remaining - this._lastCount === 0) {\n this._emitLast();\n }\n }\n },\n\n _flushNext: function (currentWriter) {\n // It is possible that currentWriter is the\n // last writer in the chain, so let's make\n // sure there is a nextWriter to flush.\n var nextWriter = currentWriter.next;\n if (nextWriter) {\n // Flush the contents of nextWriter\n // to the currentWriter\n currentWriter.merge(nextWriter);\n\n // Remove nextWriter from the chain.\n // It has been flushed and can now be\n // garbage collected.\n currentWriter.next = nextWriter.next;\n\n // It's possible that nextWriter is the last\n // writer in the chain and its stream already\n // ended, so let's make sure nextStream exists.\n var nextStream = nextWriter.stream;\n if (nextStream) {\n // Point the nextStream to currentWriter\n nextStream.writer = currentWriter;\n currentWriter.stream = nextStream;\n }\n }\n },\n\n on: function (event, callback) {\n var state = this._state;\n\n if (event === \"finish\" && state.finished === true) {\n callback(this.o_());\n } else if (event === \"last\") {\n this.onLast(callback);\n } else {\n state.events.on(event, callback);\n }\n\n return this;\n },\n\n once: function (event, callback) {\n var state = this._state;\n\n if (event === \"finish\" && state.finished === true) {\n callback(this.o_());\n } else if (event === \"last\") {\n this.onLast(callback);\n } else {\n state.events.once(event, callback);\n }\n\n return this;\n },\n\n onLast: function (callback) {\n var lastArray = this._last;\n\n if (lastArray === undefined) {\n this._last = [callback];\n } else {\n lastArray.push(callback);\n }\n\n return this;\n },\n\n _emitLast: function () {\n if (this._last) {\n var i = 0;\n var lastArray = this._last;\n this._last = undefined;\n (function next() {\n if (i === lastArray.length) {\n return;\n }\n var lastCallback = lastArray[i++];\n lastCallback(next);\n\n if (lastCallback.length === 0) {\n next();\n }\n })();\n }\n },\n\n emit: function (type, arg) {\n var events = this._state.events;\n switch (arguments.length) {\n case 1:\n events.emit(type);\n break;\n case 2:\n events.emit(type, arg);\n break;\n default:\n events.emit.apply(events, arguments);\n break;\n }\n return this;\n },\n\n removeListener: function () {\n var events = this._state.events;\n events.removeListener.apply(events, arguments);\n return this;\n },\n\n prependListener: function () {\n var events = this._state.events;\n events.prependListener.apply(events, arguments);\n return this;\n },\n\n pipe: function (stream) {\n this._state.stream.pipe(stream);\n return this;\n },\n\n error: function (e) {\n var name = this.name;\n var stack = this._stack;\n if (stack) stack = getNonMarkoStack(stack);\n\n if (!(e instanceof Error)) {\n e = new Error(JSON.stringify(e));\n }\n\n if (name || stack) {\n e.message +=\n \"\\nRendered by\" + (\n name ? \" \" + name : \"\") + (\n stack ? \":\\n\" + stack : \"\");\n }\n try {\n this.emit(\"error\", e);\n } finally {\n // If there is no listener for the error event then it will\n // throw a new here. In order to ensure that the async fragment\n // is still properly ended we need to put the end() in a `finally`\n // block\n this.end();\n }\n\n return this;\n },\n\n flush: function () {\n var state = this._state;\n\n if (!state.finished) {\n var writer = state.writer;\n if (writer && writer.scheduleFlush) {\n writer.scheduleFlush();\n }\n }\n return this;\n },\n\n createOut: function () {\n var newOut = new AsyncStream(this.global);\n // Forward error events to the parent out.\n newOut.on(\"error\", this.emit.bind(this, \"error\"));\n this._state.events.emit(\"beginDetachedAsync\", {\n out: newOut,\n parentOut: this\n });\n return newOut;\n },\n\n bn_: function (\n tagName,\n elementAttrs,\n key,\n componentDef,\n props)\n {\n var str =\n \"<\" +\n tagName +\n markoAttr(\n this,\n componentDef,\n props,\n key && key[0] === \"@\" ? key : undefined\n ) +\n attrsHelper(elementAttrs);\n\n if (selfClosingTags.voidElements.indexOf(tagName) !== -1) {\n str += \">\";\n } else if (selfClosingTags.svgElements.indexOf(tagName) !== -1) {\n str += \"/>\";\n } else {\n str += \">\";\n }\n\n this.write(str);\n },\n\n element: function (tagName, elementAttrs, openTagOnly) {\n var str = \"<\" + tagName + attrsHelper(elementAttrs) + \">\";\n\n if (openTagOnly !== true) {\n str += \"\";\n }\n\n this.write(str);\n },\n\n bl_: function (\n name,\n elementAttrs,\n key,\n componentDef,\n props)\n {\n var str =\n \"<\" +\n name +\n markoAttr(this, componentDef, props, key) +\n attrsHelper(elementAttrs) +\n \">\";\n\n this.write(str);\n\n if (this._elStack) {\n this._elStack.push(name);\n } else {\n this._elStack = [name];\n }\n },\n\n beginElement: function (name, elementAttrs) {\n var str = \"<\" + name + attrsHelper(elementAttrs) + \">\";\n\n this.write(str);\n\n if (this._elStack) {\n this._elStack.push(name);\n } else {\n this._elStack = [name];\n }\n },\n\n endElement: function () {\n var tagName = this._elStack.pop();\n this.write(\"\");\n },\n\n comment: function (str) {\n this.write(\"\");\n },\n\n text: function (str) {\n this.write(escapeXmlOrNullish(str));\n },\n\n bf: function (key, component, preserve) {\n if (preserve) {\n this.write(\"\");\n }\n if (this._elStack) {\n this._elStack.push(preserve);\n } else {\n this._elStack = [preserve];\n }\n },\n\n ef: function () {\n var preserve = this._elStack.pop();\n if (preserve) {\n this.write(\"\");\n }\n },\n\n ah_: function (host) {\n var node = this._node;\n\n if (!node) {\n var nextEl;\n var fragment;\n var html = this.ai_();\n if (!host) host = this.C_;\n var doc = host.ownerDocument || host;\n\n if (html) {\n node = parseHTML(html);\n\n if (node && node.nextSibling) {\n // If there are multiple nodes, turn it into a document fragment.\n fragment = doc.createDocumentFragment();\n\n do {\n nextEl = node.nextSibling;\n fragment.appendChild(node);\n } while (node = nextEl);\n\n node = fragment;\n }\n }\n\n // if HTML is empty use empty document fragment (so that we're returning a valid DOM node)\n this._node = node || doc.createDocumentFragment();\n }\n return node;\n },\n\n then: function (fn, fnErr) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var out = this;\n return new Promise(function (resolve, reject) {\n out.on(\"error\", reject);\n out.on(\"finish\", function (result) {\n resolve(result);\n });\n }).then(fn, fnErr);\n },\n\n catch: function (fnErr) {\n return this.then(undefined, fnErr);\n },\n\n finally: function (fn) {\n return this.then(undefined, undefined).finally(fn);\n },\n\n c: function (componentDef, key, customEvents) {\n this.aa_ = componentDef;\n this.ab_ = key;\n this.bd_ = customEvents;\n }\n};\n\n// alias:\nproto.w = proto.write;\nproto.bm_ = proto.endElement;\n\nmodule.exports = AsyncStream;\n\nfunction getNonMarkoStack(error) {\n return error.stack.\n toString().\n split(\"\\n\").\n slice(1).\n filter((line) => !/\\/node_modules\\/marko\\//.test(line)).\n join(\"\\n\");\n}","\"use strict\";\n\nconst immediate = require(\"@internal/set-immediate\");\nconst setImmediate = immediate._k_;\nconst clearImmediate = immediate.af_;\nconst StringWriter = require(\"./StringWriter\");\n\n/**\n * Simple wrapper that can be used to wrap a stream\n * to reduce the number of write calls. In Node.js world,\n * each stream.write() becomes a chunk. We can avoid overhead\n * by reducing the number of chunks by buffering the output.\n */\nfunction BufferedWriter(wrappedStream) {\n StringWriter.call(this);\n this._wrapped = wrappedStream;\n this._scheduled = null;\n}\n\nBufferedWriter.prototype = Object.assign(\n {\n scheduleFlush() {\n if (!this._scheduled) {\n this._scheduled = setImmediate(flush.bind(0, this));\n }\n },\n\n end: function () {\n flush(this);\n if (!this._wrapped.isTTY) {\n this._wrapped.end();\n }\n }\n },\n StringWriter.prototype\n);\n\nfunction flush(writer) {\n const contents = writer.toString();\n if (contents.length !== 0) {\n writer._wrapped.write(contents);\n writer.clear();\n if (writer._wrapped.flush) {\n writer._wrapped.flush();\n }\n }\n\n clearImmediate(writer._scheduled);\n writer._scheduled = null;\n}\n\nmodule.exports = BufferedWriter;","\"use strict\";\n\nvar escapeDoubleQuotes =\nrequire(\"./helpers/escape-quotes\").n_;\n\nfunction StringWriter() {\n this._content = \"\";\n this._scripts = \"\";\n this._data = null;\n}\n\nStringWriter.prototype = {\n write: function (str) {\n this._content += str;\n },\n\n script: function (str) {\n if (str) {\n this._scripts += (this._scripts ? \";\" : \"\") + str;\n }\n },\n\n get: function (key) {\n const extra = this._data = this._data || {};\n return extra[key] = extra[key] || [];\n },\n\n merge: function (otherWriter) {\n this._content += otherWriter._content;\n\n if (otherWriter._scripts) {\n this._scripts = this._scripts ?\n this._scripts + \";\" + otherWriter._scripts :\n otherWriter._scripts;\n }\n\n if (otherWriter._data) {\n if (this._data) {\n for (const key in otherWriter._data) {\n if (this._data[key]) {\n this._data[key].push.apply(this._data[key], otherWriter._data[key]);\n } else {\n this._data[key] = this._writer[key];\n }\n }\n } else {\n this._data = otherWriter._data;\n }\n }\n },\n\n clear: function () {\n this._content = \"\";\n this._scripts = \"\";\n this._data = null;\n },\n\n toString: function () {\n this.state.events.emit(\"c_\", this);\n let str = this._content;\n if (this._scripts) {\n const outGlobal = this.state.root.global;\n const cspNonce = outGlobal.cspNonce;\n const nonceAttr = cspNonce ?\n ' nonce=\"' + escapeDoubleQuotes(cspNonce) + '\"' :\n \"\";\n str += `${this._scripts}`;\n }\n return str;\n }\n};\n\nmodule.exports = StringWriter;","\"use strict\";\nvar attrHelper = require(\"./attr\");\nvar notEmptyAttr = attrHelper.bw_;\nvar isEmptyAttrValue = attrHelper.bx_;\nvar classHelper = require(\"./class-attr\");\nvar styleHelper = require(\"./style-attr\");\n\nmodule.exports = function dynamicAttr(name, value) {\n switch (name) {\n case \"class\":\n return classHelper(value);\n case \"style\":\n return styleHelper(value);\n case \"renderBody\":\n return \"\";\n default:\n return isEmptyAttrValue(value) || isInvalidAttrName(name) ?\n \"\" :\n notEmptyAttr(name, value);\n }\n};\n\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// Technically the above includes more invalid characters for attributes.\n// In practice however the only character that does not become an attribute name\n// is when there is a >.\nfunction isInvalidAttrName(name) {\n for (let i = name.length; i--;) {\n if (name[i] === \">\") {\n return true;\n }\n }\n\n return false;\n}","\"use strict\";\n\nvar escapeQuoteHelpers = require(\"./escape-quotes\");\nvar escapeDoubleQuotes = escapeQuoteHelpers.n_;\nvar escapeSingleQuotes = escapeQuoteHelpers.by_;\n// eslint-disable-next-line no-constant-binary-expression\n\n\nmodule.exports = maybeEmptyAttr;\n\nmaybeEmptyAttr.bw_ = notEmptyAttr;\nmaybeEmptyAttr.bx_ = isEmpty;\n\nfunction maybeEmptyAttr(name, value) {\n if (isEmpty(value)) {\n return \"\";\n }\n\n return notEmptyAttr(name, value);\n}\n\nfunction notEmptyAttr(name, value) {\n switch (typeof value) {\n case \"string\":\n return \" \" + name + guessQuotes(value);\n case \"boolean\":\n return \" \" + name;\n case \"number\":\n return \" \" + name + \"=\" + value;\n case \"object\":\n switch (value.toString) {\n case Object.prototype.toString:\n case Array.prototype.toString:\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n return \" \" + name + singleQuote(JSON.stringify(value), 2);\n case RegExp.prototype.toString:\n return \" \" + name + guessQuotes(value.source);\n }\n }\n\n return \" \" + name + guessQuotes(value + \"\");\n}\n\nfunction isEmpty(value) {\n return value == null || value === false;\n}\n\nfunction doubleQuote(value, startPos) {\n return '=\"' + escapeDoubleQuotes(value, startPos) + '\"';\n}\n\nfunction singleQuote(value, startPos) {\n return \"='\" + escapeSingleQuotes(value, startPos) + \"'\";\n}\n\nfunction guessQuotes(value) {\n for (var i = 0, len = value.length; i < len; i++) {\n switch (value[i]) {\n case '\"':\n return singleQuote(value, i + 1);\n case \"'\":\n case \">\":\n case \" \":\n case \"\\t\":\n case \"\\n\":\n case \"\\r\":\n case \"\\f\":\n return doubleQuote(value, i + 1);\n }\n }\n\n return value && \"=\" + (value[len - 1] === \"/\" ? value + \" \" : value);\n}","\"use strict\";\n\n// eslint-disable-next-line no-constant-binary-expression\n\nvar dynamicAttrHelper = require(\"./_dynamic-attr\");\n\nmodule.exports = function attrs(arg) {\n switch (typeof arg) {\n case \"object\":\n var result = \"\";\n for (var attrName in arg) {\n result += dynamicAttrHelper(attrName, arg[attrName]);\n }\n return result;\n case \"string\":\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n return arg;\n default:\n return \"\";\n }\n};","\"use strict\";\n\nvar classHelper = require(\"../../helpers/class-value\");\nvar attr = require(\"./attr\");\n\nmodule.exports = function classAttr(value) {\n return attr(\"class\", classHelper(value));\n};","\"use strict\";\n\nvar escapeQuoteHelpers = require(\"./escape-quotes\");\nvar escapeSingleQuotes = escapeQuoteHelpers.by_;\nvar escapeDoubleQuotes = escapeQuoteHelpers.n_;\nvar FLAG_WILL_RERENDER_IN_BROWSER = 1;\n// var FLAG_HAS_RENDER_BODY = 2;\n\nmodule.exports = function dataMarko(out, componentDef, props, key) {\n var result = \"\";\n var willNotRerender =\n out.b_.w_ ||\n componentDef.u_ &&\n (componentDef.v_ & FLAG_WILL_RERENDER_IN_BROWSER) === 0;\n\n if (willNotRerender) {\n if (props) {\n for (var _ in props) {\n result +=\n \" data-marko='\" + escapeSingleQuotes(JSON.stringify(props)) + \"'\";\n break;\n }\n }\n\n if (key) {\n result +=\n ' data-marko-key=\"' +\n escapeDoubleQuotes(\n componentDef.aO_(key) + \" \" + componentDef.id\n ) +\n '\"';\n }\n }\n\n return result;\n};","\"use strict\";\n\nexports.d = function (value) {\n return escapeDoubleQuotes(value + \"\", 0);\n};\n\nexports.n_ = escapeDoubleQuotes;\n\nexports.by_ = escapeSingleQuotes;\n\nfunction escapeSingleQuotes(value, startPos) {\n return escapeQuote(value, startPos, \"'\", \"'\");\n}\n\nfunction escapeDoubleQuotes(value, startPos) {\n return escapeQuote(value, startPos, '\"', \""\");\n}\n\nfunction escapeQuote(str, startPos, quote, escaped) {\n var result = \"\";\n var lastPos = 0;\n\n for (var i = startPos, len = str.length; i < len; i++) {\n if (str[i] === quote) {\n result += str.slice(lastPos, i) + escaped;\n lastPos = i + 1;\n }\n }\n\n if (lastPos) {\n return result + str.slice(lastPos);\n }\n\n return str;\n}","\"use strict\";\nconst unsafeCharsReg = /<\\/script/g;\nconst replaceMatch = () => \"\\\\x3C/script\";\nconst escape = (str) =>\nunsafeCharsReg.test(str) ? str.replace(unsafeCharsReg, replaceMatch) : str;\n\n/**\n * Escapes the ' body to avoid the `'\n * };\n *\n * \n *\n * Without escaping the ending '' sequence the opening ';\n *\n * \n *\n * Without escaping the ending '' sequence the opening ';\n *\n * \n *\n * Without escaping the ending '' sequence the opening \";\n scripts = concatScripts(\n scripts,\n REORDER_RUNTIME_CODE + \"(\" + runtimePrefix + \")\"\n );\n }\n for (const reorderedChunk of state.writeReorders) {\n const { reorderId } = reorderedChunk;\n let isSync = true;\n let reorderHTML = \"\";\n let reorderEffects = \"\";\n let reorderScripts = \"\";\n let cur = reorderedChunk;\n reorderedChunk.reorderId = null;\n for (; ; ) {\n cur.flushPlaceholder();\n reorderHTML += cur.html;\n reorderEffects = concatEffects(reorderEffects, cur.effects);\n reorderScripts = concatScripts(reorderScripts, cur.scripts);\n if (cur.async) {\n reorderHTML += state.mark(\n \"#\" /* ReorderMarker */,\n cur.reorderId = state.nextReorderId()\n );\n cur.html = cur.effects = cur.scripts = \"\";\n isSync = false;\n }\n if (cur.next) {\n cur = cur.next;\n } else {\n break;\n }\n }\n if (reorderEffects) {\n if (!state.hasWrittenResume) {\n state.hasWrittenResume = true;\n scripts = concatScripts(\n scripts,\n runtimePrefix + \".r=[]\"\n );\n }\n reorderScripts = concatScripts(\n reorderScripts,\n \"_.push(\" + reorderEffects + \")\"\n );\n }\n scripts = concatScripts(\n scripts,\n reorderScripts && runtimePrefix + \".j.\" + reorderId + \"=_=>{\" + reorderScripts + \"}\"\n );\n html += \"\" + reorderHTML + \"\";\n }\n state.writeReorders = null;\n }\n if (hasWalk) {\n scripts = concatScripts(scripts, runtimePrefix + \".w()\");\n }\n head.html = html;\n head.scripts = scripts;\n return head;\n}\nfunction flushChunk(head) {\n const { html, scripts } = head;\n head.html = head.scripts = \"\";\n return html + (scripts ? \"\" + scripts + \"\" : \"\");\n}\nfunction concatEffects(a, b) {\n return a ? b ? a + \",\" + b : a : b;\n}\nfunction concatScripts(a, b) {\n return a ? b ? a + \";\" + b : a : b;\n}\nvar tick = globalThis.setImmediate || globalThis.setTimeout || globalThis.queueMicrotask || ((cb) => Promise.resolve().then(cb));\nvar tickQueue;\nfunction queueTick(cb) {\n if (tickQueue) {\n tickQueue.add(cb);\n } else {\n tickQueue = /* @__PURE__ */ new Set([cb]);\n tick(flushTickQueue);\n }\n}\nfunction offTick(cb) {\n tickQueue?.delete(cb);\n}\nfunction flushTickQueue() {\n const queue = tickQueue;\n tickQueue = void 0;\n for (const cb of queue) {\n cb(true);\n }\n}\nfunction isPromise(value) {\n return value != null && typeof value.then === \"function\";\n}\nfunction getFilteredGlobals($global) {\n if (!$global) return void 0;\n const serializedGlobals = $global.serializedGlobals;\n if (!serializedGlobals) return void 0;\n let filtered;\n if (Array.isArray(serializedGlobals)) {\n for (const key of serializedGlobals) {\n const value = $global[key];\n if (value !== void 0) {\n if (filtered) {\n filtered[key] = value;\n } else {\n filtered = { [key]: value };\n }\n }\n }\n } else {\n for (const key in serializedGlobals) {\n if (serializedGlobals[key]) {\n const value = $global[key];\n if (value !== void 0) {\n if (filtered) {\n filtered[key] = value;\n } else {\n filtered = { [key]: value };\n }\n }\n }\n }\n }\n return filtered;\n}\n\n// src/html/attrs.ts\nfunction classAttr(val) {\n return stringAttr(\"class\", classValue(val));\n}\nfunction styleAttr(val) {\n return stringAttr(\"style\", styleValue(val));\n}\nfunction optionValueAttr(value) {\n const { [kSelectedValue]: selectedValue } = getChunk()?.context || {};\n return attr(\"value\", value) + (!isVoid(value) && (Array.isArray(value) ? selectedValue.includes(value) : selectedValue === value) ? ` selected` : \"\");\n}\nvar kSelectedValue = Symbol(\"selectedValue\");\nfunction controllable_select_value(scopeId, nodeAccessor, value, valueChange, renderBody) {\n if (valueChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \":\" /* ControlledValue */] = value;\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 3 /* SelectValue */;\n }\n if (renderBody) {\n withContext(kSelectedValue, value, renderBody);\n }\n}\nfunction controllable_input_value(scopeId, nodeAccessor, value, valueChange) {\n if (valueChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 2 /* InputValue */;\n }\n return attr(\"value\", value);\n}\nfunction controllable_input_checked(scopeId, nodeAccessor, checked, checkedChange) {\n if (checkedChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 0 /* InputChecked */;\n }\n return attr(\"checked\", checked);\n}\nfunction controllable_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value) {\n const multiple = Array.isArray(checkedValue);\n const valueAttr = attr(\"value\", value);\n if (checkedValueChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedValueChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 1 /* InputCheckedValue */;\n if (multiple) {\n scope[nodeAccessor + \":\" /* ControlledValue */] = checkedValue;\n }\n }\n return (multiple ? checkedValue.includes(value) : checkedValue === value) ? valueAttr + \" checked\" : valueAttr;\n}\nfunction controllable_detailsOrDialog_open(scopeId, nodeAccessor, open, openChange) {\n if (openChange) {\n const scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \":\" /* ControlledValue */] = open;\n scope[nodeAccessor + \";\" /* ControlledHandler */] = openChange;\n scope[nodeAccessor + \"=\" /* ControlledType */] = 4 /* DetailsOrDialogOpen */;\n }\n return attr(\"open\", open);\n}\nfunction attr(name, val) {\n return isVoid(val) ? \"\" : nonVoidAttr(name, val);\n}\nfunction attrs(data, nodeAccessor, scopeId, tagName) {\n let result = \"\";\n let skip = /[\\s/>\"'=]/;\n let scope;\n let events;\n switch (tagName) {\n case \"input\":\n if (data.checkedChange) {\n result += controllable_input_checked(\n scopeId,\n nodeAccessor,\n data.checked,\n data.checkedChange\n );\n } else if (data.checkedValue || data.checkedValueChange) {\n result += controllable_input_checkedValue(\n scopeId,\n nodeAccessor,\n data.checkedValue,\n data.checkedValueChange,\n data.value\n );\n } else if (data.valueChange) {\n result += controllable_input_value(\n scopeId,\n nodeAccessor,\n data.value,\n data.valueChange\n );\n } else {\n break;\n }\n skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\\s/>\"'=]/;\n break;\n case \"select\":\n if (data.value || data.valueChange) {\n skip = /^value(?:Change)?$|[\\s/>\"'=]/;\n }\n break;\n case \"option\":\n if (data.value) {\n result += optionValueAttr(data.value);\n skip = /^value$|[\\s/>\"'=]/;\n }\n break;\n case \"details\":\n case \"dialog\":\n if (data.openChange) {\n result += controllable_detailsOrDialog_open(\n scopeId,\n nodeAccessor,\n data.open,\n data.openChange\n );\n skip = /^open(?:Change)?$|[\\s/>\"'=]/;\n }\n break;\n }\n for (const name in data) {\n const val = data[name];\n switch (name) {\n case \"class\":\n result += classAttr(val);\n break;\n case \"style\":\n result += styleAttr(val);\n break;\n case \"\":\n case \"renderBody\":\n break;\n default:\n if (!isVoid(val)) {\n if (/^on[A-Z-]/.test(name)) {\n events ||= (scope ??= ensureScopeWithId(scopeId))[nodeAccessor + \"~\" /* EventAttributes */] ||= {};\n events[name[2] === \"-\" ? name.slice(3) : name.slice(2).toLowerCase()] = val;\n } else if (!skip.test(name)) {\n result += nonVoidAttr(name, val);\n }\n }\n break;\n }\n }\n return result;\n}\nfunction partialAttrs(data, skip, nodeAccessor, scopeId, tagName) {\n const partial = {};\n for (const key in data) {\n if (!skip[key]) partial[key] = data[key];\n }\n return attrs(partial, nodeAccessor, scopeId, tagName);\n}\nfunction stringAttr(name, val) {\n return val && ` ${name}=${escapeAttrValue(val)}`;\n}\nfunction nonVoidAttr(name, val) {\n switch (typeof val) {\n case \"string\":\n return ` ${name + attrAssignment(val)}`;\n case \"boolean\":\n return ` ${name}`;\n case \"number\":\n return ` ${name}=${val}`;\n case \"object\":\n if (val instanceof RegExp) {\n return ` ${name + attrAssignment(val.source)}`;\n }\n break;\n }\n return ` ${name + attrAssignment(val + \"\")}`;\n}\nfunction attrAssignment(val) {\n return val ? `=${escapeAttrValue(val)}` : \"\";\n}\nvar unsafeAttrChars = /[\"'>\\s]/g;\nfunction escapeAttrValue(str) {\n if (unsafeAttrChars.test(str)) {\n const c = str[unsafeAttrChars.lastIndex - 1];\n unsafeAttrChars.lastIndex = 0;\n return c === '\"' ? `'${str.replace(/'/g, \"'\")}'` : `\"${str.replace(/\"/g, \""\")}\"`;\n }\n return str;\n}\n\n// src/common/compat-meta.ts\nvar prefix = true ? \"$compat_\" : \"$C_\";\nvar RENDERER_REGISTER_ID = prefix + (true ? \"renderer\" : \"r\");\nvar SET_SCOPE_REGISTER_ID = prefix + (true ? \"setScope\" : \"s\");\n\n// src/common/meta.ts\nvar DEFAULT_RUNTIME_ID = \"M\";\nvar DEFAULT_RENDER_ID = \"_\";\n\n// src/html/dynamic-tag.ts\nvar voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/;\nfunction dynamicTagInput(scope, tag, input, renderBody, tagVar) {\n if (!tag && !renderBody) return void 0;\n const scopeId = getScopeId(scope);\n write(`${markResumeScopeStart(scopeId)}`);\n writeScope(scopeId, scope);\n if (!tag) {\n return renderBody();\n }\n if (typeof tag === \"string\") {\n nextScopeId();\n write(\n `<${tag}${attrs(input, true ? `#${tag}/0` : 0, scopeId, tag)}>`\n );\n if (!voidElementsReg.test(tag)) {\n if (renderBody) {\n if (tag === \"select\" && (\"value\" in input || \"valueChange\" in input)) {\n controllable_select_value(\n scopeId,\n true ? `#${tag}/0` : 0,\n input.value,\n input.valueChange,\n renderBody\n );\n } else {\n renderBody();\n }\n }\n write(``);\n } else if (renderBody) {\n throw new Error(\n `A renderBody was provided for a \"${tag}\" tag, which cannot have children.`\n );\n }\n return null;\n }\n const renderer = getDynamicRenderer(tag);\n if (true) {\n if (typeof renderer !== \"function\") {\n throw new Error(`Invalid renderer passed for dynamic tag: ${tag}`);\n }\n }\n return renderer(renderBody ? { ...input, renderBody } : input, tagVar);\n}\nfunction dynamicTagArgs(scope, tag, args) {\n if (!tag) return void 0;\n const scopeId = getScopeId(scope);\n write(`${markResumeScopeStart(scopeId)}`);\n writeScope(scopeId, scope);\n if (typeof tag === \"string\") {\n nextScopeId();\n write(\n `<${tag}${attrs(args[0], true ? `#${tag}/0` : 0, scopeId, tag)}>`\n );\n if (!voidElementsReg.test(tag)) {\n write(``);\n }\n return void 0;\n }\n const renderer = getDynamicRenderer(tag);\n if (true) {\n if (typeof renderer !== \"function\") {\n throw new Error(`Invalid renderer passed for dynamic tag: ${tag}`);\n }\n }\n return renderer(...args);\n}\nvar getDynamicRenderer = normalizeDynamicRenderer;\nvar createRenderer = (fn) => fn;\nfunction patchDynamicTag(newGetDynamicRenderer, newCreateRenderer) {\n getDynamicRenderer = newGetDynamicRenderer;\n createRenderer = newCreateRenderer;\n}\n\n// src/html/compat.ts\nvar K_TAGS_API_STATE = Symbol();\nvar COMPAT_REGISTRY = /* @__PURE__ */ new WeakMap();\nvar compat = {\n fork,\n write,\n writeScript,\n nextScopeId,\n patchDynamicTag,\n writeSetScopeForComponent(m5c) {\n const scopeId = nextScopeId();\n writeScope(scopeId, { m5c });\n writeEffect(scopeId, SET_SCOPE_REGISTER_ID);\n },\n toJSON() {\n let compatRegistered = COMPAT_REGISTRY.get(this);\n if (!compatRegistered) {\n const registered = getRegistered(this);\n if (registered) {\n const scopeId = getScopeId(registered.scope);\n if (scopeId !== void 0) {\n writeScope(scopeId, {});\n }\n COMPAT_REGISTRY.set(\n this,\n compatRegistered = [registered.id, scopeId]\n );\n }\n }\n return compatRegistered;\n },\n render(renderer, willRerender, classAPIOut, component, input) {\n const $global = classAPIOut.global;\n let state = $global[K_TAGS_API_STATE] ||= getChunk()?.boundary.state;\n if (!state) {\n $global.runtimeId ||= DEFAULT_RUNTIME_ID;\n $global.renderId ||= $global.componentIdPrefix || DEFAULT_RENDER_ID;\n $global[K_TAGS_API_STATE] = state = new State2($global);\n }\n const boundary = new Boundary(state);\n let head = new Chunk(\n boundary,\n null,\n null\n );\n head.render(() => {\n if (willRerender) {\n const scopeId = peekNextScopeId();\n writeScope(scopeId, { m5c: component.id });\n writeEffect(scopeId, SET_SCOPE_REGISTER_ID);\n }\n renderer(input);\n });\n const asyncOut = classAPIOut.beginAsync();\n (boundary.onNext = () => {\n if (boundary.done) {\n if (boundary.signal.aborted) {\n asyncOut.error(boundary.signal.reason);\n } else {\n queueMicrotask(() => {\n const { scripts, html } = head = prepareChunk(head);\n asyncOut.script(scripts);\n asyncOut.write(html);\n asyncOut.end();\n head.html = head.scripts = \"\";\n });\n }\n }\n })();\n },\n registerRenderer(renderer, id) {\n return register(\n RENDERER_REGISTER_ID,\n renderer,\n register(id, () => {\n })\n );\n }\n};\n\n// src/html/content.ts\nfunction toString(val) {\n return val ? val + \"\" : val === 0 ? \"0\" : \"\";\n}\nvar unsafeXMLReg = /[<&]/g;\nvar replaceUnsafeXML = (c) => c === \"&\" ? \"&\" : \"<\";\nvar escapeXMLStr = (str) => unsafeXMLReg.test(str) ? str.replace(unsafeXMLReg, replaceUnsafeXML) : str;\nfunction escapeXML(val) {\n return val ? escapeXMLStr(val + \"\") : val === 0 ? \"0\" : \"‍\";\n}\nvar unsafeScriptReg = /<\\/script/g;\nvar escapeScriptStr = (str) => unsafeScriptReg.test(str) ? str.replace(unsafeScriptReg, \"\\\\x3C/script\") : str;\nfunction escapeScript(val) {\n return val ? escapeScriptStr(val + \"\") : val === 0 ? \"0\" : \"\";\n}\nvar unsafeStyleReg = /<\\/style/g;\nvar escapeStyleStr = (str) => unsafeStyleReg.test(str) ? str.replace(unsafeStyleReg, \"\\\\3C/style\") : str;\nfunction escapeStyle(val) {\n return val ? escapeStyleStr(val + \"\") : val === 0 ? \"0\" : \"\";\n}\n\n// src/html/template.ts\nvar createTemplate = (renderer, templateId) => {\n renderer.render = render;\n renderer._ = renderer;\n if (true) {\n renderer.mount = () => {\n throw new Error(\n `mount() is not implemented for the HTML compilation of a Marko template`\n );\n };\n }\n return register2(renderer, templateId);\n};\nfunction render(input = {}) {\n let { $global } = input;\n if ($global) {\n ({ $global, ...input } = input);\n $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID,\n ...$global\n };\n } else {\n $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID\n };\n }\n const head = new Chunk(\n new Boundary(new State2($global), $global.signal),\n null,\n null\n );\n head.render(this, input);\n return new ServerRenderResult(head);\n}\nvar ServerRenderResult = class {\n #head;\n #cachedPromise = null;\n constructor(head) {\n this.#head = head;\n }\n [Symbol.asyncIterator]() {\n let resolve;\n let reject;\n let value = \"\";\n let done = false;\n let aborted = false;\n let reason;\n this.#read(\n (html) => {\n value += html;\n if (resolve) {\n resolve({ value, done });\n value = \"\";\n }\n },\n (err) => {\n aborted = true;\n reason = err;\n if (reject) {\n reject(err);\n }\n },\n () => {\n done = true;\n if (resolve) {\n resolve({ value, done: !value });\n }\n }\n );\n return {\n next() {\n if (value) {\n const result = { value, done: false };\n value = \"\";\n return Promise.resolve(result);\n }\n return done ? Promise.resolve({ value, done }) : aborted ? Promise.reject(reason) : new Promise(exec);\n }\n };\n function exec(_resolve, _reject) {\n resolve = _resolve;\n reject = _reject;\n }\n }\n pipe(stream) {\n this.#read(\n (html) => {\n stream.write(html);\n },\n (err) => {\n const socket = \"socket\" in stream && stream.socket;\n if (socket && typeof socket.destroySoon === \"function\") {\n socket.destroySoon();\n }\n if (!stream.emit?.(\"error\", err)) {\n throw err;\n }\n },\n () => {\n stream.end();\n }\n );\n }\n toReadable() {\n return new ReadableStream({\n start: (ctrl) => {\n this.#read(\n (html) => {\n ctrl.enqueue(html);\n },\n (err) => {\n ctrl.error(err);\n },\n () => {\n ctrl.close();\n }\n );\n }\n });\n }\n then(onfulfilled, onrejected) {\n return this.#promise().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.#promise().catch(onrejected);\n }\n finally(onfinally) {\n return this.#promise().finally(onfinally);\n }\n #promise() {\n return this.#cachedPromise ||= new Promise((resolve, reject) => {\n let head = this.#head;\n this.#head = null;\n if (!head) {\n return reject(new Error(\"Cannot read from a consumed render result\"));\n }\n const { boundary } = head;\n (boundary.onNext = () => {\n if (boundary.done) {\n if (boundary.signal.aborted) {\n reject(boundary.signal.reason);\n } else {\n head = prepareChunk(head);\n if (boundary.done) resolve(flushChunk(head));\n }\n }\n })();\n });\n }\n #read(onWrite, onAbort, onClose) {\n let tick2 = true;\n let head = this.#head;\n this.#head = null;\n if (!head) {\n onAbort(new Error(\"Cannot read from a consumed render result\"));\n return;\n }\n const { boundary } = head;\n const onNext = boundary.onNext = (write2) => {\n if (write2 || boundary.done) {\n if (boundary.signal.aborted) {\n if (!tick2) offTick(onNext);\n onAbort(boundary.signal.reason);\n return;\n }\n head = prepareChunk(head);\n }\n if (write2 || boundary.done) {\n const html = flushChunk(head);\n if (html) onWrite(html);\n if (boundary.done) {\n if (!tick2) offTick(onNext);\n onClose();\n } else {\n tick2 = true;\n }\n } else if (tick2) {\n tick2 = false;\n queueTick(onNext);\n }\n };\n onNext();\n }\n toString() {\n const head = this.#head;\n if (!head) throw new Error(\"Cannot read from a consumed render result\");\n if (head.next) throw new Error(\"Cannot fork in sync mode\");\n this.#head = null;\n return flushChunk(prepareChunk(head));\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n attr,\n attrTag,\n attrTags,\n attrs,\n classAttr,\n compat,\n controllable_detailsOrDialog_open,\n controllable_input_checked,\n controllable_input_checkedValue,\n controllable_input_value,\n controllable_select_value,\n createRenderer,\n createTemplate,\n dynamicTagArgs,\n dynamicTagInput,\n ensureScopeWithId,\n escapeScript,\n escapeStyle,\n escapeXML,\n forIn,\n forOf,\n forTo,\n fork,\n getScopeById,\n getStreamData,\n markResumeCleanup,\n markResumeControlEnd,\n markResumeControlSingleNodeEnd,\n markResumeNode,\n markResumeScopeStart,\n nextScopeId,\n nextTagId,\n nodeRef,\n normalizeDynamicRenderer,\n optionValueAttr,\n partialAttrs,\n peekNextScope,\n register,\n styleAttr,\n toString,\n tryCatch,\n tryPlaceholder,\n write,\n writeEffect,\n writeExistingScope,\n writeScope\n});\n","\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, __copyProps = (to, from, except, desc) => {\n if (from && typeof from == \"object\" || typeof from == \"function\")\n for (let key of __getOwnPropNames(from))\n !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: !0 }), mod);\n\n// src/dom.ts\nvar dom_exports = {};\n__export(dom_exports, {\n attr: () => attr,\n attrTag: () => attrTag,\n attrTags: () => attrTags,\n attrs: () => attrs,\n attrsEvents: () => attrsEvents,\n changeHandler: () => changeHandler,\n childClosures: () => childClosures,\n classAttr: () => classAttr,\n closure: () => closure,\n compat: () => compat,\n conditional: () => conditional,\n conditionalOnlyChild: () => conditionalOnlyChild,\n controllable_detailsOrDialog_open: () => controllable_detailsOrDialog_open,\n controllable_detailsOrDialog_open_effect: () => controllable_detailsOrDialog_open_effect,\n controllable_input_checked: () => controllable_input_checked,\n controllable_input_checkedValue: () => controllable_input_checkedValue,\n controllable_input_checkedValue_effect: () => controllable_input_checkedValue_effect,\n controllable_input_checked_effect: () => controllable_input_checked_effect,\n controllable_input_value: () => controllable_input_value,\n controllable_input_value_effect: () => controllable_input_value_effect,\n controllable_select_value: () => controllable_select_value,\n controllable_select_value_effect: () => controllable_select_value_effect,\n createRenderer: () => createRenderer,\n createRendererWithOwner: () => createRendererWithOwner,\n createScope: () => createScope,\n createTemplate: () => createTemplate,\n data: () => data,\n dynamicClosure: () => dynamicClosure,\n dynamicSubscribers: () => dynamicSubscribers,\n dynamicTagAttrs: () => dynamicTagAttrs,\n forIn: () => forIn,\n forOf: () => forOf,\n forTo: () => forTo,\n getAbortSignal: () => getAbortSignal,\n html: () => html,\n inChild: () => inChild,\n inConditionalScope: () => inConditionalScope,\n inLoopScope: () => inLoopScope,\n init: () => init,\n initValue: () => initValue,\n intersection: () => intersection,\n intersections: () => intersections,\n lifecycle: () => lifecycle,\n loopIn: () => loopIn,\n loopOf: () => loopOf,\n loopTo: () => loopTo,\n nextTagId: () => nextTagId,\n nodeRef: () => nodeRef,\n on: () => on,\n partialAttrs: () => partialAttrs,\n prepare: () => prepare,\n props: () => props,\n queueControllableSource: () => queueControllableSource,\n queueEffect: () => queueEffect,\n queueSource: () => queueSource,\n register: () => register,\n registerBoundSignal: () => registerBoundSignal,\n registerSubscriber: () => registerSubscriber,\n resetAbortSignal: () => resetAbortSignal,\n run: () => run,\n runEffects: () => runEffects,\n setTagVar: () => setTagVar,\n styleAttr: () => styleAttr,\n tagVarSignal: () => tagVarSignal,\n value: () => value\n});\nmodule.exports = __toCommonJS(dom_exports);\n\n// src/common/attr-tag.ts\nvar empty = [], rest = Symbol();\nfunction attrTag(attrs2) {\n return attrs2[Symbol.iterator] = attrTagIterator, attrs2[rest] = empty, attrs2;\n}\nfunction attrTags(first, attrs2) {\n return first ? (first[rest] === empty ? first[rest] = [attrs2] : first[rest].push(attrs2), first) : attrTag(attrs2);\n}\nfunction* attrTagIterator() {\n yield this, yield* this[rest];\n}\n\n// src/common/for.ts\nfunction forIn(obj, cb) {\n for (let key in obj)\n cb(key, obj[key]);\n}\nfunction forOf(list, cb) {\n if (list) {\n let i = 0;\n for (let item of list)\n cb(item, i++);\n }\n}\nfunction forTo(to, from, step, cb) {\n let start = from || 0, delta = step || 1;\n for (let steps = (to - start) / delta, i = 0; i <= steps; i++)\n cb(start + i * delta);\n}\n\n// src/dom/scope.ts\nfunction createScope($global) {\n return {\n u: 1,\n $global\n };\n}\nvar emptyScope = createScope({});\nfunction getEmptyScope(marker) {\n return emptyScope.a = emptyScope.b = marker, emptyScope;\n}\nfunction destroyScope(scope) {\n _destroyScope(scope), scope.d?.h?.delete(scope);\n let closureSignals = scope.x?.c;\n if (closureSignals)\n for (let signal of closureSignals)\n signal.j?.(scope);\n return scope;\n}\nfunction _destroyScope(scope) {\n let cleanup = scope.h;\n if (cleanup)\n for (let instance of cleanup)\n _destroyScope(instance);\n let controllers = scope.l;\n if (controllers)\n for (let ctrl of controllers.values())\n ctrl.abort();\n}\nfunction onDestroy(scope) {\n let parentScope = scope.d;\n for (; parentScope && !parentScope.h?.has(scope); )\n (parentScope.h ||= /* @__PURE__ */ new Set()).add(scope), scope = parentScope, parentScope = scope.d;\n}\nfunction removeAndDestroyScope(scope) {\n destroyScope(scope);\n let current = scope.a, stop = scope.b.nextSibling;\n for (; current !== stop; ) {\n let next = current.nextSibling;\n current.remove(), current = next;\n }\n}\nfunction insertBefore(scope, parent, nextSibling) {\n let current = scope.a, stop = scope.b.nextSibling;\n for (; current !== stop; ) {\n let next = current.nextSibling;\n parent.insertBefore(current, nextSibling), current = next;\n }\n}\n\n// src/dom/abort-signal.ts\nfunction resetAbortSignal(scope, id) {\n let controllers = scope.l;\n if (controllers) {\n let ctrl = controllers.get(id);\n ctrl && (ctrl.abort(), controllers.delete(id));\n }\n}\nfunction getAbortSignal(scope, id) {\n let controllers = scope.l ||= /* @__PURE__ */ new Map(), controller = controllers.get(id);\n return controller || (onDestroy(scope), controllers.set(id, controller = new AbortController())), controller.signal;\n}\n\n// src/common/compat-meta.ts\nvar prefix = \"$C_\", RENDERER_REGISTER_ID = prefix + \"r\", SET_SCOPE_REGISTER_ID = prefix + \"s\";\n\n// src/common/helpers.ts\nfunction classValue(value2) {\n return toDelimitedString(value2, \" \", stringifyClassObject);\n}\nfunction stringifyClassObject(name, value2) {\n return value2 ? name : \"\";\n}\nfunction styleValue(value2) {\n return toDelimitedString(value2, \";\", stringifyStyleObject);\n}\nvar NON_DIMENSIONAL = /^(--|ta|or|li|z)|n-c|i(do|nk|m|t)|w$|we/;\nfunction stringifyStyleObject(name, value2) {\n return value2 || value2 === 0 ? `${name}:${typeof value2 == \"number\" && value2 && !NON_DIMENSIONAL.test(name) ? value2 + \"px\" : value2}` : \"\";\n}\nfunction toDelimitedString(val, delimiter, stringify) {\n switch (typeof val) {\n case \"string\":\n return val;\n case \"object\":\n if (val !== null) {\n let result = \"\", curDelimiter = \"\";\n if (Array.isArray(val))\n for (let v of val) {\n let part = toDelimitedString(v, delimiter, stringify);\n part !== \"\" && (result += curDelimiter + part, curDelimiter = delimiter);\n }\n else\n for (let name in val) {\n let v = val[name], part = stringify(name, v);\n part !== \"\" && (result += curDelimiter + part, curDelimiter = delimiter);\n }\n return result;\n }\n }\n return \"\";\n}\nfunction normalizeDynamicRenderer(value2) {\n if (value2) return value2.renderBody || value2.default || value2;\n}\n\n// src/dom/reconcile.ts\nvar WRONG_POS = 2147483647;\nfunction reconcile(parent, oldScopes, newScopes, afterReference) {\n let oldStart = 0, newStart = 0, oldEnd = oldScopes.length - 1, newEnd = newScopes.length - 1, oldStartScope = oldScopes[oldStart], newStartScope = newScopes[newStart], oldEndScope = oldScopes[oldEnd], newEndScope = newScopes[newEnd], i, j, k, nextSibling, oldScope, newScope;\n outer: {\n for (; oldStartScope === newStartScope; ) {\n if (++oldStart, ++newStart, oldStart > oldEnd || newStart > newEnd)\n break outer;\n oldStartScope = oldScopes[oldStart], newStartScope = newScopes[newStart];\n }\n for (; oldEndScope === newEndScope; ) {\n if (--oldEnd, --newEnd, oldStart > oldEnd || newStart > newEnd)\n break outer;\n oldEndScope = oldScopes[oldEnd], newEndScope = newScopes[newEnd];\n }\n }\n if (oldStart > oldEnd) {\n if (newStart <= newEnd) {\n k = newEnd + 1, nextSibling = k < newScopes.length ? newScopes[k].a : afterReference;\n do\n insertBefore(newScopes[newStart++], parent, nextSibling);\n while (newStart <= newEnd);\n }\n } else if (newStart > newEnd)\n do\n removeAndDestroyScope(oldScopes[oldStart++]);\n while (oldStart <= oldEnd);\n else {\n let oldLength = oldEnd - oldStart + 1, newLength = newEnd - newStart + 1, aNullable = oldScopes, sources = new Array(newLength);\n for (i = 0; i < newLength; ++i)\n sources[i] = -1;\n let pos = 0, synced = 0, keyIndex = /* @__PURE__ */ new Map();\n for (j = newStart; j <= newEnd; ++j)\n keyIndex.set(newScopes[j], j);\n for (i = oldStart; i <= oldEnd && synced < newLength; ++i)\n oldScope = oldScopes[i], j = keyIndex.get(oldScope), j !== void 0 && (pos = pos > j ? WRONG_POS : j, ++synced, newScope = newScopes[j], sources[j - newStart] = i, aNullable[i] = null);\n if (oldLength === oldScopes.length && synced === 0) {\n for (; newStart < newLength; ++newStart)\n insertBefore(newScopes[newStart], parent, afterReference);\n for (; oldStart < oldLength; ++oldStart)\n removeAndDestroyScope(oldScopes[oldStart]);\n } else {\n for (i = oldLength - synced; i > 0; )\n oldScope = aNullable[oldStart++], oldScope !== null && (removeAndDestroyScope(oldScope), i--);\n if (pos === WRONG_POS) {\n let seq = longestIncreasingSubsequence(sources);\n for (j = seq.length - 1, k = newScopes.length, i = newLength - 1; i >= 0; --i)\n sources[i] === -1 ? (pos = i + newStart, newScope = newScopes[pos++], nextSibling = pos < k ? newScopes[pos].a : afterReference, insertBefore(newScope, parent, nextSibling)) : j < 0 || i !== seq[j] ? (pos = i + newStart, newScope = newScopes[pos++], nextSibling = pos < k ? newScopes[pos].a : afterReference, insertBefore(newScope, parent, nextSibling)) : --j;\n } else if (synced !== newLength)\n for (k = newScopes.length, i = newLength - 1; i >= 0; --i)\n sources[i] === -1 && (pos = i + newStart, newScope = newScopes[pos++], nextSibling = pos < k ? newScopes[pos].a : afterReference, insertBefore(newScope, parent, nextSibling));\n }\n }\n}\nfunction longestIncreasingSubsequence(a) {\n let p = a.slice(), result = [];\n result.push(0);\n let u, v;\n for (let i = 0, il = a.length; i < il; ++i) {\n if (a[i] === -1)\n continue;\n let j = result[result.length - 1];\n if (a[j] < a[i]) {\n p[i] = j, result.push(i);\n continue;\n }\n for (u = 0, v = result.length - 1; u < v; ) {\n let c = (u + v) / 2 | 0;\n a[result[c]] < a[i] ? u = c + 1 : v = c;\n }\n a[i] < a[result[u]] && (u > 0 && (p[i] = result[u - 1]), result[u] = i);\n }\n for (u = result.length, v = result[u - 1]; u-- > 0; )\n result[u] = v, v = p[v];\n return result;\n}\n\n// src/dom/event.ts\nvar elementHandlersByEvent = /* @__PURE__ */ new Map(), defaultDelegator = createDelegator();\nfunction on(element, type, handler) {\n let handlersByElement = elementHandlersByEvent.get(type);\n handlersByElement || elementHandlersByEvent.set(type, handlersByElement = /* @__PURE__ */ new WeakMap()), handlersByElement.has(element) || defaultDelegator(element, type, handleDelegated), handlersByElement.set(element, handler || void 0);\n}\nfunction createDelegator() {\n let delegatedEventsByRoot = /* @__PURE__ */ new WeakMap();\n return function(node, type, handler) {\n let root = node.getRootNode(), delegatedEvents = delegatedEventsByRoot.get(root);\n delegatedEvents || delegatedEventsByRoot.set(root, delegatedEvents = /* @__PURE__ */ new Set()), delegatedEvents.has(type) || (delegatedEvents.add(type), root.addEventListener(type, handler, !0));\n };\n}\nfunction handleDelegated(ev) {\n let target = ev.target;\n if (target) {\n let handlersByElement = elementHandlersByEvent.get(ev.type);\n if (handlersByElement.get(target)?.(ev, target), ev.bubbles)\n for (; (target = target.parentElement) && !ev.cancelBubble; )\n handlersByElement.get(target)?.(ev, target);\n }\n}\n\n// src/dom/schedule.ts\nvar port2 = /* @__PURE__ */ (() => {\n let { port1, port2: port22 } = new MessageChannel();\n return port1.onmessage = () => {\n isScheduled = !1, run();\n }, port22;\n})(), isScheduled;\nfunction schedule() {\n isScheduled || (isScheduled = !0, queueMicrotask(flushAndWaitFrame));\n}\nfunction flushAndWaitFrame() {\n run(), requestAnimationFrame(triggerMacroTask);\n}\nfunction triggerMacroTask() {\n port2.postMessage(0);\n}\n\n// src/dom/signals.ts\nvar MARK = {}, CLEAN = {}, DIRTY = {};\nfunction initValue(valueAccessor, valueSignal) {\n let markAccessor = valueAccessor + \"#\" /* Mark */;\n return (scope, valueOrOp) => {\n valueOrOp !== MARK && scope[markAccessor] === void 0 && valueSignal(scope, valueOrOp);\n };\n}\nfunction changeHandler(valueAccessor, fn) {\n let markAccessor = valueAccessor + \"#\" /* Mark */;\n return (scope, valueOrOp) => {\n fn(scope, valueOrOp);\n };\n}\nfunction value(valueAccessor, fn, getIntersection) {\n let markAccessor = valueAccessor + \"#\" /* Mark */, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, valueOrOp) => {\n if (valueOrOp === MARK)\n (scope[markAccessor] = (scope[markAccessor] ?? 0) + 1) === 1 && intersection2?.(scope, MARK);\n else if (valueOrOp !== DIRTY) {\n let existing = scope[markAccessor] !== void 0;\n (scope[markAccessor] ||= 1) === 1 && (valueOrOp === CLEAN || existing && scope[valueAccessor] === valueOrOp ? intersection2?.(scope, CLEAN) : (scope[valueAccessor] = valueOrOp, fn?.(scope, valueOrOp), intersection2?.(scope, DIRTY))), scope[markAccessor]--;\n }\n };\n}\nvar accessorId = 0;\nfunction intersection(count, fn, getIntersection) {\n let dirtyAccessor = \"?\" /* Dynamic */ + accessorId++, markAccessor = dirtyAccessor + \"#\" /* Mark */, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, op) => {\n op === MARK ? (scope[markAccessor] = (scope[markAccessor] ?? 0) + 1) === 1 && intersection2?.(scope, MARK) : scope[markAccessor] === void 0 ? (scope[markAccessor] = count - 1, scope[dirtyAccessor] = !0) : --scope[markAccessor] === 0 ? op === DIRTY || scope[dirtyAccessor] ? (scope[dirtyAccessor] = !1, fn(scope, 0), intersection2?.(scope, DIRTY)) : intersection2?.(scope, CLEAN) : scope[dirtyAccessor] ||= op === DIRTY;\n };\n}\nvar defaultGetOwnerScope = (scope) => scope._;\nfunction closure(ownerValueAccessor, fn, getOwnerScope = defaultGetOwnerScope, getIntersection) {\n let dirtyAccessor = \"?\" /* Dynamic */ + accessorId++, markAccessor = dirtyAccessor + 1, getOwnerValueAccessor = typeof ownerValueAccessor == \"function\" ? ownerValueAccessor : () => ownerValueAccessor, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, op) => {\n if (op === MARK)\n (scope[markAccessor] = (scope[markAccessor] ?? 0) + 1) === 1 && intersection2?.(scope, MARK);\n else {\n let ownerScope, ownerValueAccessor2;\n if (scope[markAccessor] === void 0) {\n ownerScope = getOwnerScope(scope), ownerValueAccessor2 = getOwnerValueAccessor(scope);\n let ownerMark = ownerScope[ownerValueAccessor2 + \"#\" /* Mark */], ownerHasRun = ownerMark === void 0 ? !ownerScope.u : ownerMark === 0;\n scope[markAccessor] = ownerHasRun ? 1 : 2, op = DIRTY;\n }\n --scope[markAccessor] === 0 ? op === DIRTY || scope[dirtyAccessor] ? (scope[dirtyAccessor] = !1, ownerScope ||= getOwnerScope(scope), ownerValueAccessor2 ||= getOwnerValueAccessor(scope), fn?.(scope, ownerScope[ownerValueAccessor2]), intersection2?.(scope, DIRTY)) : intersection2?.(scope, CLEAN) : scope[dirtyAccessor] ||= op === DIRTY;\n }\n };\n}\nfunction dynamicClosure(ownerValueAccessor, fn, getOwnerScope = defaultGetOwnerScope, getIntersection) {\n let getOwnerValueAccessor = typeof ownerValueAccessor == \"function\" ? ownerValueAccessor : () => ownerValueAccessor, signalFn = closure(\n getOwnerValueAccessor,\n fn,\n getOwnerScope,\n getIntersection\n ), subscribeFns = /* @__PURE__ */ new WeakMap();\n return signalFn.g = (scope) => {\n let subscribeFn = (value2) => signalFn(scope, value2), ownerScope = getOwnerScope(scope), providerSubscriptionsAccessor = getOwnerValueAccessor(scope) + \"*\" /* Subscribers */;\n subscribeFns.set(scope, subscribeFn), (ownerScope[providerSubscriptionsAccessor] ||= /* @__PURE__ */ new Set()).add(subscribeFn);\n }, signalFn.j = (scope) => {\n let ownerScope = getOwnerScope(scope), providerSubscriptionsAccessor = getOwnerValueAccessor(scope) + \"*\" /* Subscribers */;\n ownerScope[providerSubscriptionsAccessor]?.delete(subscribeFns.get(scope)), subscribeFns.delete(scope);\n }, signalFn;\n}\nfunction childClosures(closureSignals, childAccessor) {\n let signal = (scope, op) => {\n let childScope = scope[childAccessor];\n for (let closureSignal of closureSignals)\n closureSignal(childScope, op);\n };\n return signal.g = (scope) => {\n let childScope = scope[childAccessor];\n for (let closureSignal of closureSignals)\n closureSignal.g?.(childScope);\n }, signal.j = (scope) => {\n let childScope = scope[childAccessor];\n for (let closureSignal of closureSignals)\n closureSignal.j?.(childScope);\n }, signal;\n}\nfunction dynamicSubscribers(valueAccessor) {\n let subscribersAccessor = valueAccessor + \"*\" /* Subscribers */;\n return (scope, op) => {\n let subscribers = scope[subscribersAccessor];\n if (subscribers)\n for (let subscriber of subscribers)\n subscriber(op);\n };\n}\nfunction setTagVar(scope, childAccessor, tagVarSignal2) {\n scope[childAccessor][\"/\" /* TagVariable */] = (valueOrOp) => tagVarSignal2(scope, valueOrOp);\n}\nvar tagVarSignal = (scope, valueOrOp) => scope[\"/\" /* TagVariable */]?.(valueOrOp), renderBodyClosures = (renderBody, childScope, op) => {\n let signals = renderBody?.c;\n if (signals)\n for (let signal of signals)\n signal(childScope, op);\n};\nvar tagIdsByGlobal = /* @__PURE__ */ new WeakMap();\nfunction nextTagId({ $global }) {\n let id = tagIdsByGlobal.get($global) || 0;\n return tagIdsByGlobal.set($global, id + 1), \"c\" + $global.runtimeId + $global.renderId + id.toString(36);\n}\nfunction inChild(childAccessor, signal) {\n return (scope, valueOrOp) => {\n signal(scope[childAccessor], valueOrOp);\n };\n}\nfunction intersections(signals) {\n return (scope, op) => {\n for (let signal of signals)\n signal(scope, op);\n };\n}\n\n// src/dom/queue.ts\nvar currentBatch = [], currentEffects = [];\nfunction queueControllableSource(scope, signal, changeHandler2, value2) {\n return changeHandler2 ? (changeHandler2(value2), value2) : queueSource(scope, signal, value2);\n}\nfunction queueSource(scope, signal, value2) {\n return schedule(), signal(scope, MARK), currentBatch.push(scope, signal, value2), value2;\n}\nfunction queueEffect(scope, fn) {\n currentEffects.push(scope, fn);\n}\nfunction run() {\n try {\n runBatch();\n } finally {\n currentBatch = [];\n }\n try {\n runEffects();\n } finally {\n currentEffects = [];\n }\n}\nfunction runSync(fn, v) {\n let prevBatch = currentBatch, prevEffects = currentEffects;\n currentBatch = [], currentEffects = [];\n try {\n fn(v), runBatch(), currentBatch = prevBatch, runEffects();\n } finally {\n currentBatch = prevBatch, currentEffects = prevEffects;\n }\n}\nfunction prepare(fn) {\n let prevBatch = currentBatch, prevEffects = currentEffects, preparedEffects = currentEffects = [];\n currentBatch = [];\n try {\n fn(), runBatch();\n } finally {\n currentBatch = prevBatch, currentEffects = prevEffects;\n }\n return preparedEffects;\n}\nfunction runEffects(effects = currentEffects) {\n for (let i = 0; i < effects.length; i += 2 /* Total */) {\n let scope = effects[i], fn = effects[i + 1];\n fn(scope);\n }\n}\nfunction runBatch() {\n for (let i = 0; i < currentBatch.length; i += 3 /* Total */) {\n let scope = currentBatch[i + 0 /* Scope */], signal = currentBatch[i + 1 /* Signal */], value2 = currentBatch[i + 2 /* Value */];\n signal(scope, value2);\n }\n}\n\n// src/dom/resolve-cursor-position.ts\nfunction resolveCursorPosition(updatedValue, initialValue, initialPosition, inputType2) {\n if (initialPosition !== initialValue.length || // short regex to match input types that delete backwards\n /kw/.test(inputType2)) {\n let before = initialValue.slice(0, initialPosition), after = initialValue.slice(initialPosition);\n if (updatedValue.startsWith(before))\n return initialPosition;\n if (updatedValue.endsWith(after))\n return updatedValue.length - after.length;\n {\n let relevantChars = stripSpacesAndPunctuation(before).length, pos = 0, relevantIndex = 0;\n for (; relevantIndex < relevantChars; )\n stripSpacesAndPunctuation(updatedValue[pos]) && relevantIndex++, pos++;\n return pos;\n }\n }\n return -1;\n}\nfunction stripSpacesAndPunctuation(str) {\n return str.replace(/[^\\p{L}\\p{N}]/gu, \"\");\n}\n\n// src/common/meta.ts\nvar DEFAULT_RUNTIME_ID = \"M\", DEFAULT_RENDER_ID = \"_\";\n\n// src/dom/resume.ts\nvar registeredValues = {}, Render = class {\n m = [];\n n = {};\n y = {\n _: registeredValues\n };\n constructor(renders, runtimeId, renderId) {\n this.z = renders, this.A = runtimeId, this.o = renderId, this.p = renders[renderId], this.q();\n }\n w() {\n this.p.w(), this.q();\n }\n q() {\n let data2 = this.p, serializeContext = this.y, scopeLookup = this.n, visits = data2.v, cleanupOwners = /* @__PURE__ */ new Map();\n if (visits.length) {\n let commentPrefixLen = data2.i.length, cleanupMarkers = /* @__PURE__ */ new Map();\n data2.v = [];\n let sectionEnd = (visit, scopeId = this.f, curNode = visit) => {\n let scope = scopeLookup[scopeId] ||= {}, endNode = curNode;\n for (; (endNode = endNode.previousSibling).nodeType === 8; ) ;\n scope.b = endNode;\n let startNode = scope.a ||= endNode, len = cleanupMarkers.size;\n for (let [markerScopeId, markerNode] of cleanupMarkers) {\n if (!len--) break;\n markerScopeId !== scopeId && startNode.compareDocumentPosition(markerNode) & 4 && curNode.compareDocumentPosition(markerNode) & 2 && (cleanupOwners.set(\"\" + markerScopeId, scopeId), cleanupMarkers.delete(markerScopeId));\n }\n return cleanupMarkers.set(scopeId, visit), scope;\n };\n for (let visit of visits) {\n let commentText = visit.data, token = commentText[commentPrefixLen], scopeId = parseInt(commentText.slice(commentPrefixLen + 1)), scope = scopeLookup[scopeId] ||= {}, dataIndex = commentText.indexOf(\" \") + 1, data3 = dataIndex ? commentText.slice(dataIndex) : \"\";\n if (token === \"*\" /* Node */)\n scope[data3] = visit.previousSibling;\n else if (token === \"$\" /* Cleanup */)\n cleanupMarkers.set(scopeId, visit);\n else if (token === \"[\" /* SectionStart */)\n this.f && (data3 && sectionEnd(visit), this.m.push(this.f)), this.f = scopeId, scope.a = visit;\n else if (token === \"]\" /* SectionEnd */) {\n if (scope[data3] = visit, scopeId < this.f) {\n let currParent = visit.parentNode, startNode = sectionEnd(visit).a;\n currParent && currParent !== startNode.parentNode && currParent.prepend(startNode), this.f = this.m.pop();\n }\n } else if (token === \"|\" /* SectionSingleNodesEnd */) {\n scope[parseInt(data3)] = visit;\n let childScopeIds = JSON.parse(\n \"[\" + data3.slice(data3.indexOf(\" \") + 1) + \"]\"\n ), curNode = visit;\n for (let i = childScopeIds.length - 1; i >= 0; i--)\n curNode = sectionEnd(visit, childScopeIds[i], curNode).b;\n }\n }\n }\n let resumes = data2.r;\n if (resumes) {\n data2.r = [];\n let len = resumes.length, i = 0;\n try {\n for (isResuming = !0; i < len; ) {\n let resumeData = resumes[i++];\n if (typeof resumeData == \"function\") {\n let scopes = resumeData(serializeContext), { $global } = scopeLookup;\n $global || (scopeLookup.$global = $global = scopes.$ || {}, $global.runtimeId = this.A, $global.renderId = this.o);\n for (let scopeId in scopes)\n if (scopeId !== \"$\") {\n let scope = scopes[scopeId], prevScope = scopeLookup[scopeId];\n scope.$global = $global, prevScope !== scope && (scopeLookup[scopeId] = Object.assign(\n scope,\n prevScope\n ));\n let cleanupOwnerId = cleanupOwners.get(scopeId);\n cleanupOwnerId && (scope.d = scopes[cleanupOwnerId], onDestroy(scope));\n }\n } else i === len || typeof resumes[i] != \"string\" ? delete this.z[this.o] : registeredValues[resumes[i++]](\n scopeLookup[resumeData]\n );\n }\n } finally {\n isResuming = !1;\n }\n }\n }\n}, isResuming = !1;\nfunction register(id, obj) {\n return registeredValues[id] = obj, obj;\n}\nfunction registerBoundSignal(id, signal) {\n return registeredValues[id] = (scope) => (valueOrOp) => signal(scope, valueOrOp), signal;\n}\nfunction getRegisteredWithScope(id, scope) {\n let val = registeredValues[id];\n return scope ? val(scope) : val;\n}\nfunction init(runtimeId = DEFAULT_RUNTIME_ID) {\n let resumeRender = (renderId) => resumeRender[renderId] = renders[renderId] = new Render(renders, runtimeId, renderId), renders;\n window[runtimeId] ? setRenders(window[runtimeId]) : Object.defineProperty(window, runtimeId, {\n configurable: !0,\n set: setRenders\n });\n function setRenders(v) {\n renders = v;\n for (let renderId in v)\n resumeRender(renderId);\n Object.defineProperty(window, runtimeId, {\n configurable: !0,\n value: resumeRender\n });\n }\n}\nfunction registerSubscriber(id, signal) {\n return register(id, signal.g), signal;\n}\nfunction nodeRef(id, key) {\n return register(id, (scope) => () => scope[key]);\n}\n\n// src/dom/controllable.ts\nfunction controllable_input_checked(scope, nodeAccessor, checked, checkedChange) {\n setCheckboxValue(\n scope,\n nodeAccessor,\n 0 /* InputChecked */,\n normalizeBoolProp(checked),\n checkedChange\n );\n}\nfunction controllable_input_checked_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n syncControllable(el, \"input\", hasCheckboxChanged, () => {\n let checkedChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n checkedChange && (scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, runSync(checkedChange, el.checked), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && (el.checked = !el.checked));\n });\n}\nfunction controllable_input_checkedValue(scope, nodeAccessor, checkedValue, checkedValueChange, value2) {\n scope[nodeAccessor + \":\" /* ControlledValue */] = checkedValue, attr(scope[nodeAccessor], \"value\", value2), setCheckboxValue(\n scope,\n nodeAccessor,\n 1 /* InputCheckedValue */,\n Array.isArray(checkedValue) ? checkedValue.includes(value2) : checkedValue === value2,\n checkedValueChange\n );\n}\nfunction controllable_input_checkedValue_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n syncControllable(el, \"input\", hasCheckboxChanged, () => {\n let checkedValueChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n if (checkedValueChange) {\n let oldValue = scope[nodeAccessor + \":\" /* ControlledValue */];\n scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, runSync(\n checkedValueChange,\n Array.isArray(oldValue) ? updateList(oldValue, el.value, el.checked) : el.checked ? el.value : void 0\n ), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && (el.checked = !el.checked);\n }\n });\n}\nfunction controllable_input_value(scope, nodeAccessor, value2, valueChange) {\n let el = scope[nodeAccessor], normalizedValue = normalizeStrProp(value2);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange, valueChange ? (scope[nodeAccessor + \"=\" /* ControlledType */] = 0 /* InputChecked */, scope[nodeAccessor + \":\" /* ControlledValue */] = value2, el.isConnected ? setValueAndUpdateSelection(el, normalizedValue) : el.defaultValue = normalizedValue) : (scope[nodeAccessor + \"=\" /* ControlledType */] = 5 /* None */, el.defaultValue = normalizedValue);\n}\nfunction controllable_input_value_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n isResuming && (scope[nodeAccessor + \":\" /* ControlledValue */] = el.defaultValue), syncControllable(el, \"input\", hasValueChanged, (ev) => {\n let valueChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n valueChange && (scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, inputType = ev.inputType || inputType, runSync(valueChange, el.value), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && setValueAndUpdateSelection(\n el,\n scope[nodeAccessor + \":\" /* ControlledValue */]\n ), inputType = \"\");\n });\n}\nfunction controllable_select_value(scope, nodeAccessor, value2, valueChange) {\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange, valueChange ? (scope[nodeAccessor + \"=\" /* ControlledType */] = 3 /* SelectValue */, scope[nodeAccessor + \":\" /* ControlledValue */] = value2) : scope[nodeAccessor + \"=\" /* ControlledType */] = 5 /* None */, setSelectOptions(\n scope[nodeAccessor],\n value2,\n valueChange\n );\n}\nfunction controllable_select_value_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n syncControllable(el, \"input\", hasSelectChanged, () => {\n let valueChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n valueChange && (scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, runSync(\n valueChange,\n Array.isArray(scope[nodeAccessor + \":\" /* ControlledValue */]) ? Array.from(el.selectedOptions, toValueProp) : el.value\n ), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && setSelectOptions(\n el,\n scope[nodeAccessor + \":\" /* ControlledValue */],\n valueChange\n ));\n });\n}\nfunction setSelectOptions(el, value2, valueChange) {\n if (Array.isArray(value2))\n for (let opt of el.options) {\n let selected = value2.includes(opt.value);\n valueChange ? opt.selected = selected : opt.defaultSelected = selected;\n }\n else {\n let normalizedValue = normalizeStrProp(value2);\n if (valueChange)\n el.value = normalizedValue;\n else\n for (let opt of el.options)\n opt.defaultSelected = opt.value === normalizedValue;\n }\n}\nfunction controllable_detailsOrDialog_open(scope, nodeAccessor, open, openChange) {\n scope[nodeAccessor + \";\" /* ControlledHandler */] = openChange, openChange ? scope[nodeAccessor + \"=\" /* ControlledType */] = 4 /* DetailsOrDialogOpen */ : scope[nodeAccessor + \"=\" /* ControlledType */] = 5 /* None */, scope[nodeAccessor].open = normalizeBoolProp(open);\n}\nfunction controllable_detailsOrDialog_open_effect(scope, nodeAccessor) {\n let el = scope[nodeAccessor];\n syncControllable(\n el,\n el.tagName === \"DIALOG\" ? \"close\" : \"toggle\",\n () => scope[nodeAccessor + \";\" /* ControlledHandler */] && el.open !== scope[nodeAccessor + \":\" /* ControlledValue */],\n () => {\n let openChange = scope[nodeAccessor + \";\" /* ControlledHandler */];\n openChange && (scope[nodeAccessor + \"=\" /* ControlledType */] = 6 /* Pending */, runSync(openChange, el.open), scope[nodeAccessor + \"=\" /* ControlledType */] === 6 /* Pending */ && (el.open = !el.open));\n }\n );\n}\nvar inputType = \"\";\nfunction setValueAndUpdateSelection(el, value2) {\n let initialValue = el.value;\n if (initialValue !== value2)\n if (document.activeElement === el) {\n let initialPosition = el.selectionStart;\n el.value = value2;\n let updatedPosition = resolveCursorPosition(\n el.value,\n initialValue,\n initialPosition,\n inputType\n );\n ~updatedPosition && el.setSelectionRange(updatedPosition, updatedPosition);\n } else\n el.value = value2;\n}\nfunction setCheckboxValue(scope, nodeAccessor, type, checked, checkedChange) {\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedChange, checkedChange ? (scope[nodeAccessor + \"=\" /* ControlledType */] = type, scope[nodeAccessor].checked = checked) : (scope[nodeAccessor + \"=\" /* ControlledType */] = 5 /* None */, scope[nodeAccessor].defaultChecked = checked);\n}\nvar delegateFormControl = createDelegator(), formChangeHandlers = /* @__PURE__ */ new WeakMap();\nfunction syncControllable(el, event, hasChanged, onChange) {\n formChangeHandlers.set(el, onChange), delegateFormControl(el, event, onFormChange), el.form && delegateFormControl(el.form, \"reset\", onFormReset), isResuming && hasChanged(el) && queueMicrotask(onChange);\n}\nfunction onFormChange(ev) {\n formChangeHandlers.get(ev.target)?.(ev);\n}\nfunction onFormReset(ev) {\n let handlers = [];\n for (let el of ev.target.elements) {\n let handler = formChangeHandlers.get(el);\n handler && hasFormElementChanged(el) && handlers.push(handler);\n }\n requestAnimationFrame(() => {\n if (!ev.defaultPrevented)\n for (let change of handlers)\n change();\n });\n}\nfunction hasValueChanged(el) {\n return el.value !== el.defaultValue;\n}\nfunction hasCheckboxChanged(el) {\n return el.checked !== el.defaultChecked;\n}\nfunction hasSelectChanged(el) {\n for (let opt of el.options)\n if (opt.selected !== opt.defaultSelected)\n return !0;\n}\nfunction hasFormElementChanged(el) {\n switch (el.tagName) {\n case \"INPUT\":\n return hasValueChanged(el) || hasCheckboxChanged(el);\n case \"SELECT\":\n return hasSelectChanged(el);\n }\n}\nfunction normalizeStrProp(value2) {\n return normalizeAttrValue(value2) || \"\";\n}\nfunction normalizeBoolProp(value2) {\n return value2 != null && value2 !== !1;\n}\nfunction updateList(arr, val, push) {\n let index = arr.indexOf(val);\n return (push ? !~index && [...arr, val] : ~index && arr.slice(0, index).concat(arr.slice(index + 1))) || arr;\n}\nfunction toValueProp(it) {\n return it.value;\n}\n\n// src/dom/parse-html.ts\nvar fallback = document.createTextNode(\"\"), parser = /* @__PURE__ */ new Range();\nfunction parseHTML(html2) {\n return parser.createContextualFragment(html2);\n}\nfunction parseHTMLOrSingleNode(html2) {\n let content = parseHTML(html2);\n return content.firstChild === content.lastChild ? content.firstChild || fallback : content;\n}\n\n// src/dom/dom.ts\nvar eventHandlerReg = /^on[A-Z-]/;\nfunction attr(element, name, value2) {\n setAttribute(element, name, normalizeAttrValue(value2));\n}\nfunction setAttribute(element, name, value2) {\n element.getAttribute(name) != value2 && (value2 === void 0 ? element.removeAttribute(name) : element.setAttribute(name, value2));\n}\nfunction classAttr(element, value2) {\n setAttribute(element, \"class\", classValue(value2) || void 0);\n}\nfunction styleAttr(element, value2) {\n setAttribute(element, \"style\", styleValue(value2) || void 0);\n}\nfunction data(node, value2) {\n let normalizedValue = normalizeString(value2);\n node.data !== normalizedValue && (node.data = normalizedValue);\n}\nfunction attrs(scope, nodeAccessor, nextAttrs) {\n let el = scope[nodeAccessor];\n for (let { name } of el.attributes)\n nextAttrs && (name in nextAttrs || hasAttrAlias(el, name, nextAttrs)) || el.removeAttribute(name);\n attrsInternal(scope, nodeAccessor, nextAttrs);\n}\nfunction hasAttrAlias(element, attr2, nextAttrs) {\n return attr2 === \"checked\" && element.tagName === \"INPUT\" && \"checkedValue\" in nextAttrs;\n}\nfunction partialAttrs(scope, nodeAccessor, nextAttrs, skip) {\n let el = scope[nodeAccessor], partial = {};\n for (let { name } of el.attributes)\n !skip[name] && !(nextAttrs && name in nextAttrs) && el.removeAttribute(name);\n for (let key in nextAttrs)\n skip[key] || (partial[key] = nextAttrs[key]);\n attrsInternal(scope, nodeAccessor, partial);\n}\nfunction attrsInternal(scope, nodeAccessor, nextAttrs) {\n let el = scope[nodeAccessor], events, skip;\n switch (el.tagName) {\n case \"INPUT\":\n if (nextAttrs.checkedChange)\n controllable_input_checked(\n scope,\n nodeAccessor,\n nextAttrs.checked,\n nextAttrs.checkedChange\n );\n else if (nextAttrs.checkedValue || nextAttrs.checkedValueChange)\n controllable_input_checkedValue(\n scope,\n nodeAccessor,\n nextAttrs.checkedValue,\n nextAttrs.checkedValueChange,\n nextAttrs.value\n );\n else if (nextAttrs.valueChange)\n controllable_input_value(\n scope,\n nodeAccessor,\n nextAttrs.value,\n nextAttrs.valueChange\n );\n else\n break;\n skip = /^(?:value|checked(?:Value)?)(?:Change)?$/;\n break;\n case \"SELECT\":\n (nextAttrs.value || nextAttrs.valueChange) && (controllable_select_value(\n scope,\n nodeAccessor,\n nextAttrs.value,\n nextAttrs.valueChange\n ), skip = /^value(?:Change)?$/);\n break;\n case \"DETAILS\":\n case \"DIALOG\":\n nextAttrs.openChange && (controllable_detailsOrDialog_open(\n scope,\n nodeAccessor,\n nextAttrs.open,\n nextAttrs.openChange\n ), skip = /^open(?:Change)?$/);\n break;\n }\n for (let name in nextAttrs) {\n let value2 = nextAttrs[name];\n switch (name) {\n case \"class\":\n classAttr(el, value2);\n break;\n case \"style\":\n styleAttr(el, value2);\n break;\n case \"renderBody\":\n break;\n default:\n eventHandlerReg.test(name) ? (events ||= scope[nodeAccessor + \"~\" /* EventAttributes */] = {})[name[2] === \"-\" ? name.slice(3) : name.slice(2).toLowerCase()] = value2 : skip?.test(name) || attr(el, name, value2);\n }\n }\n}\nfunction attrsEvents(scope, nodeAccessor) {\n let el = scope[nodeAccessor], events = scope[nodeAccessor + \"~\" /* EventAttributes */];\n switch (scope[nodeAccessor + \"=\" /* ControlledType */]) {\n case 0 /* InputChecked */:\n controllable_input_checked_effect(scope, nodeAccessor);\n break;\n case 1 /* InputCheckedValue */:\n controllable_input_checkedValue_effect(scope, nodeAccessor);\n break;\n case 2 /* InputValue */:\n controllable_input_value_effect(scope, nodeAccessor);\n break;\n case 3 /* SelectValue */:\n controllable_select_value_effect(scope, nodeAccessor);\n break;\n case 4 /* DetailsOrDialogOpen */:\n controllable_detailsOrDialog_open_effect(scope, nodeAccessor);\n break;\n }\n for (let name in events)\n on(el, name, events[name]);\n}\nfunction html(scope, value2, index) {\n let firstChild = scope[index], lastChild = scope[index + \"-\"] || firstChild, parentNode = firstChild.parentNode, afterReference = lastChild.nextSibling, newContent = parseHTML(value2 || value2 === 0 ? value2 + \"\" : \"\");\n scope[index] = newContent.firstChild, scope[index + \"-\" /* DynamicPlaceholderLastChild */] = newContent.lastChild, parentNode.insertBefore(newContent, firstChild);\n let current = firstChild;\n for (; current !== afterReference; ) {\n let next = current.nextSibling;\n current.remove(), current = next;\n }\n}\nfunction props(scope, nodeIndex, index) {\n let nextProps = scope[index], prevProps = scope[index + \"-\"], node = scope[nodeIndex];\n if (prevProps)\n for (let name in prevProps)\n name in nextProps || (node[name] = void 0);\n for (let name in nextProps)\n node[name] = nextProps[name];\n scope[index + \"-\"] = nextProps;\n}\nfunction normalizeAttrValue(value2) {\n if (value2 || value2 === 0)\n return value2 === !0 ? \"\" : value2 + \"\";\n}\nfunction normalizeString(value2) {\n return value2 || value2 === 0 ? value2 + \"\" : \"\\u200D\";\n}\nfunction lifecycle(scope, index, thisObj) {\n let instance = scope[index];\n instance ? (Object.assign(instance, thisObj), instance.onUpdate?.()) : (scope[index] = thisObj, thisObj.onMount?.(), getAbortSignal(\n scope,\n \"-\" /* LifecycleAbortController */ + index\n ).onabort = () => thisObj.onDestroy?.());\n}\n\n// src/dom/walker.ts\nvar walker = /* @__PURE__ */ document.createTreeWalker(document);\nfunction trimWalkString(walkString) {\n let end = walkString.length;\n for (; walkString.charCodeAt(--end) > 47 /* BeginChild */; ) ;\n return walkString.slice(0, end + 1);\n}\nfunction walk(startNode, walkCodes, scope) {\n walker.currentNode = startNode, walkInternal(walkCodes, scope, scope, 0), walker.currentNode = document.documentElement;\n}\nfunction walkInternal(walkCodes, scope, cleanupOwnerScope, currentWalkIndex) {\n let value2, storedMultiplier = 0, currentMultiplier = 0, currentScopeIndex = 0;\n for (cleanupOwnerScope !== scope && (scope.d = cleanupOwnerScope); value2 = walkCodes.charCodeAt(currentWalkIndex++); )\n if (currentMultiplier = storedMultiplier, storedMultiplier = 0, value2 >= 117 /* Multiplier */)\n storedMultiplier = currentMultiplier * 10 /* Multiplier */ + value2 - 117 /* Multiplier */;\n else if (value2 >= 107 /* Out */) {\n for (value2 = 10 /* Out */ * currentMultiplier + value2 - 107 /* Out */; value2--; )\n walker.parentNode();\n walker.nextSibling();\n } else if (value2 >= 97 /* Over */)\n for (value2 = 10 /* Over */ * currentMultiplier + value2 - 97 /* Over */; value2--; )\n walker.nextSibling();\n else if (value2 >= 67 /* Next */)\n for (value2 = 20 /* Next */ * currentMultiplier + value2 - 67 /* Next */; value2--; )\n walker.nextNode();\n else if (value2 === 47 /* BeginChild */)\n currentWalkIndex = walkInternal(\n walkCodes,\n scope[currentScopeIndex++] = createScope(scope.$global),\n cleanupOwnerScope,\n currentWalkIndex\n );\n else {\n if (value2 === 38 /* EndChild */)\n return currentWalkIndex;\n if (value2 === 32 /* Get */)\n scope[currentScopeIndex++] = walker.currentNode;\n else {\n let newNode = scope[currentScopeIndex++] = document.createTextNode(\"\"), current = walker.currentNode;\n current.parentNode.replaceChild(newNode, current), walker.currentNode = newNode;\n }\n }\n return currentWalkIndex;\n}\n\n// src/dom/renderer.ts\nfunction createScopeWithRenderer(renderer, $global, ownerScope) {\n let newScope = createScope($global);\n if (newScope._ = newScope.d = renderer.B || ownerScope, newScope.x = renderer, initRenderer(renderer, newScope), renderer.c)\n for (let signal of renderer.c)\n signal.g?.(newScope);\n return newScope;\n}\nfunction createScopeWithTagNameOrRenderer(tagNameOrRenderer, $global, ownerScope) {\n if (typeof tagNameOrRenderer != \"string\")\n return createScopeWithRenderer(tagNameOrRenderer, $global, ownerScope);\n let newScope = createScope($global);\n return newScope._ = newScope.d = ownerScope, newScope[0] = newScope.a = newScope.b = document.createElement(tagNameOrRenderer), newScope;\n}\nfunction initRenderer(renderer, scope) {\n let dom = renderer.k();\n return walk(\n dom.nodeType === 11 /* DocumentFragment */ ? dom.firstChild : dom,\n renderer.C,\n scope\n ), scope.a = dom.nodeType === 11 /* DocumentFragment */ ? dom.firstChild : dom, scope.b = dom.nodeType === 11 /* DocumentFragment */ ? dom.lastChild : dom, renderer.s && renderer.s(scope), dom;\n}\nfunction dynamicTagAttrs(nodeAccessor, getRenderBody, inputIsArgs) {\n return (scope, attrsOrOp) => {\n let renderer = scope[nodeAccessor + \"(\" /* ConditionalRenderer */];\n if (!renderer || attrsOrOp === DIRTY)\n return;\n let childScope = scope[nodeAccessor + \"!\" /* ConditionalScope */];\n if (attrsOrOp === MARK || attrsOrOp === CLEAN)\n return renderer.e?.(childScope, attrsOrOp);\n let renderBody = getRenderBody?.(scope);\n if (typeof renderer == \"string\")\n setConditionalRendererOnlyChild(childScope, 0, renderBody), attrs(childScope, 0, attrsOrOp());\n else if (renderer.e) {\n let attributes = attrsOrOp();\n renderer.e(\n childScope,\n inputIsArgs ? attributes : [\n renderBody ? {\n ...attributes,\n renderBody\n } : attributes\n ]\n );\n }\n };\n}\nfunction createRendererWithOwner(template, rawWalks, setup, getClosureSignals, hasUserEffects = 0, getArgs) {\n let args, closureSignals, id = {}, walks = rawWalks ? /* @__PURE__ */ trimWalkString(rawWalks) : \" \";\n return (owner) => ({\n t: id,\n D: template,\n C: walks,\n s: setup,\n k: _clone,\n B: owner,\n E: hasUserEffects,\n F: void 0,\n get e() {\n return args ||= getArgs?.();\n },\n get c() {\n return closureSignals ||= new Set(getClosureSignals?.());\n }\n });\n}\nfunction createRenderer(template, walks, setup, getClosureSignals, hasUserEffects, getArgs) {\n return createRendererWithOwner(\n template,\n walks,\n setup,\n getClosureSignals,\n hasUserEffects,\n getArgs\n )();\n}\nfunction _clone() {\n return (this.F ||= parseHTMLOrSingleNode(\n this.D\n )).cloneNode(!0);\n}\n\n// src/dom/control-flow.ts\nfunction patchConditionals(fn) {\n conditional = fn(conditional), conditionalOnlyChild = fn(conditionalOnlyChild);\n}\nvar conditional = function(nodeAccessor, fn, getIntersection) {\n let rendererAccessor = nodeAccessor + \"(\" /* ConditionalRenderer */, childScopeAccessor = nodeAccessor + \"!\" /* ConditionalScope */, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, newRendererOrOp) => {\n if (newRendererOrOp === DIRTY) return;\n let currentRenderer = scope[rendererAccessor], op = newRendererOrOp;\n if (newRendererOrOp !== MARK && newRendererOrOp !== CLEAN) {\n let normalizedRenderer = normalizeDynamicRenderer(newRendererOrOp);\n isDifferentRenderer(normalizedRenderer, currentRenderer) ? (currentRenderer = scope[rendererAccessor] = normalizedRenderer, setConditionalRenderer(scope, nodeAccessor, normalizedRenderer), fn?.(scope), op = DIRTY) : op = CLEAN;\n }\n intersection2?.(scope, op), renderBodyClosures(currentRenderer, scope[childScopeAccessor], op);\n };\n};\nfunction inConditionalScope(signal, nodeAccessor) {\n let scopeAccessor = nodeAccessor + \"!\" /* ConditionalScope */, rendererAccessor = nodeAccessor + \"(\" /* ConditionalRenderer */;\n return (scope, op) => {\n let conditionalScope = scope[scopeAccessor];\n if (conditionalScope) {\n let conditionalRenderer = scope[rendererAccessor];\n (!conditionalRenderer?.c || conditionalRenderer.c.has(signal)) && signal(conditionalScope, op);\n }\n };\n}\nfunction setConditionalRenderer(scope, nodeAccessor, newRenderer) {\n let newScope, prevScope = scope[nodeAccessor + \"!\" /* ConditionalScope */];\n newRenderer ? (newScope = scope[nodeAccessor + \"!\" /* ConditionalScope */] = createScopeWithTagNameOrRenderer(\n newRenderer,\n scope.$global,\n scope\n ), prevScope = prevScope || getEmptyScope(scope[nodeAccessor])) : (newScope = getEmptyScope(scope[nodeAccessor]), scope[nodeAccessor + \"!\" /* ConditionalScope */] = void 0), insertBefore(\n newScope,\n prevScope.a.parentNode,\n prevScope.a\n ), removeAndDestroyScope(prevScope);\n}\nvar conditionalOnlyChild = function(nodeAccessor, fn, getIntersection) {\n let rendererAccessor = nodeAccessor + \"(\" /* ConditionalRenderer */, childScopeAccessor = nodeAccessor + \"!\" /* ConditionalScope */, intersection2 = getIntersection && ((scope, op) => (intersection2 = getIntersection())(scope, op));\n return (scope, newRendererOrOp) => {\n if (newRendererOrOp === DIRTY) return;\n let currentRenderer = scope[rendererAccessor], op = newRendererOrOp;\n if (newRendererOrOp !== MARK && newRendererOrOp !== CLEAN) {\n let normalizedRenderer = normalizeDynamicRenderer(newRendererOrOp);\n isDifferentRenderer(normalizedRenderer, currentRenderer) ? (currentRenderer = scope[rendererAccessor] = normalizedRenderer, setConditionalRendererOnlyChild(\n scope,\n nodeAccessor,\n normalizedRenderer\n ), fn?.(scope), op = DIRTY) : op = CLEAN;\n }\n intersection2?.(scope, op), renderBodyClosures(currentRenderer, scope[childScopeAccessor], op);\n };\n};\nfunction setConditionalRendererOnlyChild(scope, nodeAccessor, newRenderer) {\n let prevScope = scope[nodeAccessor + \"!\" /* ConditionalScope */], referenceNode = scope[nodeAccessor];\n if (referenceNode.textContent = \"\", newRenderer) {\n let newScope = scope[nodeAccessor + \"!\" /* ConditionalScope */] = createScopeWithTagNameOrRenderer(newRenderer, scope.$global, scope);\n insertBefore(newScope, referenceNode, null);\n }\n prevScope && destroyScope(prevScope);\n}\nvar emptyMarkerMap = /* @__PURE__ */ new Map([[Symbol(), getEmptyScope(void 0)]]), emptyMarkerArray = [\n /* @__PURE__ */ getEmptyScope(void 0)\n], emptyMap = /* @__PURE__ */ new Map(), emptyArray = [];\nfunction loopOf(nodeAccessor, renderer) {\n return loop(\n nodeAccessor,\n renderer,\n ([all, by = bySecondArg], cb) => {\n typeof by == \"string\" ? forOf(\n all,\n (item, i) => cb(item[by], [item, i])\n ) : forOf(all, (item, i) => cb(by(item, i), [item, i]));\n }\n );\n}\nfunction loopIn(nodeAccessor, renderer) {\n return loop(\n nodeAccessor,\n renderer,\n ([obj, by = byFirstArg], cb) => forIn(obj, (key, value2) => cb(by(key, value2), [key, value2]))\n );\n}\nfunction loopTo(nodeAccessor, renderer) {\n return loop(\n nodeAccessor,\n renderer,\n ([to, from, step, by = byFirstArg], cb) => forTo(to, from, step, (v) => cb(by(v), [v]))\n );\n}\nfunction loop(nodeAccessor, renderer, forEach) {\n let loopScopeAccessor = nodeAccessor + \"!\" /* LoopScopeArray */, closureSignals = renderer.c, params = renderer.e;\n return (scope, valueOrOp) => {\n if (valueOrOp === DIRTY) return;\n if (valueOrOp === MARK || valueOrOp === CLEAN) {\n let loopScopes = scope[loopScopeAccessor] ?? scope[nodeAccessor + \"(\" /* LoopScopeMap */]?.values() ?? [];\n if (loopScopes !== emptyMarkerArray)\n for (let childScope of loopScopes) {\n params?.(childScope, valueOrOp);\n for (let signal of closureSignals)\n signal(childScope, valueOrOp);\n }\n return;\n }\n let referenceNode = scope[nodeAccessor], referenceIsMarker = referenceNode.nodeType === 8 || referenceNode.nodeType === 3, oldMap = scope[nodeAccessor + \"(\" /* LoopScopeMap */] || (referenceIsMarker ? emptyMarkerMap : emptyMap), oldArray = scope[nodeAccessor + \"!\" /* LoopScopeArray */] || Array.from(oldMap.values()), newMap, newArray, afterReference, parentNode, needsReconciliation = !0;\n if (forEach(valueOrOp, (key, args) => {\n let childScope = oldMap.get(key), closureOp = CLEAN;\n if (childScope || (childScope = createScopeWithRenderer(renderer, scope.$global, scope), closureOp = DIRTY), params && params(childScope, args), closureSignals)\n for (let signal of closureSignals)\n signal(childScope, closureOp);\n newMap ? (newMap.set(key, childScope), newArray.push(childScope)) : (newMap = /* @__PURE__ */ new Map([[key, childScope]]), newArray = [childScope]);\n }), !newMap)\n if (referenceIsMarker)\n newMap = emptyMarkerMap, newArray = emptyMarkerArray, getEmptyScope(referenceNode);\n else {\n if (renderer.E)\n for (let i = 0; i < oldArray.length; i++)\n destroyScope(oldArray[i]);\n referenceNode.textContent = \"\", newMap = emptyMap, newArray = emptyArray, needsReconciliation = !1;\n }\n if (needsReconciliation) {\n if (referenceIsMarker) {\n oldMap === emptyMarkerMap && getEmptyScope(referenceNode);\n let oldLastChild = oldArray[oldArray.length - 1];\n afterReference = oldLastChild.b.nextSibling, parentNode = oldLastChild.a.parentNode;\n } else\n afterReference = null, parentNode = referenceNode;\n reconcile(parentNode, oldArray, newArray, afterReference);\n }\n scope[nodeAccessor + \"(\" /* LoopScopeMap */] = newMap, scope[nodeAccessor + \"!\" /* LoopScopeArray */] = newArray;\n };\n}\nfunction inLoopScope(signal, loopNodeAccessor) {\n let loopScopeAccessor = loopNodeAccessor + \"!\" /* LoopScopeArray */;\n return (scope, op) => {\n let loopScopes = scope[loopScopeAccessor] ?? scope[loopNodeAccessor + \"(\" /* LoopScopeMap */]?.values() ?? [];\n if (loopScopes !== emptyMarkerArray)\n for (let scope2 of loopScopes)\n signal(scope2, op);\n };\n}\nfunction bySecondArg(_item, index) {\n return index;\n}\nfunction byFirstArg(name) {\n return name;\n}\nfunction isDifferentRenderer(a, b) {\n return a !== b && (a?.t || 0) !== b?.t;\n}\n\n// src/dom/compat.ts\nvar classIdToScope = /* @__PURE__ */ new Map(), compat = {\n patchConditionals,\n queueEffect,\n init() {\n register(SET_SCOPE_REGISTER_ID, (scope) => {\n classIdToScope.set(scope.m5c, scope);\n });\n },\n registerRenderer(fn) {\n register(RENDERER_REGISTER_ID, fn);\n },\n isOp(value2) {\n return value2 === MARK || value2 === CLEAN || value2 === DIRTY;\n },\n isRenderer(renderer) {\n return renderer.k !== void 0;\n },\n getStartNode(scope) {\n return scope.a;\n },\n setScopeNodes(scope, startNode, endNode) {\n scope.a = startNode, scope.b = endNode;\n },\n runComponentEffects() {\n runEffects(this.effects);\n },\n resolveRegistered(value2, {\n runtimeId,\n componentIdPrefix\n }) {\n return Array.isArray(value2) && typeof value2[0] == \"string\" ? getRegisteredWithScope(\n value2[0],\n value2.length === 2 && window[runtimeId]?.[componentIdPrefix === \"s\" ? \"_\" : componentIdPrefix]?.n[value2[1]]\n ) : value2;\n },\n createRenderer(setup, clone, args) {\n let renderer = createRenderer(\n \"\",\n void 0,\n setup,\n void 0,\n 1,\n args && (() => args)\n );\n return renderer.k = clone, renderer;\n },\n render(out, component, renderer, input) {\n let scope = component.scope;\n scope || (scope = classIdToScope.get(component.id), scope && (component.scope = scope, classIdToScope.delete(component.id)));\n let args = renderer.e || noop, existing = !1;\n if (component.effects = prepare(() => {\n if (scope)\n args(scope, MARK), existing = !0;\n else {\n scope = component.scope = createScopeWithRenderer(renderer, out.global);\n let closures = renderer.c;\n if (closures)\n for (let signal of closures)\n signal(component.scope, CLEAN);\n }\n args(scope, input);\n }), !existing)\n return scope.a === scope.b ? scope.a : scope.a.parentNode;\n }\n};\nfunction noop() {\n}\n\n// src/dom/template.ts\nvar createTemplate = (renderer, templateId) => (renderer.mount = mount, renderer._ = renderer, register(templateId, renderer));\nfunction mount(input = {}, reference, position) {\n let scope, dom, { $global } = input;\n $global ? ({ $global, ...input } = input, $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID,\n ...$global\n }) : $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID\n };\n let args = this.e, effects = prepare(() => {\n scope = createScope($global), dom = initRenderer(this, scope), args && args(scope, [input]);\n });\n switch (position) {\n case \"afterbegin\":\n reference.insertBefore(dom, reference.firstChild);\n break;\n case \"afterend\":\n reference.parentElement.insertBefore(dom, reference.nextSibling);\n break;\n case \"beforebegin\":\n reference.parentElement.insertBefore(dom, reference);\n break;\n default:\n reference.appendChild(dom);\n break;\n }\n return runEffects(effects), {\n update: (newInput) => {\n args && runSync(() => {\n args(scope, MARK), args(scope, [newInput]);\n });\n },\n destroy: () => {\n removeAndDestroyScope(scope);\n }\n };\n}\n","\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: !0 });\n}, __copyProps = (to, from, except, desc) => {\n if (from && typeof from == \"object\" || typeof from == \"function\")\n for (let key of __getOwnPropNames(from))\n !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: !0 }), mod);\n\n// src/html.ts\nvar html_exports = {};\n__export(html_exports, {\n attr: () => attr,\n attrTag: () => attrTag,\n attrTags: () => attrTags,\n attrs: () => attrs,\n classAttr: () => classAttr,\n compat: () => compat,\n controllable_detailsOrDialog_open: () => controllable_detailsOrDialog_open,\n controllable_input_checked: () => controllable_input_checked,\n controllable_input_checkedValue: () => controllable_input_checkedValue,\n controllable_input_value: () => controllable_input_value,\n controllable_select_value: () => controllable_select_value,\n createRenderer: () => createRenderer,\n createTemplate: () => createTemplate,\n dynamicTagArgs: () => dynamicTagArgs,\n dynamicTagInput: () => dynamicTagInput,\n ensureScopeWithId: () => ensureScopeWithId,\n escapeScript: () => escapeScript,\n escapeStyle: () => escapeStyle,\n escapeXML: () => escapeXML,\n forIn: () => forIn,\n forOf: () => forOf,\n forTo: () => forTo,\n fork: () => fork,\n getScopeById: () => getScopeById,\n getStreamData: () => getStreamData,\n markResumeCleanup: () => markResumeCleanup,\n markResumeControlEnd: () => markResumeControlEnd,\n markResumeControlSingleNodeEnd: () => markResumeControlSingleNodeEnd,\n markResumeNode: () => markResumeNode,\n markResumeScopeStart: () => markResumeScopeStart,\n nextScopeId: () => nextScopeId,\n nextTagId: () => nextTagId,\n nodeRef: () => nodeRef,\n normalizeDynamicRenderer: () => normalizeDynamicRenderer,\n optionValueAttr: () => optionValueAttr,\n partialAttrs: () => partialAttrs,\n peekNextScope: () => peekNextScope,\n register: () => register2,\n styleAttr: () => styleAttr,\n toString: () => toString,\n tryCatch: () => tryCatch,\n tryPlaceholder: () => tryPlaceholder,\n write: () => write,\n writeEffect: () => writeEffect,\n writeExistingScope: () => writeExistingScope,\n writeScope: () => writeScope\n});\nmodule.exports = __toCommonJS(html_exports);\n\n// src/common/attr-tag.ts\nvar empty = [], rest = Symbol();\nfunction attrTag(attrs2) {\n return attrs2[Symbol.iterator] = attrTagIterator, attrs2[rest] = empty, attrs2;\n}\nfunction attrTags(first, attrs2) {\n return first ? (first[rest] === empty ? first[rest] = [attrs2] : first[rest].push(attrs2), first) : attrTag(attrs2);\n}\nfunction* attrTagIterator() {\n yield this, yield* this[rest];\n}\n\n// src/common/for.ts\nfunction forIn(obj, cb) {\n for (let key in obj)\n cb(key, obj[key]);\n}\nfunction forOf(list, cb) {\n if (list) {\n let i = 0;\n for (let item of list)\n cb(item, i++);\n }\n}\nfunction forTo(to, from, step, cb) {\n let start = from || 0, delta = step || 1;\n for (let steps = (to - start) / delta, i = 0; i <= steps; i++)\n cb(start + i * delta);\n}\n\n// src/common/helpers.ts\nfunction classValue(value) {\n return toDelimitedString(value, \" \", stringifyClassObject);\n}\nfunction stringifyClassObject(name, value) {\n return value ? name : \"\";\n}\nfunction styleValue(value) {\n return toDelimitedString(value, \";\", stringifyStyleObject);\n}\nvar NON_DIMENSIONAL = /^(--|ta|or|li|z)|n-c|i(do|nk|m|t)|w$|we/;\nfunction stringifyStyleObject(name, value) {\n return value || value === 0 ? `${name}:${typeof value == \"number\" && value && !NON_DIMENSIONAL.test(name) ? value + \"px\" : value}` : \"\";\n}\nfunction toDelimitedString(val, delimiter, stringify) {\n switch (typeof val) {\n case \"string\":\n return val;\n case \"object\":\n if (val !== null) {\n let result = \"\", curDelimiter = \"\";\n if (Array.isArray(val))\n for (let v of val) {\n let part = toDelimitedString(v, delimiter, stringify);\n part !== \"\" && (result += curDelimiter + part, curDelimiter = delimiter);\n }\n else\n for (let name in val) {\n let v = val[name], part = stringify(name, v);\n part !== \"\" && (result += curDelimiter + part, curDelimiter = delimiter);\n }\n return result;\n }\n }\n return \"\";\n}\nfunction isVoid(value) {\n return value == null || value === !1;\n}\nfunction normalizeDynamicRenderer(value) {\n if (value) return value.renderBody || value.default || value;\n}\n\n// src/html/inlined-runtimes.ts\nvar WALKER_RUNTIME_CODE = '(e=>self[e]=self[e]||(l=>{let t,d={},f=[],s=document,a=s.createTreeWalker(s,129),r=self[e][l]={i:l=e+l,d:s,l:d,v:f,x(){},w(e){for(;e=a.nextNode();)this.x(r=(r=e.data)&&!r.indexOf(l)&&(d[t=r.slice(x+1)]=e,r[x]),t,e),r>\"#\"&&f.push(e)}},x=l.length}))', REORDER_RUNTIME_CODE = '(e=>{let i,t,r,l,d={},n=(e,i)=>{e.replaceWith(...i.childNodes),i.remove()};e.d.head.append(e.d.querySelector(\"style[\"+e.i+\"]\")||\"\"),e.j={},e.x=(o,a,c,p,b)=>{\"#\"==o?(d[a]=t).i++:c==r&&i(),\"T\"==c.tagName&&(a=c.getAttribute(e.i))&&((p=e.l[\"^\"+a])?t=d[a]={i:0,c(i=e.l[a]||l||c){for(;i.parentNode!==p.parentNode;)i=i.parentNode;for(;i!=r;(r=p.nextSibling).remove());n(p,c)}}:(i=()=>{l=c.previousSibling,n(e.l[a],c),--p.i||p.c()},p=t=d[a],r=c.nextElementSibling||i()),b=t.c,(o=e.j[a])&&(t.c=()=>b()+o(e)),c.attributes.c&&t.c())}})';\n\n// src/html/serializer.ts\nvar { hasOwnProperty } = {}, Generator = function* () {\n}().constructor, AsyncGenerator = async function* () {\n}().constructor, REGISTRY = /* @__PURE__ */ new WeakMap(), KNOWN_SYMBOLS = (() => {\n let KNOWN_SYMBOLS2 = /* @__PURE__ */ new Map();\n for (let name of Object.getOwnPropertyNames(Symbol)) {\n let symbol = Symbol[name];\n typeof symbol == \"symbol\" && KNOWN_SYMBOLS2.set(symbol, \"Symbol.\" + name);\n }\n return KNOWN_SYMBOLS2;\n})(), KNOWN_FUNCTIONS = /* @__PURE__ */ new Map([\n // This is by no means an exhaustive list,\n // but it should cover most of the built-in functions.\n [AggregateError, \"AggregateError\"],\n [Array, \"Array\"],\n [Array.from, \"Array.from\"],\n [Array.isArray, \"Array.isArray\"],\n [Array.of, \"Array.of\"],\n [ArrayBuffer, \"ArrayBuffer\"],\n [ArrayBuffer.isView, \"ArrayBuffer.isView\"],\n [Atomics.add, \"Atomics.add\"],\n [Atomics.and, \"Atomics.and\"],\n [Atomics.compareExchange, \"Atomics.compareExchange\"],\n [Atomics.exchange, \"Atomics.exchange\"],\n [Atomics.isLockFree, \"Atomics.isLockFree\"],\n [Atomics.load, \"Atomics.load\"],\n [Atomics.notify, \"Atomics.notify\"],\n [Atomics.or, \"Atomics.or\"],\n [Atomics.store, \"Atomics.store\"],\n [Atomics.sub, \"Atomics.sub\"],\n [Atomics.wait, \"Atomics.wait\"],\n [BigInt, \"BigInt\"],\n [BigInt.asIntN, \"BigInt.asIntN\"],\n [BigInt.asUintN, \"BigInt.asUintN\"],\n [BigInt64Array, \"BigInt64Array\"],\n [BigInt64Array.from, \"BigInt64Array.from\"],\n [BigInt64Array.of, \"BigInt64Array.of\"],\n [BigUint64Array, \"BigUint64Array\"],\n [BigUint64Array.from, \"BigUint64Array.from\"],\n [BigUint64Array.of, \"BigUint64Array.of\"],\n [Boolean, \"Boolean\"],\n [console.assert, \"console.assert\"],\n [console.clear, \"console.clear\"],\n [console.count, \"console.count\"],\n [console.countReset, \"console.countReset\"],\n [console.debug, \"console.debug\"],\n [console.dir, \"console.dir\"],\n [console.dirxml, \"console.dirxml\"],\n [console.error, \"console.error\"],\n [console.group, \"console.group\"],\n [console.groupCollapsed, \"console.groupCollapsed\"],\n [console.groupEnd, \"console.groupEnd\"],\n [console.info, \"console.info\"],\n [console.log, \"console.log\"],\n [console.table, \"console.table\"],\n [console.time, \"console.time\"],\n [console.timeEnd, \"console.timeEnd\"],\n [console.timeLog, \"console.timeLog\"],\n [console.timeStamp, \"console.timeStamp\"],\n [console.trace, \"console.trace\"],\n [console.warn, \"console.warn\"],\n [DataView, \"DataView\"],\n [Date, \"Date\"],\n [Date.now, \"Date.now\"],\n [Date.parse, \"Date.parse\"],\n [Date.UTC, \"Date.UTC\"],\n [decodeURI, \"decodeURI\"],\n [decodeURIComponent, \"decodeURIComponent\"],\n [encodeURI, \"encodeURI\"],\n [encodeURIComponent, \"encodeURIComponent\"],\n [Error, \"Error\"],\n [EvalError, \"EvalError\"],\n [Float32Array, \"Float32Array\"],\n [Float32Array.from, \"Float32Array.from\"],\n [Float32Array.of, \"Float32Array.of\"],\n [Float64Array, \"Float64Array\"],\n [Float64Array.from, \"Float64Array.from\"],\n [Float64Array.of, \"Float64Array.of\"],\n [Function, \"Function\"],\n [globalThis.atob, \"atob\"],\n [globalThis.btoa, \"btoa\"],\n [globalThis.clearImmediate, \"clearImmediate\"],\n [globalThis.clearInterval, \"clearInterval\"],\n [globalThis.clearTimeout, \"clearTimeout\"],\n [globalThis.crypto?.getRandomValues, \"crypto.getRandomValues\"],\n [globalThis.crypto?.randomUUID, \"crypto.randomUUID\"],\n [globalThis.fetch, \"fetch\"],\n [globalThis.performance?.now, \"performance.now\"],\n [globalThis.queueMicrotask, \"queueMicrotask\"],\n [globalThis.setImmediate, \"setImmediate\"],\n [globalThis.setInterval, \"setInterval\"],\n [globalThis.setTimeout, \"setTimeout\"],\n [globalThis.structuredClone, \"structuredClone\"],\n [globalThis.URL, \"URL\"],\n [globalThis.URLSearchParams, \"URLSearchParams\"],\n [globalThis.WritableStream, \"WritableStream\"],\n [Int16Array, \"Int16Array\"],\n [Int16Array.from, \"Int16Array.from\"],\n [Int16Array.of, \"Int16Array.of\"],\n [Int32Array, \"Int32Array\"],\n [Int32Array.from, \"Int32Array.from\"],\n [Int32Array.of, \"Int32Array.of\"],\n [Int8Array, \"Int8Array\"],\n [Int8Array.from, \"Int8Array.from\"],\n [Int8Array.of, \"Int8Array.of\"],\n [Intl.Collator, \"Intl.Collator\"],\n [Intl.DateTimeFormat, \"Intl.DateTimeFormat\"],\n [Intl.DisplayNames, \"Intl.DisplayNames\"],\n [Intl.getCanonicalLocales, \"Intl.getCanonicalLocales\"],\n [Intl.ListFormat, \"Intl.ListFormat\"],\n [Intl.Locale, \"Intl.Locale\"],\n [Intl.NumberFormat, \"Intl.NumberFormat\"],\n [Intl.PluralRules, \"Intl.PluralRules\"],\n [Intl.RelativeTimeFormat, \"Intl.RelativeTimeFormat\"],\n [Intl.Segmenter, \"Intl.Segmenter\"],\n [Intl.supportedValuesOf, \"Intl.supportedValuesOf\"],\n [isFinite, \"isFinite\"],\n [isNaN, \"isNaN\"],\n [JSON.parse, \"JSON.parse\"],\n [JSON.stringify, \"JSON.stringify\"],\n [Map, \"Map\"],\n [Map.groupBy, \"Map.groupBy\"],\n [Math.abs, \"Math.abs\"],\n [Math.acos, \"Math.acos\"],\n [Math.acosh, \"Math.acosh\"],\n [Math.asin, \"Math.asin\"],\n [Math.asinh, \"Math.asinh\"],\n [Math.atan, \"Math.atan\"],\n [Math.atan2, \"Math.atan2\"],\n [Math.atanh, \"Math.atanh\"],\n [Math.cbrt, \"Math.cbrt\"],\n [Math.ceil, \"Math.ceil\"],\n [Math.clz32, \"Math.clz32\"],\n [Math.cos, \"Math.cos\"],\n [Math.cosh, \"Math.cosh\"],\n [Math.exp, \"Math.exp\"],\n [Math.expm1, \"Math.expm1\"],\n [Math.floor, \"Math.floor\"],\n [Math.fround, \"Math.fround\"],\n [Math.hypot, \"Math.hypot\"],\n [Math.imul, \"Math.imul\"],\n [Math.log, \"Math.log\"],\n [Math.log10, \"Math.log10\"],\n [Math.log1p, \"Math.log1p\"],\n [Math.log2, \"Math.log2\"],\n [Math.max, \"Math.max\"],\n [Math.min, \"Math.min\"],\n [Math.pow, \"Math.pow\"],\n [Math.random, \"Math.random\"],\n [Math.round, \"Math.round\"],\n [Math.sign, \"Math.sign\"],\n [Math.sin, \"Math.sin\"],\n [Math.sinh, \"Math.sinh\"],\n [Math.sqrt, \"Math.sqrt\"],\n [Math.tan, \"Math.tan\"],\n [Math.tanh, \"Math.tanh\"],\n [Math.trunc, \"Math.trunc\"],\n [Number, \"Number\"],\n [Number.isFinite, \"Number.isFinite\"],\n [Number.isInteger, \"Number.isInteger\"],\n [Number.isNaN, \"Number.isNaN\"],\n [Number.isSafeInteger, \"Number.isSafeInteger\"],\n [Number.parseFloat, \"Number.parseFloat\"],\n [Number.parseInt, \"Number.parseInt\"],\n [Object, \"Object\"],\n [Object.assign, \"Object.assign\"],\n [Object.create, \"Object.create\"],\n [Object.defineProperties, \"Object.defineProperties\"],\n [Object.defineProperty, \"Object.defineProperty\"],\n [Object.entries, \"Object.entries\"],\n [Object.freeze, \"Object.freeze\"],\n [Object.fromEntries, \"Object.fromEntries\"],\n [Object.getOwnPropertyDescriptor, \"Object.getOwnPropertyDescriptor\"],\n [Object.getOwnPropertyDescriptors, \"Object.getOwnPropertyDescriptors\"],\n [Object.getOwnPropertyNames, \"Object.getOwnPropertyNames\"],\n [Object.getOwnPropertySymbols, \"Object.getOwnPropertySymbols\"],\n [Object.getPrototypeOf, \"Object.getPrototypeOf\"],\n [Object.is, \"Object.is\"],\n [Object.isExtensible, \"Object.isExtensible\"],\n [Object.isFrozen, \"Object.isFrozen\"],\n [Object.isSealed, \"Object.isSealed\"],\n [Object.keys, \"Object.keys\"],\n [Object.preventExtensions, \"Object.preventExtensions\"],\n [Object.seal, \"Object.seal\"],\n [Object.setPrototypeOf, \"Object.setPrototypeOf\"],\n [Object.values, \"Object.values\"],\n [parseFloat, \"parseFloat\"],\n [parseInt, \"parseInt\"],\n [Promise, \"Promise\"],\n [Proxy, \"Proxy\"],\n [RangeError, \"RangeError\"],\n [ReferenceError, \"ReferenceError\"],\n [Reflect.apply, \"Reflect.apply\"],\n [Reflect.construct, \"Reflect.construct\"],\n [Reflect.defineProperty, \"Reflect.defineProperty\"],\n [Reflect.deleteProperty, \"Reflect.deleteProperty\"],\n [Reflect.get, \"Reflect.get\"],\n [Reflect.getOwnPropertyDescriptor, \"Reflect.getOwnPropertyDescriptor\"],\n [Reflect.getPrototypeOf, \"Reflect.getPrototypeOf\"],\n [Reflect.has, \"Reflect.has\"],\n [Reflect.isExtensible, \"Reflect.isExtensible\"],\n [Reflect.ownKeys, \"Reflect.ownKeys\"],\n [Reflect.preventExtensions, \"Reflect.preventExtensions\"],\n [Reflect.set, \"Reflect.set\"],\n [Reflect.setPrototypeOf, \"Reflect.setPrototypeOf\"],\n [RegExp, \"RegExp\"],\n [Set, \"Set\"],\n [String, \"String\"],\n [String.fromCharCode, \"String.fromCharCode\"],\n [String.fromCodePoint, \"String.fromCodePoint\"],\n [String.raw, \"String.raw\"],\n [Symbol, \"Symbol\"],\n [Symbol.for, \"Symbol.for\"],\n [SyntaxError, \"SyntaxError\"],\n [TypeError, \"TypeError\"],\n [Uint16Array, \"Uint16Array\"],\n [Uint16Array.from, \"Uint16Array.from\"],\n [Uint16Array.of, \"Uint16Array.of\"],\n [Uint32Array, \"Uint32Array\"],\n [Uint32Array.from, \"Uint32Array.from\"],\n [Uint32Array.of, \"Uint32Array.of\"],\n [Uint8Array, \"Uint8Array\"],\n [Uint8Array.from, \"Uint8Array.from\"],\n [Uint8Array.of, \"Uint8Array.of\"],\n [Uint8ClampedArray, \"Uint8ClampedArray\"],\n [Uint8ClampedArray.from, \"Uint8ClampedArray.from\"],\n [Uint8ClampedArray.of, \"Uint8ClampedArray.of\"],\n [URIError, \"URIError\"],\n [WeakMap, \"WeakMap\"],\n [WeakSet, \"WeakSet\"]\n]), KNOWN_OBJECTS = /* @__PURE__ */ new Map([\n [Atomics, \"Atomics\"],\n [console, \"console\"],\n [globalThis, \"globalThis\"],\n [globalThis.crypto, \"crypto\"],\n [Intl, \"Intl\"],\n [JSON, \"JSON\"],\n [Math, \"Math\"],\n [Reflect, \"Reflect\"]\n]), State = class {\n ids = 0;\n flush = 0;\n flushed = !1;\n buf = [];\n refs = /* @__PURE__ */ new WeakMap();\n assigned = /* @__PURE__ */ new Set();\n boundary = void 0;\n}, Reference = class {\n constructor(parent, accessor, flush, pos = null, id = null) {\n this.parent = parent;\n this.accessor = accessor;\n this.flush = flush;\n this.pos = pos;\n this.id = id;\n this.parent = parent, this.accessor = accessor, this.flush = flush, this.pos = pos, this.id = id;\n }\n init = \"\";\n assigns = \"\";\n}, Serializer = class {\n #state = new State();\n get flushed() {\n return this.#state.flushed;\n }\n stringify(val, boundary) {\n try {\n return this.#state.flushed = !1, this.#state.boundary = boundary, writeRoot(this.#state, val);\n } finally {\n this.#flush();\n }\n }\n nextId() {\n return nextId(this.#state);\n }\n symbol(id) {\n let symbol = Symbol();\n return this.#state.refs.set(symbol, new Reference(null, null, 0, null, id)), symbol;\n }\n #flush() {\n this.#state.flush++, this.#state.buf = [], this.#state.assigned = /* @__PURE__ */ new Set();\n }\n};\nfunction register(id, val, scope) {\n return REGISTRY.set(val, { id, scope, access: \"_._\" + toAccess(toObjectKey(id)) }), val;\n}\nfunction getRegistered(val) {\n let registered = REGISTRY.get(val);\n if (registered)\n return {\n id: registered.id,\n scope: registered.scope\n };\n}\nfunction writeRoot(state, root) {\n let { buf, assigned } = state, hadBuf = buf.length !== 0, result = \"\";\n if (hadBuf && buf.push(\",\"), writeProp(state, root, null, \"\")) {\n let rootRef = state.refs.get(root);\n rootRef && ensureId(state, rootRef), assigned.size && (assigned.delete(rootRef) ? (assigned.add(rootRef), writeAssigned(state)) : (writeAssigned(state), buf.push(\",\" + rootRef.id))), result = \"(\", buf.push(\")\");\n } else\n hadBuf && (buf.pop(), writeAssigned(state)), result = \"{\", buf.push(\"}\");\n for (let chunk of buf)\n result += chunk;\n return \"_=>\" + result;\n}\nfunction writeAssigned(state) {\n for (let valueRef of state.assigned)\n state.buf.push(\",\" + valueRef.assigns + (valueRef.init || valueRef.id)), valueRef.init = \"\";\n}\nfunction writeProp(state, val, parent, accessor) {\n switch (typeof val) {\n case \"string\":\n return writeString(state, val);\n case \"number\":\n return writeNumber(state, val);\n case \"boolean\":\n return writeBoolean(state, val);\n case \"bigint\":\n return writeBigInt(state, val);\n case \"symbol\":\n return writeSymbol(state, val, parent, accessor);\n case \"function\":\n return writeFunction(state, val, parent, accessor);\n case \"object\":\n return writeObject(state, val, parent, accessor);\n default:\n return !1;\n }\n}\nfunction writeReferenceOr(state, write2, val, parent, accessor) {\n let ref = state.refs.get(val);\n if (ref)\n return ref.init ? (ref.assigns += ensureId(state, parent) + toAccess(accessor) + \"=\", !1) : isCircular(parent, ref) ? (ref.assigns || (ensureId(state, ref), state.assigned.add(ref)), ref.assigns += ensureId(state, parent) + toAccess(accessor) + \"=\", !1) : (state.buf.push(ensureId(state, ref)), !0);\n let registered = REGISTRY.get(val);\n return registered ? writeRegistered(state, val, parent, accessor, registered) : (state.refs.set(\n val,\n ref = new Reference(parent, accessor, state.flush, state.buf.length)\n ), write2(state, val, ref) ? !0 : (state.refs.delete(ref), !1));\n}\nfunction writeRegistered(state, val, parent, accessor, { access, scope }) {\n if (scope) {\n let scopeRef = state.refs.get(scope), fnRef = new Reference(\n parent,\n accessor,\n state.flush,\n state.buf.length\n );\n if (state.refs.set(val, fnRef), scopeRef) {\n let scopeId = ensureId(state, scopeRef);\n if (isCircular(parent, scopeRef))\n return state.assigned.add(fnRef), fnRef.init = access + \"(\" + scopeId + \")\", fnRef.assigns += ensureId(state, parent) + toAccess(accessor) + \"=\", !1;\n state.buf.push(access + \"(\" + scopeId + \")\");\n } else {\n state.buf.push(access + \"(\"), writeProp(state, scope, parent, \"\");\n let scopeRef2 = state.refs.get(scope);\n scopeRef2 && ensureId(state, scopeRef2), state.buf.push(\")\");\n }\n } else\n state.buf.push(access);\n return !0;\n}\nfunction writeString(state, val) {\n return state.buf.push(quote(val, 0)), !0;\n}\nfunction writeNumber(state, val) {\n return state.buf.push(val + \"\"), !0;\n}\nfunction writeBoolean(state, val) {\n return state.buf.push(val ? \"!0\" : \"!1\"), !0;\n}\nfunction writeBigInt(state, val) {\n return state.buf.push(val + \"n\"), !0;\n}\nfunction writeFunction(state, val, parent, accessor) {\n let wellKnownFunction = KNOWN_FUNCTIONS.get(val);\n return wellKnownFunction ? (state.buf.push(wellKnownFunction), !0) : writeReferenceOr(state, writeNever, val, parent, accessor);\n}\nfunction writeSymbol(state, val, parent, accessor) {\n let wellKnownSymbol = KNOWN_SYMBOLS.get(val);\n if (wellKnownSymbol)\n return state.buf.push(wellKnownSymbol), !0;\n let key = Symbol.keyFor(val);\n return key !== void 0 ? (state.buf.push(\"Symbol.for(\" + quote(key, 0) + \")\"), !0) : writeReferenceOr(state, writeUnknownSymbol, val, parent, accessor);\n}\nfunction writeUnknownSymbol(state) {\n return state.buf.push(\"Symbol()\"), !0;\n}\nfunction writeNever() {\n return !1;\n}\nfunction writeNull(state) {\n return state.buf.push(\"null\"), !0;\n}\nfunction writeObject(state, val, parent, accessor) {\n if (val === null) return writeNull(state);\n let wellKnownObject = KNOWN_OBJECTS.get(val);\n return wellKnownObject ? (state.buf.push(wellKnownObject), !0) : writeReferenceOr(state, writeUnknownObject, val, parent, accessor);\n}\nfunction writeUnknownObject(state, val, ref) {\n switch (val.constructor) {\n case void 0:\n return writeNullObject(state, val, ref);\n case Object:\n return writePlainObject(state, val, ref);\n case Array:\n return writeArray(state, val, ref);\n case Date:\n return writeDate(state, val);\n case RegExp:\n return writeRegExp(state, val);\n case Promise:\n return writePromise(state, val, ref);\n case Map:\n return writeMap(state, val, ref);\n case Set:\n return writeSet(state, val, ref);\n case Generator:\n return writeGenerator(state, val, ref);\n case AsyncGenerator:\n return writeAsyncGenerator(state, val, ref);\n case Error:\n case EvalError:\n case RangeError:\n case ReferenceError:\n case SyntaxError:\n case TypeError:\n case URIError:\n return writeError(state, val, ref);\n case AggregateError:\n return writeAggregateError(state, val, ref);\n case ArrayBuffer:\n return writeArrayBuffer(state, val);\n case Int8Array:\n case Uint8Array:\n case Uint8ClampedArray:\n case Int16Array:\n case Uint16Array:\n case Int32Array:\n case Uint32Array:\n case Float32Array:\n case Float64Array:\n return writeTypedArray(state, val, ref);\n case WeakSet:\n return writeWeakSet(state);\n case WeakMap:\n return writeWeakMap(state);\n // The following references use `globalThis`\n // since they are not implemented by all runtimes.\n case globalThis.URL:\n return writeURL(state, val);\n case globalThis.URLSearchParams:\n return writeURLSearchParams(state, val);\n case globalThis.Headers:\n return writeHeaders(state, val);\n case globalThis.FormData:\n return writeFormData(state, val);\n case globalThis.ReadableStream:\n return writeReadableStream(state, val, ref);\n case globalThis.Request:\n return writeRequest(state, val, ref);\n case globalThis.Response:\n return writeResponse(state, val, ref);\n }\n return !1;\n}\nfunction writePlainObject(state, val, ref) {\n return state.buf.push(\"{\"), writeObjectProps(state, val, ref), state.buf.push(\"}\"), !0;\n}\nfunction writeArray(state, val, ref) {\n state.buf.push(\"[\"), writeProp(state, val[0], ref, \"0\");\n for (let i = 1; i < val.length; i++)\n state.buf.push(\",\"), writeProp(state, val[i], ref, \"\" + i);\n return state.buf.push(\"]\"), !0;\n}\nfunction writeDate(state, val) {\n return state.buf.push('new Date(\"' + val.toISOString() + '\")'), !0;\n}\nfunction writeRegExp(state, val) {\n return state.buf.push(val + \"\"), !0;\n}\nfunction writePromise(state, val, ref) {\n let { boundary } = state;\n if (!boundary) return !1;\n let pId = nextRefAccess(state), pRef = new Reference(ref, null, state.flush, null, pId);\n return state.buf.push(\"new Promise((f,r)=>\" + pId + \"={f,r})\"), val.then(\n (v) => writeAsyncCall(state, boundary, pRef, \"f\", v, pId),\n (v) => writeAsyncCall(state, boundary, pRef, \"r\", v, pId)\n ), boundary.startAsync(), !0;\n}\nfunction writeMap(state, val, ref) {\n if (!val.size)\n return state.buf.push(\"new Map\"), !0;\n let items = [], assigns = \"\";\n for (let [itemKey, itemValue] of val)\n itemKey === val && (itemKey = void 0, assigns += \"i[\" + items.length + \"][0]=\"), itemValue === val && (itemValue = void 0, assigns += \"i[\" + items.length + \"][1]=\"), itemValue === void 0 ? items.push([itemKey]) : items.push([itemKey, itemValue]);\n let arrayRef = new Reference(\n ref,\n null,\n state.flush,\n null,\n nextRefAccess(state)\n );\n return state.buf.push(\n (assigns ? \"((m,i)=>(\" + assigns + \"m,i.forEach(i=>m.set(i[0],i[1])),m))(new Map,\" : \"new Map(\") + arrayRef.id + \"=\"\n ), writeArray(state, items, arrayRef), state.buf.push(\")\"), !0;\n}\nfunction writeSet(state, val, ref) {\n if (!val.size)\n return state.buf.push(\"new Set\"), !0;\n let items = [], assigns = \"\";\n for (let item of val)\n item === val && (item = void 0, assigns += \"i[\" + items.length + \"]=\"), items.push(item);\n let arrayRef = new Reference(\n ref,\n null,\n state.flush,\n null,\n nextRefAccess(state)\n );\n return state.buf.push(\n (assigns ? \"((s,i)=>(\" + assigns + \"s,i.forEach(i=>s.add(i)),s))(new Set,\" : \"new Set(\") + arrayRef.id + \"=\"\n ), writeArray(state, items, arrayRef), state.buf.push(\")\"), !0;\n}\nfunction writeArrayBuffer(state, val) {\n let result = \"\";\n if (val.byteLength) {\n let view = new Int8Array(val);\n result = hasOnlyZeros(view) ? \"new ArrayBuffer(\" + val.byteLength + \")\" : \"new Int8Array(\" + typedArrayToInitString(view) + \").buffer\";\n } else\n result = \"new ArrayBuffer\";\n return state.buf.push(result), !0;\n}\nfunction writeTypedArray(state, val, ref) {\n return val.byteOffset || state.refs.has(val.buffer) ? (state.buf.push(\"new \" + val.constructor.name + \"(\"), writeProp(state, val.buffer, ref, \"buffer\"), state.buf.push(val.byteOffset ? \",\" + val.byteOffset + \")\" : \")\")) : (state.refs.set(val.buffer, new Reference(ref, \"buffer\", state.flush, null)), state.buf.push(\n \"new \" + val.constructor.name + (val.length === 0 ? \"\" : \"(\" + (hasOnlyZeros(val) ? val.length : typedArrayToInitString(val)) + \")\")\n )), !0;\n}\nfunction writeWeakSet(state) {\n return state.buf.push(\"new WeakSet\"), !0;\n}\nfunction writeWeakMap(state) {\n return state.buf.push(\"new WeakMap\"), !0;\n}\nfunction writeError(state, val, ref) {\n let result = \"new \" + val.constructor.name + \"(\" + quote(val.message + \"\", 0);\n return val.cause ? (state.buf.push(result + \",{cause:\"), writeProp(state, val.cause, ref, \"cause\"), state.buf.push(\"})\")) : state.buf.push(result + \")\"), !0;\n}\nfunction writeAggregateError(state, val, ref) {\n return state.buf.push(\"new AggregateError(\"), writeProp(state, val.errors, ref, \"errors\"), val.message ? state.buf.push(\",\" + quote(val.message + \"\", 0) + \")\") : state.buf.push(\")\"), !0;\n}\nfunction writeURL(state, val) {\n return state.buf.push(\"new URL(\" + quote(val.toString(), 0) + \")\"), !0;\n}\nfunction writeURLSearchParams(state, val) {\n let str = val.toString();\n return str ? state.buf.push(\"new URLSearchParams(\" + quote(str, 0) + \")\") : state.buf.push(\"new URLSearchParams\"), !0;\n}\nfunction writeHeaders(state, val) {\n let headers = stringEntriesToProps(val);\n return state.buf.push(\"new Headers\" + (headers ? \"({\" + headers + \"})\" : \"\")), !0;\n}\nfunction writeFormData(state, val) {\n let sep = \"[\", valStr = \"\";\n for (let [key, value] of val)\n typeof value == \"string\" && (valStr += sep + \"[\" + quote(key, 0) + \",\" + quote(value, 0) + \"]\", sep = \",\");\n return sep === \"[\" ? state.buf.push(\"new FormData\") : state.buf.push(\n \"((f,i)=>(f,i.forEach(i=>f.append(i[0],i[1])),f))(new FormData,\" + valStr + \"])\"\n ), !0;\n}\nfunction writeRequest(state, val, ref) {\n let sep = \"\", hasBody = val.body && !val.bodyUsed && val.duplex === \"half\";\n state.buf.push(\"new Request(\" + quote(val.url, 0)), hasBody && (state.buf.push(\",{body:\"), writeProp(state, val.body, ref, \"body\") ? (state.buf.push(',duplex:\"half\"'), sep = \",\") : state.buf.pop());\n let options = \"\";\n val.cache !== \"default\" && (options += sep + \"cache:\" + quote(val.cache, 0), sep = \",\"), val.credentials !== \"same-origin\" && (options += sep + \"credentials:\" + quote(val.credentials, 0), sep = \",\");\n let headers = stringEntriesToProps(val.headers);\n return state.refs.set(val.headers, new Reference(ref, \"headers\", state.flush, null)), headers && (options += sep + \"headers:{\" + headers + \"}\", sep = \",\"), val.integrity && (options += sep + \"integrity:\" + quote(val.integrity, 0), sep = \",\"), val.keepalive && (options += sep + \"keepalive:true\", sep = \",\"), val.method !== \"GET\" && (options += sep + \"method:\" + quote(val.method, 0), sep = \",\"), val.mode !== \"cors\" && (options += sep + \"mode:\" + quote(val.mode, 0), sep = \",\"), val.redirect !== \"follow\" && (options += sep + \"redirect:\" + quote(val.redirect, 0), sep = \",\"), val.referrer !== \"about:client\" && (options += sep + \"referrer:\" + quote(val.referrer, 0), sep = \",\"), val.referrerPolicy && (options += sep + \"referrerPolicy:\" + quote(val.referrerPolicy, 0), sep = \",\"), state.buf.push(\n hasBody ? options + \"})\" : options ? \",{\" + options + \"})\" : \")\"\n ), !0;\n}\nfunction writeResponse(state, val, ref) {\n let sep = \"\", options = \"\";\n val.status !== 200 && (options += \"status:\" + val.status, sep = \",\"), val.statusText && (options += sep + \"statusText:\" + quote(val.statusText, 0), sep = \",\");\n let headers = stringEntriesToProps(val.headers);\n return state.refs.set(val.headers, new Reference(ref, \"headers\", state.flush, null)), headers && (options += sep + \"headers:{\" + headers + \"}\", sep = \",\"), !val.body || val.bodyUsed ? state.buf.push(\n \"new Response\" + (options ? \"(null,{\" + options + \"})\" : \"\")\n ) : (state.buf.push(\"new Response(\"), state.buf.push(\n (writeProp(state, val.body, ref, \"body\") ? \"\" : \"null\") + (options ? \",{\" + options + \"})\" : \")\")\n )), !0;\n}\nfunction writeReadableStream(state, val, ref) {\n let { boundary } = state;\n if (!boundary || val.locked) return !1;\n let reader = val.getReader(), iterId = nextRefAccess(state), iterRef = new Reference(ref, null, state.flush, null, iterId), onFulfilled = ({ value, done }) => {\n done ? writeAsyncCall(state, boundary, iterRef, \"r\", value) : boundary.signal.aborted || (reader.read().then(onFulfilled, onRejected), boundary.startAsync(), writeAsyncCall(state, boundary, iterRef, \"f\", value));\n }, onRejected = (reason) => {\n writeAsyncCall(state, boundary, iterRef, \"j\", reason);\n };\n return state.buf.push(\n \"new ReadableStream({start(c){(async(_,f,v,l,i,p=a=>l=new Promise((r,j)=>{f=_.r=r;_.j=j}),a=((_.f=v=>{f(v);a.push(p())}),[p()]))=>{for(i of a)v=await i,i==l?c.close():c.enqueue(v)})(\" + iterId + \"={}).catch(e=>c.error(e))}})\"\n ), reader.read().then(onFulfilled, onRejected), boundary.startAsync(), !0;\n}\nfunction writeGenerator(state, iter, ref) {\n let sep = \"\";\n for (state.buf.push(\"(function*(){\"); ; ) {\n let { value, done } = iter.next();\n if (done) {\n value !== void 0 && (state.buf.push(sep + \"return \"), writeProp(state, value, ref, \"\"));\n break;\n }\n value === void 0 ? state.buf.push(sep + \"yield\") : (state.buf.push(sep + \"yield \"), writeProp(state, value, ref, \"\")), sep = \";\";\n }\n return state.buf.push(\"})()\"), !0;\n}\nfunction writeAsyncGenerator(state, iter, ref) {\n let { boundary } = state;\n if (!boundary) return !1;\n let iterId = nextRefAccess(state), iterRef = new Reference(ref, null, state.flush, null, iterId), onFulfilled = ({ value, done }) => {\n done ? writeAsyncCall(state, boundary, iterRef, \"r\", value) : boundary.signal.aborted || (iter.next().then(onFulfilled, onRejected), boundary.startAsync(), writeAsyncCall(state, boundary, iterRef, \"f\", value));\n }, onRejected = (reason) => {\n writeAsyncCall(state, boundary, iterRef, \"j\", reason);\n };\n return state.buf.push(\n \"(async function*(_,f,v,l,i,p=a=>l=new Promise((r,j)=>{f=_.r=r;_.j=j}),a=((_.f=v=>{f(v);a.push(p())}),[p()])){for(i of a)v=await i,i!=l&&(yield v);return v})(\" + iterId + \"={})\"\n ), iter.next().then(onFulfilled, onRejected), boundary.startAsync(), !0;\n}\nfunction writeNullObject(state, val, ref) {\n return state.buf.push(\"{\"), state.buf.push(writeObjectProps(state, val, ref) + \"__proto__:null}\"), !0;\n}\nfunction writeObjectProps(state, val, ref) {\n let sep = \"\";\n for (let key in val)\n if (hasOwnProperty.call(val, key)) {\n let escapedKey = toObjectKey(key);\n state.buf.push(sep + escapedKey + \":\"), writeProp(\n state,\n val[key],\n ref,\n escapedKey\n ) ? sep = \",\" : state.buf.pop();\n }\n if (hasSymbolIterator(val) && (state.buf.push(sep + \"[Symbol.iterator]:\"), sep = \",\", !writeReferenceOr(\n state,\n writeNever,\n val[Symbol.iterator],\n ref,\n \"Symbol.iterator\"\n ))) {\n let arrayRef = new Reference(\n ref,\n null,\n state.flush,\n null,\n nextRefAccess(state)\n );\n state.buf.push(\"(a=>()=>a.values())(\" + arrayRef.id + \"=\"), writeArray(state, [...val], arrayRef), state.buf.push(\")\");\n }\n return sep;\n}\nfunction writeAsyncCall(state, boundary, ref, method, value, preferredValueId = null) {\n if (boundary.signal.aborted) return;\n state.flushed = !0;\n let valueStartIndex = state.buf.push(\n (state.buf.length === 0 ? \"\" : \",\") + ref.id + \".\" + method + \"(\"\n );\n if (writeProp(state, value, ref, \"\")) {\n let valueRef = state.refs.get(value);\n valueRef && !valueRef.id && (valueRef.id = preferredValueId || nextRefAccess(state), state.buf[valueStartIndex] = valueRef.id + \"=\" + state.buf[valueStartIndex]);\n }\n state.buf.push(\")\"), boundary.endAsync();\n}\nfunction isCircular(parent, ref) {\n let cur = parent;\n for (; cur; ) {\n if (cur === ref) return !0;\n cur = cur.parent;\n }\n return !1;\n}\nfunction toObjectKey(name) {\n if (name === \"\")\n return '\"\"';\n let startChar = name[0];\n if (isDigit(startChar)) {\n if (startChar === \"0\") {\n if (name !== \"0\")\n return quote(name, 1);\n } else\n for (let i = 1; i < name.length; i++)\n if (!isDigit(name[i]))\n return quote(name, i);\n } else if (isWord(startChar)) {\n for (let i = 1; i < name.length; i++)\n if (!isWordOrDigit(name[i]))\n return quote(name, i);\n } else\n return quote(name, 0);\n return name;\n}\nfunction toAccess(accessor) {\n let start = accessor[0];\n return start === '\"' || start >= \"0\" && start <= \"9\" ? \"[\" + accessor + \"]\" : \".\" + accessor;\n}\nfunction quote(str, startPos) {\n let result = \"\", lastPos = 0;\n for (let i = startPos; i < str.length; i++) {\n let replacement;\n switch (str[i]) {\n case '\"':\n replacement = '\\\\\"';\n break;\n case \"\\\\\":\n replacement = \"\\\\\\\\\";\n break;\n case \"<\":\n replacement = \"\\\\x3C\";\n break;\n case `\n`:\n replacement = \"\\\\n\";\n break;\n case \"\\r\":\n replacement = \"\\\\r\";\n break;\n case \"\\u2028\":\n replacement = \"\\\\u2028\";\n break;\n case \"\\u2029\":\n replacement = \"\\\\u2029\";\n break;\n default:\n continue;\n }\n result += str.slice(lastPos, i) + replacement, lastPos = i + 1;\n }\n return '\"' + (lastPos === startPos ? str : result + str.slice(lastPos)) + '\"';\n}\nfunction ensureId(state, ref) {\n return ref.id || assignId(state, ref);\n}\nfunction assignId(state, ref) {\n let { pos } = ref;\n if (ref.id = nextRefAccess(state), pos !== null && ref.flush === state.flush)\n return pos === 0 ? state.buf[0] = ref.id + \"=\" + state.buf[0] : state.buf[pos - 1] += ref.id + \"=\", ref.id;\n let cur = ref, accessPrevValue = \"\";\n do {\n accessPrevValue = toAccess(cur.accessor) + accessPrevValue;\n let parent = cur.parent;\n if (parent.id) {\n accessPrevValue = parent.id + accessPrevValue;\n break;\n }\n if (parent.flush === state.flush) {\n accessPrevValue = ensureId(state, parent) + accessPrevValue;\n break;\n }\n cur = parent;\n } while (cur);\n return ref.id + \"=\" + accessPrevValue;\n}\nfunction nextRefAccess(state) {\n return \"_.\" + nextId(state);\n}\nfunction nextId(state) {\n let encodeChars = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789\", encodeLen = encodeChars.length, encodeStartLen = encodeLen - 11, index = state.ids++, mod = index % encodeStartLen, id = encodeChars[mod];\n for (index = (index - mod) / encodeStartLen; index > 0; )\n mod = index % encodeLen, id += encodeChars[mod], index = (index - mod) / encodeLen;\n return id;\n}\nfunction hasSymbolIterator(value) {\n return Symbol.iterator in value;\n}\nfunction stringEntriesToProps(entries) {\n let result = \"\", sep = \"\";\n for (let [key, value] of entries)\n result += sep + toObjectKey(key) + \":\" + quote(value, 0), sep = \",\";\n return result;\n}\nfunction typedArrayToInitString(view) {\n let result = \"[\", sep = \"\";\n for (let i = 0; i < view.length; i++)\n result += sep + view[i], sep = \",\";\n return result += \"]\", result;\n}\nfunction hasOnlyZeros(typedArray) {\n for (let i = 0; i < typedArray.length; i++)\n if (typedArray[i] !== 0) return !1;\n return !0;\n}\nfunction isWordOrDigit(char) {\n return isWord(char) || isDigit(char);\n}\nfunction isDigit(char) {\n return char >= \"0\" && char <= \"9\";\n}\nfunction isWord(char) {\n return char >= \"a\" && char <= \"z\" || char >= \"A\" && char <= \"Z\" || char === \"_\" || char === \"$\";\n}\n\n// src/html/writer.ts\nvar $chunk, NOOP = () => {\n}, K_SCOPE_ID = Symbol(\"Scope ID\");\nfunction getChunk() {\n return $chunk;\n}\nfunction getScopeId(scope) {\n return scope[K_SCOPE_ID];\n}\nfunction write(html) {\n $chunk.writeHTML(html);\n}\nfunction writeScript(script) {\n $chunk.writeScript(script);\n}\nfunction writeEffect(scopeId, registryId) {\n $chunk.boundary.state.needsMainRuntime = !0, $chunk.writeEffect(scopeId, registryId);\n}\nvar kPendingContexts = Symbol(\"Pending Contexts\");\nfunction withContext(key, value, cb) {\n let ctx = $chunk.context ||= { [kPendingContexts]: 0 }, prev = ctx[key];\n ctx[kPendingContexts]++, ctx[key] = value;\n try {\n cb();\n } finally {\n ctx[kPendingContexts]--, ctx[key] = prev;\n }\n}\nfunction register2(val, id, scopeId) {\n return scopeId === void 0 ? register(id, val) : register(id, val, ensureScopeWithId(scopeId));\n}\nfunction nextTagId() {\n let state = $chunk.boundary.state, { $global } = state;\n return \"s\" + $global.runtimeId + $global.renderId + (state.tagIndex++).toString(36);\n}\nfunction nextScopeId() {\n return $chunk.boundary.state.scopeIndex++;\n}\nfunction peekNextScopeId() {\n return $chunk.boundary.state.scopeIndex;\n}\nfunction peekNextScope() {\n return ensureScopeWithId(peekNextScopeId());\n}\nfunction getScopeById(scopeId) {\n if (scopeId !== void 0)\n return $chunk.boundary.state.scopes.get(scopeId);\n}\nfunction markResumeNode(scopeId, accessor) {\n let { state } = $chunk.boundary;\n return state.needsMainRuntime = !0, state.mark(\"*\" /* Node */, scopeId + \" \" + accessor);\n}\nfunction nodeRef(scopeId, id) {\n let getter = () => {\n };\n return id ? register2(getter, id, scopeId) : getter;\n}\nfunction markResumeScopeStart(scopeId, index) {\n return $chunk.boundary.state.mark(\n \"[\" /* SectionStart */,\n scopeId + (index ? \" \" + index : \"\")\n );\n}\nfunction markResumeControlEnd(scopeId, accessor) {\n return $chunk.boundary.state.mark(\"]\" /* SectionEnd */, scopeId + \" \" + accessor);\n}\nfunction markResumeControlSingleNodeEnd(scopeId, accessor, childScopeIds) {\n return $chunk.boundary.state.mark(\n \"|\" /* SectionSingleNodesEnd */,\n scopeId + \" \" + accessor + \" \" + (childScopeIds ?? \"\")\n );\n}\nfunction markResumeCleanup(scopeId) {\n return $chunk.boundary.state.mark(\"$\" /* Cleanup */, \"\" + scopeId);\n}\nfunction writeScope(scopeId, partialScope) {\n let { state } = $chunk.boundary, { scopes } = state, scope = scopes.get(scopeId);\n return state.needsMainRuntime = !0, scope ? Object.assign(scope, partialScope) : (scope = partialScope, scope[K_SCOPE_ID] = scopeId, state.scopes.set(scopeId, scope)), state.writeScopes ? state.writeScopes[scopeId] = scope : state.hasGlobals ? state.writeScopes = { [scopeId]: scope } : (state.hasGlobals = !0, state.writeScopes = {\n $: getFilteredGlobals(state.$global),\n [scopeId]: scope\n }), scope;\n}\nfunction writeExistingScope(scope) {\n return writeScope(scope[K_SCOPE_ID], scope);\n}\nfunction ensureScopeWithId(scopeId) {\n let { state } = $chunk.boundary, scope = state.scopes.get(scopeId);\n return scope || (scope = { [K_SCOPE_ID]: scopeId }, state.scopes.set(scopeId, scope)), scope;\n}\nfunction getStreamData() {\n return $chunk.boundary.state;\n}\nfunction fork(promise, renderBody) {\n if (!isPromise(promise)) {\n renderBody(promise);\n return;\n }\n let chunk = $chunk, { boundary } = chunk;\n chunk.next = $chunk = new Chunk(boundary, chunk.next, chunk.context), chunk.async = !0, chunk.context?.[kPendingContexts] && (chunk.context = { ...chunk.context, [kPendingContexts]: 0 }), boundary.startAsync(), promise.then(\n (value) => {\n chunk.async && (chunk.async = !1, boundary.signal.aborted || (chunk.render(renderBody, value), boundary.endAsync(chunk)));\n },\n (err) => {\n chunk.async = !1, boundary.abort(err);\n }\n );\n}\nfunction tryPlaceholder(renderBody, renderPlaceholder) {\n let chunk = $chunk, { boundary } = chunk, body = new Chunk(boundary, null, chunk.context);\n if (body === body.render(renderBody)) {\n chunk.append(body);\n return;\n }\n chunk.next = $chunk = new Chunk(boundary, chunk.next, body.context), chunk.placeholderBody = body, chunk.placeholderRender = renderPlaceholder;\n}\nfunction tryCatch(renderBody, renderCatch) {\n let chunk = $chunk, { boundary } = chunk, { state } = boundary, catchBoundary = new Boundary(state), body = new Chunk(catchBoundary, null, chunk.context), bodyEnd = body.render(renderBody);\n if (catchBoundary.signal.aborted) {\n renderCatch(catchBoundary.signal.reason);\n return;\n }\n if (body === bodyEnd) {\n chunk.append(body);\n return;\n }\n let reorderId = state.nextReorderId(), endMarker = state.mark(\"!\" /* PlaceholderEnd */, reorderId), bodyNext = bodyEnd.next = $chunk = new Chunk(boundary, chunk.next, body.context);\n chunk.next = body, chunk.writeHTML(state.mark(\"!^\" /* Placeholder */, reorderId)), bodyEnd.writeHTML(endMarker), boundary.startAsync(), catchBoundary.onNext = () => {\n if (!boundary.signal.aborted)\n if (catchBoundary.signal.aborted) {\n if (!bodyEnd.consumed) {\n let cur = body, writeMarker = !0;\n do {\n let next = cur.next;\n cur.boundary !== catchBoundary && cur.boundary.abort(catchBoundary.signal.reason), writeMarker && !cur.consumed && (writeMarker = !1, cur.async = !1, cur.next = bodyNext, cur.html = endMarker, cur.scripts = cur.effects = \"\", cur.placeholderBody = cur.placeholderRender = cur.reorderId = null), cur = next;\n } while (cur !== bodyNext);\n }\n let catchChunk = new Chunk(boundary, null, chunk.context);\n catchChunk.reorderId = reorderId, catchChunk.render(renderCatch, catchBoundary.signal.reason), state.reorder(catchChunk), boundary.endAsync();\n } else catchBoundary.done ? boundary.endAsync() : boundary.onNext();\n };\n}\nvar State2 = class {\n constructor($global) {\n this.$global = $global;\n this.$global = $global;\n }\n tagIndex = 0;\n scopeIndex = 0;\n reorderIndex = 0;\n hasGlobals = !1;\n needsMainRuntime = !1;\n hasMainRuntime = !1;\n hasReorderRuntime = !1;\n hasWrittenResume = !1;\n serializer = new Serializer();\n writeReorders = null;\n scopes = /* @__PURE__ */ new Map();\n writeScopes = null;\n get runtimePrefix() {\n let { $global } = this;\n return $global.runtimeId + \".\" + $global.renderId;\n }\n get commentPrefix() {\n let { $global } = this;\n return $global.runtimeId + $global.renderId;\n }\n reorder(chunk) {\n this.writeReorders ? this.writeReorders.push(chunk) : (this.needsMainRuntime = !0, this.writeReorders = [chunk]);\n }\n nextReorderId() {\n let encodeChars = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789\", encodeLen = encodeChars.length, encodeStartLen = encodeLen - 10, index = this.reorderIndex++, mod = index % encodeStartLen, id = encodeChars[mod];\n for (index = (index - mod) / encodeStartLen; index > 0; )\n mod = index % encodeLen, id += encodeChars[mod], index = (index - mod) / encodeLen;\n return id;\n }\n mark(code, str) {\n return \"\";\n }\n}, Boundary = class extends AbortController {\n constructor(state, parent) {\n super();\n this.state = state;\n this.state = state, this.signal.addEventListener(\"abort\", () => {\n this.count = 0, this.state = new State2(this.state.$global), this.onNext();\n }), parent && (parent.aborted ? this.abort(parent.reason) : parent.addEventListener(\"abort\", () => {\n this.abort(parent.reason);\n }));\n }\n onNext = NOOP;\n count = 0;\n get done() {\n return this.count === 0;\n }\n startAsync() {\n this.signal.aborted || this.count++;\n }\n endAsync(chunk) {\n !this.signal.aborted && this.count && (this.count--, chunk?.reorderId && this.state.reorder(chunk), this.onNext());\n }\n}, Chunk = class {\n constructor(boundary, next, context) {\n this.boundary = boundary;\n this.next = next;\n this.context = context;\n this.boundary = boundary, this.next = next, this.context = context;\n }\n html = \"\";\n scripts = \"\";\n effects = \"\";\n async = !1;\n consumed = !1;\n reorderId = null;\n placeholderBody = null;\n placeholderRender = null;\n writeHTML(html) {\n this.html += html;\n }\n writeEffect(scopeId, registryId) {\n this.effects = concatEffects(\n this.effects,\n scopeId + ',\"' + registryId + '\"'\n );\n }\n writeScript(script) {\n this.scripts = concatScripts(this.scripts, script);\n }\n append(chunk) {\n this.html += chunk.html, this.effects = concatEffects(this.effects, chunk.effects), this.scripts = concatScripts(this.scripts, chunk.scripts);\n }\n flushPlaceholder() {\n if (this.placeholderBody) {\n let body = this.placeholderBody.consume();\n if (body.async) {\n let { state } = this.boundary, reorderId = body.reorderId = state.nextReorderId();\n this.writeHTML(state.mark(\"!^\" /* Placeholder */, reorderId));\n let after = this.render(this.placeholderRender);\n after !== this && this.boundary.abort(\n new Error(\"An @placeholder cannot contain async content.\")\n ), after.writeHTML(state.mark(\"!\" /* PlaceholderEnd */, reorderId)), state.reorder(body);\n } else\n body.next = this.next, this.next = body;\n this.placeholderRender = this.placeholderBody = null;\n }\n }\n consume() {\n let cur = this;\n if (cur.next && !cur.async) {\n let html = \"\", effects = \"\", scripts = \"\";\n do\n cur.flushPlaceholder(), html += cur.html, effects += cur.effects, scripts = concatScripts(scripts, cur.scripts), cur.consumed = !0, cur = cur.next;\n while (cur.next && !cur.async);\n cur.html = html + cur.html, cur.effects = concatEffects(effects, cur.effects), cur.scripts = concatScripts(scripts, cur.scripts);\n }\n return cur;\n }\n render(renderBody, val) {\n let prev = $chunk;\n $chunk = this;\n try {\n return renderBody(val), $chunk;\n } catch (err) {\n return this.boundary.abort(err), this;\n } finally {\n $chunk = prev;\n }\n }\n};\nfunction prepareChunk(chunk) {\n let head = chunk.consume(), { boundary, effects } = head, { state } = boundary, { $global, runtimePrefix, serializer } = state, nonceAttr = $global.cspNonce ? \" nonce=\" + escapeAttrValue($global.cspNonce + \"\") : \"\", { html, scripts } = head, hasWalk = !1;\n head.effects = \"\", state.needsMainRuntime && !state.hasMainRuntime && (state.hasMainRuntime = !0, scripts = concatScripts(\n scripts,\n WALKER_RUNTIME_CODE + '(\"' + $global.runtimeId + '\")(\"' + $global.renderId + '\")'\n ));\n let resumes = \"\";\n if ((state.writeScopes || serializer.flushed) && (resumes = state.serializer.stringify(state.writeScopes || {}, boundary), state.writeScopes = null), effects && (hasWalk = !0, resumes = resumes ? resumes + \",\" + effects : effects), boundary.done && (resumes || state.hasWrittenResume) && (resumes = resumes ? resumes + \",0\" : \"0\"), resumes && (state.hasWrittenResume ? scripts = concatScripts(\n scripts,\n runtimePrefix + \".r.push(\" + resumes + \")\"\n ) : (state.hasWrittenResume = !0, scripts = concatScripts(\n scripts,\n runtimePrefix + \".r=[\" + resumes + \"]\"\n ))), state.writeReorders) {\n hasWalk = !0, state.hasReorderRuntime || (state.hasReorderRuntime = !0, html += \"\", scripts = concatScripts(\n scripts,\n REORDER_RUNTIME_CODE + \"(\" + runtimePrefix + \")\"\n ));\n for (let reorderedChunk of state.writeReorders) {\n let { reorderId } = reorderedChunk, isSync = !0, reorderHTML = \"\", reorderEffects = \"\", reorderScripts = \"\", cur = reorderedChunk;\n for (reorderedChunk.reorderId = null; cur.flushPlaceholder(), reorderHTML += cur.html, reorderEffects = concatEffects(reorderEffects, cur.effects), reorderScripts = concatScripts(reorderScripts, cur.scripts), cur.async && (reorderHTML += state.mark(\n \"#\" /* ReorderMarker */,\n cur.reorderId = state.nextReorderId()\n ), cur.html = cur.effects = cur.scripts = \"\", isSync = !1), cur.next; )\n cur = cur.next;\n reorderEffects && (state.hasWrittenResume || (state.hasWrittenResume = !0, scripts = concatScripts(\n scripts,\n runtimePrefix + \".r=[]\"\n )), reorderScripts = concatScripts(\n reorderScripts,\n \"_.push(\" + reorderEffects + \")\"\n )), scripts = concatScripts(\n scripts,\n reorderScripts && runtimePrefix + \".j.\" + reorderId + \"=_=>{\" + reorderScripts + \"}\"\n ), html += \"\" + reorderHTML + \"\";\n }\n state.writeReorders = null;\n }\n return hasWalk && (scripts = concatScripts(scripts, runtimePrefix + \".w()\")), head.html = html, head.scripts = scripts, head;\n}\nfunction flushChunk(head) {\n let { html, scripts } = head;\n return head.html = head.scripts = \"\", html + (scripts ? \"\" + scripts + \"\" : \"\");\n}\nfunction concatEffects(a, b) {\n return a ? b ? a + \",\" + b : a : b;\n}\nfunction concatScripts(a, b) {\n return a ? b ? a + \";\" + b : a : b;\n}\nvar tick = globalThis.setImmediate || globalThis.setTimeout || globalThis.queueMicrotask || ((cb) => Promise.resolve().then(cb)), tickQueue;\nfunction queueTick(cb) {\n tickQueue ? tickQueue.add(cb) : (tickQueue = /* @__PURE__ */ new Set([cb]), tick(flushTickQueue));\n}\nfunction offTick(cb) {\n tickQueue?.delete(cb);\n}\nfunction flushTickQueue() {\n let queue = tickQueue;\n tickQueue = void 0;\n for (let cb of queue)\n cb(!0);\n}\nfunction isPromise(value) {\n return value != null && typeof value.then == \"function\";\n}\nfunction getFilteredGlobals($global) {\n if (!$global) return;\n let serializedGlobals = $global.serializedGlobals;\n if (!serializedGlobals) return;\n let filtered;\n if (Array.isArray(serializedGlobals))\n for (let key of serializedGlobals) {\n let value = $global[key];\n value !== void 0 && (filtered ? filtered[key] = value : filtered = { [key]: value });\n }\n else\n for (let key in serializedGlobals)\n if (serializedGlobals[key]) {\n let value = $global[key];\n value !== void 0 && (filtered ? filtered[key] = value : filtered = { [key]: value });\n }\n return filtered;\n}\n\n// src/html/attrs.ts\nfunction classAttr(val) {\n return stringAttr(\"class\", classValue(val));\n}\nfunction styleAttr(val) {\n return stringAttr(\"style\", styleValue(val));\n}\nfunction optionValueAttr(value) {\n let { [kSelectedValue]: selectedValue } = getChunk()?.context || {};\n return attr(\"value\", value) + (!isVoid(value) && (Array.isArray(value) ? selectedValue.includes(value) : selectedValue === value) ? \" selected\" : \"\");\n}\nvar kSelectedValue = Symbol(\"selectedValue\");\nfunction controllable_select_value(scopeId, nodeAccessor, value, valueChange, renderBody) {\n if (valueChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \":\" /* ControlledValue */] = value, scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 3 /* SelectValue */;\n }\n renderBody && withContext(kSelectedValue, value, renderBody);\n}\nfunction controllable_input_value(scopeId, nodeAccessor, value, valueChange) {\n if (valueChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = valueChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 2 /* InputValue */;\n }\n return attr(\"value\", value);\n}\nfunction controllable_input_checked(scopeId, nodeAccessor, checked, checkedChange) {\n if (checkedChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 0 /* InputChecked */;\n }\n return attr(\"checked\", checked);\n}\nfunction controllable_input_checkedValue(scopeId, nodeAccessor, checkedValue, checkedValueChange, value) {\n let multiple = Array.isArray(checkedValue), valueAttr = attr(\"value\", value);\n if (checkedValueChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \";\" /* ControlledHandler */] = checkedValueChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 1 /* InputCheckedValue */, multiple && (scope[nodeAccessor + \":\" /* ControlledValue */] = checkedValue);\n }\n return (multiple ? checkedValue.includes(value) : checkedValue === value) ? valueAttr + \" checked\" : valueAttr;\n}\nfunction controllable_detailsOrDialog_open(scopeId, nodeAccessor, open, openChange) {\n if (openChange) {\n let scope = ensureScopeWithId(scopeId);\n scope[nodeAccessor + \":\" /* ControlledValue */] = open, scope[nodeAccessor + \";\" /* ControlledHandler */] = openChange, scope[nodeAccessor + \"=\" /* ControlledType */] = 4 /* DetailsOrDialogOpen */;\n }\n return attr(\"open\", open);\n}\nfunction attr(name, val) {\n return isVoid(val) ? \"\" : nonVoidAttr(name, val);\n}\nfunction attrs(data, nodeAccessor, scopeId, tagName) {\n let result = \"\", skip = /[\\s/>\"'=]/, scope, events;\n switch (tagName) {\n case \"input\":\n if (data.checkedChange)\n result += controllable_input_checked(\n scopeId,\n nodeAccessor,\n data.checked,\n data.checkedChange\n );\n else if (data.checkedValue || data.checkedValueChange)\n result += controllable_input_checkedValue(\n scopeId,\n nodeAccessor,\n data.checkedValue,\n data.checkedValueChange,\n data.value\n );\n else if (data.valueChange)\n result += controllable_input_value(\n scopeId,\n nodeAccessor,\n data.value,\n data.valueChange\n );\n else\n break;\n skip = /^(?:value|checked(?:Value)?)(?:Change)?$|[\\s/>\"'=]/;\n break;\n case \"select\":\n (data.value || data.valueChange) && (skip = /^value(?:Change)?$|[\\s/>\"'=]/);\n break;\n case \"option\":\n data.value && (result += optionValueAttr(data.value), skip = /^value$|[\\s/>\"'=]/);\n break;\n case \"details\":\n case \"dialog\":\n data.openChange && (result += controllable_detailsOrDialog_open(\n scopeId,\n nodeAccessor,\n data.open,\n data.openChange\n ), skip = /^open(?:Change)?$|[\\s/>\"'=]/);\n break;\n }\n for (let name in data) {\n let val = data[name];\n switch (name) {\n case \"class\":\n result += classAttr(val);\n break;\n case \"style\":\n result += styleAttr(val);\n break;\n case \"\":\n case \"renderBody\":\n break;\n default:\n isVoid(val) || (/^on[A-Z-]/.test(name) ? (events ||= (scope ??= ensureScopeWithId(scopeId))[nodeAccessor + \"~\" /* EventAttributes */] ||= {}, events[name[2] === \"-\" ? name.slice(3) : name.slice(2).toLowerCase()] = val) : skip.test(name) || (result += nonVoidAttr(name, val)));\n break;\n }\n }\n return result;\n}\nfunction partialAttrs(data, skip, nodeAccessor, scopeId, tagName) {\n let partial = {};\n for (let key in data)\n skip[key] || (partial[key] = data[key]);\n return attrs(partial, nodeAccessor, scopeId, tagName);\n}\nfunction stringAttr(name, val) {\n return val && ` ${name}=${escapeAttrValue(val)}`;\n}\nfunction nonVoidAttr(name, val) {\n switch (typeof val) {\n case \"string\":\n return ` ${name + attrAssignment(val)}`;\n case \"boolean\":\n return ` ${name}`;\n case \"number\":\n return ` ${name}=${val}`;\n case \"object\":\n if (val instanceof RegExp)\n return ` ${name + attrAssignment(val.source)}`;\n break;\n }\n return ` ${name + attrAssignment(val + \"\")}`;\n}\nfunction attrAssignment(val) {\n return val ? `=${escapeAttrValue(val)}` : \"\";\n}\nvar unsafeAttrChars = /[\"'>\\s]/g;\nfunction escapeAttrValue(str) {\n if (unsafeAttrChars.test(str)) {\n let c = str[unsafeAttrChars.lastIndex - 1];\n return unsafeAttrChars.lastIndex = 0, c === '\"' ? `'${str.replace(/'/g, \"'\")}'` : `\"${str.replace(/\"/g, \""\")}\"`;\n }\n return str;\n}\n\n// src/common/compat-meta.ts\nvar prefix = \"$C_\", RENDERER_REGISTER_ID = prefix + \"r\", SET_SCOPE_REGISTER_ID = prefix + \"s\";\n\n// src/common/meta.ts\nvar DEFAULT_RUNTIME_ID = \"M\", DEFAULT_RENDER_ID = \"_\";\n\n// src/html/dynamic-tag.ts\nvar voidElementsReg = /^(?:area|b(?:ase|r)|col|embed|hr|i(?:mg|nput)|link|meta|param|source|track|wbr)$/;\nfunction dynamicTagInput(scope, tag, input, renderBody, tagVar) {\n if (!tag && !renderBody) return;\n let scopeId = getScopeId(scope);\n return write(`${markResumeScopeStart(scopeId)}`), writeScope(scopeId, scope), tag ? typeof tag == \"string\" ? (nextScopeId(), write(\n `<${tag}${attrs(input, 0, scopeId, tag)}>`\n ), voidElementsReg.test(tag) || (renderBody && (tag === \"select\" && (\"value\" in input || \"valueChange\" in input) ? controllable_select_value(\n scopeId,\n 0,\n input.value,\n input.valueChange,\n renderBody\n ) : renderBody()), write(``)), null) : getDynamicRenderer(tag)(renderBody ? { ...input, renderBody } : input, tagVar) : renderBody();\n}\nfunction dynamicTagArgs(scope, tag, args) {\n if (!tag) return;\n let scopeId = getScopeId(scope);\n if (write(`${markResumeScopeStart(scopeId)}`), writeScope(scopeId, scope), typeof tag == \"string\") {\n nextScopeId(), write(\n `<${tag}${attrs(args[0], 0, scopeId, tag)}>`\n ), voidElementsReg.test(tag) || write(``);\n return;\n }\n return getDynamicRenderer(tag)(...args);\n}\nvar getDynamicRenderer = normalizeDynamicRenderer, createRenderer = (fn) => fn;\nfunction patchDynamicTag(newGetDynamicRenderer, newCreateRenderer) {\n getDynamicRenderer = newGetDynamicRenderer, createRenderer = newCreateRenderer;\n}\n\n// src/html/compat.ts\nvar K_TAGS_API_STATE = Symbol(), COMPAT_REGISTRY = /* @__PURE__ */ new WeakMap(), compat = {\n fork,\n write,\n writeScript,\n nextScopeId,\n patchDynamicTag,\n writeSetScopeForComponent(m5c) {\n let scopeId = nextScopeId();\n writeScope(scopeId, { m5c }), writeEffect(scopeId, SET_SCOPE_REGISTER_ID);\n },\n toJSON() {\n let compatRegistered = COMPAT_REGISTRY.get(this);\n if (!compatRegistered) {\n let registered = getRegistered(this);\n if (registered) {\n let scopeId = getScopeId(registered.scope);\n scopeId !== void 0 && writeScope(scopeId, {}), COMPAT_REGISTRY.set(\n this,\n compatRegistered = [registered.id, scopeId]\n );\n }\n }\n return compatRegistered;\n },\n render(renderer, willRerender, classAPIOut, component, input) {\n let $global = classAPIOut.global, state = $global[K_TAGS_API_STATE] ||= getChunk()?.boundary.state;\n state || ($global.runtimeId ||= DEFAULT_RUNTIME_ID, $global.renderId ||= $global.componentIdPrefix || DEFAULT_RENDER_ID, $global[K_TAGS_API_STATE] = state = new State2($global));\n let boundary = new Boundary(state), head = new Chunk(\n boundary,\n null,\n null\n );\n head.render(() => {\n if (willRerender) {\n let scopeId = peekNextScopeId();\n writeScope(scopeId, { m5c: component.id }), writeEffect(scopeId, SET_SCOPE_REGISTER_ID);\n }\n renderer(input);\n });\n let asyncOut = classAPIOut.beginAsync();\n (boundary.onNext = () => {\n boundary.done && (boundary.signal.aborted ? asyncOut.error(boundary.signal.reason) : queueMicrotask(() => {\n let { scripts, html } = head = prepareChunk(head);\n asyncOut.script(scripts), asyncOut.write(html), asyncOut.end(), head.html = head.scripts = \"\";\n }));\n })();\n },\n registerRenderer(renderer, id) {\n return register(\n RENDERER_REGISTER_ID,\n renderer,\n register(id, () => {\n })\n );\n }\n};\n\n// src/html/content.ts\nfunction toString(val) {\n return val ? val + \"\" : val === 0 ? \"0\" : \"\";\n}\nvar unsafeXMLReg = /[<&]/g, replaceUnsafeXML = (c) => c === \"&\" ? \"&\" : \"<\", escapeXMLStr = (str) => unsafeXMLReg.test(str) ? str.replace(unsafeXMLReg, replaceUnsafeXML) : str;\nfunction escapeXML(val) {\n return val ? escapeXMLStr(val + \"\") : val === 0 ? \"0\" : \"‍\";\n}\nvar unsafeScriptReg = /<\\/script/g, escapeScriptStr = (str) => unsafeScriptReg.test(str) ? str.replace(unsafeScriptReg, \"\\\\x3C/script\") : str;\nfunction escapeScript(val) {\n return val ? escapeScriptStr(val + \"\") : val === 0 ? \"0\" : \"\";\n}\nvar unsafeStyleReg = /<\\/style/g, escapeStyleStr = (str) => unsafeStyleReg.test(str) ? str.replace(unsafeStyleReg, \"\\\\3C/style\") : str;\nfunction escapeStyle(val) {\n return val ? escapeStyleStr(val + \"\") : val === 0 ? \"0\" : \"\";\n}\n\n// src/html/template.ts\nvar createTemplate = (renderer, templateId) => (renderer.render = render, renderer._ = renderer, register2(renderer, templateId));\nfunction render(input = {}) {\n let { $global } = input;\n $global ? ({ $global, ...input } = input, $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID,\n ...$global\n }) : $global = {\n runtimeId: DEFAULT_RUNTIME_ID,\n renderId: DEFAULT_RENDER_ID\n };\n let head = new Chunk(\n new Boundary(new State2($global), $global.signal),\n null,\n null\n );\n return head.render(this, input), new ServerRenderResult(head);\n}\nvar ServerRenderResult = class {\n #head;\n #cachedPromise = null;\n constructor(head) {\n this.#head = head;\n }\n [Symbol.asyncIterator]() {\n let resolve, reject, value = \"\", done = !1, aborted = !1, reason;\n return this.#read(\n (html) => {\n value += html, resolve && (resolve({ value, done }), value = \"\");\n },\n (err) => {\n aborted = !0, reason = err, reject && reject(err);\n },\n () => {\n done = !0, resolve && resolve({ value, done: !value });\n }\n ), {\n next() {\n if (value) {\n let result = { value, done: !1 };\n return value = \"\", Promise.resolve(result);\n }\n return done ? Promise.resolve({ value, done }) : aborted ? Promise.reject(reason) : new Promise(exec);\n }\n };\n function exec(_resolve, _reject) {\n resolve = _resolve, reject = _reject;\n }\n }\n pipe(stream) {\n this.#read(\n (html) => {\n stream.write(html);\n },\n (err) => {\n let socket = \"socket\" in stream && stream.socket;\n if (socket && typeof socket.destroySoon == \"function\" && socket.destroySoon(), !stream.emit?.(\"error\", err))\n throw err;\n },\n () => {\n stream.end();\n }\n );\n }\n toReadable() {\n return new ReadableStream({\n start: (ctrl) => {\n this.#read(\n (html) => {\n ctrl.enqueue(html);\n },\n (err) => {\n ctrl.error(err);\n },\n () => {\n ctrl.close();\n }\n );\n }\n });\n }\n then(onfulfilled, onrejected) {\n return this.#promise().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.#promise().catch(onrejected);\n }\n finally(onfinally) {\n return this.#promise().finally(onfinally);\n }\n #promise() {\n return this.#cachedPromise ||= new Promise((resolve, reject) => {\n let head = this.#head;\n if (this.#head = null, !head)\n return reject(new Error(\"Cannot read from a consumed render result\"));\n let { boundary } = head;\n (boundary.onNext = () => {\n boundary.done && (boundary.signal.aborted ? reject(boundary.signal.reason) : (head = prepareChunk(head), boundary.done && resolve(flushChunk(head))));\n })();\n });\n }\n #read(onWrite, onAbort, onClose) {\n let tick2 = !0, head = this.#head;\n if (this.#head = null, !head) {\n onAbort(new Error(\"Cannot read from a consumed render result\"));\n return;\n }\n let { boundary } = head, onNext = boundary.onNext = (write2) => {\n if (write2 || boundary.done) {\n if (boundary.signal.aborted) {\n tick2 || offTick(onNext), onAbort(boundary.signal.reason);\n return;\n }\n head = prepareChunk(head);\n }\n if (write2 || boundary.done) {\n let html = flushChunk(head);\n html && onWrite(html), boundary.done ? (tick2 || offTick(onNext), onClose()) : tick2 = !0;\n } else tick2 && (tick2 = !1, queueTick(onNext));\n };\n onNext();\n }\n toString() {\n let head = this.#head;\n if (!head) throw new Error(\"Cannot read from a consumed render result\");\n if (head.next) throw new Error(\"Cannot fork in sync mode\");\n return this.#head = null, flushChunk(prepareChunk(head));\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n attr,\n attrTag,\n attrTags,\n attrs,\n classAttr,\n compat,\n controllable_detailsOrDialog_open,\n controllable_input_checked,\n controllable_input_checkedValue,\n controllable_input_value,\n controllable_select_value,\n createRenderer,\n createTemplate,\n dynamicTagArgs,\n dynamicTagInput,\n ensureScopeWithId,\n escapeScript,\n escapeStyle,\n escapeXML,\n forIn,\n forOf,\n forTo,\n fork,\n getScopeById,\n getStreamData,\n markResumeCleanup,\n markResumeControlEnd,\n markResumeControlSingleNodeEnd,\n markResumeNode,\n markResumeScopeStart,\n nextScopeId,\n nextTagId,\n nodeRef,\n normalizeDynamicRenderer,\n optionValueAttr,\n partialAttrs,\n peekNextScope,\n register,\n styleAttr,\n toString,\n tryCatch,\n tryPlaceholder,\n write,\n writeEffect,\n writeExistingScope,\n writeScope\n});\n","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n\n path.replaceWith(\n (0, _withPreviousLocation.default)(\n (0, _htmlOutWrite.default)``,\n node\n )\n );\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _vdomOutWrite = _interopRequireDefault(require(\"../util/vdom-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n\n path.replaceWith(\n (0, _withPreviousLocation.default)((0, _vdomOutWrite.default)(\"t\", _compiler.types.stringLiteral(node.value)), node)\n );\n}","\"use strict\";exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nfunction _default(path) {\n const {\n hub: { file },\n node: {\n body: { body }\n }\n } = path;\n\n const classProperties = [];\n let onCreateMethod = body.find(\n (prop) =>\n prop.computed === false &&\n _compiler.types.isIdentifier(prop.key) &&\n prop.key.name === \"onCreate\"\n );\n\n const objectProperties = body.\n map((prop) => {\n if (_compiler.types.isClassMethod(prop)) {\n prop.type = \"ObjectMethod\";\n delete prop.start;\n delete prop.end;\n delete prop.loc;\n return prop;\n } else if (_compiler.types.isClassProperty(prop) && !prop.static) {\n if (!prop.declare) {\n classProperties.push(\n _compiler.types.assignmentExpression(\n \"=\",\n _compiler.types.memberExpression(_compiler.types.thisExpression(), prop.key, prop.computed),\n prop.value || _compiler.types.unaryExpression(\"void\", _compiler.types.numericLiteral(0))\n )\n );\n }\n\n return undefined;\n }\n\n throw file.buildCodeFrameError(\n prop,\n \"Unsupported class property on component.\"\n );\n }).\n filter(Boolean);\n\n if (classProperties.length) {\n if (!onCreateMethod) {\n objectProperties.push(\n onCreateMethod = _compiler.types.objectMethod(\n \"method\",\n _compiler.types.identifier(\"onCreate\"),\n [],\n _compiler.types.blockStatement([])\n )\n );\n }\n\n onCreateMethod.body.body.unshift(...classProperties);\n }\n\n file._inlineComponentClass = _compiler.types.objectExpression(objectProperties);\n path.remove();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\nconst ieConditionalCommentRegExp = /^\\[if |`, node)\n );\n } else {\n path.remove();\n }\n}","\"use strict\";exports.__esModule = true;exports.default = _default;function _default(path) {\n path.remove();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n\n path.replaceWith(\n (0, _withPreviousLocation.default)((0, _htmlOutWrite.default)``, node)\n );\n}","\"use strict\";exports.__esModule = true;exports.default = _default;function _default(path) {\n path.remove();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _compiler = require(\"@marko/compiler\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n\n path.replaceWith(\n (0, _withPreviousLocation.default)((0, _htmlOutWrite.default)``, node)\n );\n}","\"use strict\";exports.__esModule = true;exports.default = _default;function _default(path) {\n path.remove();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.analyze = void 0;exports.getRuntimeEntryFiles = getRuntimeEntryFiles;exports.translate = exports.taglibs = exports.optionalTaglibs = exports.internalEntryBuilder = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _package = require(\"marko/package.json\");\nvar _path = require(\"path\");\n\nvar _cdata = _interopRequireDefault(require(\"./cdata\"));\nvar _class = _interopRequireDefault(require(\"./class\"));\nvar _comment = _interopRequireDefault(require(\"./comment\"));\nvar _declaration = _interopRequireDefault(require(\"./declaration\"));\nvar _documentType = _interopRequireDefault(require(\"./document-type\"));\nvar _placeholder = _interopRequireDefault(require(\"./placeholder\"));\nvar _scriptlet = _interopRequireDefault(require(\"./scriptlet\"));\nvar _tag = _interopRequireDefault(require(\"./tag\"));\nvar _text = _interopRequireDefault(require(\"./text\"));\nvar _addDependencies = _interopRequireWildcard(require(\"./util/add-dependencies\"));exports.internalEntryBuilder = _addDependencies.entryBuilder;\nvar _getComponentFiles = _interopRequireDefault(require(\"./util/get-component-files\"));\nvar _optimizeHtmlWrites = require(\"./util/optimize-html-writes\");\nvar _optimizeVdomCreate = require(\"./util/optimize-vdom-create\");\n\nvar _taglib = _interopRequireWildcard(require(\"./taglib\"));exports.optionalTaglibs = _taglib.optionalTaglibs;exports.taglibs = _taglib.default;function _getRequireWildcardCache(e) {if (\"function\" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}\n\n\nconst analyze = exports.analyze = {\n Program: {\n enter(program) {\n // Pre populate metadata for component files.\n const meta = program.hub.file.metadata.marko;\n (0, _getComponentFiles.default)(program);\n\n if (!meta.hasComponent && !meta.hasComponentBrowser) {\n meta.hasComponent = program.\n get(\"body\").\n some((child) => child.isMarkoClass());\n }\n },\n exit(program) {\n const { file } = program.hub;\n const meta = file.metadata.marko;\n const componentFiles = (0, _getComponentFiles.default)(program);\n const { styleFile, packageFile, componentBrowserFile } = componentFiles;\n\n if (packageFile) {\n meta.deps.unshift(`package: ${packageFile}`);\n }\n\n if (styleFile) {\n meta.deps.unshift(styleFile);\n }\n\n if (!meta.widgetBind) {\n if (meta.hasComponentBrowser) {\n meta.component = componentBrowserFile;\n } else if (\n meta.hasComponent ||\n meta.hasStatefulTagParams ||\n meta.hasFunctionEventHandlers)\n {\n meta.component = file.opts.filename;\n } else if (meta.hasStringEventHandlers) {\n meta.component = componentFiles.componentBrowserFile =\n \"marko/src/runtime/helpers/empty-component.js\";\n meta.hasComponentBrowser = true;\n }\n }\n\n meta.component =\n meta.component && (0, _babelUtils.resolveRelativePath)(file, meta.component);\n meta.deps = meta.deps.map((filename) =>\n typeof filename === \"string\" ?\n (0, _babelUtils.resolveRelativePath)(file, filename) :\n filename\n );\n }\n },\n MarkoTag(tag) {\n const { file } = tag.hub;\n const tagDef = (0, _babelUtils.getTagDef)(tag);\n // Check if tag uses stateful tag params.\n const meta = tag.hub.file.metadata.marko;\n\n if (tagDef) {\n if (tagDef.html && !tagDef.template && !tagDef.renderer) {\n if (tagDef.htmlType === \"custom-element\") {\n if (tagDef.parseOptions && tagDef.parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n meta.deps.push(\n (0, _path.resolve)(\n tagDef.dir,\n (0, _path.resolve)(tagDef.dir, tagDef.parseOptions.import)\n )\n );\n }\n }\n } else if (tag.get(\"name\").isStringLiteral()) {\n const relativePath = resolveRelativeTagEntry(file, tagDef);\n\n if (relativePath) {\n tag.node.extra = tag.node.extra || {};\n tag.node.extra.relativePath = relativePath;\n\n if (!meta.tags.includes(relativePath)) {\n meta.tags.push(relativePath);\n }\n }\n }\n\n if (tagDef.translator && tagDef.translator.path) {\n if (!meta.watchFiles.includes(tagDef.translator.path)) {\n meta.watchFiles.push(tagDef.translator.path);\n }\n }\n }\n\n if (!(meta.hasFunctionEventHandlers || meta.hasStringEventHandlers)) {\n for (const attr of tag.node.attributes) {\n if (\n _compiler.types.isMarkoAttribute(attr) &&\n attr.arguments &&\n /^on[-A-Z]/.test(attr.name))\n {\n if (\n attr.arguments.length >= 1 &&\n attr.arguments[0].type === \"StringLiteral\")\n {\n meta.hasStringEventHandlers = true;\n } else {\n meta.hasFunctionEventHandlers = true;\n }\n break;\n }\n }\n }\n\n if (\n meta.hasStatefulTagParams ||\n (0, _babelUtils.isNativeTag)(tag) ||\n (0, _babelUtils.isMacroTag)(tag) ||\n !tag.get(\"body\").get(\"params\").length)\n {\n return;\n }\n\n if ((0, _babelUtils.isDynamicTag)(tag)) {\n meta.hasStatefulTagParams = true;\n return;\n }\n\n let curTag = tag;\n while ((0, _babelUtils.isAttributeTag)(curTag)) {\n curTag = (0, _babelUtils.findParentTag)(curTag);\n }\n\n const tagFile = (0, _babelUtils.loadFileForTag)(curTag);\n const childMeta = tagFile && tagFile.metadata.marko;\n meta.hasStatefulTagParams =\n childMeta && (\n childMeta.hasStatefulTagParams ||\n childMeta.hasFunctionEventHandlers ||\n childMeta.hasComponent && !childMeta.hasComponentBrowser);\n },\n ImportDeclaration: {\n exit(path) {\n const source = path.get(\"source\");\n const tagEntry = (0, _babelUtils.resolveTagImport)(source, source.node.value);\n\n if (tagEntry) {\n const meta = path.hub.file.metadata.marko;\n source.node.value = tagEntry;\n\n if (!meta.tags.includes(tagEntry)) {\n meta.tags.push(tagEntry);\n }\n }\n }\n }\n};\n\nconst translate = exports.translate = {\n MarkoDocumentType: _documentType.default,\n MarkoDeclaration: _declaration.default,\n MarkoCDATA: _cdata.default,\n MarkoTag: _tag.default,\n MarkoText: _text.default,\n MarkoPlaceholder: _placeholder.default,\n MarkoScriptlet: _scriptlet.default,\n MarkoClass: _class.default,\n MarkoComment: _comment.default,\n ReferencedIdentifier(path) {\n if (path.node.name === \"component\" && !path.scope.hasBinding(\"component\")) {\n path.replaceWith(path.hub.file._componentInstanceIdentifier);\n }\n },\n Program: {\n enter(path) {\n const {\n hub: { file }\n } = path;\n\n if (file.markoOpts.output === \"hydrate\") {\n (0, _addDependencies.default)(file, true);\n return;\n } else if (\n file.markoOpts.resolveVirtualDependency &&\n file.markoOpts.output !== \"html\")\n {\n (0, _addDependencies.default)(file, false);\n }\n\n if (file.metadata.marko.moduleCode) {\n path.\n replaceWith(\n _compiler.types.program(\n (0, _babelUtils.parseStatements)(file, file.metadata.marko.moduleCode),\n undefined,\n file.markoOpts.modules === \"cjs\" ? \"script\" : \"module\"\n )\n )[0].\n skip();\n return;\n }\n\n file._componentDefIdentifier =\n path.scope.generateUidIdentifier(\"componentDef\");\n\n file._componentInstanceIdentifier =\n path.scope.generateUidIdentifier(\"component\");\n\n // Pre-Analyze tree\n (0, _optimizeVdomCreate.analyzeStaticVDOM)(path);\n\n // Move non static content into the renderBody.\n const [renderBlock] = path.pushContainer(\"body\", _compiler.types.blockStatement([]));\n path.\n get(\"body\").\n filter(isRenderContent).\n forEach((childPath) => {\n renderBlock.pushContainer(\"body\", childPath.node);\n childPath.remove();\n });\n\n file._renderBlock = renderBlock;\n path.scope.crawl();\n },\n exit(path) {\n const {\n hub: { file }\n } = path;\n const { markoOpts, _inlineComponentClass } = file;\n const includeMetaInSource = markoOpts.meta !== false;\n const meta = file.metadata.marko;\n const { componentFile, componentBrowserFile } = (0, _getComponentFiles.default)(path);\n const isHTML = markoOpts.output === \"html\";\n\n const renderBlock = file._renderBlock;\n const componentClass =\n componentFile &&\n (0, _babelUtils.importDefault)(\n file,\n (0, _babelUtils.resolveRelativePath)(file, componentFile),\n \"marko_component\"\n ) ||\n _inlineComponentClass ||\n _compiler.types.objectExpression([]);\n\n const componentIdentifier =\n path.scope.generateUidIdentifier(\"marko_component\");\n const componentTypeIdentifier = path.scope.generateUidIdentifier(\n \"marko_componentType\"\n );\n const templateIdentifier =\n path.scope.generateUidIdentifier(\"marko_template\");\n const rendererIdentifier = (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/components/renderer.js\",\n \"marko_renderer\"\n );\n const templateRendererMember = _compiler.types.memberExpression(\n templateIdentifier,\n _compiler.types.identifier(\"_\")\n );\n const templateMetaMember = _compiler.types.memberExpression(\n templateIdentifier,\n _compiler.types.identifier(\"meta\")\n );\n\n if (markoOpts.writeVersionComment) {\n path.addComment(\n \"leading\",\n ` Compiled using marko@${_package.version} - DO NOT EDIT`,\n true\n );\n }\n\n const runtimeTemplateIdentifier = path.scope.generateUidIdentifier(\"t\");\n\n path.unshiftContainer(\n \"body\",\n [\n _compiler.types.importDeclaration(\n [_compiler.types.importSpecifier(runtimeTemplateIdentifier, _compiler.types.identifier(\"t\"))],\n _compiler.types.stringLiteral(\n `marko/${markoOpts.optimize ? \"dist\" : \"src\"}/runtime/${\n isHTML ? \"html\" : \"vdom\"}/${\n markoOpts.hot ? \"hot-reload.js\" : \"index.js\"}`\n )\n ),\n _compiler.types.variableDeclaration(\"const\", [\n _compiler.types.variableDeclarator(\n componentTypeIdentifier,\n _compiler.types.stringLiteral(meta.id)\n ),\n _compiler.types.variableDeclarator(\n templateIdentifier,\n _compiler.types.callExpression(runtimeTemplateIdentifier, [\n componentTypeIdentifier]\n )\n )]\n ),\n includeMetaInSource &&\n _compiler.types.expressionStatement(\n _compiler.types.assignmentExpression(\n \"=\",\n _compiler.types.memberExpression(templateIdentifier, _compiler.types.identifier(\"path\")),\n _compiler.types.identifier(\"__filename\")\n )\n ),\n _compiler.types.exportDefaultDeclaration(templateIdentifier)].\n filter(Boolean)\n );\n\n path.pushContainer(\n \"body\",\n [\n !isHTML &&\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n (0, _babelUtils.importNamed)(\n file,\n \"marko/src/runtime/components/registry.js\",\n \"r\",\n \"marko_registerComponent\"\n ),\n [\n componentTypeIdentifier,\n _compiler.types.arrowFunctionExpression(\n [],\n componentBrowserFile ?\n (0, _babelUtils.importDefault)(\n file,\n (0, _babelUtils.resolveRelativePath)(file, componentBrowserFile),\n \"marko_split_component\"\n ) :\n templateIdentifier\n )]\n\n )\n ),\n _compiler.types.variableDeclaration(\"const\", [\n _compiler.types.variableDeclarator(componentIdentifier, componentClass)]\n )].\n filter(Boolean)\n );\n\n const templateRenderOptionsProps = [\n _compiler.types.objectProperty(_compiler.types.identifier(\"t\"), componentTypeIdentifier)];\n\n\n if (!meta.component) {\n templateRenderOptionsProps.push(\n _compiler.types.objectProperty(_compiler.types.identifier(\"i\"), _compiler.types.booleanLiteral(true))\n );\n }\n\n if (componentBrowserFile) {\n templateRenderOptionsProps.push(\n _compiler.types.objectProperty(_compiler.types.identifier(\"s\"), _compiler.types.booleanLiteral(true))\n );\n }\n\n if (!markoOpts.optimize) {\n templateRenderOptionsProps.push(\n _compiler.types.objectProperty(_compiler.types.identifier(\"d\"), _compiler.types.booleanLiteral(true))\n );\n }\n\n path.pushContainer(\n \"body\",\n _compiler.types.expressionStatement(\n _compiler.types.assignmentExpression(\n \"=\",\n templateRendererMember,\n _compiler.types.callExpression(rendererIdentifier, [\n _compiler.types.functionExpression(\n null,\n [\n _compiler.types.identifier(\"input\"),\n _compiler.types.identifier(\"out\"),\n file._componentDefIdentifier,\n file._componentInstanceIdentifier,\n _compiler.types.identifier(\"state\"),\n _compiler.types.identifier(\"$global\")],\n\n renderBlock.node\n ),\n _compiler.types.objectExpression(templateRenderOptionsProps),\n componentIdentifier]\n )\n )\n )\n );\n renderBlock.remove();\n\n if (!isHTML) {\n path.pushContainer(\n \"body\",\n _compiler.types.expressionStatement(\n _compiler.types.assignmentExpression(\n \"=\",\n _compiler.types.memberExpression(templateIdentifier, _compiler.types.identifier(\"Component\")),\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/components/defineComponent.js\",\n \"marko_defineComponent\"\n ),\n [componentIdentifier, templateRendererMember]\n )\n )\n )\n );\n }\n\n if (includeMetaInSource) {\n const metaObject = _compiler.types.objectExpression([\n _compiler.types.objectProperty(_compiler.types.identifier(\"id\"), componentTypeIdentifier)]\n );\n\n if (meta.component) {\n metaObject.properties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"component\"),\n _compiler.types.stringLiteral(meta.component)\n )\n );\n }\n\n if (meta.deps.length) {\n metaObject.properties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"deps\"),\n (0, _babelUtils.parseExpression)(file, JSON.stringify(meta.deps))\n )\n );\n }\n\n if (meta.tags.length) {\n metaObject.properties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"tags\"),\n _compiler.types.arrayExpression(meta.tags.map((tag) => _compiler.types.stringLiteral(tag)))\n )\n );\n }\n\n path.pushContainer(\n \"body\",\n _compiler.types.expressionStatement(\n _compiler.types.assignmentExpression(\"=\", templateMetaMember, metaObject)\n )\n );\n }\n\n (0, _optimizeHtmlWrites.optimizeHTMLWrites)(path);\n }\n }\n};\n\nfunction getRuntimeEntryFiles(output, optimize) {\n const base = `marko/${optimize ? \"dist\" : \"src\"}/`;\n\n return [\n `${base}runtime/components/index.js`,\n `${base}runtime/components/defineComponent.js`,\n `${base}runtime/components/renderer.js`,\n `${base}runtime/components/registry.js`,\n `${base}runtime/components/attach-detach.js`,\n `${base}runtime/helpers/assign.js`,\n `${base}runtime/helpers/class-value.js`,\n `${base}runtime/helpers/of-fallback.js`,\n `${base}runtime/helpers/dynamic-tag.js`,\n `${base}runtime/helpers/attr-tag.js`,\n `${base}runtime/helpers/merge.js`,\n `${base}runtime/helpers/render-tag.js`,\n `${base}runtime/helpers/style-value.js`,\n `${base}runtime/helpers/to-string.js`,\n `${base}runtime/helpers/empty-component.js`,\n `${base}core-tags/components/preserve-tag.js`,\n ...(output === \"html\" ?\n [\n `${base}runtime/html/index.js`,\n `${base}runtime/html/hot-reload.js`,\n `${base}runtime/html/helpers/attr.js`,\n `${base}runtime/html/helpers/attrs.js`,\n `${base}runtime/html/helpers/class-attr.js`,\n `${base}runtime/html/helpers/data-marko.js`,\n `${base}runtime/html/helpers/escape-quotes.js`,\n `${base}runtime/html/helpers/escape-script-placeholder.js`,\n `${base}runtime/html/helpers/escape-style-placeholder.js`,\n `${base}runtime/html/helpers/escape-xml.js`,\n `${base}runtime/html/helpers/merge-attrs.js`,\n `${base}runtime/html/helpers/props-script.js`,\n `${base}runtime/html/helpers/style-attr.js`,\n `${base}core-tags/components/init-components-tag.js`,\n `${base}core-tags/components/preferred-script-location-tag.js`,\n `${base}core-tags/core/__flush_here_and_after__.js`,\n `${base}core-tags/core/await/renderer.js`,\n `${base}core-tags/core/await/reorderer-renderer.js`] :\n\n [\n `${base}runtime/vdom/index.js`,\n `${base}runtime/vdom/hot-reload.js`,\n `${base}runtime/vdom/helpers/attrs.js`,\n `${base}runtime/vdom/helpers/const-element.js`])];\n\n\n}\n\nfunction isRenderContent(path) {\n const { node } = path;\n return _compiler.types.MARKO_TYPES.includes(node.type) && !node.static;\n}\n\nfunction resolveRelativeTagEntry(file, tagDef) {\n // TODO: support transform and other entries.\n const entry = tagDef.template || tagDef.renderer;\n return entry && (0, _babelUtils.resolveRelativePath)(file, entry);\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _indexHtml = _interopRequireDefault(require(\"./index[html]\"));\nvar _indexVdom = _interopRequireDefault(require(\"./index[vdom]\"));\n\nfunction _default(path) {\n const {\n hub: {\n file: { markoOpts }\n }\n } = path;\n if (markoOpts.output === \"html\") {\n (0, _indexHtml.default)(path);\n } else {\n (0, _indexVdom.default)(path);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _toString = _interopRequireDefault(require(\"marko/src/runtime/helpers/to-string\"));\nvar _escapeScriptPlaceholder = _interopRequireDefault(require(\"marko/src/runtime/html/helpers/escape-script-placeholder\"));\nvar _escapeStylePlaceholder = _interopRequireDefault(require(\"marko/src/runtime/html/helpers/escape-style-placeholder\"));\nvar _escapeXml = require(\"marko/src/runtime/html/helpers/escape-xml\");\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../util/html-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nconst ESCAPE_TYPES = {\n html: {\n name: \"x\",\n module: \"marko/src/runtime/html/helpers/escape-xml.js\",\n alias: \"marko_escapeXml\",\n fn: _escapeXml.x\n },\n script: {\n module: \"marko/src/runtime/html/helpers/escape-script-placeholder.js\",\n alias: \"marko_escapeScript\",\n fn: _escapeScriptPlaceholder.default\n },\n style: {\n module: \"marko/src/runtime/html/helpers/escape-style-placeholder.js\",\n alias: \"marko_escapeStyle\",\n fn: _escapeStylePlaceholder.default\n }\n};\n\nfunction _default(path) {\n const {\n node,\n hub: { file }\n } = path;\n const computed = (0, _babelUtils.computeNode)(node.value);\n let { escape, value } = node;\n\n if (escape) {\n const tagName = findParentTagName(path);\n const escapeType = ESCAPE_TYPES[tagName] || ESCAPE_TYPES.html;\n\n value = computed ?\n _compiler.types.stringLiteral(escapeType.fn(computed.value)) :\n _compiler.types.callExpression(\n escapeType.name ?\n (0, _babelUtils.importNamed)(\n file,\n escapeType.module,\n escapeType.name,\n escapeType.alias\n ) :\n (0, _babelUtils.importDefault)(file, escapeType.module, escapeType.alias),\n [value]\n );\n } else {\n value = computed ?\n _compiler.types.stringLiteral((0, _toString.default)(computed.value)) :\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/helpers/to-string.js\",\n \"marko_to_string\"\n ),\n [value]\n );\n }\n\n const replacement = (0, _htmlOutWrite.default)`${value}`;\n\n if (replacement) {\n path.replaceWith((0, _withPreviousLocation.default)(replacement, node));\n } else {\n path.remove();\n }\n}\n\nfunction findParentTagName(path) {\n while (path = path.parentPath) {\n if (path.isProgram()) {\n return;\n }\n\n if (path.isMarkoTag()) {\n const tagDef = (0, _babelUtils.getTagDef)(path);\n return tagDef && tagDef.html && path.get(\"name.value\").node;\n }\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _vdomOutWrite = _interopRequireDefault(require(\"../util/vdom-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\n\nfunction _default(path) {\n const { node } = path;\n const { escape, value } = node;\n const method = escape ? \"t\" : \"h\";\n const computed = (0, _babelUtils.computeNode)(value);\n\n if (computed && computed.value == null) {\n path.remove();\n } else {\n path.replaceWith(\n (0, _withPreviousLocation.default)(\n (0, _vdomOutWrite.default)(method, value, path.hub.file._componentInstanceIdentifier),\n node\n )\n );\n }\n}","\"use strict\";exports.__esModule = true;exports.default = _default;function _default(path) {\n const { node } = path;\n path.replaceWithMultiple(node.body);\n}","\"use strict\";exports.__esModule = true;exports.analyzeAttributeTags = analyzeAttributeTags;exports.default = translateAttributeTag;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\n\nvar _util = require(\"./util\");\n\nconst attributeTagsForTag = new WeakMap();\nconst contentTypeCache = new WeakMap();\nconst ContentType = {\n attribute: 0,\n render: 1,\n mixed: 2\n};\n\nfunction analyzeAttributeTags(rootTag) {\n const visit = [rootTag];\n const parentTags = [rootTag];\n let i = 0;\n let attributeTags;\n\n while (i < visit.length) {\n const tag = visit[i++];\n for (const child of tag.get(\"attributeTags\")) {\n if ((0, _babelUtils.isAttributeTag)(child)) {\n (0, _babelUtils.assertNoArgs)(child);\n const tagDef = (0, _babelUtils.getTagDef)(child) || {};\n const name = (0, _babelUtils.getFullyResolvedTagName)(child);\n let {\n targetProperty = child.node.name.value.slice(1),\n isRepeated = false\n } = tagDef;\n\n const preserveName =\n tagDef.preserveName === true || tagDef.removeDashes === false;\n\n if (!preserveName) {\n targetProperty = removeDashes(targetProperty);\n }\n\n const attrTagMeta = (attributeTags ||= {})[name] ||= {\n targetProperty,\n isRepeated\n };\n\n (child.node.extra ||= {}).attributeTag = attrTagMeta;\n\n const parentTag = (0, _babelUtils.findParentTag)(child);\n const parentTagExtra = parentTag.node.extra ||= {};\n const parentSeenAttributeTagProperties =\n attributeTagsForTag.get(parentTag);\n let hasAttributeTags = false;\n\n if (!parentSeenAttributeTagProperties) {\n parentTagExtra.hasAttributeTags = true;\n attributeTagsForTag.set(parentTag, new Set([targetProperty]));\n } else if (parentSeenAttributeTagProperties.has(targetProperty)) {\n hasAttributeTags = true;\n } else {\n parentSeenAttributeTagProperties.add(targetProperty);\n }\n\n if (!hasAttributeTags) {\n if (\n parentTag.\n get(\"attributes\").\n some(\n (attr) =>\n attr.isMarkoSpreadAttribute() ||\n attr.node.name === targetProperty\n ))\n {\n parentTag.pushContainer(\n \"attributes\",\n _compiler.types.markoAttribute(\n targetProperty,\n _compiler.types.unaryExpression(\"void\", _compiler.types.numericLiteral(0))\n )\n );\n }\n }\n\n parentTags.push(child);\n visit.push(child);\n } else if ((0, _babelUtils.isTransparentTag)(child)) {\n switch (getContentType(child)) {\n case ContentType.mixed:\n throw child.buildCodeFrameError(\n \"Cannot mix @tags with other content when under a control flow.\"\n );\n case ContentType.attribute:\n visit.push(child);\n break;\n case ContentType.render:\n break;\n }\n }\n }\n }\n\n if (attributeTags) {\n (rootTag.node.extra ??= {}).attributeTags = attributeTags;\n }\n}\n\nfunction translateAttributeTag(tag) {\n const { node } = tag;\n const meta = node.extra?.attributeTag;\n if (!meta) {\n throw tag.\n get(\"name\").\n buildCodeFrameError(\"@tags must be nested within another element.\");\n }\n\n (0, _babelUtils.assertNoArgs)(tag);\n\n tag.replaceWith(\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n (0, _babelUtils.importNamed)(\n tag.hub.file,\n \"marko/src/runtime/helpers/attr-tag.js\",\n meta.isRepeated ? \"r\" : \"a\",\n meta.isRepeated ?\n \"marko_repeated_attr_tag\" :\n \"marko_repeatable_attr_tag\"\n ),\n [_compiler.types.stringLiteral(meta.targetProperty), getAttrTagObject(tag)]\n )\n )\n );\n}\n\nfunction getAttrTagObject(tag) {\n const attrs = (0, _util.getAttrs)(tag);\n\n if (_compiler.types.isNullLiteral(attrs)) {\n return _compiler.types.objectExpression([]);\n }\n\n return attrs;\n}\n\nfunction getContentType(tag) {\n const { node } = tag;\n const cached = contentTypeCache.get(node);\n if (cached !== undefined) return cached;\n\n const body = tag.get(\"body\").get(\"body\");\n let hasAttributeTag = false;\n let hasRenderBody = false;\n\n for (const child of body) {\n if ((0, _babelUtils.isAttributeTag)(child)) {\n hasAttributeTag = true;\n } else if ((0, _babelUtils.isTransparentTag)(child)) {\n switch (getContentType(child)) {\n case ContentType.mixed:\n contentTypeCache.set(node, ContentType.mixed);\n return ContentType.mixed;\n case ContentType.attribute:\n hasAttributeTag = true;\n break;\n case ContentType.render:\n hasRenderBody = true;\n break;\n }\n } else if (!child.isMarkoScriptlet() && !child.isMarkoComment()) {\n hasRenderBody = true;\n }\n\n if (hasAttributeTag && hasRenderBody) {\n contentTypeCache.set(node, ContentType.mixed);\n return ContentType.mixed;\n }\n }\n\n const result = hasAttributeTag ? ContentType.attribute : ContentType.render;\n contentTypeCache.set(node, result);\n return result;\n}\n\nfunction removeDashes(str) {\n return str.replace(/-([a-z])/g, matchToUpperCase);\n}\n\nfunction matchToUpperCase(_match, lower) {\n return lower.toUpperCase();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\nvar _classValue = _interopRequireDefault(require(\"marko/src/runtime/helpers/class-value\"));\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../../util/with-previous-location\"));var _default = exports.default =\n\n{\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (!(0, _babelUtils.isNativeTag)(tag)) return;\n\n const computed = (0, _babelUtils.computeNode)(value.node);\n if (computed) {\n const str = (0, _classValue.default)(computed.value);\n if (str) {\n value.replaceWith(_compiler.types.stringLiteral(str));\n } else {\n value.parentPath.remove();\n }\n } else if (!value.isTemplateLiteral()) {\n value.replaceWith(\n (0, _withPreviousLocation.default)(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/helpers/class-value.js\",\n \"marko_class_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _class = _interopRequireDefault(require(\"./class\"));\nvar _noUpdate = _interopRequireDefault(require(\"./no-update\"));\nvar _noUpdateBody = _interopRequireDefault(require(\"./no-update-body\"));\nvar _noUpdateBodyIf = _interopRequireDefault(require(\"./no-update-body-if\"));\nvar _noUpdateIf = _interopRequireDefault(require(\"./no-update-if\"));\nvar _style = _interopRequireDefault(require(\"./style\"));var _default = exports.default =\n\n{\n class: _class.default,\n style: _style.default,\n \"no-update\": _noUpdate.default,\n \"no-update-if\": _noUpdateIf.default,\n \"no-update-body\": _noUpdateBody.default,\n \"no-update-body-if\": _noUpdateBodyIf.default\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _noUpdate = _interopRequireDefault(require(\"./no-update\"));var _default = exports.default =\n\n{\n enter(tag) {\n tag.node.isPreserved = true;\n },\n exit(tag, attr, value) {\n _noUpdate.default.exit(tag, attr, value, {\n if: (0, _babelUtils.getArgOrSequence)(attr),\n bodyOnly: true\n });\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _noUpdate = _interopRequireDefault(require(\"./no-update\"));var _default = exports.default =\n\n{\n enter(tag) {\n tag.node.isPreserved = true;\n },\n exit(tag, attr, value) {\n _noUpdate.default.exit(tag, attr, value, { bodyOnly: true });\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _noUpdate = _interopRequireDefault(require(\"./no-update\"));var _default = exports.default =\n\n{\n enter(tag) {\n tag.node.isPreserved = true;\n },\n exit(tag, attr, value) {\n _noUpdate.default.exit(tag, attr, value, { if: (0, _babelUtils.getArgOrSequence)(attr) });\n }\n};","\"use strict\";exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\nconst EMPTY_OBJECT = {};var _default = exports.default =\n\n{\n enter(tag) {\n tag.node.isPreserved = true;\n },\n exit(tag, attr, _, opts = EMPTY_OBJECT) {\n attr.remove();\n const { node } = tag;\n const replacement = _compiler.types.markoTag(\n _compiler.types.stringLiteral(\"_preserve\"),\n [],\n opts.bodyOnly ? node.body : _compiler.types.markoTagBody([node])\n );\n\n if ((0, _babelUtils.isNativeTag)(tag)) {\n replacement.key = node.key;\n replacement.attributes.push(\n _compiler.types.markoAttribute(\"n\", _compiler.types.booleanLiteral(true))\n );\n\n if (opts.bodyOnly) {\n replacement.attributes.push(\n _compiler.types.markoAttribute(\"b\", _compiler.types.booleanLiteral(true))\n );\n }\n } else {\n replacement.key = (0, _babelUtils.normalizeTemplateString)`p_${node.key}`;\n }\n\n replacement.isPreserved = true;\n\n if (opts.if) {\n replacement.attributes.push(_compiler.types.markoAttribute(\"i\", opts.if));\n }\n\n if (opts.bodyOnly) {\n tag.set(\"body\", _compiler.types.markoTagBody([replacement]));\n } else {\n tag.replaceWith(replacement);\n }\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\nvar _styleValue = _interopRequireDefault(require(\"marko/src/runtime/helpers/style-value\"));\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../../util/with-previous-location\"));var _default = exports.default =\n\n{\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n if (!(0, _babelUtils.isNativeTag)(tag)) return;\n\n const computed = (0, _babelUtils.computeNode)(value.node);\n if (computed) {\n const str = (0, _styleValue.default)(computed.value);\n if (str) {\n value.replaceWith(_compiler.types.stringLiteral(str));\n } else {\n value.parentPath.remove();\n }\n } else if (!value.isTemplateLiteral()) {\n value.replaceWith(\n (0, _withPreviousLocation.default)(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/helpers/style-value.js\",\n \"marko_style_merge\"\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _directives = _interopRequireDefault(require(\"./directives\"));\nvar _modifiers = _interopRequireDefault(require(\"./modifiers\"));\n\nconst EMPTY_ARRAY = [];\nconst EVENT_REG = /^(on(?:ce)?)(-)?(.*)$/;\nconst attachedDetachedLoaded = new WeakSet();var _default = exports.default =\n\n{\n enter(attr) {\n const {\n hub: { file }\n } = attr;\n const tag = attr.parentPath;\n const value = attr.get(\"value\");\n const { name, arguments: args } = attr.node;\n const isVDOM = file.markoOpts.output !== \"html\";\n\n if (execModifiersAndDirectives(\"enter\", tag, attr, value)) {\n return;\n }\n\n // Event handlers.\n let [, eventType, isDash, eventName] = EVENT_REG.exec(name) || EMPTY_ARRAY;\n\n if (eventType && args) {\n if (!args.length) {\n throw attr.buildCodeFrameError(\"Event handler is missing arguments.\");\n }\n\n if (!value.isBooleanLiteral(true)) {\n throw value.buildCodeFrameError(\n `\"${name}(handler, ...args)\" does not accept a value.`\n );\n }\n\n if (!isDash) {\n // When the event is not in dash case we normalized differently for html tags and custom tags.\n\n if ((0, _babelUtils.isNativeTag)(tag)) {\n // Lowercase the string\n // Example: onMouseOver → mouseover\n eventName = eventName.toLowerCase();\n } else {\n // Convert first character to lower case:\n // Example: onBeforeShow → beforeShow\n eventName = eventName.charAt(0).toLowerCase() + eventName.slice(1);\n }\n }\n\n const handlers = tag.node.handlers = tag.node.handlers || {};\n if (handlers[eventName]) {\n throw attr.buildCodeFrameError(\n \"Duplicate event handlers are not supported.\"\n );\n }\n\n handlers[eventName] = {\n arguments: args,\n once: eventType === \"once\"\n };\n\n if (isVDOM) {\n if (eventName === \"attach\" || eventName === \"detach\") {\n if (!attachedDetachedLoaded.has(file)) {\n // Pull in helper for element attach/detach;\n attachedDetachedLoaded.add(file);\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/components/attach-detach.js\"\n );\n }\n }\n }\n\n attr.remove();\n return;\n }\n },\n exit(attr) {\n const tag = attr.parentPath;\n const { name, arguments: args } = attr.node;\n const value = attr.get(\"value\");\n\n if (execModifiersAndDirectives(\"exit\", tag, attr, value)) {\n return;\n }\n\n const tagDef = (0, _babelUtils.getTagDef)(tag);\n\n if (tagDef) {\n if (!tagDef.html && !tagDef.getAttribute(name)) {\n throw attr.buildCodeFrameError(\n `<${\n tag.get(\"name.value\").node}> does not support the \"${\n name}\" attribute.`\n );\n }\n }\n\n if (args && args.length) {\n throw attr.buildCodeFrameError(\n `Unsupported arguments on the \"${name}\" attribute.`\n );\n }\n\n if (attr.node.bound) {\n throw attr.buildCodeFrameError(\n `The binding syntax (:=) is only supported when using the \"Tags API\".`\n );\n }\n }\n};\n\nfunction execModifiersAndDirectives(type, tag, attr, value) {\n const { node } = attr;\n const { name, modifier } = node;\n\n if (modifier) {\n const modifierTranslate = _modifiers.default[modifier];\n if (modifierTranslate) {\n if (modifierTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n modifierTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n } else if (name === \"xlink\" && modifier === \"href\" && (0, _babelUtils.isNativeTag)(tag)) {\n node.name += `:${modifier}`;\n node.modifier = undefined;\n } else {\n throw attr.buildCodeFrameError(`Unsupported modifier \"${modifier}\".`);\n }\n }\n\n const directiveTranslate = _directives.default[name];\n if (directiveTranslate) {\n if (directiveTranslate[type]) {\n const tagNode = tag.node;\n const attrNode = attr.node;\n directiveTranslate[type](tag, attr, value);\n if (tag.node !== tagNode || attr.node !== attrNode) return true;\n }\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _noUpdate = _interopRequireDefault(require(\"./no-update\"));\nvar _scoped = _interopRequireDefault(require(\"./scoped\"));var _default = exports.default =\n\n{\n scoped: _scoped.default,\n \"no-update\": _noUpdate.default\n};","\"use strict\";exports.__esModule = true;exports.default = void 0; /**\n * Does nothing in html mode.\n */var _default = exports.default =\n{\n exit(tag, attr) {\n const { node } = tag;\n\n if (!node.preserveAttrs) {\n node.preserveAttrs = [];\n }\n\n node.preserveAttrs.push(attr.node.name);\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _compiler = require(\"@marko/compiler\");\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../../util/with-previous-location\"));var _default = exports.default =\n\n{\n exit(tag, _, value) {\n const {\n hub: { file }\n } = tag;\n value.replaceWith(\n (0, _withPreviousLocation.default)(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(\n file._componentDefIdentifier,\n _compiler.types.identifier(\"elId\")\n ),\n [value.node]\n ),\n value.node\n )\n );\n }\n};","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\nvar _dynamicTag = _interopRequireDefault(require(\"./dynamic-tag\"));\nvar _nativeTag = _interopRequireDefault(require(\"./native-tag\"));\nvar _util = require(\"./util\");\n\nfunction _default(path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const { markoOpts } = file;\n const { name, key } = node;\n\n (0, _babelUtils.assertNoArgs)(path);\n\n let tagIdentifier;\n\n if (_compiler.types.isStringLiteral(name)) {\n const tagName = name.value;\n let relativePath = node.extra && node.extra.relativePath;\n\n if (!relativePath) {\n const tagDef = (0, _babelUtils.getTagDef)(path);\n if (tagDef && tagDef.renderer) {\n // Normally new tags should not be added in the translate stage.\n // We make an exception here for core tags, init-components & _preserve being the primary culprits.\n // TODO: in the future refactor so this is not needed.\n relativePath = (0, _babelUtils.resolveRelativePath)(file, tagDef.renderer);\n }\n }\n\n let binding = !relativePath && path.scope.getBinding(tagName);\n if (binding && !binding.identifier.loc) binding = null;\n\n if (binding && binding.kind === \"module\") {\n const importSource = binding.path.parent.source;\n relativePath =\n (0, _babelUtils.resolveTagImport)(path, importSource.value) || importSource.value;\n (node.extra ??= {}).tagNameImported = relativePath;\n binding = undefined;\n }\n\n const childFile = (0, _babelUtils.loadFileForTag)(path);\n const childProgram = childFile?.ast.program;\n\n if (childProgram?.extra?.featureType === \"tags\") {\n const compatRuntimeFile = `marko/src/runtime/helpers/tags-compat/${\n markoOpts.output === \"html\" ? \"html\" : \"dom\"}${\n markoOpts.optimize ? \"\" : \"-debug\"}.${markoOpts.modules === \"esm\" ? \"mjs\" : \"js\"}`;\n (0, _babelUtils.importDefault)(file, compatRuntimeFile);\n path.set(\"name\", (0, _babelUtils.importDefault)(file, relativePath, path.node.name.value));\n return (0, _dynamicTag.default)(path);\n } else if (relativePath) {\n if (binding) {\n\n\n\n\n\n\n\n // TODO: implement auto migration for conflicts here\n // and log below warning\n // console.warn(\n // path.buildCodeFrameError(\n // `The <${tagName}> tag has been resolved from the filesystem, however a local variable with the same name exists. In the next major version of Marko the local variable will tag precedence.`\n // )\n // );\n }tagIdentifier = (0, _babelUtils.importDefault)(file, relativePath, tagName);} else if (binding) {path.set(\"name\", _compiler.types.identifier(tagName));return (0, _dynamicTag.default)(path);} else if (markoOpts.ignoreUnrecognizedTags) {return (0, _nativeTag.default)(path);\n } else {\n throw path.\n get(\"name\").\n buildCodeFrameError(\n `Unable to find entry point for custom tag <${tagName}>.`\n );\n }\n } else {\n tagIdentifier = name;\n }\n\n const foundAttrs = (0, _util.getAttrs)(path);\n const customTagRenderCall = (0, _withPreviousLocation.default)(\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/helpers/render-tag.js\",\n \"marko_tag\"\n ),\n [\n tagIdentifier,\n // TODO: this could be left as null if we froze input mutations and used a default object in the runtime.\n _compiler.types.isNullLiteral(foundAttrs) ? _compiler.types.objectExpression([]) : foundAttrs,\n _compiler.types.identifier(\"out\"),\n file._componentDefIdentifier,\n key,\n ...(0, _util.buildEventHandlerArray)(path)]\n\n )\n ),\n node\n );\n\n if (isNullable) {\n let renderBodyIdentifier;\n const renderBodyProp =\n _compiler.types.isObjectExpression(foundAttrs) &&\n foundAttrs.properties.find(\n (prop) => prop.key && prop.key.value === \"renderBody\"\n );\n\n if (renderBodyProp) {\n renderBodyIdentifier = path.scope.generateUidIdentifier(\"renderBody\");\n path.insertBefore(\n _compiler.types.variableDeclaration(\"const\", [\n _compiler.types.variableDeclarator(renderBodyIdentifier, renderBodyProp.value)]\n )\n );\n\n renderBodyProp.value = renderBodyIdentifier;\n }\n\n path.replaceWith(\n _compiler.types.ifStatement(\n name,\n customTagRenderCall,\n renderBodyIdentifier &&\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(renderBodyIdentifier, [_compiler.types.identifier(\"out\")])\n )\n )\n );\n } else {\n path.replaceWith(customTagRenderCall);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../util/with-previous-location\"));\nvar _util = require(\"./util\");\n\nfunction _default(path) {\n const {\n node,\n hub: { file }\n } = path;\n const tagProperties = path.node.extra && path.node.extra.properties || [];\n const { key, arguments: args } = node;\n const foundAttrs = (0, _util.getAttrs)(path, true);\n let renderBodyProp;\n let attrsLen = _compiler.types.isNullLiteral(foundAttrs) ? 0 : 1;\n\n if (node.preserveAttrs) {\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"pa\"),\n _compiler.types.objectExpression(\n node.preserveAttrs.map((name) =>\n _compiler.types.objectProperty(\n _compiler.types.isValidIdentifier(name) ?\n _compiler.types.identifier(name) :\n _compiler.types.stringLiteral(name),\n _compiler.types.numericLiteral(1)\n )\n )\n )\n )\n );\n }\n\n if (_compiler.types.isObjectExpression(foundAttrs)) {\n const renderBodyIndex = foundAttrs.properties.findIndex(\n (prop) => prop.key && prop.key.value === \"renderBody\"\n );\n\n attrsLen = foundAttrs.properties.length;\n\n if (renderBodyIndex > -1) {\n renderBodyProp = foundAttrs.properties[renderBodyIndex];\n foundAttrs.properties.splice(renderBodyIndex, 1);\n attrsLen--;\n }\n }\n\n const dynamicTagRenderCall = _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n `marko/src/runtime/helpers/dynamic-tag.js`,\n \"marko_dynamic_tag\"\n ),\n [\n _compiler.types.identifier(\"out\"),\n node.name,\n attrsLen ? _compiler.types.arrowFunctionExpression([], foundAttrs) : _compiler.types.nullLiteral(),\n renderBodyProp ? renderBodyProp.value : _compiler.types.nullLiteral(),\n args && args.length ? _compiler.types.arrayExpression(args) : _compiler.types.nullLiteral(),\n tagProperties.length ?\n _compiler.types.objectExpression(tagProperties) :\n _compiler.types.nullLiteral(),\n file._componentDefIdentifier,\n key,\n ...(0, _util.buildEventHandlerArray)(path)]\n\n )\n );\n\n path.replaceWith((0, _withPreviousLocation.default)(dynamicTagRenderCall, node));\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = void 0;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\n\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _path = _interopRequireDefault(require(\"path\"));\n\nvar _keyManager = require(\"../util/key-manager\");\nvar _optimizeVdomCreate = require(\"../util/optimize-vdom-create\");\nvar _pluginHooks = require(\"../util/plugin-hooks\");\nvar _attribute = _interopRequireDefault(require(\"./attribute\"));\nvar _attributeTag = _interopRequireWildcard(require(\"./attribute-tag\"));\nvar _customTag = _interopRequireDefault(require(\"./custom-tag\"));\nvar _dynamicTag = _interopRequireDefault(require(\"./dynamic-tag\"));\nvar _macroTag = _interopRequireDefault(require(\"./macro-tag\"));\nvar _nativeTag = _interopRequireDefault(require(\"./native-tag\"));function _getRequireWildcardCache(e) {if (\"function\" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}var _default = exports.default =\n\n{\n enter(path) {\n const tagDef = (0, _babelUtils.getTagDef)(path);\n\n if (tagDef && tagDef.translator) {\n const { node } = path;\n (0, _pluginHooks.enter)(tagDef.translator.hook, path, _compiler.types);\n\n if (path.node !== node) {\n return;\n }\n }\n\n (0, _babelUtils.assertNoVar)(path);\n\n for (const attr of path.get(\"attributes\")) {\n if (attr.isMarkoAttribute()) {\n const { node } = path;\n _attribute.default.enter(attr);\n if (path.node !== node) {\n return;\n }\n }\n }\n\n if (!(0, _babelUtils.isAttributeTag)(path)) {\n if (\n !tagDef &&\n path.node.attributeTags.length &&\n path.hub.file.markoOpts.ignoreUnrecognizedTags &&\n !(0, _babelUtils.isDynamicTag)(path))\n {\n moveIgnoredAttrTags(path);\n }\n\n if ((0, _babelUtils.isDynamicTag)(path) || !((0, _babelUtils.isMacroTag)(path) || (0, _babelUtils.isNativeTag)(path))) {\n (0, _attributeTag.analyzeAttributeTags)(path);\n }\n\n (0, _keyManager.getKeyManager)(path).resolveKey(path);\n }\n\n (0, _optimizeVdomCreate.optimizeStaticVDOM)(path);\n },\n exit(path) {\n let isUnknownDynamic = false;\n let isDynamicNullable = false;\n\n if ((0, _babelUtils.isDynamicTag)(path)) {\n const name = path.get(\"name\");\n const types = findDynamicTagTypes(name);\n if (types && !(types.string && types.component)) {\n if (!name.isIdentifier()) {\n const tagIdentifier = path.scope.generateUidIdentifier(`tagName`);\n path.insertBefore(\n _compiler.types.variableDeclaration(\"const\", [\n _compiler.types.variableDeclarator(tagIdentifier, name.node)]\n )\n );\n\n name.replaceWith(tagIdentifier);\n }\n\n isDynamicNullable = types.empty;\n path.node._isDynamicString = types.string;\n } else {\n isUnknownDynamic = true;\n }\n }\n\n for (const attr of path.get(\"attributes\")) {\n if (attr.isMarkoAttribute()) {\n const { node } = path;\n _attribute.default.exit(attr);\n if (path.node !== node) {\n return;\n }\n }\n }\n\n if (isUnknownDynamic) {\n return (0, _dynamicTag.default)(path);\n }\n\n if ((0, _babelUtils.isAttributeTag)(path)) {\n return (0, _attributeTag.default)(path);\n }\n\n if ((0, _babelUtils.isMacroTag)(path)) {\n return (0, _macroTag.default)(path);\n }\n\n const tagDef = (0, _babelUtils.getTagDef)(path);\n\n if (tagDef && tagDef.translator) {\n const { node } = path;\n\n (0, _pluginHooks.exit)(tagDef.translator.hook, path, _compiler.types);\n\n if (path.node !== node) {\n return;\n }\n }\n\n if ((0, _babelUtils.isNativeTag)(path)) {\n return (0, _nativeTag.default)(path, isDynamicNullable);\n } else {\n return (0, _customTag.default)(path, isDynamicNullable);\n }\n }\n};\n\nconst HANDLE_BINDINGS = [\"module\", \"var\", \"let\", \"const\"];\nfunction findDynamicTagTypes(root) {\n const pending = [root];\n const types = {\n string: false,\n empty: false,\n component: false\n };\n let tagNameImported;\n\n let path;\n while (path = pending.pop()) {\n switch (path.type) {\n case \"ConditionalExpression\":\n pending.push(path.get(\"consequent\"));\n\n if (path.get(\"alternate\").node) {\n pending.push(path.get(\"alternate\"));\n }\n break;\n\n case \"LogicalExpression\":\n if (path.get(\"operator\").node === \"||\") {\n pending.push(path.get(\"left\"));\n } else {\n types.empty = true;\n }\n\n pending.push(path.get(\"right\"));\n break;\n\n case \"AssignmentExpression\":\n pending.push(path.get(\"right\"));\n break;\n\n case \"BinaryExpression\":\n if (path.get(\"operator\").node !== \"+\") {\n return false;\n }\n\n types.string = true;\n break;\n\n case \"StringLiteral\":\n case \"TemplateLiteral\":\n types.string = true;\n break;\n\n case \"NullLiteral\":\n types.empty = true;\n break;\n\n case \"Identifier\":\n if (path.get(\"name\").node === \"undefined\") {\n types.empty = true;\n } else {\n const binding = path.scope.getBinding(path.node.name);\n\n if (!binding || !HANDLE_BINDINGS.includes(binding.kind)) {\n return false;\n }\n\n if (binding.kind === \"module\") {\n const importSource = binding.path.parent.source;\n if (\n _compiler.types.isStringLiteral(importSource) &&\n isMarkoFile(importSource.value))\n {\n const resolvedImport =\n (0, _babelUtils.resolveTagImport)(root.parentPath, importSource.value) ||\n importSource.value;\n\n if (tagNameImported === undefined) {\n tagNameImported = resolvedImport;\n } else if (\n tagNameImported &&\n tagNameImported !== resolvedImport)\n {\n tagNameImported = null;\n }\n\n types.component = true;\n } else {\n return false;\n }\n } else {\n const initialValue = binding.path.get(\"init\");\n if (initialValue.node) {\n pending.push(initialValue);\n } else {\n types.empty = true;\n }\n\n const assignments = binding.constantViolations;\n if (assignments && assignments.length) {\n for (const assignment of assignments) {\n const operator = assignment.get(\"operator\").node;\n if (operator === \"=\") {\n pending.push(assignment.get(\"right\"));\n } else if (operator === \"+=\") {\n types.string = true;\n } else {\n return false;\n }\n }\n }\n }\n }\n break;\n\n default:\n return false;\n }\n }\n\n if (tagNameImported && !types.string) {\n (root.parent.extra ??= {}).tagNameImported = tagNameImported;\n }\n\n return types;\n}\n\nfunction isMarkoFile(request) {\n return _path.default.extname(request) === \".marko\" || /^<.*>$/.test(request);\n}\n\nfunction moveIgnoredAttrTags(parentTag) {\n if (!parentTag.node.attributeTags.length) return;\n\n for (const attrTag of parentTag.get(\"attributeTags\")) {\n if (attrTag.isMarkoTag()) {\n if ((0, _babelUtils.isAttributeTag)(attrTag)) {\n attrTag.set(\n \"name\",\n _compiler.types.stringLiteral(`at_${attrTag.get(\"name.value\").node.slice(1)}`)\n );\n }\n\n moveIgnoredAttrTags(attrTag);\n }\n }\n\n parentTag.node.body.body = parentTag.node.attributeTags.concat(\n parentTag.node.body.body\n );\n parentTag.node.attributeTags = [];\n}","\"use strict\";exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\nfunction _default(path) {\n path.node.name = (0, _babelUtils.getMacroIdentifier)(path);\n path.node._isMacroTagCall = true;\n path.requeue();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\n\nvar _nativeTagHtml = _interopRequireDefault(require(\"./native-tag[html]\"));\nvar _nativeTagVdom = _interopRequireDefault(require(\"./native-tag[vdom]\"));\n\nfunction _default(path, isNullable) {\n const {\n hub: { file }\n } = path;\n const { markoOpts } = file;\n\n if (!markoOpts.ignoreUnrecognizedTags) {\n (0, _babelUtils.assertNoArgs)(path);\n (0, _babelUtils.assertNoParams)(path);\n (0, _babelUtils.assertNoAttributeTags)(path);\n }\n\n if (markoOpts.output === \"html\") {\n (0, _nativeTagHtml.default)(path, isNullable);\n } else {\n (0, _nativeTagVdom.default)(path, isNullable);\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _attr = _interopRequireDefault(require(\"marko/src/runtime/html/helpers/attr\"));\nvar _escapeQuotes = require(\"marko/src/runtime/html/helpers/escape-quotes\");\n\nvar _util = require(\"../util\");\n\nfunction _default(path, attrs) {\n const len = attrs.length;\n if (len === 0) return _compiler.types.stringLiteral(\"\");\n if (len === 1 && attrs[0].node.type === \"MarkoSpreadAttribute\") {\n return _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n path.hub.file,\n \"marko/src/runtime/html/helpers/attrs.js\",\n \"marko_attrs\"\n ),\n [attrs[0].node.value]\n );\n }\n\n if (attrs.some((attr) => attr.node.type === \"MarkoSpreadAttribute\")) {\n const attrsObjects = [];\n let props;\n\n for (let i = 0; i < len; i++) {\n const attr = attrs[i];\n const {\n node: { name, value }\n } = attr;\n\n if (name) {\n const computed = (0, _util.evaluateAttr)(attr);\n const prop = _compiler.types.objectProperty(\n _compiler.types.stringLiteral(name),\n computed?.value !== undefined ?\n _compiler.types.stringLiteral(computed.value) :\n value\n );\n if (props) {\n props.push(prop);\n } else {\n attrsObjects.push(_compiler.types.objectExpression(props = [prop]));\n }\n } else {\n attrsObjects.push(value);\n props = undefined;\n }\n }\n\n return _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n path.hub.file,\n \"marko/src/runtime/html/helpers/merge-attrs.js\",\n \"marko_merge_attrs\"\n ),\n attrsObjects\n );\n }\n\n const file = path.hub.file;\n const quasis = [];\n const expressions = [];\n const attrValues = new Map();\n let curString = \"\";\n\n // Remove duplicate attrs so last one wins.\n for (let i = len; i--;) {\n const attr = attrs[i];\n const { name, value } = attr.node;\n if (attrValues.has(name)) continue;\n const computed = (0, _util.evaluateAttr)(attr);\n attrValues.set(\n name,\n computed ?\n {\n confident: true,\n computed: computed.value,\n value\n } :\n {\n confident: false,\n computed: undefined,\n value\n }\n );\n }\n\n for (const [name, { confident, computed, value }] of [\n ...attrValues].\n reverse()) {\n if (confident) {\n if (computed == null || computed === false) {\n continue;\n }\n\n curString += (0, _attr.default)(name, computed);\n } else if (value.type === \"TemplateLiteral\") {\n curString += \" \" + name + '=\"';\n\n for (let i = 0; i < value.expressions.length; i++) {\n const quasi = value.quasis[i];\n const expression = value.expressions[i];\n curString += (0, _escapeQuotes.d)(quasi.value.cooked);\n quasis.push(curString);\n curString = \"\";\n expressions.push(\n _compiler.types.callExpression(\n (0, _babelUtils.importNamed)(\n file,\n \"marko/src/runtime/html/helpers/escape-quotes.js\",\n \"d\",\n \"marko_escape_double_quotes\"\n ),\n [expression]\n )\n );\n }\n\n curString +=\n (0, _escapeQuotes.d)(\n value.quasis[value.expressions.length].value.cooked\n ) + '\"';\n } else {\n quasis.push(curString);\n curString = \"\";\n expressions.push(\n _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/html/helpers/attr.js\",\n \"marko_attr\"\n ),\n [_compiler.types.stringLiteral(name), value]\n )\n );\n }\n }\n\n quasis.push(curString);\n\n if (expressions.length) {\n return (0, _babelUtils.normalizeTemplateString)(quasis, ...expressions);\n } else {\n return _compiler.types.stringLiteral(quasis.join(\"\"));\n }\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\n\n\n\n\nvar _compiler = require(\"@marko/compiler\");\nvar _path = require(\"path\");\nvar _selfClosingTags = _interopRequireDefault(require(\"self-closing-tags\"));\n\nvar _htmlOutWrite = _interopRequireDefault(require(\"../../util/html-out-write\"));\nvar _keyManager = require(\"../../util/key-manager\");\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../util/with-previous-location\"));\nvar _attributes = _interopRequireDefault(require(\"./attributes\"));\n\nconst EMPTY_OBJECT = {};\n\n/**\n * Translates the html streaming version of a standard html element.\n */\nfunction _default(path, isNullable) {\n const {\n hub: { file },\n node\n } = path;\n const {\n key,\n name,\n body: { body },\n handlers\n } = node;\n const tagProperties = path.node.extra && path.node.extra.properties || [];\n const tagDef = (0, _babelUtils.getTagDef)(path);\n const meta = file.metadata.marko;\n\n if (tagDef) {\n const { parseOptions = EMPTY_OBJECT } = tagDef;\n if (parseOptions.import) {\n // TODO: the taglib should be updated to support this as a top level option.\n file.metadata.marko.deps.push((0, _path.resolve)(tagDef.dir, parseOptions.import));\n }\n }\n\n if (handlers) {\n Object.entries(handlers).forEach(\n ([eventName, { arguments: args, once }]) => {\n const delegateArgs = [_compiler.types.stringLiteral(eventName), args[0]];\n\n // TODO: look into only sending this if once is true.\n delegateArgs.push(_compiler.types.booleanLiteral(once));\n\n if (args.length > 1) {\n delegateArgs.push(_compiler.types.arrayExpression(args.slice(1)));\n }\n\n // TODO: why do we output eventName twice.\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(`on${eventName}`),\n _compiler.types.callExpression(\n _compiler.types.memberExpression(\n file._componentDefIdentifier,\n _compiler.types.identifier(\"d\")\n ),\n delegateArgs\n )\n )\n );\n }\n );\n }\n\n const isHTML = file.markoOpts.output === \"html\";\n let dataMarko = _compiler.types.stringLiteral(\"\");\n\n if (node.preserveAttrs) {\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"pa\"),\n _compiler.types.objectExpression(\n node.preserveAttrs.map((name) =>\n _compiler.types.objectProperty(\n _compiler.types.isValidIdentifier(name) ?\n _compiler.types.identifier(name) :\n _compiler.types.stringLiteral(name),\n _compiler.types.numericLiteral(1)\n )\n )\n )\n )\n );\n }\n\n if (isHTML) {\n if (\n !meta.hasStatefulTagParams &&\n !meta.hasFunctionEventHandlers && (\n meta.hasComponentBrowser || !meta.hasComponent) ||\n isPreserved(path))\n {\n const dataMarkoArgs = [_compiler.types.identifier(\"out\"), file._componentDefIdentifier];\n\n if (tagProperties.length) {\n // TODO we should pre evaluate this if it is static.\n dataMarkoArgs.push(_compiler.types.objectExpression(tagProperties));\n }\n\n if ((0, _keyManager.hasUserKey)(path) || key && node.isPreserved) {\n if (dataMarkoArgs.length === 2) {\n dataMarkoArgs.push(_compiler.types.numericLiteral(0));\n }\n\n dataMarkoArgs.push(key);\n }\n\n if (dataMarkoArgs.length > 2) {\n dataMarko = _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n file,\n \"marko/src/runtime/html/helpers/data-marko.js\",\n \"marko_props\"\n ),\n dataMarkoArgs\n );\n }\n }\n }\n\n const translatedAttrs = (0, _attributes.default)(path, path.get(\"attributes\"));\n let isSelfClosing = false;\n let openTagEnding = \">\";\n\n if (_compiler.types.isStringLiteral(name)) {\n if (\n tagDef &&\n tagDef.htmlType && (\n tagDef.htmlType === \"svg\" || tagDef.htmlType === \"math\"))\n {\n if (!body.length) {\n isSelfClosing = true;\n openTagEnding = \" />\";\n }\n } else if (_selfClosingTags.default.voidElements.indexOf(name.value) !== -1) {\n isSelfClosing = true;\n }\n }\n\n const isEmpty = isSelfClosing || !body.length;\n let writeStartNode = (0, _babelUtils.normalizeTemplateString)`<${name}${dataMarko}${translatedAttrs}${openTagEnding}`;\n\n writeStartNode = (0, _withPreviousLocation.default)(\n isEmpty && !isSelfClosing ?\n (0, _htmlOutWrite.default)`${writeStartNode}` :\n (0, _htmlOutWrite.default)`${writeStartNode}`,\n name\n );\n\n if (isNullable) {\n writeStartNode = _compiler.types.ifStatement(name, writeStartNode);\n\n if (!isEmpty) {\n writeStartNode.alternate = _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(_compiler.types.identifier(\"out\"), _compiler.types.identifier(\"bf\")),\n [\n (0, _babelUtils.normalizeTemplateString)`f_${key}`,\n file._componentInstanceIdentifier,\n _compiler.types.numericLiteral(1)]\n\n )\n );\n }\n }\n\n if (isEmpty) {\n path.replaceWith(writeStartNode);\n return;\n }\n\n let needsBlock;\n for (const childNode of body) {\n if (_compiler.types.isVariableDeclaration(childNode)) {\n if (childNode.kind === \"const\" || childNode.kind === \"let\") {\n needsBlock = true;\n break;\n }\n }\n }\n\n let writeEndNode = (0, _htmlOutWrite.default)``;\n\n if (isNullable) {\n writeEndNode = _compiler.types.ifStatement(\n name,\n writeEndNode,\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(_compiler.types.identifier(\"out\"), _compiler.types.identifier(\"ef\")),\n []\n )\n )\n );\n }\n\n path.replaceWithMultiple(\n [writeStartNode].\n concat(needsBlock ? _compiler.types.blockStatement(body) : body).\n concat(writeEndNode)\n );\n}\n\nfunction isPreserved(path) {\n let parentTag = path;\n do {\n parentTag = parentTag.parentPath.parentPath;\n if (parentTag.get(\"isPreserved\").node === true) {\n return true;\n }\n } while (_compiler.types.isMarkoTag(parentTag));\n\n return false;\n}","\"use strict\";exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\n\nvar _util = require(\"../util\");\n\nfunction _default(path, attrs) {\n const len = attrs.length;\n if (len === 0) return _compiler.types.nullLiteral();\n if (len === 1 && attrs[0].node.type === \"MarkoSpreadAttribute\") {\n return _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n path.hub.file,\n \"marko/src/runtime/vdom/helpers/attrs.js\",\n \"marko_attrs\"\n ),\n [attrs[0].node.value]\n );\n }\n\n if (attrs.some((attr) => attr.node.type === \"MarkoSpreadAttribute\")) {\n const attrsObjects = [];\n let props;\n\n for (let i = 0; i < len; i++) {\n const attr = attrs[i];\n const {\n node: { name, value }\n } = attr;\n\n if (name) {\n const computed = (0, _util.evaluateAttr)(attr);\n const prop = _compiler.types.objectProperty(\n _compiler.types.stringLiteral(name),\n computed?.value !== undefined ?\n _compiler.types.stringLiteral(computed.value) :\n value\n );\n if (props) {\n props.push(prop);\n } else {\n attrsObjects.push(_compiler.types.objectExpression(props = [prop]));\n }\n } else {\n attrsObjects.push(value);\n props = undefined;\n }\n }\n\n return _compiler.types.callExpression(\n (0, _babelUtils.importDefault)(\n path.hub.file,\n \"marko/src/runtime/vdom/helpers/merge-attrs.js\",\n \"marko_merge_attrs\"\n ),\n attrsObjects\n );\n }\n\n const attrValues = new Map();\n const props = [];\n\n // Remove duplicate attrs so last one wins.\n for (let i = len; i--;) {\n const attr = attrs[i];\n const { name, value } = attr.node;\n if (attrValues.has(name)) continue;\n const computed = (0, _util.evaluateAttr)(attr);\n attrValues.set(\n name,\n computed ?\n {\n confident: true,\n computed: computed.value,\n value\n } :\n {\n confident: false,\n computed: undefined,\n value\n }\n );\n }\n\n for (const [name, { confident, computed, value }] of [\n ...attrValues].\n reverse()) {\n if (confident) {\n if (computed == null || computed === false) {\n continue;\n }\n\n props.push(\n _compiler.types.objectProperty(_compiler.types.stringLiteral(name), _compiler.types.stringLiteral(computed))\n );\n } else {\n props.push(_compiler.types.objectProperty(_compiler.types.stringLiteral(name), value));\n }\n }\n\n if (props.length) {\n return _compiler.types.objectExpression(props);\n }\n\n return _compiler.types.nullLiteral();\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.default = _default;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\n\nvar FLAGS = _interopRequireWildcard(require(\"../../util/runtime-flags\"));\nvar _vdomOutWrite = _interopRequireDefault(require(\"../../util/vdom-out-write\"));\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../util/with-previous-location\"));\nvar _attributes = _interopRequireDefault(require(\"./attributes\"));function _getRequireWildcardCache(e) {if (\"function\" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}\n\nconst SIMPLE_ATTRS = [\"id\", \"class\", \"style\"];\n\n/**\n * Translates the html streaming version of a standard html element.\n */\nfunction _default(path, isNullable) {\n const { node } = path;\n const {\n name,\n key,\n body: { body }\n } = node;\n\n const isEmpty = !body.length;\n const writeArgs = tagArguments(path, false);\n let writeStartNode = (0, _withPreviousLocation.default)(\n (0, _vdomOutWrite.default)(isEmpty ? \"e\" : \"be\", ...writeArgs),\n node.name\n );\n\n if (isNullable) {\n writeStartNode = _compiler.types.ifStatement(name, writeStartNode);\n\n if (!isEmpty) {\n writeStartNode.alternate = _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(_compiler.types.identifier(\"out\"), _compiler.types.identifier(\"bf\")),\n [\n (0, _babelUtils.normalizeTemplateString)`f_${key}`,\n path.hub.file._componentInstanceIdentifier]\n\n )\n );\n }\n }\n\n if (isEmpty) {\n path.replaceWith(writeStartNode);\n return;\n }\n\n let writeEndNode = (0, _vdomOutWrite.default)(\"ee\");\n if (isNullable) {\n writeEndNode = _compiler.types.ifStatement(\n name,\n writeEndNode,\n _compiler.types.expressionStatement(\n _compiler.types.callExpression(\n _compiler.types.memberExpression(_compiler.types.identifier(\"out\"), _compiler.types.identifier(\"ef\")),\n []\n )\n )\n );\n }\n\n let needsBlock;\n for (const childNode of body) {\n if (_compiler.types.isVariableDeclaration(childNode)) {\n if (childNode.kind === \"const\" || childNode.kind === \"let\") {\n needsBlock = true;\n break;\n }\n }\n }\n\n path.replaceWithMultiple(\n [writeStartNode].\n concat(needsBlock ? _compiler.types.blockStatement(body) : body).\n concat(writeEndNode)\n );\n}\n\nfunction isPropertyName({ key }, names) {\n if (_compiler.types.isStringLiteral(key)) {\n return names.includes(key.value);\n } else if (_compiler.types.isIdentifier(key)) {\n return names.includes(key.name);\n }\n}\n\nfunction tagArguments(path) {\n const {\n hub: { file },\n node\n } = path;\n const {\n name,\n key,\n body: { body },\n handlers\n } = node;\n const tagProperties = path.node.extra && path.node.extra.properties || [];\n const attrsObj = (0, _attributes.default)(path, path.get(\"attributes\"));\n let runtimeFlags = 0;\n\n if (!_compiler.types.isNullLiteral(attrsObj) && !_compiler.types.isObjectExpression(attrsObj)) {\n runtimeFlags |= FLAGS.SPREAD_ATTRS;\n }\n\n const writeArgs = [\n name,\n attrsObj,\n key,\n file._componentInstanceIdentifier,\n body.length ? _compiler.types.nullLiteral() : _compiler.types.numericLiteral(0)];\n\n\n if (node.preserveAttrs) {\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.identifier(\"pa\"),\n _compiler.types.objectExpression(\n node.preserveAttrs.map((name) =>\n _compiler.types.objectProperty(\n _compiler.types.isValidIdentifier(name) ?\n _compiler.types.identifier(name) :\n _compiler.types.stringLiteral(name),\n _compiler.types.numericLiteral(1)\n )\n )\n )\n )\n );\n }\n\n if (handlers) {\n Object.entries(handlers).forEach(\n ([eventName, { arguments: args, once }]) => {\n const delegateArgs = [_compiler.types.stringLiteral(eventName), args[0]];\n\n // TODO: look into only sending this if once is true.\n delegateArgs.push(_compiler.types.booleanLiteral(once));\n\n if (args.length > 1) {\n delegateArgs.push(_compiler.types.arrayExpression(args.slice(1)));\n }\n\n // TODO: why do we output eventName twice.\n tagProperties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(`on${eventName}`),\n _compiler.types.callExpression(\n _compiler.types.memberExpression(\n file._componentDefIdentifier,\n _compiler.types.identifier(\"d\")\n ),\n delegateArgs\n )\n )\n );\n }\n );\n }\n\n if (\n _compiler.types.isObjectExpression(attrsObj) &&\n attrsObj.properties.every((n) => isPropertyName(n, SIMPLE_ATTRS)) &&\n !node.preserveAttrs)\n {\n runtimeFlags |= FLAGS.HAS_SIMPLE_ATTRS;\n }\n\n const tagDef = (0, _babelUtils.getTagDef)(path);\n\n if (tagDef) {\n const { htmlType } = tagDef;\n if (htmlType === \"custom-element\") {\n runtimeFlags |= FLAGS.IS_CUSTOM_ELEMENT;\n }\n }\n\n writeArgs.push(_compiler.types.numericLiteral(runtimeFlags));\n\n if (tagProperties.length) {\n writeArgs.push(_compiler.types.objectExpression(tagProperties));\n }\n return writeArgs;\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.buildEventHandlerArray = buildEventHandlerArray;exports.evaluateAttr = evaluateAttr;exports.getAttrs = getAttrs;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\nvar _classValue = _interopRequireDefault(require(\"marko/src/runtime/helpers/class-value\"));\nvar _styleValue = _interopRequireDefault(require(\"marko/src/runtime/helpers/style-value\"));\n\nfunction getAttrs(path, preserveNames) {\n const { node } = path;\n const {\n extra,\n attributes,\n attributeTags,\n body: { body, params }\n } = node;\n const attrsLen = attributes.length;\n const childLen = body.length;\n const properties = [];\n const targetObjects = {};\n const tagDef = (0, _babelUtils.getTagDef)(path);\n const foundProperties = {};\n const hasAttributeTags = !!attributeTags.length;\n\n for (let i = 0; i < attrsLen; i++) {\n const { name, value } = attributes[i];\n\n if (name) {\n const attrDef = tagDef && tagDef.getAttribute(name);\n let targetProperties = properties;\n let targetProperty = name;\n let preserveName = preserveNames;\n\n if (attrDef) {\n if (attrDef.targetProperty) {\n const key = attrDef.targetProperty;\n preserveName =\n attrDef.preserveName !== false && attrDef.removeDashes !== true;\n\n if (attrDef.dynamicAttribute) {\n let targetObject = targetObjects[key];\n\n if (!targetObject) {\n properties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(key),\n targetObject = targetObjects[key] = _compiler.types.objectExpression([])\n )\n );\n }\n\n targetProperties = targetObject.properties;\n } else {\n targetProperty = key;\n }\n } else if (\n !preserveName && (\n attrDef.preserveName === true || attrDef.removeDashes === false))\n {\n preserveName = true;\n }\n }\n\n if (!preserveName) {\n targetProperty = camelCase(targetProperty);\n }\n\n foundProperties[targetProperty] = true;\n targetProperties.push(\n _compiler.types.objectProperty(_compiler.types.stringLiteral(targetProperty), value)\n );\n } else {\n mergeSpread(properties, value);\n }\n }\n\n if (childLen && !hasAttributeTags) {\n properties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(\"renderBody\"),\n _compiler.types.arrowFunctionExpression(\n [_compiler.types.identifier(\"out\"), ...params],\n _compiler.types.blockStatement(body)\n )\n )\n );\n }\n\n // Default parameters\n tagDef &&\n tagDef.forEachAttribute &&\n tagDef.forEachAttribute((attr) => {\n if (foundProperties[attr.name] || attr.dynamicAttribute) {\n return;\n }\n\n if (attr.defaultValue !== undefined) {\n properties.push(\n _compiler.types.objectProperty(\n _compiler.types.stringLiteral(attr.name),\n _compiler.types.stringLiteral(attr.defaultValue + \"\")\n )\n );\n } else if (attr.required) {\n throw path.\n get(\"name\").\n buildCodeFrameError(`The \"${attr.name}\" attribute is required.`);\n }\n });\n\n let attrsObject =\n properties.length === 0 ?\n _compiler.types.nullLiteral() :\n !hasAttributeTags &&\n properties.length === 1 &&\n _compiler.types.isSpreadElement(properties[0]) ?\n properties[0].argument :\n _compiler.types.objectExpression(properties);\n\n if (hasAttributeTags) {\n let attrTagBody = attributeTags;\n\n if (body.length) {\n attrTagBody = attrTagBody.concat(\n _compiler.types.returnStatement(\n _compiler.types.arrowFunctionExpression(\n [_compiler.types.identifier(\"out\"), ...params],\n _compiler.types.blockStatement(body)\n )\n )\n );\n }\n\n const attrTagFn = _compiler.types.arrowFunctionExpression(\n [],\n _compiler.types.blockStatement(attrTagBody)\n );\n\n attrsObject = _compiler.types.callExpression(\n (0, _babelUtils.importNamed)(\n path.hub.file,\n \"marko/src/runtime/helpers/attr-tag.js\",\n \"i\",\n \"marko_render_input\"\n ),\n properties.length === 0 ? [attrTagFn] : [attrTagFn, attrsObject]\n );\n }\n\n return attrsObject;\n}\n\nfunction buildEventHandlerArray(path) {\n const { handlers } = path.node;\n if (!handlers) {\n return [];\n }\n\n return [\n _compiler.types.arrayExpression(\n Object.entries(handlers).map(([eventName, { arguments: args, once }]) => {\n const parts = [\n _compiler.types.stringLiteral(eventName),\n args[0],\n _compiler.types.booleanLiteral(once)];\n\n\n if (args.length > 1) {\n parts.push(_compiler.types.arrayExpression(args.slice(1)));\n }\n\n return _compiler.types.arrayExpression(parts);\n })\n )];\n\n}\n\nfunction evaluateAttr(attr) {\n const computed = (0, _babelUtils.computeNode)(attr.node.value);\n if (computed) {\n const { value } = computed;\n switch (attr.node.name) {\n case \"class\":\n return {\n value: (0, _classValue.default)(value)?.replace(/\\s+/, \" \").trim()\n };\n case \"style\":\n return {\n value: (0, _styleValue.default)(value)?.\n replace(/\\s+/, \" \").\n trim().\n replace(/;$/, \"\")\n };\n }\n\n if (value == null || value === false) {\n return { value: undefined };\n }\n\n if (value === true) {\n return { value: \"\" };\n }\n\n if (typeof value === \"object\") {\n switch (value.toString) {\n case Object.prototype.toString:\n case Array.prototype.toString:\n return { value: JSON.stringify(value) };\n case RegExp.prototype.toString:\n return { value: value.source };\n }\n }\n\n return { value: value + \"\" };\n }\n}\n\nfunction camelCase(string) {\n return string.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());\n}\n\nfunction findLastIndex(arr, check) {\n for (let i = arr.length; i--;) {\n if (check(arr[i])) {\n return i;\n }\n }\n\n return -1;\n}\n\nfunction mergeSpread(properties, value) {\n if (_compiler.types.isObjectExpression(value)) {\n for (const prop of value.properties) {\n if (_compiler.types.isSpreadElement(prop)) {\n mergeSpread(properties, prop.argument);\n } else {\n properties.push(prop);\n }\n }\n } else {\n properties.push(_compiler.types.spreadElement(value));\n }\n}","\"use strict\";exports.__esModule = true;exports.exit = exit;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _util = require(\"./util\");\n\nfunction exit(path) {\n (0, _babelUtils.assertNoAttributes)(path);\n\n const { ifStatement, arguments: args } = path.node;\n\n if (!ifStatement) {\n throw path.\n get(\"name\").\n buildCodeFrameError(\n \"Invalid 'else-if' tag, expected preceding 'if' or 'else-if' tag.\"\n );\n }\n\n ifStatement.alternate = (0, _util.buildIfStatement)(path, args);\n path.remove();\n}","\"use strict\";exports.__esModule = true;exports.exit = exit;var _babelUtils = require(\"@marko/babel-utils\");\nvar _compiler = require(\"@marko/compiler\");\n\nfunction exit(path) {\n (0, _babelUtils.assertNoArgs)(path);\n (0, _babelUtils.assertNoAttributes)(path);\n\n const { ifStatement } = path.node;\n\n if (!ifStatement) {\n throw path.\n get(\"name\").\n buildCodeFrameError(\n \"Invalid 'else' tag, expected preceding 'if' or 'else-if' tag.\"\n );\n }\n\n ifStatement.alternate = _compiler.types.blockStatement(\n path.node.attributeTags.length ?\n path.node.attributeTags :\n path.node.body.body\n );\n path.remove();\n}","\"use strict\";exports.__esModule = true;exports.exit = exit;var _babelUtils = require(\"@marko/babel-utils\");\n\nvar _util = require(\"./util\");\n\nfunction exit(path) {\n (0, _babelUtils.assertNoAttributes)(path);\n path.replaceWith((0, _util.buildIfStatement)(path, path.node.arguments));\n}","\"use strict\";var _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");exports.__esModule = true;exports.buildIfStatement = buildIfStatement;var _compiler = require(\"@marko/compiler\");\n\nvar _withPreviousLocation = _interopRequireDefault(require(\"../../../util/with-previous-location\"));\n\nfunction buildIfStatement(path, args) {\n if (!args || !args.length) {\n const name = path.get(\"name\");\n throw name.buildCodeFrameError(\n `Invalid '<${name.node.value}>' tag, expected arguments like '<${name.node.value}(test)>'.`\n );\n }\n\n const ifStatement = _compiler.types.ifStatement(\n args.length === 1 ? args[0] : _compiler.types.sequenceExpression(args),\n _compiler.types.blockStatement(\n path.node.attributeTags.length ?\n path.node.attributeTags :\n path.node.body.body\n )\n );\n\n let nextPath = path.getNextSibling();\n\n while (\n nextPath.isMarkoComment() ||\n nextPath.isMarkoText() && /^\\s*$/.test(nextPath.node.value))\n {\n const ignorePath = nextPath;\n nextPath = nextPath.getNextSibling();\n ignorePath.remove();\n }\n\n // Provide the if statement to the next part of the if chain.\n if (nextPath.isMarkoTag()) {\n const nextTagName = nextPath.get(\"name\");\n if (\n nextTagName.isStringLiteral({ value: \"else\" }) ||\n nextTagName.isStringLiteral({ value: \"else-if\" }))\n {\n nextPath.node.ifStatement = ifStatement;\n }\n }\n\n return (0, _withPreviousLocation.default)(ifStatement, path.node);\n}","\"use strict\";exports.__esModule = true;exports.default = void 0;var translateElse = _interopRequireWildcard(require(\"./conditional/translate-else\"));\nvar translateElseIf = _interopRequireWildcard(require(\"./conditional/translate-else-if\"));\nvar translateIf = _interopRequireWildcard(require(\"./conditional/translate-if\"));\nvar parseMacro = _interopRequireWildcard(require(\"./macro/parse\"));\nvar translateMacro = _interopRequireWildcard(require(\"./macro/translate\"));\nvar parseClass = _interopRequireWildcard(require(\"./parse-class\"));\nvar parseExport = _interopRequireWildcard(require(\"./parse-export\"));\nvar parseImport = _interopRequireWildcard(require(\"./parse-import\"));\nvar parseModuleCode = _interopRequireWildcard(require(\"./parse-module-code\"));\nvar parseStatic = _interopRequireWildcard(require(\"./parse-static\"));\nvar transformStyle = _interopRequireWildcard(require(\"./transform-style\"));\nvar translateAwait = _interopRequireWildcard(require(\"./translate-await\"));\nvar translateBody = _interopRequireWildcard(require(\"./translate-body\"));\nvar translateFor = _interopRequireWildcard(require(\"./translate-for\"));\nvar translateHTMLComment = _interopRequireWildcard(require(\"./translate-html-comment\"));\nvar translateIncludeContent = _interopRequireWildcard(require(\"./translate-include-content\"));\nvar translateServerOnly = _interopRequireWildcard(require(\"./translate-server-only\"));\nvar translateWhile = _interopRequireWildcard(require(\"./translate-while\"));function _getRequireWildcardCache(e) {if (\"function\" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || \"object\" != typeof e && \"function\" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}var _default = exports.default =\n\n{\n \"taglib-id\": \"marko-default-core\",\n \"\": {\n \"node-factory\": parseImport,\n \"parse-options\": {\n statement: true,\n rawOpenTag: true\n },\n autocomplete: [\n {\n displayText: 'import from \"\"',\n description:\n \"Use to import external modules, follows the same syntax as JavaScript imports.\",\n snippet: 'import ${2} from \"${1:path}\"',\n descriptionMoreURL:\n \"https://markojs.com/docs/syntax/#importing-external-files\"\n }]\n\n },\n \"\": {\n \"node-factory\": parseExport,\n \"parse-options\": {\n statement: true,\n rawOpenTag: true\n },\n autocomplete: [\n {\n displayText: \"export \",\n description:\n \"Use export additional data with the template, follows the same syntax as JavaScript exports.\",\n snippet: \"export ${1}\",\n descriptionMoreURL:\n \"https://markojs.com/docs/syntax/#importing-external-files\"\n }]\n\n },\n \"\": {\n \"node-factory\": parseClass,\n \"parse-options\": {\n statement: true,\n rawOpenTag: true\n },\n autocomplete: [\n {\n displayText: \"class { /** lifecycle methods **/ }\",\n snippet: \"class {\\n\\t$0\\n}\",\n description:\n \"A class containing the lifecycle methods, event handlers, and other properties for this component.\",\n descriptionMoreURL:\n \"https://markojs.com/docs/class-components/#single-file-components\"\n }]\n\n },\n \"\": {\n \"node-factory\": parseStatic,\n \"parse-options\": {\n statement: true,\n rawOpenTag: true\n },\n autocomplete: [\n {\n displayText: \"static \",\n description:\n \"A JavaScript statement which is only evaluated once your template is loaded.\",\n descriptionMoreURL:\n \"https://markojs.com/docs/syntax/#static-javascript\"\n }]\n\n },\n \"\" +\n `
' +\n result.toString() +\n \"
\"\n );\n } else {\n asyncOut.write(\n `
' +\n result.toString() +\n \"
\"\n );\n }\n\n if (!flushedScript && flushedPlaceholder) {\n flushedScript = true;\n asyncOut.script(\n `$${reorderFunctionId}(` + (\n typeof awaitInfo.id === \"number\" ?\n awaitInfo.id :\n '\"' + awaitInfo.id + '\"') + (\n awaitInfo.after ? ',\"' + awaitInfo.after + '\"' : \"\") +\n \")\"\n );\n }\n\n awaitInfo.out.writer = asyncOut.writer;\n\n out.emit(\"await:finish\", awaitInfo);\n\n out.flush();\n\n if (--remaining === 0) {\n asyncOut.end();\n next();\n }\n }\n }\n\n awaitContext.instances.forEach(handleAwait);\n\n out.on(\"await:clientReorder\", function (awaitInfo) {\n remaining++;\n handleAwait(awaitInfo);\n });\n\n // Now that we have a listener attached, we want to receive any additional\n // out-of-sync instances via an event\n delete awaitContext.instances;\n });\n};","\"use strict\";\n/* jshint newcap:false */\n\nvar BaseState;\nvar BaseComponent;\nvar inherit;\nvar req = require(\"@internal/require\");\nvar registry = require(\"@internal/components-registry\");\nvar jQuery = require(\"../../../runtime/components/legacy/jquery\");\nvar ready = require(\"../../../runtime/components/legacy/ready\");\n// eslint-disable-next-line no-constant-binary-expression\n\nvar hasHowOwnProperty = {}.hasOwnProperty;\nvar stateToJSONDef = {\n enumerable: false,\n value: function returnSelf() {\n return this;\n }\n};\nfunction noop() {}\n\nmodule.exports = function defineWidget(def, renderer) {\n def = def.Widget || def;\n\n if (def.y_) {\n return def;\n }\n\n var ComponentClass = function () {};\n var proto;\n var legacyInit;\n\n if (typeof def === \"function\") {\n proto = def.prototype;\n legacyInit = def;\n } else if (typeof def === \"object\") {\n proto = def;\n legacyInit = def.init;\n } else {\n throw TypeError();\n }\n\n ComponentClass.prototype = proto;\n\n // We don't use the constructor provided by the user\n // since we don't invoke their constructor until\n // we have had a chance to do our own initialization.\n // Instead, we store their constructor in the \"initComponent\"\n // property and that method gets called later inside\n // init-components-browser.js\n function Component(id, doc) {\n BaseComponent.call(this, id, doc);\n }\n\n if (!proto.y_) {\n // Inherit from Component if they didn't already\n ComponentClass.prototype = Object.create(BaseComponent.prototype);\n for (var propName in proto) {\n if (hasOwnProperty.call(proto, propName)) {\n ComponentClass.prototype[propName] = proto[propName];\n }\n }\n }\n\n // The same prototype will be used by our constructor after\n // we he have set up the prototype chain using the inherit function\n proto = Component.prototype = ComponentClass.prototype;\n proto.z_ = true;\n\n proto.constructor = def.constructor = Component;\n\n Object.defineProperty(proto, \"state\", {\n get: function () {\n var raw = this.A_ && this.A_.B_;\n\n if (raw && !raw.toJSON) {\n Object.defineProperty(this.A_.B_, \"toJSON\", stateToJSONDef);\n }\n\n return raw;\n },\n set: function (newState) {\n newState = newState || {};\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n\n\n\n this.setState(newState);\n }\n });\n\n Object.defineProperty(proto, \"__document\", {\n get: function () {\n // eslint-disable-next-line no-constant-condition\n\n\n\n return this.C_;\n }\n });\n\n Object.defineProperty(proto, \"el\", {\n get: function () {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n\n\n return this.D_;\n }\n });\n\n // get legacy methods\n\n proto.E_ = proto.onRender;\n Object.defineProperty(proto, \"onRender\", {\n get: noop,\n set: function (v) {\n proto.E_ = v;\n }\n });\n\n proto.F_ = proto.onUpdate;\n Object.defineProperty(proto, \"onUpdate\", {\n get: function () {\n return modernMountOrUpdate;\n },\n set: function (v) {\n proto.F_ = v;\n }\n });\n\n proto.G_ = proto.onDestroy;\n Object.defineProperty(proto, \"onDestroy\", {\n get: function () {\n return modernOnDestory;\n },\n set: function (v) {\n proto.G_ = v;\n }\n });\n\n proto.getWidget = proto.getComponent;\n proto.getWidgets = proto.getComponents;\n proto.onMount = modernMountOrUpdate;\n\n if (legacyInit) {\n proto.H_ = legacyInit;\n }\n\n // convert legacy to modern\n proto.I_ = proto.update;\n proto.update = function () {\n if (this.J_) {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n this.destroy = modernOnDestory;\n this.J_ = false;\n }\n this.K_ = true;\n if (this.D_) {\n this.onBeforeUpdate && this.onBeforeUpdate();\n }\n\n this.I_();\n this.K_ = false;\n };\n\n function modernMountOrUpdate() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var self = this;\n var el = this.L_[\"@_wbind\"];\n var prevEl = this.D_;\n\n if (prevEl !== el) {\n this.D_ = el;\n\n if (prevEl) {\n this.onBeforeDestroy && this.onBeforeDestroy();\n this.G_ && this.G_();\n this.M_ = undefined;\n this.removeAllListeners();\n }\n\n if (el) {\n this.H_ && this.H_(this.widgetConfig || {});\n this.E_ && this.E_({ firstRender: true });\n this.M_ = legacyRender;\n\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n el.__widget = this;\n\n }\n } else if (el) {\n if (prevEl) {\n this.F_ && this.F_();\n }\n\n if (this.N_) {\n this.E_ &&\n this.E_({ firstRender: false });\n }\n }\n\n this.O_ = this.P_;\n this.P_ = null;\n this.N_ = false;\n }\n\n function legacyRender() {\n if (!this.K_) {\n this.onBeforeUpdate && this.onBeforeUpdate();\n }\n\n this.N_ = true;\n }\n\n function modernOnDestory() {\n if (this.D_) {\n this.onBeforeDestroy && this.onBeforeDestroy();\n this.G_ && this.G_();\n this.D_ = null;\n }\n }\n\n // Set a flag on the constructor function to make it clear this is\n // a component so that we can short-circuit this work later\n Component.y_ = true;\n\n function State() {\n BaseState.apply(this, arguments);\n }\n inherit(State, BaseState);\n proto.Q_ = State;\n\n jQuery.patchComponent(\n window.$,\n proto,\n true /* don't throw error until used if `$` is missing*/\n );\n\n ready.patchComponent(proto);\n\n if (!renderer) {\n renderer = ComponentClass.renderer || ComponentClass.prototype.renderer;\n if (renderer) {\n // Legacy support\n var createOut = renderer.createOut;\n if (typeof renderer !== \"function\") {\n var rendererObject = renderer;\n renderer = function (input, out) {\n var rendererFunc = rendererObject.renderer || rendererObject.render;\n rendererFunc(input, out);\n };\n renderer.createOut = createOut;\n }\n\n renderer.render = function (input) {\n var out = createOut();\n renderer(input, out);\n return out.end();\n };\n }\n }\n\n if (renderer) {\n // Add the rendering related methods as statics on the\n // new component constructor function\n Component.renderer = proto.R_ = renderer;\n Component.render = renderer.render;\n Component.renderSync = renderer.renderSync;\n }\n\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n Component._isWidget = true;\n\n\n var template = def.template;\n if (template) {\n if (typeof template === \"string\") {\n template = req(template);\n }\n\n registry.r((template.default || template).S_, function () {\n return Component;\n });\n }\n\n return Component;\n};\n\nBaseState = require(\"../../../runtime/components/State\");\nBaseComponent = require(\"../../../runtime/components/Component\");\ninherit = require(\"raptor-util/inherit\");","\"use strict\";var Component = require(\"../../../runtime/components/Component\");\nvar req = require(\"@internal/require\");\nvar getComponentForEl =\nrequire(\"@internal/components-util\").U_;\n\n// eslint-disable-next-line no-constant-binary-expression\n\n\n// expose legacy\nrequire(\"@internal/components-registry\")._h_ = exports;\nexports.load = function (typeName) {\n return exports.defineWidget(req(typeName));\n};\n\n// legacy api\nexports.defineComponent = require(\"../../../runtime/components/legacy/defineComponent-legacy\");\nexports.defineWidget = require(\"@internal/components-define-widget-legacy\");\nexports.defineRenderer = require(\"../../../runtime/components/legacy/defineRenderer-legacy\");\nexports.makeRenderable =\nexports.renderable = require(\"../../../runtime/renderable\");\n\n// browser only\nvar Widget = exports.Widget = Component;\nexports.getWidgetForEl = exports.get = function (elOrId) {\n var el = elOrId;\n\n if (typeof elOrId === \"string\") {\n el = document.getElementById(elOrId);\n }\n\n if (el && el.__widget) {\n return el.__widget;\n }\n\n return getComponentForEl(el);\n};\nexports.initWidgets =\nrequire(\"@internal/components-registry\").V_;\n\n// monkey patch Widget\nif (Widget) {\n var WidgetProto = Widget.prototype;\n WidgetProto.setProps = function (newInput) {\n this._i_ = true;\n this._j_(newInput);\n };\n WidgetProto.rerender = function (newInput) {\n if (newInput) {\n this.setProps(newInput);\n }\n\n this.forceUpdate();\n this.update();\n };\n}\n\nvar RenderResult = require(\"../../../runtime/RenderResult\");\n\nRenderResult.prototype.getWidget = function () {\n // eslint-disable-next-line no-constant-condition\n\n\n\n return this.getWidgets()[0];\n};\nRenderResult.prototype.getWidgets = function () {\n // eslint-disable-next-line no-constant-condition\n\n\n\n return RenderResult.prototype.getComponents.\n apply(this, arguments).\n filter(function (component) {\n return component.z_;\n });\n};","\"use strict\";var encoder = new TextEncoder();\nvar noop = function () {};\n\nmodule.exports = function (data) {\n\n var transformStream = new TransformStream();\n var writer = transformStream.writable.getWriter();\n var facade = {\n write: function (string) {\n writer.write(encoder.encode(string));\n },\n end: function () {\n writer.close();\n }\n };\n var out = this.createOut(\n data && data.$global,\n facade,\n undefined,\n this._W_\n );\n out.once(\"error\", (err) => {\n facade.write = facade.end = noop;\n writer.abort(err);\n });\n this.render(data, out);\n out.end();\n\n return transformStream.readable;\n};","\"use strict\";\n// eslint-disable-next-line no-constant-binary-expression\n\n\nclass ServerComponent {\n constructor(id, input, out, typeName, customEvents, scope) {\n this.id = id;\n this.X_ = customEvents;\n this.Y_ = scope;\n this.typeName = typeName;\n this.Z_ = undefined; // Used to keep track of bubbling DOM events for components rendered on the server\n this._a_ = 0;\n\n this.onCreate(input, out);\n this._b_ = this.onInput(input, out) || input;\n if (this.P_ === undefined) {\n this.P_ = this._b_;\n }\n this.onRender(out);\n }\n\n set input(newInput) {\n this.P_ = newInput;\n }\n\n get input() {\n return this.P_;\n }\n\n set state(newState) {\n this.A_ = newState;\n }\n\n get state() {\n return this.A_;\n }\n\n get aD_() {\n return this.A_;\n }\n\n elId(nestedId) {\n var id = this.id;\n\n if (nestedId == null) {\n return id;\n } else {\n if (typeof nestedId !== \"string\") {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n nestedId = String(nestedId);\n }\n\n if (nestedId.indexOf(\"#\") === 0) {\n id = \"#\" + id;\n nestedId = nestedId.substring(1);\n }\n\n return id + \"-\" + nestedId;\n }\n }\n\n onCreate() {}\n onInput() {}\n onRender() {}\n}\n\nServerComponent.prototype.getElId = ServerComponent.prototype.elId;\n\nmodule.exports = ServerComponent;","\"use strict\";var eventDelegation = require(\"./event-delegation\");\nvar delegateEvent = eventDelegation.aT_;\nvar getEventFromEl = eventDelegation.aU_;\n\n// var componentsUtil = require('@internal/components-util');\n// var destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;\n// var destroyComponentForNode = componentsUtil.___destroyComponentForNode;\n\nfunction handleNodeAttach(node, componentsContext) {\n if (node.nodeType === 1) {\n var eventName = \"onattach\";\n var target = getEventFromEl(node, eventName);\n if (target) {\n var out = componentsContext.s_;\n var data = out.data;\n\n var attachTargets = data.aV_;\n if (!attachTargets) {\n attachTargets = data.aV_ = [];\n out.on(\"aQ_\", function () {\n for (var i = 0; i < attachTargets.length; i += 2) {\n var node = attachTargets[i];\n var target = attachTargets[i + 1];\n delegateEvent(node, eventName, target, {});\n }\n });\n }\n\n attachTargets.push(node);\n attachTargets.push(target);\n }\n }\n}\n\nfunction handleNodeDetach(node) {\n if (node.nodeType === 1) {\n var eventName = \"ondetach\";\n var target = getEventFromEl(node, eventName);\n if (target) {\n var allowDetach;\n\n delegateEvent(node, eventName, target, {\n preventDefault: function () {\n allowDetach = false;\n },\n detach: function () {\n var parentNode = node.parentNode;\n if (parentNode) {\n parentNode.removeChild(node);\n }\n }\n });\n\n return allowDetach;\n }\n }\n}\n\neventDelegation.aW_ = handleNodeAttach;\neventDelegation.ao_ = handleNodeDetach;","\"use strict\"; /**\n * Define a new UI component that includes component and renderer.\n *\n * @param {Object} def The definition of the UI component (component methods, component constructor, rendering methods, etc.)\n * @return {Component} The resulting Component with renderer\n */\nvar defineRenderer;\nvar defineWidget;\n\nmodule.exports = function defineComponent(def) {\n if (def.y_) {\n return def;\n }\n\n var renderer;\n\n if (def.template || def.renderer) {\n renderer = defineRenderer(def);\n } else {\n throw new Error('Expected \"template\" or \"renderer\"');\n }\n\n return defineWidget(def, renderer);\n};\n\ndefineRenderer = require(\"./defineRenderer-legacy\");\ndefineWidget = require(\"./defineWidget-legacy\");","\"use strict\"; // eslint-disable-next-line no-constant-binary-expression\n\nvar componentLookup = require(\"@internal/components-util\")._m_;\nvar req = require(\"@internal/require\");\nvar makeRenderable = require(\"../../renderable\");\nvar getComponentsContext =\nrequire(\"../ComponentsContext\").T_;\nvar modernRenderer = require(\"../renderer\");\nvar resolveComponentKey = modernRenderer.aY_;\n\nmodule.exports = function defineRenderer(renderingLogic) {\n var renderer = renderingLogic.renderer;\n\n if (renderer && renderer.aZ_) {\n return renderer;\n }\n\n var template = renderingLogic.template;\n\n if (typeof template === \"string\") {\n template = req(template);\n }\n\n if (template && template.default) {\n template = template.default;\n }\n\n if (!renderer) {\n var getInitialProps;\n var getTemplateData;\n var getInitialState;\n var getWidgetConfig;\n var getInitialBody;\n\n if (renderingLogic) {\n getInitialProps = renderingLogic.getInitialProps;\n getTemplateData = renderingLogic.getTemplateData;\n getInitialState = renderingLogic.getInitialState;\n getWidgetConfig = renderingLogic.getWidgetConfig;\n getInitialBody = renderingLogic.getInitialBody;\n }\n\n // Create a renderer function that takes care of translating\n // the input properties to a view state. Also, this renderer\n // takes care of re-using existing components.\n renderer = function renderer(input, out) {\n var componentsContext = getComponentsContext(out);\n var globalComponentsContext = componentsContext.q_;\n var component = globalComponentsContext.aA_;\n var isReceivingNewInput = !component || component._i_;\n var parentComponentDef;\n\n if (component) {\n component._i_ = false;\n }\n\n // Render the template associated with the component using the final template\n // data that we constructed\n var newProps = input;\n var widgetConfig;\n var widgetState;\n var widgetBody;\n var id;\n\n if (!component && componentLookup) {\n var key = out.ab_;\n\n if (\n (parentComponentDef = componentsContext.p_) &&\n key != null)\n {\n id = resolveComponentKey(key.toString(), parentComponentDef);\n } else if (parentComponentDef) {\n id = parentComponentDef.aP_();\n } else {\n id = globalComponentsContext.aP_();\n }\n\n component = componentLookup[id];\n }\n\n if (isReceivingNewInput) {\n // If we do not have state then we need to go through the process\n // of converting the input to a widget state, or simply normalizing\n // the input using getInitialProps\n\n if (getInitialProps) {\n // This optional method is used to normalize input state\n newProps = getInitialProps(newProps, out) || {};\n }\n\n if (getInitialState) {\n // This optional method is used to derive the widget state\n // from the input properties\n widgetState = getInitialState(newProps, out);\n }\n\n if (getInitialBody) {\n // If we have widget a widget body then pass it to the template\n // so that it is available to the widget tag and can be inserted\n // at the w-body marker\n widgetBody = getInitialBody(newProps, out);\n } else {\n // Default to using the nested content as the widget body\n // getInitialBody was not implemented\n widgetBody = newProps.renderBody;\n }\n } else if (component) {\n newProps = newProps || component.O_;\n widgetBody = component.___;\n widgetState = component.aD_;\n widgetConfig = component.widgetConfig;\n }\n\n // Use getTemplateData(state, props, out) to get the template\n // data. If that method is not provided then just use the\n // the state (if provided) or the input data.\n var templateData = clone(\n getTemplateData ?\n getTemplateData(widgetState, newProps, out) :\n widgetState || newProps\n );\n\n if (isReceivingNewInput && getWidgetConfig) {\n // If getWidgetConfig() was implemented then use that to\n // get the widget config. The widget config will be passed\n // to the widget constructor. If rendered on the server the\n // widget config will be serialized.\n widgetConfig = getWidgetConfig(newProps, out);\n }\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n\n\n\n templateData.widgetProps = newProps;\n widgetBody && (templateData.renderBody = widgetBody);\n widgetState && (templateData.widgetState = widgetState);\n widgetConfig && (templateData.widgetConfig = widgetConfig);\n\n template._(templateData, out, id, renderingLogic);\n };\n }\n\n renderer.aZ_ = true;\n renderer.createOut = template ? template.createOut : renderingLogic.createOut;\n renderer.template = template;\n\n makeRenderable(renderer, renderer);\n renderer.render = renderer.render.bind(renderer);\n\n return renderer;\n};\n\nfunction clone(src) {\n var result = {};\n\n if (src) {\n for (var key in src) {\n result[key] = src[key];\n }\n }\n\n return result;\n}","\"use strict\";module.exports = require(\"@internal/components-define-widget-legacy\");","\"use strict\";var Template = require(\"../../../html\").Template;\nvar patch = require(\"./\").patch;\npatch(Template);","\"use strict\";var nodePath = require(\"path\");\nvar defaultResolveFrom = require(\"resolve-from\");\nvar env = process.env.NODE_ENV;\nvar production = !env || env !== \"development\";\n\nfunction getRootDeps(template, context) {\n if (production && template.b__) {\n return template.b__;\n }\n\n attachDepsAndComponentsToTemplate(template, context);\n\n var deps = template.b__ = Object.keys(template.ba_).map(\n (key) => template.ba_[key]\n );\n var initModule = getInitModule(template.path, template.b_);\n\n if (initModule) deps.push(initModule);\n\n // these dependencies should be last\n deps.concat = function () {\n var result = [];\n result = result.concat.apply(result, arguments);\n result.push.apply(result, this);\n return result;\n };\n\n return deps;\n}\n\nfunction attachDepsAndComponentsToTemplate(target, context) {\n var template;\n\n if (!target.meta && target.template) {\n template = target.template;\n } else {\n template = target;\n }\n\n if (typeof template.createOut !== \"function\") return;\n if (production && target.ba_) return;\n\n var deps = target.ba_ = {};\n var components = target.b_ = {};\n\n if (!template.meta) {\n console.warn(\"Metadata not set for template at \", template.path);\n return;\n }\n\n var meta = template.meta;\n var root = nodePath.dirname(template.path);\n\n if (meta.deps) {\n meta.deps.forEach((dep) => {\n dep = resolveDep(dep, root, context);\n deps[dep.virtualPath || dep.path] = dep;\n });\n }\n\n if (meta.id && meta.component) {\n var resolveFrom = context && context.resolveFrom || defaultResolveFrom;\n components[meta.id] = {\n id: meta.id,\n path: resolveFrom(root, meta.component)\n };\n }\n\n if (meta.tags) {\n meta.tags.forEach((tagPath) => {\n var resolveFrom = context.resolveFrom || defaultResolveFrom;\n var tag = resolveFrom(root, tagPath);\n var ext = nodePath.extname(tag);\n var req = context.require || require;\n\n try {\n tag = req.resolve(tag.slice(0, 0 - ext.length) + \".js\");\n } catch (e) {\n\n /* ignore error */}\n\n tag = req(tag);\n\n attachDepsAndComponentsToTemplate(tag, context);\n\n if (tag.ba_) Object.assign(deps, tag.ba_);\n if (tag.b_) Object.assign(components, tag.b_);\n });\n }\n}\n\nfunction getInitModule(path, components) {\n var module = null;\n\n if (components) {\n components = Object.keys(components).map((key) => components[key]);\n\n if (components.length) {\n var root = nodePath.dirname(path);\n var virtualPath = path + \".init.js\";\n var registrations = components.map(\n (component) =>\n `components.register('${component.id}', require('.${\n nodePath.sep}${\n nodePath.relative(root, component.path)}'));`\n );\n var code = `\n var components = require('marko/components');\n ${registrations.join(\"\\n\")}\n `;\n\n module = {\n type: \"require\",\n run: true,\n virtualModule: {\n path: virtualPath,\n read: function (_, callback) {\n // TODO: Check if read can just return string in lasso 2\n if (callback) {\n callback(null, code);\n } else {\n return code;\n }\n }\n }\n };\n }\n }\n\n return module;\n}\n\nfunction resolveDep(dep, root, context) {\n if (typeof dep === \"string\") {\n dep = parseDependencyString(dep);\n }\n\n if (dep.path) {\n var resolveFrom = context && context.resolveFrom || defaultResolveFrom;\n dep.path = resolveFrom(root, dep.path);\n\n if (dep.path && !dep.type) {\n dep.type = dep.path.slice(dep.path.lastIndexOf(\".\") + 1);\n }\n }\n\n if (dep.virtualPath) {\n dep.virtualPath = nodePath.resolve(root, dep.virtualPath);\n }\n\n if (dep.type === \"js\") {\n dep.type = \"require\";\n dep.run = true;\n }\n\n return dep;\n}\n\nfunction parseDependencyString(string) {\n var match = /^(?:([\\w-]+)(?::\\s*|\\s+))?(.*?(?:\\.(\\w+))?)$/.exec(string);\n return {\n type: match[1] || match[3],\n path: match[2]\n };\n}\n\nfunction patch(Template) {\n Template.prototype.getDependencies = function (context) {\n context = context || {};\n\n return getRootDeps(this, context);\n };\n}\n\nexports.getDeps = getRootDeps;\nexports.resolveDep = resolveDep;\nexports.patch = patch;","\"use strict\";var Template = require(\"../../../vdom\").Template;\nvar patch = require(\"./\").patch;\npatch(Template);","\"use strict\";module.exports = require(\"@internal/components-entry-legacy\");","\"use strict\";var ready = require(\"./ready\");\n\nvar idRegExp = /^#(\\S+)( .*)?/;\n\nexports.patchComponent = function (jQuery, proto, delayThrow) {\n if (!jQuery && !delayThrow) {\n throw new Error(\"jQuery not found\");\n }\n\n (proto || require(\"../Component\").prototype).$ = function jqueryProxy(arg) {\n var args = arguments;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var self = this;\n\n if (!(jQuery || (jQuery = window.$))) {\n throw new Error(\"jQuery not found\");\n }\n\n if (args.length === 1) {\n //Handle an \"ondomready\" callback function\n if (typeof arg === \"function\") {\n return ready(function () {\n arg.call(self);\n });\n } else if (typeof arg === \"string\") {\n var match = idRegExp.exec(arg);\n //Reset the search to 0 so the next call to exec will start from the beginning for the new string\n if (match != null) {\n var key = match[1];\n if (match[2] == null) {\n return jQuery(self.getEl(key));\n } else {\n return jQuery(match[2].trim(), self.getEl(key));\n }\n } else {\n var rootEl = self.getEl();\n if (!rootEl) {\n throw new Error(\"Root element is not defined for component\");\n }\n if (rootEl) {\n return jQuery(arg, rootEl);\n }\n }\n }\n } else if (args.length === 2 && typeof args[1] === \"string\") {\n return jQuery(arg, self.getEl(args[1]));\n } else if (args.length === 0) {\n return jQuery(self.el);\n }\n return jQuery.apply(window, arguments);\n };\n};","\"use strict\"; /*\n jQuery's doc.ready/$(function(){}) should\n you wish to use a cross-browser domReady solution\n without opting for a library.\n\n Demo: http://jsfiddle.net/zKLpb/\n\n usage:\n $(function(){\n // your code\n });\n\n Parts: jQuery project, Diego Perini, Lucent M.\n Previous version from Addy Osmani (https://raw.github.com/addyosmani/jquery.parts/master/jquery.documentReady.js)\n\n This version: Patrick Steele-Idem\n - Converted to CommonJS module\n - Code cleanup\n - Fixes for IE <=10\n*/\n\nvar isReady = false;\nvar readyBound = false;\n\nvar defaultWindow = typeof window != \"undefined\" && window;\nvar defaultDocument = typeof document != \"undefined\" && document;\n\nvar listeners = [];\n\nfunction domReadyCallback() {\n for (var i = 0, len = listeners.length; i < len; i++) {\n var listener = listeners[i];\n listener[0].call(listener[1]);\n }\n listeners = null;\n}\n\nfunction bindReady(doc) {\n var toplevel = false;\n var win = doc.defaultView || defaultWindow || doc;\n\n // Handle when the DOM is ready\n function domReady() {\n // Make sure that the DOM is not already loaded\n if (!isReady) {\n // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).\n if (!doc.body) {\n return setTimeout(domReady, 1);\n }\n // Remember that the DOM is ready\n isReady = true;\n // If there are functions bound, to execute\n domReadyCallback();\n // Execute all of them\n }\n } // /ready()\n\n // The ready event handler\n function domContentLoaded() {\n if (doc.addEventListener) {\n doc.removeEventListener(\"DOMContentLoaded\", domContentLoaded, false);\n doc.removeEventListener(\"load\", domContentLoaded, false);\n } else {\n // we're here because readyState !== \"loading\" in oldIE\n // which is good enough for us to call the dom ready!\n doc.detachEvent(\"onreadystatechange\", domContentLoaded);\n doc.detachEvent(\"onload\", domContentLoaded);\n }\n domReady();\n }\n\n // The DOM ready check for Internet Explorer\n function doScrollCheck() {\n if (isReady) {\n return;\n }\n\n try {\n // If IE is used, use the trick by Diego Perini\n // http://javascript.nwbox.com/IEContentLoaded/\n doc.documentElement.doScroll(\"left\");\n } catch (error) {\n setTimeout(doScrollCheck, 1);\n return;\n }\n // and execute any waiting functions\n domReady();\n }\n\n // Catch cases where $ is called after the\n // browser event has already occurred. IE <= 10 has a bug that results in 'interactive' being assigned\n // to the readyState before the DOM is really ready\n if (\n document.attachEvent ?\n document.readyState === \"complete\" :\n document.readyState !== \"loading\")\n {\n // We will get here if the browser is IE and the readyState === 'complete' or the browser\n // is not IE and the readyState === 'interactive' || 'complete'\n domReady(doc);\n } else if (doc.addEventListener) {\n // Standards-based browsers support DOMContentLoaded\n // Use the handy event callback\n doc.addEventListener(\"DOMContentLoaded\", domContentLoaded, false);\n // A fallback to win.onload, that will always work\n win.addEventListener(\"load\", domContentLoaded, false);\n // If IE event model is used\n } else if (doc.attachEvent) {\n // ensure firing before onload,\n // maybe late but safe also for iframes\n doc.attachEvent(\"onreadystatechange\", domContentLoaded);\n // A fallback to win.onload, that will always work\n win.attachEvent(\"onload\", domContentLoaded);\n // If IE and not a frame\n // continually check to see if the document is ready\n try {\n toplevel = win.frameElement == null;\n } catch (e) {\n\n /* ignore error */}\n if (doc.documentElement.doScroll && toplevel) {\n doScrollCheck();\n }\n }\n}\n\nfunction ready(callback, thisObj, doc) {\n if (isReady) {\n return callback.call(thisObj);\n }\n\n listeners.push([callback, thisObj]);\n\n if (!readyBound) {\n readyBound = true;\n bindReady(doc || defaultDocument);\n }\n}\n\nmodule.exports = ready;\n\nmodule.exports.patchComponent = function (proto) {\n if (proto && proto.ready) {\n // Don't patch if the component has overwritten the ready method.\n return;\n }\n\n (proto || require(\"../Component\").prototype).ready = function (callback) {\n var document = this.el.ownerDocument;\n ready(callback, this, document);\n };\n};","\"use strict\";var beginComponent = require(\"@internal/components-beginComponent\");\nvar endComponent = require(\"@internal/components-endComponent\");\nvar registry = require(\"@internal/components-registry\");\nvar componentsUtil = require(\"@internal/components-util\");\nvar getComponentsContext =\nrequire(\"../ComponentsContext\").T_;\nvar componentLookup = componentsUtil._m_;\nvar modernRenderer = require(\"../renderer\");\nvar resolveComponentKey = modernRenderer.aY_;\nvar trackAsyncComponents = modernRenderer.bb_;\n// eslint-disable-next-line no-constant-binary-expression\n\n\nfunction createRendererFunc(templateRenderFunc, componentProps) {\n var typeName = componentProps.t;\n //var assignedId = componentProps.id;\n var isSplit = componentProps.s === true;\n var isImplicit = componentProps.i === true;\n\n return function renderer(input, out, assignedId, renderingLogic) {\n trackAsyncComponents(out);\n\n var componentsContext = getComponentsContext(out);\n var parentLegacyComponentDef = componentsContext.bc_;\n\n if (isImplicit && parentLegacyComponentDef) {\n templateRenderFunc(\n input,\n out,\n parentLegacyComponentDef,\n parentLegacyComponentDef.t_,\n parentLegacyComponentDef.t_.aD_,\n out.global\n );\n return;\n }\n\n var widgetBody = input.renderBody;\n var widgetState = input.widgetState;\n var widgetConfig = input.widgetConfig;\n var globalComponentsContext = componentsContext.q_;\n var component = globalComponentsContext.aA_;\n\n var isRerender = component !== undefined;\n var id = assignedId;\n var isExisting;\n var parentComponentDef = componentsContext.p_;\n var ownerComponentDef = out.aa_;\n var ownerComponentId = ownerComponentDef && ownerComponentDef.id;\n var key = out.ab_;\n var customEvents = out.bd_;\n\n out.aa_ = null;\n\n if (component) {\n id = component.id;\n isExisting = true;\n globalComponentsContext.aA_ = null;\n } else {\n if (key != null) {\n id = id || resolveComponentKey(key.toString(), parentComponentDef);\n } else if (parentComponentDef) {\n id = parentComponentDef.aP_();\n } else {\n id = globalComponentsContext.aP_();\n }\n }\n\n if (registry._K_ && typeName) {\n if (renderingLogic) delete renderingLogic.onRender;\n component = registry._H_(\n renderingLogic,\n id,\n input,\n out,\n typeName,\n customEvents,\n ownerComponentId\n );\n if (isSplit || widgetState) {\n component.input = null;\n } else if (input.widgetProps) {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n component.input = input.widgetProps;\n }\n } else {\n if (!component) {\n if (isRerender) {\n // Look in in the DOM to see if a component with the same ID and type already exists.\n component = componentLookup[id];\n if (component && component._r_ !== typeName) {\n component = undefined;\n }\n }\n\n if (component) {\n isExisting = true;\n } else {\n isExisting = false;\n // We need to create a new instance of the component\n if (typeName) {\n component = registry._H_(typeName, id);\n }\n }\n }\n }\n\n var isFakeComponent = false;\n\n if (!component) {\n isFakeComponent = true;\n component = {\n id: id,\n L_: {}\n };\n } else {\n component._c_ = true;\n\n if (widgetState) {\n component.state = widgetState;\n }\n }\n\n component.widgetConfig = widgetConfig;\n component.___ = widgetBody || component.___;\n\n var componentDef = beginComponent(\n componentsContext,\n component,\n key,\n ownerComponentDef,\n isSplit,\n isFakeComponent\n );\n componentsContext.bc_ = componentDef;\n\n // This is a hack, but we have to swap out the component instance stored with this node\n var vComponentNode = out.ac_;\n\n componentDef.t_ = isFakeComponent ? null : component;\n componentDef._v_ = isExisting;\n componentDef.z_ = true;\n\n componentDef.t = function (typeName) {\n if (typeName) {\n if (registry._K_) {\n var oldComponent = component;\n if (renderingLogic) delete renderingLogic.onRender;\n component = registry._H_(\n renderingLogic || {},\n id,\n input,\n out,\n typeName,\n customEvents,\n ownerComponentId\n );\n if (isSplit || widgetState) {\n component.input = null;\n } else if (input.widgetProps) {\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n component.input = input.widgetProps;\n }\n Object.assign(component, oldComponent);\n beginComponent(\n componentsContext,\n component,\n key,\n ownerComponentDef,\n isSplit,\n false,\n this\n );\n } else {\n vComponentNode.t_ = component = registry._H_(\n typeName,\n component.id\n );\n }\n this.t_ = component;\n }\n\n return component;\n };\n\n if (!registry._K_) {\n component.M_ && component.M_();\n }\n\n // Render the template associated with the component using the final template\n // data that we constructed\n templateRenderFunc(\n input,\n out,\n componentDef,\n component,\n component.aD_,\n out.global\n );\n\n if (customEvents && componentDef.t_) {\n if (registry._K_) {\n componentDef.X_ = customEvents;\n componentDef.Y_ = ownerComponentId;\n } else {\n componentDef.t_.aE_(\n customEvents,\n ownerComponentId\n );\n }\n }\n\n endComponent(out, componentDef);\n componentsContext.p_ = parentComponentDef;\n componentsContext.bc_ = parentLegacyComponentDef;\n };\n}\n\nmodule.exports = createRendererFunc;","\"use strict\";var EventEmitter = require(\"events-light\");\nmodule.exports = new EventEmitter();","\"use strict\";\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Merges object properties\n */\nmodule.exports = function assign() {\n var into = arguments[0];\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n if (source != null) {\n for (var k in source) {\n if (hasOwnProperty.call(source, k)) {\n into[k] = source[k];\n }\n }\n }\n }\n return into;\n};","\"use strict\";module.exports = {};","\"use strict\";var hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * Merges object properties\n */\nmodule.exports = function merge(into, source) {\n for (var k in source) {\n if (hasOwnProperty.call(source, k) && !hasOwnProperty.call(into, k)) {\n into[k] = source[k];\n }\n }\n return into;\n};","\"use strict\";require(\"./runtime-dom.js\").p(require(\"@marko/runtime-tags/debug/dom\").compat);","\"use strict\";require(\"./runtime-dom.js\").p(require(\"@marko/runtime-tags/dom\").compat);","\"use strict\";exports.s = require(\"./runtime-html.js\").p(\n require(\"@marko/runtime-tags/debug/html\").compat\n);","\"use strict\";exports.s = require(\"./runtime-html.js\").p(\n require(\"@marko/runtime-tags/html\").compat\n);","\"use strict\";const { _m_ } = require(\"@internal/components-util\");\nconst {\n T_\n} = require(\"../../components/ComponentsContext\");\nconst defineComponent = require(\"../../components/defineComponent\");\nconst { r: registerComponent } = require(\"../../components/registry\");\nconst createRenderer = require(\"../../components/renderer\");\nconst defaultCreateOut = require(\"../../createOut\");\nconst morphdom = require(\"../../vdom/morphdom\");\nconst { _l_ } = require(\"../../vdom/morphdom/fragment\");\nconst dynamicTag = require(\"../dynamic-tag\");\n\nexports.p = function (domCompat) {\n dynamicTag.bo_ = function tagsToVdom(\n renderer,\n renderBody,\n args,\n global)\n {\n const tagsRenderer = domCompat.resolveRegistered(\n renderer || renderBody,\n global\n );\n\n if (tagsRenderer && domCompat.isRenderer(tagsRenderer)) {\n return (input, out) => {\n return TagsCompat({ i: args ? args : input, r: tagsRenderer }, out);\n };\n }\n\n return renderer;\n };\n\n const TagsCompatId = \"tags-compat\";\n const TagsCompat = createRenderer(\n function (_, out, componentDef, component) {\n const input = Array.isArray(_.i) ? _.i : [_.i];\n const tagsRenderer = domCompat.resolveRegistered(_.r, global);\n const newNode = domCompat.render(out, component, tagsRenderer, input);\n\n out.bf(out.ab_, component, !newNode);\n if (newNode) {\n out.node({ bp_: () => newNode });\n }\n out.ef();\n },\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n {\n t: TagsCompatId\n },\n {}\n );\n\n registerComponent(TagsCompatId, () => ({\n _: TagsCompat,\n Component: defineComponent(\n {\n onMount: domCompat.runComponentEffects,\n onUpdate: domCompat.runComponentEffects\n },\n TagsCompat\n )\n }));\n\n // (\n // nodeAccessor: Accessor,\n // dynamicTagAttrs?: IntersectionSignal,\n // intersection?: IntersectionSignal,\n // valueWithIntersection?: ValueSignal\n // )\n\n const rendererCache = new WeakMap();\n\n domCompat.patchConditionals((conditional) => (...args) => {\n const signal = conditional(...args);\n const skipAttrs = args.length <= 1;\n return (scope, rendererOrOp) => {\n return signal(\n scope,\n domCompat.isOp(rendererOrOp) ?\n rendererOrOp :\n create5to6Renderer(rendererOrOp, skipAttrs)\n );\n };\n });\n\n function create5to6Renderer(renderer, skipAttrs) {\n let newRenderer = renderer;\n if (renderer && typeof renderer !== \"string\") {\n const rendererFromAnywhere =\n renderer._ ||\n renderer.render ||\n renderer.renderer && renderer.renderer.renderer ||\n renderer.renderer;\n\n if (!domCompat.isRenderer(rendererFromAnywhere || renderer)) {\n newRenderer = rendererCache.get(renderer);\n if (!newRenderer) {\n const { Component } = renderer;\n if (Component) {\n const setCustomEvents = Component.prototype.aE_;\n Component.prototype.aE_ = function (\n customEvents,\n scopeId)\n {\n const global = this.al_;\n for (const customEvent of customEvents) {\n customEvent[1] = domCompat.resolveRegistered(\n customEvent[1],\n global\n );\n }\n\n setCustomEvents.call(this, customEvents, scopeId);\n };\n }\n newRenderer = domCompat.createRenderer(\n (scope) => {\n if (skipAttrs) {\n renderAndMorph(scope, rendererFromAnywhere, renderer, {});\n }\n },\n () => {\n const realFragment = document.createDocumentFragment();\n _l_(null, null, realFragment);\n return realFragment;\n },\n (scope, input) => {\n if (domCompat.isOp(input)) return;\n renderAndMorph(scope, rendererFromAnywhere, renderer, input);\n }\n );\n rendererCache.set(renderer, newRenderer);\n }\n }\n }\n return newRenderer;\n }\n\n domCompat.registerRenderer(create5to6Renderer);\n domCompat.init();\n\n function renderAndMorph(scope, renderer, renderBody, input) {\n const out = defaultCreateOut();\n let host = domCompat.getStartNode(scope);\n let rootNode = host.fragment;\n if (!rootNode) {\n const component = scope.bq_ =\n _m_[scope.m5c];\n rootNode = component._F_;\n host = rootNode.startNode;\n domCompat.setScopeNodes(host, rootNode.endNode);\n }\n const existingComponent = scope.bq_;\n const componentsContext = T_(out);\n const globalComponentsContext = componentsContext.q_;\n let customEvents;\n globalComponentsContext.aA_ = existingComponent;\n out.sync();\n if (renderer) {\n const [rawInput] = input;\n const normalizedInput = {};\n\n for (const key in rawInput) {\n let value = rawInput[key];\n if (key.startsWith(\"on\")) {\n const c = key[2];\n customEvents = customEvents || {};\n customEvents[(c === \"-\" ? \"\" : c.toLowerCase()) + key.slice(3)] = [\n value];\n\n } else {\n normalizedInput[key] = rawInput[key];\n }\n }\n\n renderer(normalizedInput, out);\n } else {\n RenderBodyComponent({ renderBody, args: input }, out);\n }\n\n domCompat.queueEffect(scope, () => {\n const targetNode = out.ai_().aB_;\n morphdom(rootNode, targetNode, host, componentsContext);\n const componentDefs = componentsContext.ag_(\n getRootNode(host)\n );\n const component = componentDefs[0].t_;\n component._F_ = rootNode;\n component.P_ = input[0];\n component.X_ = customEvents;\n scope.bq_ = component;\n });\n }\n\n function getRootNode(el) {\n var cur = el;\n while (cur.parentNode) cur = cur.parentNode;\n return cur;\n }\n\n const RenderBodyComponentId = \"renderbody-renderer\";\n const RenderBodyComponent = createRenderer(\n function (input, out, _componentDef) {\n dynamicTag(\n out,\n input.renderBody,\n null,\n null,\n input.args,\n null,\n _componentDef,\n \"0\"\n );\n },\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n {\n t: RenderBodyComponentId,\n i: true\n },\n {}\n );\n\n registerComponent(RenderBodyComponentId, () => ({\n _: RenderBodyComponent,\n Component: defineComponent({}, RenderBodyComponent)\n }));\n};","\"use strict\";const initComponentsTag = require(\"../../../core-tags/components/init-components-tag\");\nconst {\n T_\n} = require(\"../../components/ComponentsContext\");\nconst createRenderer = require(\"../../components/renderer\");\nconst defaultCreateOut = require(\"../../createOut\");\nconst dynamicTag5 = require(\"../dynamic-tag\");\n\nexports.p = function (htmlCompat) {\n const isMarko6 = (fn) => !!fn.br_;\n const isMarko5 = (fn) => !fn.br_;\n const writeHTML = (result) => {\n const state = result.out._state;\n const writer = state.writer;\n state.events.emit(\"c_\", writer);\n htmlCompat.writeScript(writer._scripts);\n htmlCompat.write(writer._content);\n };\n\n dynamicTag5.bo_ = function tagsToVdom(\n tagsRenderer,\n renderBody,\n args)\n {\n if (tagsRenderer ? isMarko5(tagsRenderer) : isMarko5(renderBody)) {\n return tagsRenderer;\n }\n\n if (!tagsRenderer && renderBody) {\n renderBody.toJSON = htmlCompat.toJSON;\n }\n\n return (input, out) =>\n TagsCompat(\n args ?\n { i: args, r: (args) => (tagsRenderer || renderBody)(...args) } :\n { i: input, r: tagsRenderer || renderBody },\n out\n );\n };\n\n const TagsCompatId = \"tags-compat\";\n const TagsCompat = createRenderer(\n function (_, out, componentDef, component) {\n const input = _.i;\n const tagsRenderer = _.r;\n const willRerender = componentDef._wrr;\n out.bf(out.ab_, component, willRerender);\n htmlCompat.render(tagsRenderer, willRerender, out, component, input);\n out.ef();\n },\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n {\n t: TagsCompatId,\n i: true\n },\n {}\n );\n\n htmlCompat.patchDynamicTag(\n function getRenderer(tag) {\n const renderer = tag._ || tag.renderBody || tag;\n if (isMarko6(renderer)) return renderer;\n\n const renderer5 =\n tag._ ||\n tag.render ||\n tag.renderer && tag.renderer.renderer ||\n tag.renderer;\n const renderBody5 = tag.renderBody || tag;\n\n return (input, ...args) => {\n const out = defaultCreateOut();\n let customEvents;\n\n if (renderer5) {\n const normalizedInput = {};\n\n for (const key in input) {\n let value = input[key];\n if (key.startsWith(\"on\") && typeof value === \"function\") {\n const c = key[2];\n customEvents = customEvents || [];\n customEvents.push([\n (c === \"-\" ? \"\" : c.toLowerCase()) + key.slice(3),\n value]\n );\n value.toJSON = htmlCompat.toJSON;\n } else {\n normalizedInput[key] = input[key];\n }\n }\n renderer5(normalizedInput, out);\n } else {\n renderBody5(out, input, ...args);\n }\n\n const componentsContext = T_(out);\n const component = componentsContext.b_[0];\n if (component) {\n component.t_.X_ = customEvents;\n htmlCompat.writeSetScopeForComponent(component.id);\n }\n\n initComponentsTag({}, out);\n\n let async;\n out.once(\"finish\", (result) => {\n if (!async) {\n async = false;\n writeHTML(result);\n }\n });\n\n out.end();\n\n if (async !== false) {\n async = true;\n htmlCompat.fork(out, writeHTML);\n }\n };\n },\n function createRenderer(renderFn) {\n renderFn.br_ = true;\n return renderFn;\n }\n );\n\n return htmlCompat.registerRenderer;\n};","\"use strict\";\n\nmodule.exports = function (value) {\n return value == null ? \"\" : value + \"\";\n};","\"use strict\";\nvar EventEmitter = require(\"events-light\");\nvar selfClosingTags = require(\"self-closing-tags\");\nvar RenderResult = require(\"../RenderResult\");\nvar parseHTML = require(\"../vdom/parse-html\");\nvar BufferedWriter = require(\"./BufferedWriter\");\nvar attrsHelper = require(\"./helpers/attrs\");\nvar markoAttr = require(\"./helpers/data-marko\");\nvar escapeXmlHelper = require(\"./helpers/escape-xml\");\nvar StringWriter = require(\"./StringWriter\");\nvar escapeXmlOrNullish = escapeXmlHelper.x;\nvar escapeXmlString = escapeXmlHelper.bs_;\nvar missingSetTimeout = typeof setTimeout !== \"function\";\n\nfunction noop() {}\n\nvar voidWriter = {\n write: noop,\n script: noop,\n merge: noop,\n clear: noop,\n get: function () {\n return [];\n },\n toString: function () {\n return \"\";\n }\n};\n\nfunction State(root, stream, writer, events) {\n this.root = root;\n this.stream = stream;\n this.writer = writer;\n this.events = events;\n\n this.finished = false;\n}\n\nfunction escapeEndingComment(text) {\n return text.replace(/(--!?)>/g, \"$1>\");\n}\n\nfunction deferred() {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n}\n\nfunction AsyncStream(global, writer, parentOut) {\n if (parentOut === null) {\n throw new Error(\"illegal state\");\n }\n var finalGlobal = this.attributes = global || {};\n var originalStream;\n var state;\n\n if (parentOut) {\n state = parentOut._state;\n originalStream = state.stream;\n } else {\n var events = finalGlobal.events /* deprecated */ =\n writer && writer.on ? writer : new EventEmitter();\n\n if (writer) {\n originalStream = writer;\n writer = new BufferedWriter(writer);\n } else {\n writer = originalStream = new StringWriter();\n }\n\n state = new State(this, originalStream, writer, events);\n writer.state = state;\n }\n\n finalGlobal.runtimeId = finalGlobal.runtimeId || \"M\";\n this.global = finalGlobal;\n this.stream = originalStream;\n this._state = state;\n\n this._ended = false;\n this._remaining = 1;\n this._lastCount = 0;\n this._last = undefined; // Array\n this._parentOut = parentOut;\n\n this.data = {};\n this.writer = writer;\n writer.stream = this;\n\n this._sync = false;\n this._stack = undefined;\n this.name = undefined;\n this._timeoutId = undefined;\n\n this._node = undefined;\n\n this._elStack = undefined; // Array\n\n this.b_ = null; // ComponentsContext\n\n this.aa_ = null;\n this.ab_ = null;\n this.bd_ = null;\n this.bt_ = false;\n}\n\nAsyncStream.DEFAULT_TIMEOUT = 10000;\n\n/**\n * If set to `true`, AsyncStream errors will include the full stack trace\n */\nAsyncStream.INCLUDE_STACK =\ntypeof process !== \"undefined\" && (\n!process.env.NODE_ENV ||\nprocess.env.NODE_ENV === \"development\" ||\nprocess.env.NODE_ENV === \"dev\");\n\nAsyncStream.enableAsyncStackTrace = function () {\n AsyncStream.INCLUDE_STACK = true;\n};\n\nvar proto = AsyncStream.prototype = {\n constructor: AsyncStream,\n C_: typeof document === \"object\" && document,\n bu_: true,\n\n [Symbol.asyncIterator]() {\n if (this.bv_) {\n return this.bv_;\n }\n\n const originalWriter = this._state.writer;\n let buffer = \"\";\n let iteratorNextFn;\n\n if (!originalWriter.stream) {\n // Writing has finished completely so we can use a simple iterator\n buffer = this.toString();\n iteratorNextFn = () => {\n const value = buffer;\n buffer = \"\";\n return { value, done: !value };\n };\n } else {\n let done = false;\n let pending = deferred();\n const stream = {\n write(data) {\n buffer += data;\n },\n end() {\n done = true;\n pending.resolve({\n value: \"\",\n done\n });\n },\n flush() {\n pending.resolve({\n value: buffer,\n done: false\n });\n buffer = \"\";\n pending = deferred();\n }\n };\n\n this.on(\"error\", pending.reject);\n\n const writer = new BufferedWriter(stream);\n writer.stream = originalWriter.stream;\n writer.stream.writer = writer;\n writer.next = originalWriter.next;\n writer.state = this._state;\n writer.merge(originalWriter);\n\n this._state.stream = stream;\n this._state.writer = writer;\n\n iteratorNextFn = async () => {\n if (buffer || done) {\n const value = buffer;\n buffer = \"\";\n return { value, done };\n }\n return pending.promise;\n };\n }\n\n return this.bv_ = {\n next: iteratorNextFn,\n [Symbol.asyncIterator]() {\n return this;\n }\n };\n },\n\n sync: function () {\n this._sync = true;\n },\n\n isSync: function () {\n return this._sync === true;\n },\n\n write: function (str) {\n if (str != null) {\n this.writer.write(str.toString());\n }\n return this;\n },\n\n script: function (str) {\n if (str != null) {\n this.writer.script(str.toString());\n }\n return this;\n },\n\n ai_: function () {\n return this._state.writer.toString();\n },\n\n /**\n * Legacy...\n */\n getOutput: function () {\n return this.ai_();\n },\n\n toString: function () {\n return this._state.writer.toString();\n },\n\n o_: function () {\n this._result = this._result || new RenderResult(this);\n return this._result;\n },\n\n beginAsync: function (options) {\n if (this._sync) {\n throw new Error(\"beginAsync() not allowed when using renderSync()\");\n }\n\n var state = this._state;\n\n var currentWriter = this.writer;\n\n /* ┏━━━━━┓ this\n ┃ WAS ┃ ↓↑\n ┗━━━━━┛ prevWriter → currentWriter → nextWriter */\n\n var newWriter = new StringWriter();\n var newStream = new AsyncStream(this.global, currentWriter, this);\n newWriter.state = state;\n\n this.writer = newWriter;\n newWriter.stream = this;\n\n newWriter.next = currentWriter.next;\n currentWriter.next = newWriter;\n\n /* ┏━━━━━┓ newStream this\n ┃ NOW ┃ ↓↑ ↓↑\n ┗━━━━━┛ prevWriter → currentWriter → newWriter → nextWriter */\n\n var timeout;\n var name;\n\n this._remaining++;\n\n if (options != null) {\n if (typeof options === \"number\") {\n timeout = options;\n } else {\n timeout = options.timeout;\n\n if (options.last === true) {\n if (timeout == null) {\n // Don't assign a timeout to last flush fragments\n // unless it is explicitly given a timeout\n timeout = 0;\n }\n\n this._lastCount++;\n newStream.bt_ = true;\n }\n\n name = options.name;\n }\n }\n\n if (missingSetTimeout) {\n timeout = 0;\n } else if (timeout == null) {\n timeout = AsyncStream.DEFAULT_TIMEOUT;\n }\n\n newStream._stack = AsyncStream.INCLUDE_STACK ? new Error() : null;\n newStream.name = name;\n\n if (timeout > 0) {\n newStream._timeoutId = setTimeout(function () {\n newStream.error(\n new Error(\n \"Async fragment \" + (\n name ? \"(\" + name + \") \" : \"\") +\n \"timed out after \" +\n timeout +\n \"ms\"\n )\n );\n }, timeout);\n }\n\n state.events.emit(\"beginAsync\", {\n out: newStream,\n parentOut: this\n });\n\n return newStream;\n },\n\n _doFinish: function () {\n var state = this._state;\n\n state.finished = true;\n\n if (state.writer.end) {\n state.writer.end();\n }\n\n if (state.events !== state.stream) {\n state.events.emit(\"finish\", this.o_());\n }\n },\n\n end: function (data) {\n if (this._ended === true) {\n return;\n }\n\n this._ended = true;\n\n var remaining = --this._remaining;\n\n if (data != null) {\n this.write(data);\n }\n\n var currentWriter = this.writer;\n\n /* ┏━━━━━┓ this nextStream\n ┃ WAS ┃ ↓↑ ↓↑\n ┗━━━━━┛ currentWriter → nextWriter → futureWriter */\n\n // Prevent any more writes to the current steam\n this.writer = voidWriter;\n currentWriter.stream = null;\n\n // Flush the contents of nextWriter to the currentWriter\n this._flushNext(currentWriter);\n\n /* ┏━━━━━┓ this ╵ nextStream\n ┃ ┃ ↓ ╵ ↓↑\n ┃ NOW ┃ voidWriter ╵ currentWriter → futureWriter\n ┃ ┃ ──────────────┴────────────────────────────────\n ┗━━━━━┛ Flushed & garbage collected: nextWriter */\n\n var parentOut = this._parentOut;\n\n if (parentOut === undefined) {\n if (remaining === 0) {\n this._doFinish();\n } else if (remaining - this._lastCount === 0) {\n this._emitLast();\n }\n } else {\n var timeoutId = this._timeoutId;\n\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n\n if (remaining === 0) {\n parentOut._handleChildDone(this);\n } else if (remaining - this._lastCount === 0) {\n this._emitLast();\n }\n }\n\n return this;\n },\n\n _handleChildDone: function (childOut) {\n var remaining = --this._remaining;\n\n if (remaining === 0) {\n var parentOut = this._parentOut;\n if (parentOut === undefined) {\n this._doFinish();\n } else {\n parentOut._handleChildDone(this);\n }\n } else {\n if (childOut.bt_) {\n this._lastCount--;\n }\n\n if (remaining - this._lastCount === 0) {\n this._emitLast();\n }\n }\n },\n\n _flushNext: function (currentWriter) {\n // It is possible that currentWriter is the\n // last writer in the chain, so let's make\n // sure there is a nextWriter to flush.\n var nextWriter = currentWriter.next;\n if (nextWriter) {\n // Flush the contents of nextWriter\n // to the currentWriter\n currentWriter.merge(nextWriter);\n\n // Remove nextWriter from the chain.\n // It has been flushed and can now be\n // garbage collected.\n currentWriter.next = nextWriter.next;\n\n // It's possible that nextWriter is the last\n // writer in the chain and its stream already\n // ended, so let's make sure nextStream exists.\n var nextStream = nextWriter.stream;\n if (nextStream) {\n // Point the nextStream to currentWriter\n nextStream.writer = currentWriter;\n currentWriter.stream = nextStream;\n }\n }\n },\n\n on: function (event, callback) {\n var state = this._state;\n\n if (event === \"finish\" && state.finished === true) {\n callback(this.o_());\n } else if (event === \"last\") {\n this.onLast(callback);\n } else {\n state.events.on(event, callback);\n }\n\n return this;\n },\n\n once: function (event, callback) {\n var state = this._state;\n\n if (event === \"finish\" && state.finished === true) {\n callback(this.o_());\n } else if (event === \"last\") {\n this.onLast(callback);\n } else {\n state.events.once(event, callback);\n }\n\n return this;\n },\n\n onLast: function (callback) {\n var lastArray = this._last;\n\n if (lastArray === undefined) {\n this._last = [callback];\n } else {\n lastArray.push(callback);\n }\n\n return this;\n },\n\n _emitLast: function () {\n if (this._last) {\n var i = 0;\n var lastArray = this._last;\n this._last = undefined;\n (function next() {\n if (i === lastArray.length) {\n return;\n }\n var lastCallback = lastArray[i++];\n lastCallback(next);\n\n if (lastCallback.length === 0) {\n next();\n }\n })();\n }\n },\n\n emit: function (type, arg) {\n var events = this._state.events;\n switch (arguments.length) {\n case 1:\n events.emit(type);\n break;\n case 2:\n events.emit(type, arg);\n break;\n default:\n events.emit.apply(events, arguments);\n break;\n }\n return this;\n },\n\n removeListener: function () {\n var events = this._state.events;\n events.removeListener.apply(events, arguments);\n return this;\n },\n\n prependListener: function () {\n var events = this._state.events;\n events.prependListener.apply(events, arguments);\n return this;\n },\n\n pipe: function (stream) {\n this._state.stream.pipe(stream);\n return this;\n },\n\n error: function (e) {\n var name = this.name;\n var stack = this._stack;\n if (stack) stack = getNonMarkoStack(stack);\n\n if (!(e instanceof Error)) {\n e = new Error(JSON.stringify(e));\n }\n\n if (name || stack) {\n e.message +=\n \"\\nRendered by\" + (\n name ? \" \" + name : \"\") + (\n stack ? \":\\n\" + stack : \"\");\n }\n try {\n this.emit(\"error\", e);\n } finally {\n // If there is no listener for the error event then it will\n // throw a new here. In order to ensure that the async fragment\n // is still properly ended we need to put the end() in a `finally`\n // block\n this.end();\n }\n\n return this;\n },\n\n flush: function () {\n var state = this._state;\n\n if (!state.finished) {\n var writer = state.writer;\n if (writer && writer.scheduleFlush) {\n writer.scheduleFlush();\n }\n }\n return this;\n },\n\n createOut: function () {\n var newOut = new AsyncStream(this.global);\n // Forward error events to the parent out.\n newOut.on(\"error\", this.emit.bind(this, \"error\"));\n this._state.events.emit(\"beginDetachedAsync\", {\n out: newOut,\n parentOut: this\n });\n return newOut;\n },\n\n bn_: function (\n tagName,\n elementAttrs,\n key,\n componentDef,\n props)\n {\n var str =\n \"<\" +\n tagName +\n markoAttr(\n this,\n componentDef,\n props,\n key && key[0] === \"@\" ? key : undefined\n ) +\n attrsHelper(elementAttrs);\n\n if (selfClosingTags.voidElements.indexOf(tagName) !== -1) {\n str += \">\";\n } else if (selfClosingTags.svgElements.indexOf(tagName) !== -1) {\n str += \"/>\";\n } else {\n str += \">\";\n }\n\n this.write(str);\n },\n\n element: function (tagName, elementAttrs, openTagOnly) {\n var str = \"<\" + tagName + attrsHelper(elementAttrs) + \">\";\n\n if (openTagOnly !== true) {\n str += \"\";\n }\n\n this.write(str);\n },\n\n bl_: function (\n name,\n elementAttrs,\n key,\n componentDef,\n props)\n {\n var str =\n \"<\" +\n name +\n markoAttr(this, componentDef, props, key) +\n attrsHelper(elementAttrs) +\n \">\";\n\n this.write(str);\n\n if (this._elStack) {\n this._elStack.push(name);\n } else {\n this._elStack = [name];\n }\n },\n\n beginElement: function (name, elementAttrs) {\n var str = \"<\" + name + attrsHelper(elementAttrs) + \">\";\n\n this.write(str);\n\n if (this._elStack) {\n this._elStack.push(name);\n } else {\n this._elStack = [name];\n }\n },\n\n endElement: function () {\n var tagName = this._elStack.pop();\n this.write(\"\");\n },\n\n comment: function (str) {\n this.write(\"\");\n },\n\n text: function (str) {\n this.write(escapeXmlOrNullish(str));\n },\n\n bf: function (key, component, preserve) {\n if (preserve) {\n this.write(\"\");\n }\n if (this._elStack) {\n this._elStack.push(preserve);\n } else {\n this._elStack = [preserve];\n }\n },\n\n ef: function () {\n var preserve = this._elStack.pop();\n if (preserve) {\n this.write(\"\");\n }\n },\n\n ah_: function (host) {\n var node = this._node;\n\n if (!node) {\n var nextEl;\n var fragment;\n var html = this.ai_();\n if (!host) host = this.C_;\n var doc = host.ownerDocument || host;\n\n if (html) {\n node = parseHTML(html);\n\n if (node && node.nextSibling) {\n // If there are multiple nodes, turn it into a document fragment.\n fragment = doc.createDocumentFragment();\n\n do {\n nextEl = node.nextSibling;\n fragment.appendChild(node);\n } while (node = nextEl);\n\n node = fragment;\n }\n }\n\n // if HTML is empty use empty document fragment (so that we're returning a valid DOM node)\n this._node = node || doc.createDocumentFragment();\n }\n return node;\n },\n\n then: function (fn, fnErr) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var out = this;\n return new Promise(function (resolve, reject) {\n out.on(\"error\", reject);\n out.on(\"finish\", function (result) {\n resolve(result);\n });\n }).then(fn, fnErr);\n },\n\n catch: function (fnErr) {\n return this.then(undefined, fnErr);\n },\n\n finally: function (fn) {\n return this.then(undefined, undefined).finally(fn);\n },\n\n c: function (componentDef, key, customEvents) {\n this.aa_ = componentDef;\n this.ab_ = key;\n this.bd_ = customEvents;\n }\n};\n\n// alias:\nproto.w = proto.write;\nproto.bm_ = proto.endElement;\n\nmodule.exports = AsyncStream;\n\nfunction getNonMarkoStack(error) {\n return error.stack.\n toString().\n split(\"\\n\").\n slice(1).\n filter((line) => !/\\/node_modules\\/marko\\//.test(line)).\n join(\"\\n\");\n}","\"use strict\";\n\nconst immediate = require(\"@internal/set-immediate\");\nconst setImmediate = immediate._k_;\nconst clearImmediate = immediate.af_;\nconst StringWriter = require(\"./StringWriter\");\n\n/**\n * Simple wrapper that can be used to wrap a stream\n * to reduce the number of write calls. In Node.js world,\n * each stream.write() becomes a chunk. We can avoid overhead\n * by reducing the number of chunks by buffering the output.\n */\nfunction BufferedWriter(wrappedStream) {\n StringWriter.call(this);\n this._wrapped = wrappedStream;\n this._scheduled = null;\n}\n\nBufferedWriter.prototype = Object.assign(\n {\n scheduleFlush() {\n if (!this._scheduled) {\n this._scheduled = setImmediate(flush.bind(0, this));\n }\n },\n\n end: function () {\n flush(this);\n if (!this._wrapped.isTTY) {\n this._wrapped.end();\n }\n }\n },\n StringWriter.prototype\n);\n\nfunction flush(writer) {\n const contents = writer.toString();\n if (contents.length !== 0) {\n writer._wrapped.write(contents);\n writer.clear();\n if (writer._wrapped.flush) {\n writer._wrapped.flush();\n }\n }\n\n clearImmediate(writer._scheduled);\n writer._scheduled = null;\n}\n\nmodule.exports = BufferedWriter;","\"use strict\";\n\nvar escapeDoubleQuotes =\nrequire(\"./helpers/escape-quotes\").n_;\n\nfunction StringWriter() {\n this._content = \"\";\n this._scripts = \"\";\n this._data = null;\n}\n\nStringWriter.prototype = {\n write: function (str) {\n this._content += str;\n },\n\n script: function (str) {\n if (str) {\n this._scripts += (this._scripts ? \";\" : \"\") + str;\n }\n },\n\n get: function (key) {\n const extra = this._data = this._data || {};\n return extra[key] = extra[key] || [];\n },\n\n merge: function (otherWriter) {\n this._content += otherWriter._content;\n\n if (otherWriter._scripts) {\n this._scripts = this._scripts ?\n this._scripts + \";\" + otherWriter._scripts :\n otherWriter._scripts;\n }\n\n if (otherWriter._data) {\n if (this._data) {\n for (const key in otherWriter._data) {\n if (this._data[key]) {\n this._data[key].push.apply(this._data[key], otherWriter._data[key]);\n } else {\n this._data[key] = this._writer[key];\n }\n }\n } else {\n this._data = otherWriter._data;\n }\n }\n },\n\n clear: function () {\n this._content = \"\";\n this._scripts = \"\";\n this._data = null;\n },\n\n toString: function () {\n this.state.events.emit(\"c_\", this);\n let str = this._content;\n if (this._scripts) {\n const outGlobal = this.state.root.global;\n const cspNonce = outGlobal.cspNonce;\n const nonceAttr = cspNonce ?\n ' nonce=\"' + escapeDoubleQuotes(cspNonce) + '\"' :\n \"\";\n str += `${this._scripts}`;\n }\n return str;\n }\n};\n\nmodule.exports = StringWriter;","\"use strict\";\nvar attrHelper = require(\"./attr\");\nvar notEmptyAttr = attrHelper.bw_;\nvar isEmptyAttrValue = attrHelper.bx_;\nvar classHelper = require(\"./class-attr\");\nvar styleHelper = require(\"./style-attr\");\n\nmodule.exports = function dynamicAttr(name, value) {\n switch (name) {\n case \"class\":\n return classHelper(value);\n case \"style\":\n return styleHelper(value);\n case \"renderBody\":\n return \"\";\n default:\n return isEmptyAttrValue(value) || isInvalidAttrName(name) ?\n \"\" :\n notEmptyAttr(name, value);\n }\n};\n\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// Technically the above includes more invalid characters for attributes.\n// In practice however the only character that does not become an attribute name\n// is when there is a >.\nfunction isInvalidAttrName(name) {\n for (let i = name.length; i--;) {\n if (name[i] === \">\") {\n return true;\n }\n }\n\n return false;\n}","\"use strict\";\n\nvar escapeQuoteHelpers = require(\"./escape-quotes\");\nvar escapeDoubleQuotes = escapeQuoteHelpers.n_;\nvar escapeSingleQuotes = escapeQuoteHelpers.by_;\n// eslint-disable-next-line no-constant-binary-expression\n\n\nmodule.exports = maybeEmptyAttr;\n\nmaybeEmptyAttr.bw_ = notEmptyAttr;\nmaybeEmptyAttr.bx_ = isEmpty;\n\nfunction maybeEmptyAttr(name, value) {\n if (isEmpty(value)) {\n return \"\";\n }\n\n return notEmptyAttr(name, value);\n}\n\nfunction notEmptyAttr(name, value) {\n switch (typeof value) {\n case \"string\":\n return \" \" + name + guessQuotes(value);\n case \"boolean\":\n return \" \" + name;\n case \"number\":\n return \" \" + name + \"=\" + value;\n case \"object\":\n switch (value.toString) {\n case Object.prototype.toString:\n case Array.prototype.toString:\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n\n\n return \" \" + name + singleQuote(JSON.stringify(value), 2);\n case RegExp.prototype.toString:\n return \" \" + name + guessQuotes(value.source);\n }\n }\n\n return \" \" + name + guessQuotes(value + \"\");\n}\n\nfunction isEmpty(value) {\n return value == null || value === false;\n}\n\nfunction doubleQuote(value, startPos) {\n return '=\"' + escapeDoubleQuotes(value, startPos) + '\"';\n}\n\nfunction singleQuote(value, startPos) {\n return \"='\" + escapeSingleQuotes(value, startPos) + \"'\";\n}\n\nfunction guessQuotes(value) {\n for (var i = 0, len = value.length; i < len; i++) {\n switch (value[i]) {\n case '\"':\n return singleQuote(value, i + 1);\n case \"'\":\n case \">\":\n case \" \":\n case \"\\t\":\n case \"\\n\":\n case \"\\r\":\n case \"\\f\":\n return doubleQuote(value, i + 1);\n }\n }\n\n return value && \"=\" + (value[len - 1] === \"/\" ? value + \" \" : value);\n}","\"use strict\";\n\n// eslint-disable-next-line no-constant-binary-expression\n\nvar dynamicAttrHelper = require(\"./_dynamic-attr\");\n\nmodule.exports = function attrs(arg) {\n switch (typeof arg) {\n case \"object\":\n var result = \"\";\n for (var attrName in arg) {\n result += dynamicAttrHelper(attrName, arg[attrName]);\n }\n return result;\n case \"string\":\n // eslint-disable-next-line no-constant-condition\n\n\n\n\n\n return arg;\n default:\n return \"\";\n }\n};","\"use strict\";\n\nvar classHelper = require(\"../../helpers/class-value\");\nvar attr = require(\"./attr\");\n\nmodule.exports = function classAttr(value) {\n return attr(\"class\", classHelper(value));\n};","\"use strict\";\n\nvar escapeQuoteHelpers = require(\"./escape-quotes\");\nvar escapeSingleQuotes = escapeQuoteHelpers.by_;\nvar escapeDoubleQuotes = escapeQuoteHelpers.n_;\nvar FLAG_WILL_RERENDER_IN_BROWSER = 1;\n// var FLAG_HAS_RENDER_BODY = 2;\n\nmodule.exports = function dataMarko(out, componentDef, props, key) {\n var result = \"\";\n var willNotRerender =\n out.b_.w_ ||\n componentDef.u_ &&\n (componentDef.v_ & FLAG_WILL_RERENDER_IN_BROWSER) === 0;\n\n if (willNotRerender) {\n if (props) {\n for (var _ in props) {\n result +=\n \" data-marko='\" + escapeSingleQuotes(JSON.stringify(props)) + \"'\";\n break;\n }\n }\n\n if (key) {\n result +=\n ' data-marko-key=\"' +\n escapeDoubleQuotes(\n componentDef.aO_(key) + \" \" + componentDef.id\n ) +\n '\"';\n }\n }\n\n return result;\n};","\"use strict\";\n\nexports.d = function (value) {\n return escapeDoubleQuotes(value + \"\", 0);\n};\n\nexports.n_ = escapeDoubleQuotes;\n\nexports.by_ = escapeSingleQuotes;\n\nfunction escapeSingleQuotes(value, startPos) {\n return escapeQuote(value, startPos, \"'\", \"'\");\n}\n\nfunction escapeDoubleQuotes(value, startPos) {\n return escapeQuote(value, startPos, '\"', \""\");\n}\n\nfunction escapeQuote(str, startPos, quote, escaped) {\n var result = \"\";\n var lastPos = 0;\n\n for (var i = startPos, len = str.length; i < len; i++) {\n if (str[i] === quote) {\n result += str.slice(lastPos, i) + escaped;\n lastPos = i + 1;\n }\n }\n\n if (lastPos) {\n return result + str.slice(lastPos);\n }\n\n return str;\n}","\"use strict\";\nconst unsafeCharsReg = /<\\/script/g;\nconst replaceMatch = () => \"\\\\x3C/script\";\nconst escape = (str) =>\nunsafeCharsReg.test(str) ? str.replace(unsafeCharsReg, replaceMatch) : str;\n\n/**\n * Escapes the ' body to avoid the `'\n * };\n *\n * \n *\n * Without escaping the ending '' sequence the opening ';\n *\n * \n *\n * Without escaping the ending '' sequence the opening ';\n *\n * \n *\n * Without escaping the ending '' sequence the opening \n\n\n\n \n \n ${error.name}\n \n  : \n \n ${error.file.slice(1)}(${error.line},${error.column})\n \n \n \n
${error.message.replaceAll(examplePath, \"\")}
\n \n \n
${error.codeFrame}
\n \n \n Open the dev tools to view the full error.\n \n \n \n\n\n
\n\n\n $!{result}
\n\n\n {\n clearTimeout(syncTimeout);\n clearTimeout(errorTimeout);\n try {\n vol.rmdirSync(examplePath, { recursive: true });\n } catch (e) {}\n }\n}/>"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/assets/81.bf3a891e.css.map.br b/assets/81.bf3a891e.css.map.br new file mode 100644 index 0000000000000000000000000000000000000000..9e0a1f7f4916facd85a8b74faeb6a8ec65da08a8 GIT binary patch literal 2059 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 PJa6+Ko#r-rG8+H@j19VX literal 0 HcmV?d00001 diff --git a/assets/81.d98ad4c1.js b/assets/81.d98ad4c1.js new file mode 100644 index 00000000..1f2f3225 --- /dev/null +++ b/assets/81.d98ad4c1.js @@ -0,0 +1,2 @@ +"use strict";(globalThis.webpackChunk=globalThis.webpackChunk||[]).push([[81],{"../components/repl/components/preview.marko":(e,t,n)=>{n.r(t),n.d(t,{default:()=>I});var o=n("../../node_modules/marko/dist/runtime/vdom/index.js"),s=n("../../node_modules/path-browserify/index.js"),l=n.n(s),r=n("../../node_modules/prettier/standalone.mjs"),a=n("../../node_modules/prettier/plugins/babel.mjs"),i=n("../../node_modules/prettier/plugins/estree.mjs"),d=n("../utils/highlight.js"),m=n.n(d),c=n("../utils/compiler/index.js"),u=n("../../node_modules/memfs/lib/index.js"),p=n("../../node_modules/@marko/tags-api-preview/dist/transform/cached-values/index-browser.mjs"),h=n("../../node_modules/@marko/tags-api-preview/dist/transform/native-tag-var/index-browser.mjs"),v=n("../../node_modules/@marko/tags-api-preview/dist/util/replace-assignments/index.mjs"),f=n("../../node_modules/marko/dist/runtime/vdom/helpers/const-element.js"),w=n.n(f),k=n("../../node_modules/marko/dist/runtime/helpers/class-value.js"),g=n.n(k),j=n("../../node_modules/@marko/tags-api-preview/dist/components/_instance/index.marko"),b=n("../../node_modules/marko/dist/runtime/helpers/render-tag.js"),_=n.n(b),y=n("../../node_modules/@marko/tags-api-preview/dist/components/effect/index.mjs"),x=n("../../node_modules/@marko/tags-api-preview/dist/chunk-5R2Z7TR6.mjs"),S=n("../../node_modules/marko/dist/runtime/components/renderer.js"),T=n.n(S),C=n("../../node_modules/marko/dist/runtime/components/registry.js"),F=n("../../node_modules/marko/dist/runtime/components/defineComponent.js"),A=n.n(F);const E="ptzHKVod",O=(0,o.t)(E),I=O,H=/(.+?)(?:\((\d+),(\d+)\)|:(\d+)): (.*(?=\s+\d+ | ))/,R=w()("small",null,1).t("Open the dev tools to view the full error.");(0,C.r)(E,(()=>O));const z={onCreate(){this.state={}}};O._=T()((function(e,t,n,o,s,d){(0,x.begin)();try{var f,w=o,k=s,b=e=>f=e;const{type:d,files:x,selectedFile:S,getCompilerOptions:T,debounce:C,onSelectError:F,onSyntaxError:A}=e,E=w.elId("@0"),O=(0,p.cache)((0,p.cached)(w,[E,S.path])||l().join("/",E,S.path)),I=(0,p.cache)((0,p.cached)(w,[E,x[0].path])||l().join("/",E,x[0].path)),z="0"in k?k[0]:k[0]=null,B=e=>w.setState("0",e),G="1"in k?k[1]:k[1]=null,K=e=>w.setState("1",e);t.be("div",{class:g()(["preview-error",z&&"preview-error-active"])},"0",o,null,1),z&&(t.be("h1",{class:"error-name"},"1",o,null,1),t.t(z.name,o),z.file&&(t.t(" :  ",o),t.be("a",null,"2",o,null,0,{onclick:n.d("click",(function(){F(z)}),!1)}),t.t(z.file.slice(1),o),t.t("(",o),t.t(z.line,o),t.t(",",o),t.t(z.column,o),t.t(")",o),t.ee()),t.ee(),t.be("pre",null,"3",o,null,0),t.be("code",null,"4",o,null,0),t.t(z.message.replaceAll(E,""),o),t.ee(),t.ee(),O!==z.file&&(z.codeFrame?(t.be("pre",null,"5",o,null,0),t.be("code",null,"6",o,null,0),t.t(z.codeFrame,o),t.ee(),t.ee()):t.n(R,o))),t.ee(),"preview"===d?_()(j.default,{renderBody:(e,t,n,o)=>{var s=n;const l=(0,h.default)(n,"0");e.e("div",{class:"preview-output"},"@0",s,0,1),b(l)}},t,n,"8"):(t.be("div",{class:"preview-compiled"},"9",o,null,1),t.h(G,o),t.ee()),(0,y.default)(o,(0,p.cache)((0,p.cached)(w,[C,x,E,d,I,T,O,A])||function(){let e,t;async function n(){for(const e of x){const n=l().join("/",E,e.path);u.vol.mkdirSync(l().dirname(n),{recursive:!0}),u.vol.writeFileSync(n,e.content)}try{if("preview"===d||"html"===d){const o=await(0,c.l)({entry:I,markoOptions:{output:"vdom",...T?T():{}}}),s=(0,window.eval)(o.js),p=f().attachShadow({mode:"open"}),h=document.createElement("style");h.innerHTML=o.css,p.appendChild(h),T?.().translator?s.default.mount({},p):(await s.render({})).appendTo(p)}else{const w=d.startsWith("compiled-html")?"html":"vdom",k=await(0,c.w)({entry:O,markoOptions:{output:w,...T?T():{}}});(0,v.default)(K,m()("javascript",await(0,r.GP)(k.replaceAll(`${E}/`,""),{parser:"babel",plugins:[a.A,i.Ay]})))}(0,v.default)(B,null)}catch(g){function j(){const e="SyntaxError"===g.name&&H.exec(g.message);if(e){let[t,n,o,s,r,a]=e;r&&(o=r,s=0),n=l().resolve(n),o=parseInt(o,10),s=parseInt(s,10)+1;const i=g.message.slice(t.length),d=(0,v.default)(B,{name:g.name,file:n,message:a,line:o,column:s,codeFrame:i});n===O&&A&&A(d)}else(0,v.default)(B,g),console.error(g)}C?t=setTimeout(j,1e3):j()}}return C?e=setTimeout(n,100):n(),()=>{clearTimeout(e),clearTimeout(t);try{u.vol.rmdirSync(E,{recursive:!0})}catch(e){}}}))}finally{(0,x.end)()}}),{t:E},z),O.Component=A()(z,O._)}}]); +//# sourceMappingURL=81.d98ad4c1.js.map \ No newline at end of file diff --git a/assets/81.d98ad4c1.js.br b/assets/81.d98ad4c1.js.br new file mode 100644 index 0000000000000000000000000000000000000000..a30f3f3213e93efc65f505895c93cb31b70fdf7e GIT binary patch literal 1700 zcmV;V23z?X8W8{-g-w}zw6Z^^(>T155kpef()6FtOWrg#IW@a8gZs5KH>I9^6{HRt z;3~=glK_Rv#8wpJyLF|33)$6RBO({${}=D)a=$m5mW8da5tzrO&>SK*mAT`Vkg;*DdD6|Bd+_>bi#U&@O4;iEu|@%S&J z(dqOB2SE_#Nrw+;8Rur&EUF-zKct`$fkisce`RP{bCdA^m$z(6y#1YGy$Z#oQV4B< zLCvIKo(aJX4EeROp?;TTY7STbRU<`@rF;crq61DHA4B_!bQ_J;Wg%tuDbj;pgtdjx zAuA$Nc|kK<)-0A_zvlVbT-4h%DO~X?!F(CT#XFhJH6c~07!eKQ^A{niIG^q*e>v@EfwC0i;AhXT>?5XhSP2`b`szX8YxzExBThM`*Y!&lFNWEqHK`-}L zXL_I3D@36a)}7XWjYZusHqJQol}tGmq|+6eGS$*pU%F|b*ED45%2aSANYpcgXF5b= ztXlE1_+zEmP82W|olElxn|Ve_mjSV87cpV;^xTq`9Z#E;-+%=@H{3ru*#C2qJRU<^ zp{K&iY>Bfk^eQ4@Pb+@|kXtK}+m-LZq1wydI1)I0mAAs4J4^lruba@m?FOHJC=T2u ziBMs!t{LVXgA7UV@d9;0p9y*96XaIqA^y>A8#hn!AxIp1Hj~eIf1bVEdCav?@GO)X zGonN6u!5fHLH0^`e5|}@umXy}yIIArwCEFnokZM(wz`mtB6io5@1|Wk_3%Hq^YGUO z!usz&nEO}N?_$Cdp==JUgNBidPBh;J?4M@M}YL*FiIcqBch2g}M3!+(s=_kZ-!sDno$${ElAi%Fz zfYWE)X(rSNL{$5{a1UU&_|Dn-kI}3+a*@1MOa{RXft;I97X~82v#5q5C5k)Pu-b)p zhmJD4pftj1V+H@|mFs~g!F6WboD2J4iX+^Q2L+amhP&$k`}SQu?ObLrcBKg^;kO6l z#!drgnj}Y|z?_qw2|Hx+$#oRgh(Yi+#Foo6Lbs_o=Uxqe_b|`sVj`we7Y}V^;ieZEid%bRxU`;(0!1qSR$=^d4F+1$XW3B7h0-#Uu3F4v03wOFo{@1ZMjcf<_)P6g*G;h zL@otO>{UPz1j%|LY&Au9W0FKPrJzB5LnsyHE7E2vjAv-0XJmDW`xIyjo>uuvW%71A zJ`?j^_x$nhE>qnB>pN|m?D@G#)&qj^%2G8-Ulq?iN^M5bNhTE0(<9XBwg438yUy zJV-}>4^^p?&eJ!pTgy|WqFo$NjnL67t|;Q_`=xAGlKNUy9PD~4&HT&A zVI^ncwG66TU?80-`**y1Hwf`179`Vj*jb{5Y}k>l@JE{2QHrh?-w~A>laUbw-nRoB zo~yEfe?LXMf*8ke6HH>|l3TD8x$<{xr{skQ&jKo!S3|Rm#z!%goC@fS`k{y_YJ*a0 zP?RsHMY+pl>~8Vh)s-*KArmH1oSB{){Pu9}pSiZzZT2O+wIm(~*h*nl-%3WPM1slK zm550fqD;qqhV1>qxEX6}kp{@o_X=adu8!bDWdistaCL={*;XMQIOgg7#@W^_cIGbZ u+dpDgLhZPV3057szY4?G&xydFnfn9ZAHT5EX~0)cXZ&z+r$hM~G-oZWh);h2 literal 0 HcmV?d00001 diff --git a/assets/81.d98ad4c1.js.gz b/assets/81.d98ad4c1.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..8381de0dc907947774c44c70c933af1ff53dcbbd GIT binary patch literal 1922 zcmV-|2YvV-iwFP!000026Qx&eZ`(K${(is0@Pb|vYeN0dfo09TOv8nygi&5vC>n|2dA>YMtr92MC$Xo z@?uSsLS~Djd1)5u6YICP7ndN4($D$D#f#x3R!oR~W|xIEWPC2NEMl0!hHZ?q=3(+?=r;kgUmzsRPf$HbV zhrTOKP)q8sa=Yv+lhd`h@(j>FAzH{V-=8?U_TG zZ4HTKBP#!&M4`)>GQK~N6Vh8D^`%1OgQHGWzLhG2(!M`ev$1Y-u_5eXS<<4;N1ye${3o$eG`lh1%cdx=l@R()g)$%YG)aIpzB+sY~)L zZkL0tSMxuoz{sFhv>)VbeAjknWkc#VHZAh>53+Plx*!*` zVtm*qO%bw<^Sa636maq7m^(Nvy>DaOg3TJR1>n`!xPI>je^e$iKBLa<<|YG9{6EhYATQTn1sQAH{`c>{`R_l@-~X^hI{R`*9~8pqE4kLw z^TyLNz@x7On<*dMrUg6xDvX?_%Ft1_&_W$Hb{)g0p<{2HvLf8PefMvhGdxZC0IdkX z$ABm4DZWknTs%Jjevo|N{6qd6u=)J}w@LE=Nso)a^Mmw*fBqqV-n;Dq^znVV=D?X> zO05~1QfnN72%Mc3WO`vvy_{CPV6FDOV0$qe&FZw&x<}4gCm4+Q0FQ(NK1Lp!#3^(( z-=vi_M~-A54poR9%Lf@Kt?IfSor;g?IS0Z-z~pd`ns(&UqC^rR^ZlpiZi$r;Wl9BpguX%Th#jwoxV{)%J_WMd1HhY<4VW^$#lhlYaGAuPv`OXb7@@WB z6wYGQIU6t}z&9xycISuj{BV2z-Q)AaczzVbggDF9iec5%vSh}AU$E`<+;4cm@MdrC z;nKd$V)18}P-9eWJA%cdyhWW4cc82lGIB|*#;E&FAc(+kMBG9Pcq3w#8;ro&Z@(tL z{n}%3qs5e4CbMsL5Cg2N$+XHANt|j}^T_ayc~Bkm8>j)F4dZXCFKQ89tBm*%TKvEn zXWiqC(8|zm1Mh8QR+me&+k)*D5r^)7Yi;4Ev-jIOd%NAt=DY3h9&Sf9OY&aMNNhXd zq1JqijKQ6@?(g(jn(pEj?aS%d$t4}|Pt5rK^Je_;sTn)8PxL|(gyHYe!kyn8OIVtw z`N2mH{7P(xOsv}4{MzQ5q$>w;B#l?!r)FDMbi6t9P6)V({DKjQM?Br}(UzeoL!{NK z0Yi_2NU90fP}hwP_JTpeKPCDOU^}Sg5#q;(%$)N#_mj&9xVf{;;^*%85nkgMb3DOw zJjKI!&+jo(Q|J+fk@Opr^}3B-+?ra)+fY!?PJ7o-wQnYUR41q{5~EVAtQN~fuH4zi zWIP_rm5Vou8;D`gO6S#zl4pY&usyzZDo`w-jfg=KnKgk-fI60AHRTUdd3(#|VX2$v z&LEr0wN!x*FcTVhMJBjSa)M1i>?(29rYB)>3S%gQI6pY&ki;$#KN$D`*UIE}Eodb* za4W8S9DS!8gbYDu^Rv0k?V49hn^VGUL59_FcFk>8HbY$2G@)@j(sAa)MiYb4TqtA6 zy*>Z=r__qfdn|-33Nrc8T`y=vHP)5iD{6S&3UAW~|#;N!yc;kK}-bf;}w z_=C`7W?>$`?;bl>MLUz$+-C4d3~r?piLo~%7TZpcc-$4qMAa}dX_}ty?H%sz9rCzV6@6=5>0F5GpLUaLh31;t0mbo@GBhBw~$\n\n\n\n\n\n\n\n\n\n\n\n \n \n ${error.name}\n \n  : \n \n ${error.file.slice(1)}(${error.line},${error.column})\n \n \n \n
${error.message.replaceAll(examplePath, \"\")}
\n \n \n
${error.codeFrame}
\n \n \n Open the dev tools to view the full error.\n \n \n \n\n\n
\n\n\n $!{result}
\n\n\n {\n clearTimeout(syncTimeout);\n clearTimeout(errorTimeout);\n try {\n vol.rmdirSync(examplePath, { recursive: true });\n } catch (e) {}\n }\n}/>"],"names":["SYNTAX_ERROR_REG","_marko_node","_marko_constElement","t","_marko_registerComponent","_marko_componentType","_marko_template","_marko_component","onCreate","state","_","_marko_renderer","input","out","_componentDef","_component3","$global","_begin","outputEl","_component","_state","_outputEl_hoisted","type","files","selectedFile","getCompilerOptions","debounce","onSelectError","onSyntaxError","examplePath","elId","selectedPath","_cache","_cached","path","defaultPath","error","_errorSet","_error","setState","result","_resultSet","_result","be","_marko_class_merge","name","file","d","slice","line","column","ee","message","replaceAll","codeFrame","n","_marko_tag","_instance","renderBody","_nestedComponentDef","_component2","_state2","_createRef","e","h","_effect","syncTimeout","errorTimeout","async","showPreview","filePath","vol","mkdirSync","recursive","writeFileSync","content","bundleResult","bundle","entry","markoOptions","output","template","window","eval","js","root","attachShadow","mode","style","document","createElement","innerHTML","css","appendChild","translator","default","mount","render","appendTo","startsWith","code","compile","_assign","highlight","format","parser","plugins","prettierBabel","prettierEstree","err","showError","errorWithLocationMatch","exec","match","lineOnly","parseInt","length","errorData","console","setTimeout","clearTimeout","rmdirSync","_end","Component","_marko_defineComponent"],"sourceRoot":""} \ No newline at end of file diff --git a/assets/81.d98ad4c1.js.map.br b/assets/81.d98ad4c1.js.map.br new file mode 100644 index 0000000000000000000000000000000000000000..91fce0aed08b65b251c81b619d290262be7720c9 GIT binary patch literal 3794 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 Irsv6_0P#p`r2qf` literal 0 HcmV?d00001 diff --git a/assets/81.d98ad4c1.js.map.gz b/assets/81.d98ad4c1.js.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..737311e9cabba18a9e0706693739e742ceacfebb GIT binary patch literal 4257 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 D=b9UA literal 0 HcmV?d00001 diff --git a/assets/858.e13f35da.js b/assets/858.9323781e.js similarity index 61% rename from assets/858.e13f35da.js rename to assets/858.9323781e.js index f3c7e64f..d800a9f2 100644 --- a/assets/858.e13f35da.js +++ b/assets/858.9323781e.js @@ -1,2 +1,2 @@ -(globalThis.webpackChunk=globalThis.webpackChunk||[]).push([[858],{"../components/repl/index.marko":(e,t,n)=>{"use strict";n.d(t,{A:()=>le});var o=n("../../node_modules/marko/dist/runtime/vdom/index.js"),s=n("../../node_modules/@marko/tags-api-preview/dist/util/replace-assignments/index.mjs"),a=n("../../node_modules/@marko/tags-api-preview/dist/transform/cached-values/index-browser.mjs"),l=n("../../node_modules/@marko/tags-api-preview/dist/transform/native-tag-var/index-browser.mjs"),i=n("../../node_modules/@marko/tags-api-preview/dist/components/lifecycle/index.mjs"),r=n("../../node_modules/@marko/tags-api-preview/dist/components/_instance/index.marko"),d=n("../../node_modules/marko/dist/runtime/helpers/render-tag.js"),c=n.n(d),u=n("../../node_modules/marko/dist/runtime/helpers/class-value.js"),p=n.n(u),m=n("../../node_modules/marko/dist/runtime/helpers/of-fallback.js"),h=n.n(m),f=n("../../node_modules/@marko/tags-api-preview/dist/chunk-5R2Z7TR6.mjs"),v=n("../../node_modules/marko/dist/runtime/components/renderer.js"),g=n.n(v),y=n("../../node_modules/marko/dist/runtime/components/registry.js"),w=n("../../node_modules/marko/dist/runtime/components/defineComponent.js"),b=n.n(w);const k="JtPBPdcm",_=(0,o.t)(k),x=_;(0,y.r)(k,(()=>_));const C={onCreate(){this.state={}}};_._=g()((function(e,t,n,o,d,u){(0,f.begin)();try{var m=o,v=d;const{selectedIndexChange:u,filesChange:f,files:g,selectedIndex:y}=e,w=f||(e=>m.setState("0",e)),b=f?g:"0"in v?v[0]:v[0]=g,k=u||(e=>m.setState("1",e)),_=u?y:"1"in v?v[1]:v[1]=y,x=b[_];t.be("div",{class:"file-tabs"},"0",o,null,1);{const e="2"in v?v[2]:v[2]=1,d=e=>m.setState("2",e);let u=0;for(const e of h()(b)){let o=u++;const d=`[${o}]`;c()(r.default,{renderBody:(t,n,u,m)=>{var h=n,f=u;const v="0"in m?m[0]:m[0]=!1,g=e=>u.setState("0",e),y=x===e,C=o>0;t.be("div",{class:p()(["file-tab",{selected:y}])},"2"+d,f,null,1,{onclick:h.d("click",(function(){y?(0,s.default)(g,!0):((0,s.default)(g,!1),(0,s.default)(k,o))}),!1)}),v&&y&&C?c()(r.default,{renderBody:(t,n,r,d)=>{var c=n,u=r;const p="0"in d?d[0]:d[0]=e.name,m=(0,a.cache)((0,a.cached)(r,[p,b])||function(){const t={...e,name:p,path:e.path.replace(e.name,p)};(0,s.default)(w,[...b.slice(0,o),t,...b.slice(o+1)]),(0,s.default)(g,!1)}),h=(0,l.default)(r,"0");var f=e=>r.setState("0",e);t.e("input",{type:"text",size:p.length,value:p},"@0",u,0,0,{pa:[f&&"value"],onblur:c.d("blur",m,!1),onkeydown:c.d("keydown",(function(e){"Enter"===e.code&&m()}),!1),oninput:c.d("input",(e=>{f(e.target.value)}),!1)}),(0,i.default)(u,{onMount:(0,a.cache)((0,a.cached)(r,[p])||function(){h().focus(),h().setSelectionRange(0,p.indexOf("."))})})}},t,h,"3"+d):t.t(e.name,f),C&&(t.be("button",{class:"file-close"},"4"+d,f,null,1,{onclick:h.d("click",(function(t){window.confirm(`Delete ${e.path}?`)&&(_>=o&&(0,s.default)(k,_-1),(0,s.default)(w,[...b.slice(0,o),...b.slice(o+1)])),t.stopPropagation()}),!1)}),t.t("×",f),t.ee()),t.ee()}},t,n,"1"+d)}t.be("button",{class:"new-file"},"5",o,null,1,{onclick:n.d("click",(function(){const t={name:`Component${e}.marko`,path:`/components/Component${e}.marko`,content:""},n=b.length;(0,s.default)(w,b.concat(t)),(0,s.default)(k,n),(0,s.default)(d,e+1)}),!1)}),t.t("+",o),t.ee()}t.ee()}finally{(0,f.end)()}}),{t:k},C),_.Component=b()(C,_._);var j=n("../../node_modules/marko/dist/runtime/helpers/attr-tag.js"),S=n("../../node_modules/marko/dist/runtime/helpers/dynamic-tag.js"),L=n.n(S),T=n("../../node_modules/marko/dist/runtime/vdom/helpers/const-element.js"),B=n.n(T);const E="YdDerxpd",M=(0,o.t)(E),A=M,H=B()("div",{class:"pane-divider"},0);(0,y.r)(E,(()=>M));const O={};M._=g()((function(e,t,n,o,s,a){(0,f.begin)();try{const{actions:s,body:a}=e;t.be("div",{class:"pane"},"0",o,null,1),t.be("div",{class:"pane-actions"},"1",o,null,1),L()(t,s.renderBody,null,null,null,null,n,"2"),t.ee(),t.n(H,o),t.be("div",{class:"pane-body"},"4",o,null,1),L()(t,a.renderBody,null,null,null,null,n,"5"),t.ee(),t.ee()}finally{(0,f.end)()}}),{t:E,i:!0},O),M.Component=b()(O,M._);var q=n("../../node_modules/@marko/tags-api-preview/dist/components/effect/index.mjs");const P="edcMGKVi",R=(0,o.t)(P),D=R;(0,y.r)(P,(()=>R));const I={onCreate(){this.state={}}};R._=g()((function(e,t,n,o,s,i){(0,f.begin)();try{var r=o;const{value:s,valueChange:i,renderBody:d,class:c}=e,u=(0,l.default)(r,"0");t.be("select",{class:p()(c)},"@0",o,null,1,{onchange:n.d("change",(function(e){i(e.target.value)}),!1)}),L()(t,d,null,null,null,null,n,"0"),t.ee(),(0,q.default)(o,(0,a.cache)((0,a.cached)(r,[s,d,i])||function(){u().value=s}))}finally{(0,f.end)()}}),{t:P},I),R.Component=b()(I,R._);var F=n("../../node_modules/lz-string/libs/lz-string.js"),W=n("../../node_modules/@marko/tags-api-preview/dist/translate/native-tag-handlers/index-browser.mjs"),Y=n("../../node_modules/marko/dist/runtime/vdom/helpers/attrs.js"),$=n.n(Y);const z="fLRwaABg",V=(0,o.t)(z),U=V,X=B()("span",null,1).t("Open in playground ");(0,y.r)(z,(()=>V));const J={};V._=g()((function(e,t,n,o,s,a){(0,f.begin)();try{const{files:s,...a}=e;var l={};t.be("a",$()((0,W.default)({...a,href:`/playground/#${(0,F.compressToEncodedURIComponent)(JSON.stringify(s))}`,target:"_top",class:"playground-link"},n,"a",l)),"0",o,null,4,{...l}),t.n(X,o),t.t("↗",o),t.ee()}finally{(0,f.end)()}}),{t:z,i:!0},J),V.Component=b()(J,V._);var K=n("../../node_modules/@marko/tags-api-preview/dist/components/return/index-browser.mjs");const N="aEQdEE_f",Q=(0,o.t)(N),G=Q;(0,y.r)(N,(()=>Q));const Z={onCreate(){this.state={}}};Q._=g()((function(e,t,n,o,l,i){(0,f.begin)();try{var r=o,d=l;const{value:t,fallback:n}=e,i="0"in d?d[0]:d[0]=window.matchMedia(t).matches,c=e=>r.setState("0",e);(0,q.default)(o,(0,a.cache)((0,a.cached)(r,[t])||function(){const e=window.matchMedia(t),n=()=>(0,s.default)(c,!!e.matches);return e.addEventListener("change",n),(0,s.default)(c,!!e.matches),()=>e.removeEventListener("change",n)})),e._return&&e._return({value:i},1)}finally{(0,f.end)()}}),{t:N},Z),Q.Component=b()(Z,Q._);const ee="H_lRXCBe",te=(0,o.t)(ee),ne=te;(0,y.r)(ee,(()=>te));const oe={onCreate(){this.state={}}};te._=g()((function(e,t,n,o,i,d){(0,f.begin)();try{var u=o,m=i;const{left:d,right:f}=e,y="0"in m?m[0]:m[0]=.5,w=e=>u.setState("0",e),b="1"in m?m[1]:m[1]=!1,k=e=>u.setState("1",e);var h=(0,K.default)(u);c()(G,{value:"(max-aspect-ratio: 1/1)",_return:h},t,n,"0");const{value:_}=h(),x=(0,l.default)(u,"0");t.be("div",{class:p()(["panes",b&&"resizing"])},"@0",o,null,1);var v={};t.be("div",$()((0,W.default)({...d,style:`flex-grow:${y}`},n,"div",v)),"1",o,null,4,{...v}),L()(t,d.renderBody,null,null,null,null,n,"2"),t.ee(),t.be("div",{class:"divider"},"3",o,null,1),t.e("div",{class:"inner"},"4",o,0,1,{onmousedown:n.d("mousedown",(function(e){(0,s.default)(k,!0),e.preventDefault(),e.stopPropagation()}),!1)}),t.ee();var g={};t.be("div",$()((0,W.default)({...f,style:"flex-grow:"+(1-y)},n,"div",g)),"5",o,null,4,{...g}),L()(t,f.renderBody,null,null,null,null,n,"6"),t.ee(),t.ee(),b&&c()(r.default,{renderBody:(e,t,n,o)=>{var l=n;(0,q.default)(l,(0,a.cache)((0,a.cached)(n,[_])||function(){const e=e=>{if(e.buttons||e.which){const t=x().getBoundingClientRect(),n=_?(e.clientY-t.top)/t.height:(e.clientX-t.left)/t.width;n>0&&(0,s.default)(w,Math.min(.8,Math.max(.2,n)))}else(0,s.default)(k,!1)};return window.addEventListener("mousemove",e),()=>window.removeEventListener("mousemove",e)}))}},t,n,"7")}finally{(0,f.end)()}}),{t:ee},oe),te.Component=b()(oe,te._);const se="rtapnbhf",ae=(0,o.t)(se),le=ae,ie=B()("option",{value:"preview"},1).t("App Preview"),re=B()("option",{value:"compiled-html"},1).t("Compiled (HTML)"),de=B()("option",{value:"compiled-vdom"},1).t("Compiled (DOM)");(0,y.r)(se,(()=>ae));const ce={onCreate(){this.state={}}};ae._=g()((function(e,t,o,l,d,u){(0,f.begin)();try{var p=l,m=d;const{filesChange:u,getCompilerOptions:h,files:f}=e,v="0"in m?m[0]:m[0]=0,g=e=>p.setState("0",e),y="1"in m?m[1]:m[1]="preview",w=e=>p.setState("1",e),b="2"in m?m[2]:m[2]=!1,k=e=>p.setState("2",e),_=f[v];c()(ne,(0,j.i)((()=>{(0,j.a)("left",{class:"editor-container",renderBody:e=>{c()(A,(0,j.i)((()=>{(0,j.a)("actions",{renderBody:e=>{c()(r.default,{renderBody:(e,t,n,o)=>{var l=t;c()(x,{files:f,filesChange:u,selectedIndex:v,selectedIndexChange:(0,a.cache)((0,a.cached)(n,[])||(e=>(0,s.default)(g,e)))},e,l,"3")}},e,o,"2")}}),(0,j.a)("body",{renderBody:e=>{c()(r.default,{renderBody:(e,t,o,l)=>{var d=t,p=o;const m="0"in l?l[0]:l[0]=null,h=e=>o.setState("0",e);m&&c()(r.default,{renderBody:(e,t,n,o)=>{var l=t;L()(e,m,(()=>({value:_.content,filename:_.path,valueChange:(0,a.cache)((0,a.cached)(n,[_,f,v])||function(e){const t={..._,content:e};(0,s.default)(u,[...f.slice(0,v),t,...f.slice(v+1)]),(0,s.default)(k,!0)})})),null,null,null,l,"6")}},e,d,"5"),(0,i.default)(p,{onMount:(0,a.cache)((0,a.cached)(o,[])||(async()=>{const e=await Promise.all([n.e(745),n.e(535),n.e(157),n.e(760),n.e(268)]).then(n.bind(n,"../components/repl/components/editor.marko"));await e.loading,(0,s.default)(h,e)}))})}},e,o,"4")}})})),e,o,"1")}}),(0,j.a)("right",{renderBody:e=>{c()(A,(0,j.i)((()=>{(0,j.a)("actions",{renderBody:e=>{c()(r.default,{renderBody:(e,t,n,o)=>{var l=t,i=n;c()(D,{value:y,valueChange:(0,a.cache)((0,a.cached)(n,[])||function(e){(0,s.default)(w,e),(0,s.default)(k,!1)}),class:"preview-select",renderBody:e=>{e.n(ie,i),e.n(re,i),e.n(de,i)}},e,l,"9"),c()(U,{files:f},e,l,"13")}},e,o,"8")}}),(0,j.a)("body",{renderBody:e=>{c()(r.default,{renderBody:(e,t,o,l)=>{var r=t,d=o;const c="0"in l?l[0]:l[0]=null,u=e=>o.setState("0",e);L()(e,c,(()=>({type:y,files:f,selectedFile:_,getCompilerOptions:h,debounce:b})),null,null,null,r,"15"),(0,i.default)(d,{onMount:(0,a.cache)((0,a.cached)(o,[])||(async()=>{(0,s.default)(u,await Promise.all([n.e(745),n.e(663),n.e(535),n.e(783),n.e(760),n.e(887),n.e(967)]).then(n.bind(n,"../components/repl/components/preview.marko")))}))})}},e,o,"14")}})})),e,o,"7")}})})),t,o,"0")}finally{(0,f.end)()}}),{t:se},ce),ae.Component=b()(ce,ae._)},"./v6/examples/[name]/index.marko?browser-entry":(e,t,n)=>{"use strict";var o=n("../../node_modules/marko/dist/runtime/components/index.js"),s=(n("../components/app-layout/favicon.png"),n("../logos/marko.svg"),n("../logos/marko-uwu.png"),n("../components/app-layout/components/layout-search/component-browser.js")),a=n("../components/app-layout/components/layout-header/component-browser.js"),l=n.n(a),i=n("../components/app-layout/components/layout-sidebar/components/version-switcher/component-browser.js"),r=n.n(i),d=n("../components/app-layout/components/layout-sidebar/component-browser.js"),c=n.n(d);n("../components/app-footer/openjsf.svg"),n("../components/app-footer/osi.svg"),n("../components/app-footer/ebay.svg"),n("../logos/discord.svg"),n("../components/repl/index.marko"),(0,o.register)("MYKqWWDb",s.A),(0,o.register)("FbSTxHWc",l()),(0,o.register)("bjXvzQUk",r()),(0,o.register)("SxWdUlSh",c()),(0,o.init)()},"../components/app-layout/components/layout-header/component-browser.js":(e,t,n)=>{var o=n("../components/app-layout/components/layout-header/events.js"),s="headspace--fixed",a="headspace--hidden";e.exports={onMount(){o.emit("create",this);var e,t=0,n=this.getEl("header").offsetHeight,s=(this.getEl("banner")||{offsetHeight:0}).offsetHeight,a=(e=()=>{var e=window.pageYOffset;e<=s?this.reset():!this.paused&&e>n&&(Math.abs(e-t)>=3||e>t&&t<=n)&&(e>t?this.hide():this.fix()),t=e},()=>window.requestAnimationFrame(e));a(),window.addEventListener("scroll",a)},reset(){this.removeClass(s),this.removeClass(a),o.emit("reset")},fix(){this.addClass(s),this.removeClass(a),o.emit("fix")},hide(){this.addClass(a),o.emit("hide")},addClass(e){this.getEl("header").classList.add(e)},removeClass(e){this.getEl("header").classList.remove(e)},pause(){this.paused=!0},resume(){setTimeout((()=>window.requestAnimationFrame((()=>{this.paused=!1}))))},toggleMenu(){o.emit("toggle-menu")}}},"../components/app-layout/components/layout-header/events.js":(e,t,n)=>{var o=n("../../node_modules/events/events.js");e.exports=new o},"../components/app-layout/components/layout-search/component-browser.js":(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const o=class{async onMount(){const{init:e}=await Promise.all([n.e(914),n.e(205)]).then(n.bind(n,"../components/app-layout/components/layout-search/doc-search.js"));e(this.getEl("container"))}}},"../components/app-layout/components/layout-sidebar/component-browser.js":(e,t,n)=>{var o,s=n("../components/app-layout/components/layout-header/events.js"),a=[].forEach,l=[].filter,i=[].slice;e.exports={onMount(){this.preventOverscroll(),this.listenForHeaderChanges(),this.initScrollSpy()},initScrollSpy(){var e=[1,2,3,4,5,6].map((e=>".doc-content h"+e)).join(","),t=i.call(document.querySelectorAll(e)),n=!1;t.length&&this.subscribeTo(window).on("scroll",(()=>{n||(n=!0,setTimeout((()=>{var e,o,s=window.innerHeight/3;t.map((t=>{var n=t.getBoundingClientRect().top;(null==o||ne.classList.remove("selected")));d;){var u=d.closest("ul"),p=u&&l.call(u.querySelectorAll(":scope > li > a[href^=\\#]"),(e=>e!==d));p&&p.forEach((e=>e.classList.remove("selected"))),d.classList.add("selected"),d=u&&u.previousElementSibling}this.scrollAnchorIntoView(r),n=!1}),50))}))},listenForHeaderChanges(){a.call(this.el.querySelectorAll("a[href^=\\#]"),(e=>{this.subscribeTo(e).on("click",(()=>{o.hide(),o.pause(),o.resume(),this.hide()}))}));var e=i.call(this.el.querySelectorAll("a.selected")).pop();e&&this.subscribeTo(e).on("click",(e=>{window.scrollTo(0,0),o.reset(),e.preventDefault()})),this.subscribeTo(s).on("reset",(()=>{this.el.classList.remove("no-header"),this.el.classList.remove("fixed"),setTimeout((()=>this.el.classList.remove("transition")),0)})).on("fix",(()=>{this.el.classList.remove("no-header"),this.el.classList.add("fixed"),setTimeout((()=>this.el.classList.add("transition")),0)})).on("hide",(()=>{this.el.classList.add("no-header"),this.el.classList.add("fixed"),setTimeout((()=>this.el.classList.add("transition")),0)})).on("toggle-menu",(()=>{this.el.classList.contains("show")?(this.el.classList.remove("show"),document.body.style.overflow=""):this.el.classList.add("show")})).on("create",(e=>{o=e,window.pageYOffset>o.el.offsetHeight&&(this.el.classList.add("no-header"),this.el.classList.add("fixed"))}))},preventOverscroll(){var e=this.getEl("sidebar");this.subscribeTo(document.body).on("wheel",(t=>{var n=t.deltaY,o=e.scrollTop+n,s=e.scrollHeight-e.offsetHeight,a=o<=0,l=o>=s;(n<0&&a||n>0&&l)&&(t.target===e||e.contains(t.target))&&(a&&0!=e.scrollTop?e.scrollTop=0:l&&e.scrollTop!=s&&(e.scrollTop=s),t.preventDefault())}))},scrollAnchorIntoView(e){for(var t,n=this.getEl("sidebar"),o=(e.offsetTop,n.scrollTop),s=n.offsetHeight,a=o+s,l=e.closest("li");(t=l.parentNode.closest("ul"))&&t.offsetHeighto&&i+r{e.exports={onMount(){const e=this.getEl("version").value,t=e.startsWith("/v6"),n=!t&&e.startsWith("/");(this.v6&&!t||!this.v6&&!n)&&(window.location.href=e)},switchVersion(e){window.location.href=e.target.value}}},"../components/app-footer/ebay.svg":(e,t,n)=>{"use strict";n.p},"../components/app-footer/openjsf.svg":(e,t,n)=>{"use strict";n.p},"../components/app-footer/osi.svg":(e,t,n)=>{"use strict";n.p},"../components/app-layout/favicon.png":(e,t,n)=>{"use strict";n.p},"../logos/discord.svg":(e,t,n)=>{"use strict";n.p},"../logos/marko-uwu.png":(e,t,n)=>{"use strict";n.p},"../logos/marko.svg":(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const o=n.p+"91bc26e5.svg"}},e=>{e.O(0,[364,72],(()=>e(e.s="./v6/examples/[name]/index.marko?browser-entry"))),e.O()}]); -//# sourceMappingURL=858.e13f35da.js.map \ No newline at end of file +(globalThis.webpackChunk=globalThis.webpackChunk||[]).push([[858],{"../components/repl/index.marko":(e,t,n)=>{"use strict";n.d(t,{A:()=>le});var o=n("../../node_modules/marko/dist/runtime/vdom/index.js"),s=n("../../node_modules/@marko/tags-api-preview/dist/util/replace-assignments/index.mjs"),a=n("../../node_modules/@marko/tags-api-preview/dist/transform/cached-values/index-browser.mjs"),l=n("../../node_modules/@marko/tags-api-preview/dist/transform/native-tag-var/index-browser.mjs"),i=n("../../node_modules/@marko/tags-api-preview/dist/components/lifecycle/index.mjs"),r=n("../../node_modules/@marko/tags-api-preview/dist/components/_instance/index.marko"),d=n("../../node_modules/marko/dist/runtime/helpers/render-tag.js"),c=n.n(d),u=n("../../node_modules/marko/dist/runtime/helpers/class-value.js"),p=n.n(u),m=n("../../node_modules/marko/dist/runtime/helpers/of-fallback.js"),h=n.n(m),f=n("../../node_modules/@marko/tags-api-preview/dist/chunk-5R2Z7TR6.mjs"),v=n("../../node_modules/marko/dist/runtime/components/renderer.js"),g=n.n(v),y=n("../../node_modules/marko/dist/runtime/components/registry.js"),w=n("../../node_modules/marko/dist/runtime/components/defineComponent.js"),b=n.n(w);const k="JtPBPdcm",_=(0,o.t)(k),x=_;(0,y.r)(k,(()=>_));const C={onCreate(){this.state={}}};_._=g()((function(e,t,n,o,d,u){(0,f.begin)();try{var m=o,v=d;const{selectedIndexChange:u,filesChange:f,files:g,selectedIndex:y}=e,w=f||(e=>m.setState("0",e)),b=f?g:"0"in v?v[0]:v[0]=g,k=u||(e=>m.setState("1",e)),_=u?y:"1"in v?v[1]:v[1]=y,x=b[_];t.be("div",{class:"file-tabs"},"0",o,null,1);{const e="2"in v?v[2]:v[2]=1,d=e=>m.setState("2",e);let u=0;for(const e of h()(b)){let o=u++;const d=`[${o}]`;c()(r.default,{renderBody:(t,n,u,m)=>{var h=n,f=u;const v="0"in m?m[0]:m[0]=!1,g=e=>u.setState("0",e),y=x===e,C=o>0;t.be("div",{class:p()(["file-tab",{selected:y}])},"2"+d,f,null,1,{onclick:h.d("click",(function(){y?(0,s.default)(g,!0):((0,s.default)(g,!1),(0,s.default)(k,o))}),!1)}),v&&y&&C?c()(r.default,{renderBody:(t,n,r,d)=>{var c=n,u=r;const p="0"in d?d[0]:d[0]=e.name,m=(0,a.cache)((0,a.cached)(r,[p,b])||function(){const t={...e,name:p,path:e.path.replace(e.name,p)};(0,s.default)(w,[...b.slice(0,o),t,...b.slice(o+1)]),(0,s.default)(g,!1)}),h=(0,l.default)(r,"0");var f=e=>r.setState("0",e);t.e("input",{type:"text",size:p.length,value:p},"@0",u,0,0,{pa:[f&&"value"],onblur:c.d("blur",m,!1),onkeydown:c.d("keydown",(function(e){"Enter"===e.code&&m()}),!1),oninput:c.d("input",(e=>{f(e.target.value)}),!1)}),(0,i.default)(u,{onMount:(0,a.cache)((0,a.cached)(r,[p])||function(){h().focus(),h().setSelectionRange(0,p.indexOf("."))})})}},t,h,"3"+d):t.t(e.name,f),C&&(t.be("button",{class:"file-close"},"4"+d,f,null,1,{onclick:h.d("click",(function(t){window.confirm(`Delete ${e.path}?`)&&(_>=o&&(0,s.default)(k,_-1),(0,s.default)(w,[...b.slice(0,o),...b.slice(o+1)])),t.stopPropagation()}),!1)}),t.t("×",f),t.ee()),t.ee()}},t,n,"1"+d)}t.be("button",{class:"new-file"},"5",o,null,1,{onclick:n.d("click",(function(){const t={name:`Component${e}.marko`,path:`/components/Component${e}.marko`,content:""},n=b.length;(0,s.default)(w,b.concat(t)),(0,s.default)(k,n),(0,s.default)(d,e+1)}),!1)}),t.t("+",o),t.ee()}t.ee()}finally{(0,f.end)()}}),{t:k},C),_.Component=b()(C,_._);var j=n("../../node_modules/marko/dist/runtime/helpers/attr-tag.js"),S=n("../../node_modules/marko/dist/runtime/helpers/dynamic-tag.js"),L=n.n(S),T=n("../../node_modules/marko/dist/runtime/vdom/helpers/const-element.js"),B=n.n(T);const E="YdDerxpd",M=(0,o.t)(E),A=M,H=B()("div",{class:"pane-divider"},0);(0,y.r)(E,(()=>M));const O={};M._=g()((function(e,t,n,o,s,a){(0,f.begin)();try{const{actions:s,body:a}=e;t.be("div",{class:"pane"},"0",o,null,1),t.be("div",{class:"pane-actions"},"1",o,null,1),L()(t,s.renderBody,null,null,null,null,n,"2"),t.ee(),t.n(H,o),t.be("div",{class:"pane-body"},"4",o,null,1),L()(t,a.renderBody,null,null,null,null,n,"5"),t.ee(),t.ee()}finally{(0,f.end)()}}),{t:E,i:!0},O),M.Component=b()(O,M._);var q=n("../../node_modules/@marko/tags-api-preview/dist/components/effect/index.mjs");const P="edcMGKVi",R=(0,o.t)(P),D=R;(0,y.r)(P,(()=>R));const I={onCreate(){this.state={}}};R._=g()((function(e,t,n,o,s,i){(0,f.begin)();try{var r=o;const{value:s,valueChange:i,renderBody:d,class:c}=e,u=(0,l.default)(r,"0");t.be("select",{class:p()(c)},"@0",o,null,1,{onchange:n.d("change",(function(e){i(e.target.value)}),!1)}),L()(t,d,null,null,null,null,n,"0"),t.ee(),(0,q.default)(o,(0,a.cache)((0,a.cached)(r,[s,d,i])||function(){u().value=s}))}finally{(0,f.end)()}}),{t:P},I),R.Component=b()(I,R._);var F=n("../../node_modules/lz-string/libs/lz-string.js"),W=n("../../node_modules/@marko/tags-api-preview/dist/translate/native-tag-handlers/index-browser.mjs"),Y=n("../../node_modules/marko/dist/runtime/vdom/helpers/attrs.js"),$=n.n(Y);const z="fLRwaABg",V=(0,o.t)(z),U=V,X=B()("span",null,1).t("Open in playground ");(0,y.r)(z,(()=>V));const J={};V._=g()((function(e,t,n,o,s,a){(0,f.begin)();try{const{files:s,...a}=e;var l={};t.be("a",$()((0,W.default)({...a,href:`/playground/#${(0,F.compressToEncodedURIComponent)(JSON.stringify(s))}`,target:"_top",class:"playground-link"},n,"a",l)),"0",o,null,4,{...l}),t.n(X,o),t.t("↗",o),t.ee()}finally{(0,f.end)()}}),{t:z,i:!0},J),V.Component=b()(J,V._);var K=n("../../node_modules/@marko/tags-api-preview/dist/components/return/index-browser.mjs");const N="aEQdEE_f",Q=(0,o.t)(N),G=Q;(0,y.r)(N,(()=>Q));const Z={onCreate(){this.state={}}};Q._=g()((function(e,t,n,o,l,i){(0,f.begin)();try{var r=o,d=l;const{value:t,fallback:n}=e,i="0"in d?d[0]:d[0]=window.matchMedia(t).matches,c=e=>r.setState("0",e);(0,q.default)(o,(0,a.cache)((0,a.cached)(r,[t])||function(){const e=window.matchMedia(t),n=()=>(0,s.default)(c,!!e.matches);return e.addEventListener("change",n),(0,s.default)(c,!!e.matches),()=>e.removeEventListener("change",n)})),e._return&&e._return({value:i},1)}finally{(0,f.end)()}}),{t:N},Z),Q.Component=b()(Z,Q._);const ee="H_lRXCBe",te=(0,o.t)(ee),ne=te;(0,y.r)(ee,(()=>te));const oe={onCreate(){this.state={}}};te._=g()((function(e,t,n,o,i,d){(0,f.begin)();try{var u=o,m=i;const{left:d,right:f}=e,y="0"in m?m[0]:m[0]=.5,w=e=>u.setState("0",e),b="1"in m?m[1]:m[1]=!1,k=e=>u.setState("1",e);var h=(0,K.default)(u);c()(G,{value:"(max-aspect-ratio: 1/1)",_return:h},t,n,"0");const{value:_}=h(),x=(0,l.default)(u,"0");t.be("div",{class:p()(["panes",b&&"resizing"])},"@0",o,null,1);var v={};t.be("div",$()((0,W.default)({...d,style:`flex-grow:${y}`},n,"div",v)),"1",o,null,4,{...v}),L()(t,d.renderBody,null,null,null,null,n,"2"),t.ee(),t.be("div",{class:"divider"},"3",o,null,1),t.e("div",{class:"inner"},"4",o,0,1,{onmousedown:n.d("mousedown",(function(e){(0,s.default)(k,!0),e.preventDefault(),e.stopPropagation()}),!1)}),t.ee();var g={};t.be("div",$()((0,W.default)({...f,style:"flex-grow:"+(1-y)},n,"div",g)),"5",o,null,4,{...g}),L()(t,f.renderBody,null,null,null,null,n,"6"),t.ee(),t.ee(),b&&c()(r.default,{renderBody:(e,t,n,o)=>{var l=n;(0,q.default)(l,(0,a.cache)((0,a.cached)(n,[_])||function(){const e=e=>{if(e.buttons||e.which){const t=x().getBoundingClientRect(),n=_?(e.clientY-t.top)/t.height:(e.clientX-t.left)/t.width;n>0&&(0,s.default)(w,Math.min(.8,Math.max(.2,n)))}else(0,s.default)(k,!1)};return window.addEventListener("mousemove",e),()=>window.removeEventListener("mousemove",e)}))}},t,n,"7")}finally{(0,f.end)()}}),{t:ee},oe),te.Component=b()(oe,te._);const se="rtapnbhf",ae=(0,o.t)(se),le=ae,ie=B()("option",{value:"preview"},1).t("App Preview"),re=B()("option",{value:"compiled-html"},1).t("Compiled (HTML)"),de=B()("option",{value:"compiled-vdom"},1).t("Compiled (DOM)");(0,y.r)(se,(()=>ae));const ce={onCreate(){this.state={}}};ae._=g()((function(e,t,o,l,d,u){(0,f.begin)();try{var p=l,m=d;const{filesChange:u,getCompilerOptions:h,files:f}=e,v="0"in m?m[0]:m[0]=0,g=e=>p.setState("0",e),y="1"in m?m[1]:m[1]="preview",w=e=>p.setState("1",e),b="2"in m?m[2]:m[2]=!1,k=e=>p.setState("2",e),_=f[v];c()(ne,(0,j.i)((()=>{(0,j.a)("left",{class:"editor-container",renderBody:e=>{c()(A,(0,j.i)((()=>{(0,j.a)("actions",{renderBody:e=>{c()(r.default,{renderBody:(e,t,n,o)=>{var l=t;c()(x,{files:f,filesChange:u,selectedIndex:v,selectedIndexChange:(0,a.cache)((0,a.cached)(n,[])||(e=>(0,s.default)(g,e)))},e,l,"3")}},e,o,"2")}}),(0,j.a)("body",{renderBody:e=>{c()(r.default,{renderBody:(e,t,o,l)=>{var d=t,p=o;const m="0"in l?l[0]:l[0]=null,h=e=>o.setState("0",e);m&&c()(r.default,{renderBody:(e,t,n,o)=>{var l=t;L()(e,m,(()=>({value:_.content,filename:_.path,valueChange:(0,a.cache)((0,a.cached)(n,[_,f,v])||function(e){const t={..._,content:e};(0,s.default)(u,[...f.slice(0,v),t,...f.slice(v+1)]),(0,s.default)(k,!0)})})),null,null,null,l,"6")}},e,d,"5"),(0,i.default)(p,{onMount:(0,a.cache)((0,a.cached)(o,[])||(async()=>{const e=await Promise.all([n.e(745),n.e(535),n.e(157),n.e(760),n.e(268)]).then(n.bind(n,"../components/repl/components/editor.marko"));await e.loading,(0,s.default)(h,e)}))})}},e,o,"4")}})})),e,o,"1")}}),(0,j.a)("right",{renderBody:e=>{c()(A,(0,j.i)((()=>{(0,j.a)("actions",{renderBody:e=>{c()(r.default,{renderBody:(e,t,n,o)=>{var l=t,i=n;c()(D,{value:y,valueChange:(0,a.cache)((0,a.cached)(n,[])||function(e){(0,s.default)(w,e),(0,s.default)(k,!1)}),class:"preview-select",renderBody:e=>{e.n(ie,i),e.n(re,i),e.n(de,i)}},e,l,"9"),c()(U,{files:f},e,l,"13")}},e,o,"8")}}),(0,j.a)("body",{renderBody:e=>{c()(r.default,{renderBody:(e,t,o,l)=>{var r=t,d=o;const c="0"in l?l[0]:l[0]=null,u=e=>o.setState("0",e);L()(e,c,(()=>({type:y,files:f,selectedFile:_,getCompilerOptions:h,debounce:b})),null,null,null,r,"15"),(0,i.default)(d,{onMount:(0,a.cache)((0,a.cached)(o,[])||(async()=>{(0,s.default)(u,await Promise.all([n.e(745),n.e(663),n.e(535),n.e(783),n.e(760),n.e(887),n.e(81)]).then(n.bind(n,"../components/repl/components/preview.marko")))}))})}},e,o,"14")}})})),e,o,"7")}})})),t,o,"0")}finally{(0,f.end)()}}),{t:se},ce),ae.Component=b()(ce,ae._)},"./v6/examples/[name]/index.marko?browser-entry":(e,t,n)=>{"use strict";var o=n("../../node_modules/marko/dist/runtime/components/index.js"),s=(n("../components/app-layout/favicon.png"),n("../logos/marko.svg"),n("../logos/marko-uwu.png"),n("../components/app-layout/components/layout-search/component-browser.js")),a=n("../components/app-layout/components/layout-header/component-browser.js"),l=n.n(a),i=n("../components/app-layout/components/layout-sidebar/components/version-switcher/component-browser.js"),r=n.n(i),d=n("../components/app-layout/components/layout-sidebar/component-browser.js"),c=n.n(d);n("../components/app-footer/openjsf.svg"),n("../components/app-footer/osi.svg"),n("../components/app-footer/ebay.svg"),n("../logos/discord.svg"),n("../components/repl/index.marko"),(0,o.register)("MYKqWWDb",s.A),(0,o.register)("FbSTxHWc",l()),(0,o.register)("bjXvzQUk",r()),(0,o.register)("SxWdUlSh",c()),(0,o.init)()},"../components/app-layout/components/layout-header/component-browser.js":(e,t,n)=>{var o=n("../components/app-layout/components/layout-header/events.js"),s="headspace--fixed",a="headspace--hidden";e.exports={onMount(){o.emit("create",this);var e,t=0,n=this.getEl("header").offsetHeight,s=(this.getEl("banner")||{offsetHeight:0}).offsetHeight,a=(e=()=>{var e=window.pageYOffset;e<=s?this.reset():!this.paused&&e>n&&(Math.abs(e-t)>=3||e>t&&t<=n)&&(e>t?this.hide():this.fix()),t=e},()=>window.requestAnimationFrame(e));a(),window.addEventListener("scroll",a)},reset(){this.removeClass(s),this.removeClass(a),o.emit("reset")},fix(){this.addClass(s),this.removeClass(a),o.emit("fix")},hide(){this.addClass(a),o.emit("hide")},addClass(e){this.getEl("header").classList.add(e)},removeClass(e){this.getEl("header").classList.remove(e)},pause(){this.paused=!0},resume(){setTimeout((()=>window.requestAnimationFrame((()=>{this.paused=!1}))))},toggleMenu(){o.emit("toggle-menu")}}},"../components/app-layout/components/layout-header/events.js":(e,t,n)=>{var o=n("../../node_modules/events/events.js");e.exports=new o},"../components/app-layout/components/layout-search/component-browser.js":(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const o=class{async onMount(){const{init:e}=await Promise.all([n.e(914),n.e(205)]).then(n.bind(n,"../components/app-layout/components/layout-search/doc-search.js"));e(this.getEl("container"))}}},"../components/app-layout/components/layout-sidebar/component-browser.js":(e,t,n)=>{var o,s=n("../components/app-layout/components/layout-header/events.js"),a=[].forEach,l=[].filter,i=[].slice;e.exports={onMount(){this.preventOverscroll(),this.listenForHeaderChanges(),this.initScrollSpy()},initScrollSpy(){var e=[1,2,3,4,5,6].map((e=>".doc-content h"+e)).join(","),t=i.call(document.querySelectorAll(e)),n=!1;t.length&&this.subscribeTo(window).on("scroll",(()=>{n||(n=!0,setTimeout((()=>{var e,o,s=window.innerHeight/3;t.map((t=>{var n=t.getBoundingClientRect().top;(null==o||ne.classList.remove("selected")));d;){var u=d.closest("ul"),p=u&&l.call(u.querySelectorAll(":scope > li > a[href^=\\#]"),(e=>e!==d));p&&p.forEach((e=>e.classList.remove("selected"))),d.classList.add("selected"),d=u&&u.previousElementSibling}this.scrollAnchorIntoView(r),n=!1}),50))}))},listenForHeaderChanges(){a.call(this.el.querySelectorAll("a[href^=\\#]"),(e=>{this.subscribeTo(e).on("click",(()=>{o.hide(),o.pause(),o.resume(),this.hide()}))}));var e=i.call(this.el.querySelectorAll("a.selected")).pop();e&&this.subscribeTo(e).on("click",(e=>{window.scrollTo(0,0),o.reset(),e.preventDefault()})),this.subscribeTo(s).on("reset",(()=>{this.el.classList.remove("no-header"),this.el.classList.remove("fixed"),setTimeout((()=>this.el.classList.remove("transition")),0)})).on("fix",(()=>{this.el.classList.remove("no-header"),this.el.classList.add("fixed"),setTimeout((()=>this.el.classList.add("transition")),0)})).on("hide",(()=>{this.el.classList.add("no-header"),this.el.classList.add("fixed"),setTimeout((()=>this.el.classList.add("transition")),0)})).on("toggle-menu",(()=>{this.el.classList.contains("show")?(this.el.classList.remove("show"),document.body.style.overflow=""):this.el.classList.add("show")})).on("create",(e=>{o=e,window.pageYOffset>o.el.offsetHeight&&(this.el.classList.add("no-header"),this.el.classList.add("fixed"))}))},preventOverscroll(){var e=this.getEl("sidebar");this.subscribeTo(document.body).on("wheel",(t=>{var n=t.deltaY,o=e.scrollTop+n,s=e.scrollHeight-e.offsetHeight,a=o<=0,l=o>=s;(n<0&&a||n>0&&l)&&(t.target===e||e.contains(t.target))&&(a&&0!=e.scrollTop?e.scrollTop=0:l&&e.scrollTop!=s&&(e.scrollTop=s),t.preventDefault())}))},scrollAnchorIntoView(e){for(var t,n=this.getEl("sidebar"),o=(e.offsetTop,n.scrollTop),s=n.offsetHeight,a=o+s,l=e.closest("li");(t=l.parentNode.closest("ul"))&&t.offsetHeighto&&i+r{e.exports={onMount(){const e=this.getEl("version").value,t=e.startsWith("/v6"),n=!t&&e.startsWith("/");(this.v6&&!t||!this.v6&&!n)&&(window.location.href=e)},switchVersion(e){window.location.href=e.target.value}}},"../components/app-footer/ebay.svg":(e,t,n)=>{"use strict";n.p},"../components/app-footer/openjsf.svg":(e,t,n)=>{"use strict";n.p},"../components/app-footer/osi.svg":(e,t,n)=>{"use strict";n.p},"../components/app-layout/favicon.png":(e,t,n)=>{"use strict";n.p},"../logos/discord.svg":(e,t,n)=>{"use strict";n.p},"../logos/marko-uwu.png":(e,t,n)=>{"use strict";n.p},"../logos/marko.svg":(e,t,n)=>{"use strict";n.d(t,{A:()=>o});const o=n.p+"91bc26e5.svg"}},e=>{e.O(0,[364,72],(()=>e(e.s="./v6/examples/[name]/index.marko?browser-entry"))),e.O()}]); +//# sourceMappingURL=858.9323781e.js.map \ No newline at end of file diff --git a/assets/858.9323781e.js.br b/assets/858.9323781e.js.br new file mode 100644 index 0000000000000000000000000000000000000000..7ac61cee562717fd07c284db7c7f779d7a191fc6 GIT binary patch literal 4496 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 literal 0 HcmV?d00001 diff --git a/assets/858.e13f35da.js.gz b/assets/858.9323781e.js.gz similarity index 63% rename from assets/858.e13f35da.js.gz rename to assets/858.9323781e.js.gz index a1b4889f73994e068129cf9a5b65c14c78889a59..2fbe9ab959275e5a5b81fde6d7d60a7e40110c46 100644 GIT binary patch delta 1824 zcmV+*2jBSQC*&uv+6;fVeP=H$ET(e9WhZObyzEhRYqV$TwHvaz6mtlWfnU$&0yNKh zrg-yqCl7b=${)w38FXgw`F!yV(P7c*X`&wxjPl$eEKC?BCm(+O z`~CapeFCZXboGDrkNr1quU@lK+#}Ort0m3{r7^HuwU)ZYLpvB^#zHd7;?D~4P zIIPpkYx8_g(e_rYFsklr><{t7OFOWOPk4H0i6@w%rmVAV?_%FHcp42nkc|elrM=%z zDK<4b;PeXyBMHm+*gQnChoejBV%V$HX5a zHN~e-8Ek)S38X=yqKJUcaws^R6>OW*|H$MdG-a^z%x6%lz|JEq2g{n9?uX&6<_^S_ zndv^THg#c`d2hy5@30tL*RM^Y%;y<06zx~d7yj}rH`-3Lsw$asdgEr3B*8Qrn-?kS zw_=Pc(=H3WQ4=mtU82>_nXTcp8V(~oL76SswR?Zq9HY!k!2T*%p8MMd|Edzi=Gqpy>mk?~ zv+I9Bzcd+x#S&ULd}J}^N0q#=OS;M_E#Df2y|Lrp#8VTgY7YuzJ!``r+=mCS4-e11 zu^&^@3L&16e^Ie-jmQo%=6zB^QUa!%%!L;i-G?g3>=~ZFGfbxL{G3XjMv=iqkbJw{ z)y3JWM#Ht^vVIyQqK|JCb?(eOCFd~dyjXu;UsK7qTTn*;$F+4PUQ)RZoqtLtm|ByBXRXd&5?>RK@qDHNB0T${As#z4W*6Corn2x7D> z0s6gvW_GVR`R@B2vGYAS|DIi6uOCW$uPnaoj{y=0c<4#I(r-jR5_0H{6gL{alX-uz zDs19b`%nJQe|~pv(jzoGhAWs$=Ib!l4ZEz^Lkm57G%?kbWRd*=K-OqPZnbR9YMnGt zF>W1fMPlnu{%Ci2q|~gWv%F` z3`Q#XS!(r8;3Z9*CFTtFTds72O|E}4D`dP@Q=23`TQO{OHeDWJw1%sS90QbB#66p3 zx=05LNrR+jMgYys%DuJz~)gdS!FBUzj=l|i6iWO0%Kr0gN`ke{d^-+)(n4d&ygLz zi5;6|ZRE#J{r_WTF#+1hQxRxWO45MyC)X?SBBpv2w(CM?!yE-MbHKV!c38Pk0L=t`2zGrSeIu(eSUY?N(>R>^XFI z-pQP~H#@DB9?KUts`-sZYkP6&!-Z?!>O|%wN%dfxr>16F7-4FU6_{`WTnoj>W+s@K zkJq&VvJxdIPRp--t74Gz_3Y0cR|K(>LS%keP{y!Gm|a56BQN$7l=^>n72BT$bhju^Mdx-m%gz2 O#s32JkO);kJ^%m#yO$gQ delta 1824 zcmV+*2jBSQC*&uv+6;fg!$)^^!@^`LKV0^*cFoNmRkuccreM1vol7x?02%o8bS^;i ztY@k>Z+G%=7q9$rY`Q^b2B6Ou4-p*}y`CmYolG|#Lc8OUvxV zsxrMh@FyZr(u?JgFmNLyHB`k4UOHL(yqR5QOLNv!Up%8_pEQ3{^pjvTe^Ir)472mY zY_}yhLO;Z0137bY&6CuhA27Q$mmU;o&D^Y-e+`+z`1+3M^5r#~m3U;lAIAX)eN&DHzxkLb;a7|1VP z3n{d5V)%Di*Mie7`sp1>+jd1-dMYtb)7YH$Y!1W~h6Mbjha(Y&C`lJRyoyz#Q(nR~ zWi#dBSZGQDTTc-%<&PI zXN$u+t-LnR=M-&o)e56(zsCL$KfJU9yZD5shn9GPDQe0(+x9N@O^2t^zysN6P+Qyk z{gh%;vjcwr`Wg>(qoJR0X%0=`fp#=TB1FnM_Ie<$?1=`B`Em{acZR8cD#h5gett~+ zF;Y`~`jmgc#-2bLBr1vs_$-Hl(^kQbJP(E6;oer3&mk!g8>zx#@lw-fHeZ zT$!2f18Y+khMD(fT=fo%!FB!GEXsVIAw$uA)qLSE&vK*fM60TjDW^AXc1aRUv$1)R zqJAsJs50%+&>J=364fPI?VQ;nPOITC!V{F)f?a>Rhs`m{%mnPOa^<T{JYg*bd^^fdTy08vw7Io90y$E!vJ0f^GyZN5A6p+h{!KhJk*fBfK-RN1?7@9_0Q>Op z+#CBbHN6nx8Tl6_`__o;AYJHGUlg@vO<@Gg{e7gm81aMrNJ?Ane*si||8@umQT_~qly-iJ*lo0Gm%1Z3COic>un4a96b?2;({PX z%Mzg9`)6kRnv?Io-w`|Clk@M{_4WFp#P`bT%l;Z5fq;je#4G(q^dljM?o4r`;X8ks z2dly+Zngj9|NQ57=O#Tuvt_t~xn#Z$W8JXJicPf8vu6`iO-UBnUjSr{M&wq@)~wb^ z0~O=e!B!-;4z|{m@wc}3i_ zS*DA0u#kk<+OkNrN5mjXV{BHl-vTsY}8R>1H{)5l{sM)9~`_9;c@!m<%Fy$q6a4 z>{UM9^pd->?69V)%&$gPYJdY}s4Nx^<^=Y)iq#>+ny6bu%*8aMNF~gceBCdWq~Jd3 za)f9?++uVJG1C4AP#h~qjCX$|q}9FquqM_EB=v;1AmZwPr(G(av>FZn`r7VwM$8^W zcL$!#p?kB{TIsQTVWXPgXtcH$mp)v$=B-X-j*?Ulws~r5riBrv_E>=lC&0B(jBI9t znfZ8KDy7K z=p`~w(k?UGBQCN>3#%u5*}}TwKs6d-CwbzV9A!ZkVkg<%Yo@zB znV(yw{H`r>W{=Cgq%1#Y-T&C#{cbB&SrXuhAICxt|2X}PKi(LB>|y)<;QoH-d!JHM OSNt!upDMXQJ^%oN=bhdF diff --git a/assets/858.e13f35da.js.map b/assets/858.9323781e.js.map similarity index 99% rename from assets/858.e13f35da.js.map rename to assets/858.9323781e.js.map index b439afac..9ffa9b15 100644 --- a/assets/858.e13f35da.js.map +++ b/assets/858.9323781e.js.map @@ -1 +1 @@ -{"version":3,"file":"858.e13f35da.js","mappings":"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","sources":["webpack:///../components/repl/components/Users/dpiercey/dev/marko-js/website/src/components/repl/components/file-tabs.marko","webpack:///../components/repl/components/Users/dpiercey/dev/marko-js/website/src/components/repl/components/pane.marko","webpack:///../components/repl/components/Users/dpiercey/dev/marko-js/website/src/components/repl/components/controllable-select.marko","webpack:///../components/repl/components/Users/dpiercey/dev/marko-js/website/src/components/repl/components/playground-link.marko","webpack:///../components/repl/components/Users/dpiercey/dev/marko-js/website/src/components/repl/components/match-media.marko","webpack:///../components/repl/components/Users/dpiercey/dev/marko-js/website/src/components/repl/components/resizable-panes.marko","webpack:///../components/repl/Users/dpiercey/dev/marko-js/website/src/components/repl/index.marko","webpack:///./v6/examples/[name]/index.marko?de05","webpack:///../components/app-layout/components/layout-header/component-browser.js","webpack:///../components/app-layout/components/layout-header/events.js","webpack:///../components/app-layout/components/layout-search/component-browser.js","webpack:///../components/app-layout/components/layout-sidebar/component-browser.js","webpack:///../components/app-layout/components/layout-sidebar/components/version-switcher/component-browser.js","webpack:///../components/app-footer/ebay.svg","webpack:///../components/app-footer/openjsf.svg","webpack:///../components/app-footer/osi.svg","webpack:///../components/app-layout/favicon.png","webpack:///../logos/discord.svg","webpack:///../logos/marko-uwu.png","webpack:///../logos/marko.svg"],"sourcesContent":["\n\n\n\n\n\n\n\n \n \n \n \n 0)/>\n \n \n ${file.name}\n \n \n \n \n \n \n \n \n = index) {\n selectedIndex--;\n }\n files = [...files.slice(0, index), ...files.slice(index+1)];\n }\n e.stopPropagation();\n }>\n ×\n \n \n \n \n \n +\n \n\n","\n\n\n \n <${actions.renderBody}/>\n \n \n \n <${body.renderBody}/>\n \n\n\n\n","\n\n\n // back to the original value. So we track those values as well,\n // so we can re-set the \n \n \n \n = index) {\n selectedIndex--;\n }\n files = [...files.slice(0, index), ...files.slice(index+1)];\n }\n e.stopPropagation();\n }>\n ×\n \n \n \n \n \n +\n \n\n","\n\n\n \n <${actions.renderBody}/>\n \n \n \n <${body.renderBody}/>\n \n\n\n\n","\n\n\n // back to the original value. So we track those values as well,\n // so we can re-set the
Marko logo

This article was published in August 2017. You can find the original "10 Awesome Marko Features" article here!

10 Awesome Marko Features

Marko is a friendly and super fast UI library that makes building web apps
fun! In celebration of rapidly approaching 5,000 stars on GitHub (the ultimate open source vanity metric), here are 10 features that will make you more productive in no particular order...

1. Shorthand Attributes

Tired of constantly typing out class and id attributes? No need with Marko. Simply utilize the shorthand based on CSS selectors:

style {
+    
Marko logo

This article was published in August 2017. You can find the original "10 Awesome Marko Features" article here!

10 Awesome Marko Features

Marko is a friendly and super fast UI library that makes building web apps
fun! In celebration of rapidly approaching 5,000 stars on GitHub (the ultimate open source vanity metric), here are 10 features that will make you more productive in no particular order...

1. Shorthand Attributes

Tired of constantly typing out class and id attributes? No need with Marko. Simply utilize the shorthand based on CSS selectors:

style {
   .count {
     color:#09c;
   }
diff --git a/docs/articles-overview/index.html b/docs/articles-overview/index.html
index a6ca350a..3b5d94e3 100644
--- a/docs/articles-overview/index.html
+++ b/docs/articles-overview/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Body content

We're used to passing body content to HTML tags. When you do this, the tag has control over where and when this content is rendered. A good example of this is the HTML <details> element:

<details>
+    

Body content

We're used to passing body content to HTML tags. When you do this, the tag has control over where and when this content is rendered. A good example of this is the HTML <details> element:

<details>
   <summary>Hello <strong>World</strong></summary>
   This is some <em>content</em> that can be toggled.
 </details>
diff --git a/docs/bundler-integrations-overview/index.html b/docs/bundler-integrations-overview/index.html
index 2197a361..fd860bac 100644
--- a/docs/bundler-integrations-overview/index.html
+++ b/docs/bundler-integrations-overview/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Class Components

Marko makes it easy to create user interface components to use as building blocks for web pages and applications of any complexity.

Marko promotes self-contained components that:

  • Are independently testable
  • Encapsulate the view, client-side behavior (like event handling) and styling
  • Can easily be combined to create composite UI components.

Marko components compile into small, efficient JavaScript modules that hide implementation details from consumers. Components can be published to npm for reuse across applications.

UI component diagram

Component diagram

In Marko, the DOM output of a UI component is based on input properties and optional internal state used to control the view.

If Marko detects changes to input or the internal state, then the view (that is, the DOM) will automatically update to reflect the new input and state. Internally, Marko uses virtual DOM diffing/patching to update the view, but that’s an implementation detail that could change at any time.

Component structure

Marko makes it easy to keep your component’s class and styles next to the HTML view that they correspond to. The following are the key parts of any UI component:

  • View - The HTML template for your UI component. Receives input properties and states, and renders to either server-side HTML or browser-side virtual DOM nodes.
  • Client-side behavior - A JavaScript class with methods and properties for initialization, event handling (including DOM events, custom events and lifecycle events), and state management.
  • Styles - Cascading StyleSheets, including support for CSS preprocessors like Less or Sass.

Server-side rendering

A UI component can be rendered on the server or in the browser, but stateful component instances will be automatically mounted to the DOM in the browser for both. If a UI component tree is rendered on the server, then Marko will recreate the UI component tree in the browser with no extra code required. For more details, please see Rendering.

Single-file components

Marko lets you define a class for a component right in the .marko file, and call that class’s methods with on-* attributes:

class {
+    

Class Components

Marko makes it easy to create user interface components to use as building blocks for web pages and applications of any complexity.

Marko promotes self-contained components that:

  • Are independently testable
  • Encapsulate the view, client-side behavior (like event handling) and styling
  • Can easily be combined to create composite UI components.

Marko components compile into small, efficient JavaScript modules that hide implementation details from consumers. Components can be published to npm for reuse across applications.

UI component diagram

Component diagram

In Marko, the DOM output of a UI component is based on input properties and optional internal state used to control the view.

If Marko detects changes to input or the internal state, then the view (that is, the DOM) will automatically update to reflect the new input and state. Internally, Marko uses virtual DOM diffing/patching to update the view, but that’s an implementation detail that could change at any time.

Component structure

Marko makes it easy to keep your component’s class and styles next to the HTML view that they correspond to. The following are the key parts of any UI component:

  • View - The HTML template for your UI component. Receives input properties and states, and renders to either server-side HTML or browser-side virtual DOM nodes.
  • Client-side behavior - A JavaScript class with methods and properties for initialization, event handling (including DOM events, custom events and lifecycle events), and state management.
  • Styles - Cascading StyleSheets, including support for CSS preprocessors like Less or Sass.

Server-side rendering

A UI component can be rendered on the server or in the browser, but stateful component instances will be automatically mounted to the DOM in the browser for both. If a UI component tree is rendered on the server, then Marko will recreate the UI component tree in the browser with no extra code required. For more details, please see Rendering.

Single-file components

Marko lets you define a class for a component right in the .marko file, and call that class’s methods with on-* attributes:

class {
     onCreate() {
         this.state = {
             count: 0
diff --git a/docs/cloudflare-workers/index.html b/docs/cloudflare-workers/index.html
index c072cbba..796b7c0e 100644
--- a/docs/cloudflare-workers/index.html
+++ b/docs/cloudflare-workers/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Marko + Cloudflare Workers

See the the cloudflare sample project for a working example.

Usage

When using Marko with Cloudflare Workers, make sure that Marko is loaded with a worker export condition. Most bundlers support defining export conditions.

After that point, imported .marko files will export a .stream method that returns a worker compatible ReadableStream. You can then respond with that returned stream:

import Template from "./index.marko";
+    

Marko + Cloudflare Workers

See the the cloudflare sample project for a working example.

Usage

When using Marko with Cloudflare Workers, make sure that Marko is loaded with a worker export condition. Most bundlers support defining export conditions.

After that point, imported .marko files will export a .stream method that returns a worker compatible ReadableStream. You can then respond with that returned stream:

import Template from "./index.marko";
 
 addEventListener("fetch", (event) => {
   event.respondWith(handleRequest(event.request));
diff --git a/docs/color-picker/index.html b/docs/color-picker/index.html
index 4bc1da6c..2ea201af 100644
--- a/docs/color-picker/index.html
+++ b/docs/color-picker/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Building a Color Picker Component

Introduction

Marko makes building UI components extremely easy and fun! Today we are going to build a color picker component from scratch. We are going to learn how to:

  • Create a project using marko-cli
  • Create a basic and customizable color picker component

Our final goal for today is create this component:

Try Online

Getting Started

The quickest way to get up and running with Marko is to use the @marko/create cli.

For this tutorial lets tell @marko/create to give us a basic boilerplate by running the following command:

npx @marko/create --template basic --name color-picker-tutorial
+    

Building a Color Picker Component

Introduction

Marko makes building UI components extremely easy and fun! Today we are going to build a color picker component from scratch. We are going to learn how to:

  • Create a project using marko-cli
  • Create a basic and customizable color picker component

Our final goal for today is create this component:

Try Online

Getting Started

The quickest way to get up and running with Marko is to use the @marko/create cli.

For this tutorial lets tell @marko/create to give us a basic boilerplate by running the following command:

npx @marko/create --template basic --name color-picker-tutorial
 

Once the create command has finished, we can move into our new directory and get a development server up and running like so:

cd ./color-picker-tutorial
 npm run dev
 

This should open your default browser automatically.

Creating Components

NOTE: For a more detailed documentation of components, please see the markojs.com components documentation

In our new project, components are located in the color-picker-tutorial/src/components/ directory. Next we need to create our component in the components/ directory, which should look like this:

color-picker-tutorial/
diff --git a/docs/compiler/index.html b/docs/compiler/index.html
index 2dcf7d56..cef3b3ba 100644
--- a/docs/compiler/index.html
+++ b/docs/compiler/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Compiler

Warning: The compiler API and hooks are not terribly stable. They’re intended for advanced integrations or userland experimentation with new language features.

Prefer existing official plugins and the standard tag library when possible.

Compile API

Warning: The Compile API is intended for advanced integration with build tools, like Webpack and Rollup. Unless you’re doing that, you probably instead want build/serve in the Marko CLI, or one of Marko’s bundler integrations.

Compile Functions

Compile functions take two arguments:

  1. A source Marko template
  2. CompileOptions

Then, they return a CompileResult:

type CompileResult = {
+    

Compiler

Warning: The compiler API and hooks are not terribly stable. They’re intended for advanced integrations or userland experimentation with new language features.

Prefer existing official plugins and the standard tag library when possible.

Compile API

Warning: The Compile API is intended for advanced integration with build tools, like Webpack and Rollup. Unless you’re doing that, you probably instead want build/serve in the Marko CLI, or one of Marko’s bundler integrations.

Compile Functions

Compile functions take two arguments:

  1. A source Marko template
  2. CompileOptions

Then, they return a CompileResult:

type CompileResult = {
   code: string;
   map?: SourceMap;
   meta: Record<string, unknown>;
diff --git a/docs/concise/index.html b/docs/concise/index.html
index bd1bf14e..01ce5765 100644
--- a/docs/concise/index.html
+++ b/docs/concise/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Concise syntax

Marko's concise syntax is very similar to the HTML syntax, except it's more... concise. Essentially, you take an HTML tag, remove the angle brackets (<>) and use indentation rather than a closing tag:

input.marko
div class="thumbnail"
+    

Concise syntax

Marko's concise syntax is very similar to the HTML syntax, except it's more... concise. Essentially, you take an HTML tag, remove the angle brackets (<>) and use indentation rather than a closing tag:

input.marko
div class="thumbnail"
     img src="https://example.com/thumb.png"
 
div.thumbnail
   img src="https://example.com/thumb.png"
diff --git a/docs/conditionals-and-lists/index.html b/docs/conditionals-and-lists/index.html
index c95113f8..9c88ce6f 100644
--- a/docs/conditionals-and-lists/index.html
+++ b/docs/conditionals-and-lists/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Conditionals and Lists

While HTML itself does not support conditionally displaying elements or repeating elements, it is a critical part of building any web application. In Marko, this functionality is provided by the <if> and <for> tags.

Conditionals

The <if> tag receives an argument which is used to determine if its body content should be present.

<if(user.loggedOut)>
+    

Conditionals and Lists

While HTML itself does not support conditionally displaying elements or repeating elements, it is a critical part of building any web application. In Marko, this functionality is provided by the <if> and <for> tags.

Conditionals

The <if> tag receives an argument which is used to determine if its body content should be present.

<if(user.loggedOut)>
     <a href="/login">Log in</a>
 </if>
 
if(user.loggedOut)
diff --git a/docs/core-tags/index.html b/docs/core-tags/index.html
index 7b18272b..7d0f84b9 100644
--- a/docs/core-tags/index.html
+++ b/docs/core-tags/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Core tags and attributes

Much like HTML has its own native tags, Marko includes core tags and global attributes for declaratively building modern applications.

<if>, <else-if>, <else>

Like the equivalent JavaScript statements, these tags render conditional content:

<if(arriving)>
+    

Core tags and attributes

Much like HTML has its own native tags, Marko includes core tags and global attributes for declaratively building modern applications.

<if>, <else-if>, <else>

Like the equivalent JavaScript statements, these tags render conditional content:

<if(arriving)>
   Hey there
 </if>
 <else-if(leaving)>
diff --git a/docs/custom-tags/index.html b/docs/custom-tags/index.html
index 345f164b..bea690a2 100644
--- a/docs/custom-tags/index.html
+++ b/docs/custom-tags/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Custom tags

Custom tags allow you to break up your application UI into encapsulated, reusable components.

Your first custom tag

Let's say we have a page with the following content:

page.marko
<!doctype html>
+    

Custom tags

Custom tags allow you to break up your application UI into encapsulated, reusable components.

Your first custom tag

Let's say we have a page with the following content:

page.marko
<!doctype html>
 <html>
 <body>
     <h1>Hello World!</h1>
diff --git a/docs/editor-plugins/index.html b/docs/editor-plugins/index.html
index 742f334d..c3d09c01 100644
--- a/docs/editor-plugins/index.html
+++ b/docs/editor-plugins/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Editor Plugins

Visual Studio Code

Documentation

  • Syntax highlighting
  • Tag matching
  • Tag, attribute and css autocompletion
  • Hyperclick (clickable tags and attributes)
  • Surfaces errors within the templates.
  • Prettyprinting (marko-prettyprint is used internally)

Atom

Documentation

  • Syntax highlighting
  • Tag matching
  • Tag and attribute autocompletion
  • Code snippets
  • Hyperclick (clickable tags and attributes)
  • Prettyprinting (marko-prettyprint is used internally)

Sublime

Documentation

  • Syntax highlighting

WebStorm

Documentation

  • Syntax highlighting

TextMate

Documentation

  • Syntax highlighting

CodeMirror

codemirror-atom-modes + atom-language-marko

EDIT on GitHub

Contributors

Helpful? You can thank these awesome people! You can also edit this doc if you see any issues or want to improve it.

Editor Plugins

Visual Studio Code

Documentation

  • Syntax highlighting
  • Tag matching
  • Tag, attribute and css autocompletion
  • Hyperclick (clickable tags and attributes)
  • Surfaces errors within the templates.
  • Prettyprinting (marko-prettyprint is used internally)

Atom

Documentation

  • Syntax highlighting
  • Tag matching
  • Tag and attribute autocompletion
  • Code snippets
  • Hyperclick (clickable tags and attributes)
  • Prettyprinting (marko-prettyprint is used internally)

Sublime

Documentation

  • Syntax highlighting

WebStorm

Documentation

  • Syntax highlighting

TextMate

Documentation

  • Syntax highlighting

CodeMirror

codemirror-atom-modes + atom-language-marko

EDIT on GitHub

Contributors

Helpful? You can thank these awesome people! You can also edit this doc if you see any issues or want to improve it.

Events

Marko’s event API supports:

Note that you can’t mix event targets and event types: custom tags can only listen for custom events, and native tags can only listen for native events.

Listening to events

Both kinds of events are received with an on-* attribute and the attribute arguments syntax:

<input type="checkbox"
+    

Events

Marko’s event API supports:

Note that you can’t mix event targets and event types: custom tags can only listen for custom events, and native tags can only listen for native events.

Listening to events

Both kinds of events are received with an on-* attribute and the attribute arguments syntax:

<input type="checkbox"
   on-change(event => console.info(`Checked? ${event.target.checked}`))
 />
 
input [
diff --git a/docs/express/index.html b/docs/express/index.html
index ad91dedd..7831794f 100644
--- a/docs/express/index.html
+++ b/docs/express/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Marko + Express

Quick Start

npm init marko -- --template vite-express
+    

Marko + Express

Quick Start

npm init marko -- --template vite-express
 # Or `npx create-marko --template vite-express`
 

See Marko’s example projects for working Express integration code, such as:

But if you want to do things the hard way…

Doing things the hard way

First, install Marko, Express, and the glue to hold them together:

npm install marko express @marko/express --save
 

Skip the view engine

Express’s builtin view engine may be asynchronous, but it doesn’t support streaming — see Rediscovering Progressive HTML Rendering for why that’s important. So instead, we bypass Express’s view engine to use @marko/express instead.

The @marko/express package adds a res.marko() method to Express’s response object. This method works like res.render(), but without the restrictions of Express’s view engine, letting you take full advantage of Marko’s streaming and modular template organization.

ProTip: By using res.marko(), properties from app.locals and res.locals are automatically available on $global.

import express from "express";
diff --git a/docs/fastify/index.html b/docs/fastify/index.html
index c4873310..fae85a9c 100644
--- a/docs/fastify/index.html
+++ b/docs/fastify/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Marko + Fastify

Quick Start

npm init marko -- --template vite-fastify
+    

Marko + Fastify

Quick Start

npm init marko -- --template vite-fastify
 

See the the fastify sample project for a working example.

From Scratch

First install Marko and the fastify related dependencies:

npm install marko @marko/fastify fastify --save
 

Usage

The @marko/fastify adds a reply.marko decorator to the reply object. This function allows us to pass in a Marko template and supports Marko's streaming and modular approach to templates.

By using reply.marko you'll automatically have access to app.locals, and reply.locals from within your Marko template and custom tags. These values are added to $global.

import fastify from "fastify";
 import markoPlugin from "@marko/fastify";
diff --git a/docs/getting-started/index.html b/docs/getting-started/index.html
index 80bdc4a6..62932620 100644
--- a/docs/getting-started/index.html
+++ b/docs/getting-started/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Getting started

Setup

Marko Run makes it easy to get started with little to no config and is the recommended starting point for a new Marko project.

To set up your project:

  1. npm init marko -- -t basic
  2. cd ./<PROJECT_NAME>
  3. npm run dev

Open src/routes/_index/+page.marko in your editor to change the index page. See the routing documentation to learn how to add additional pages to your project.

Other setups

If you just want to test out Marko in your browser, use the Try Online feature. You can open it in another tab and follow along. For other setups, check out the Installation page.

Hello world

Marko makes it easy to represent your UI using a syntax that is like HTML:

hello.marko
<h1>Hello World</h1>
+    

Getting started

Setup

Marko Run makes it easy to get started with little to no config and is the recommended starting point for a new Marko project.

To set up your project:

  1. npm init marko -- -t basic
  2. cd ./<PROJECT_NAME>
  3. npm run dev

Open src/routes/_index/+page.marko in your editor to change the index page. See the routing documentation to learn how to add additional pages to your project.

Other setups

If you just want to test out Marko in your browser, use the Try Online feature. You can open it in another tab and follow along. For other setups, check out the Installation page.

Hello world

Marko makes it easy to represent your UI using a syntax that is like HTML:

hello.marko
<h1>Hello World</h1>
 
h1 -- Hello World
 

In fact, Marko is so much like HTML, that you can use it as a replacement for a templating language like handlebars, mustache, or pug:

template.marko
<!doctype html>
 <html>
diff --git a/docs/guides-overview/index.html b/docs/guides-overview/index.html
index aad34afc..5bca3f8e 100644
--- a/docs/guides-overview/index.html
+++ b/docs/guides-overview/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Marko + HTTP Server

See the the http sample project for a working example.

Usage

import http from "http";
+    

Marko + HTTP Server

See the the http sample project for a working example.

Usage

import http from "http";
 import Template from "./index.marko";
 
 const port = 8080;
diff --git a/docs/index.html b/docs/index.html
index c6b67dbf..90433de8 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/docs/installing/index.html b/docs/installing/index.html
index 9ff227ff..e825afa7 100644
--- a/docs/installing/index.html
+++ b/docs/installing/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Installation

Trying out Marko

If you just want to play around with Marko in the browser, head on over to our Try Online feature. You'll be able to develop a Marko application right in your browser.

If you're starting from scratch, you can use Marko's CLI commands to quickly create a starter app:

npm init marko
+    

Installation

Trying out Marko

If you just want to play around with Marko in the browser, head on over to our Try Online feature. You'll be able to develop a Marko application right in your browser.

If you're starting from scratch, you can use Marko's CLI commands to quickly create a starter app:

npm init marko
 

This will use an interactive CLI to automatically create a project for you using the pre-made starter template of your choosing. The basic template is the most minimal and the easiest way to get started. It uses our recommended app framework Marko Run that handles building, bundling, and serving your web application. These projects are config-free with built-in file based routing and automatic code reloading.

Custom Bundling

Marko relies on JavaScript bundlers to package your code on both the client and the server. This is because Marko's client and server bundling works closely together to optimize the smallest client bundles and handle shared assets properly.

Using the CLI is still the easiest way to get started even when you want to get your hands dirty tweaking every last part of your config files. Marko currently supports Webpack, Lasso, and Rollup.

Webpack

Webpack Integration Docs

Marko Webpack Plugin

Webpack Example

CLI Command: npx @marko/create --template webpack-express

Lasso

Lasso Integration Docs

Marko Lasso Plugin

Lasso Example

CLI Command: npx @marko/create --template lasso-express

Rollup

Rollup Integration Docs

Marko Rollup Plugin

EDIT on GitHub

Contributors

Helpful? You can thank these awesome people! You can also edit this doc if you see any issues or want to improve it.

Marko + Koa

See the the koa sample project for a working example.

Installation

npm install koa marko --save
+    

Marko + Koa

See the the koa sample project for a working example.

Installation

npm install koa marko --save
 

Usage

import Koa from "koa";
 import Template from "./index.marko";
 
diff --git a/docs/lasso/index.html b/docs/lasso/index.html
index d0bbd3a4..0fa424a7 100644
--- a/docs/lasso/index.html
+++ b/docs/lasso/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Marko + Lasso

The lasso-marko plugin for Lasso.js will automatically compile all imported Marko templates during bundling. In addition, the lasso-marko plugin will automatically bundle any template dependencies (including required CSS).

Lasso.js provides Marko custom tags for injecting JavaScript and CSS bundles, images and other resources.

The sample lasso-express app demonstrates how to build a production-ready web application using Marko and Lasso. Run npx @marko/create --template lasso-express to use this sample as a starting point for a new app.

Installation

npm install lasso-marko --save
+    

Marko + Lasso

The lasso-marko plugin for Lasso.js will automatically compile all imported Marko templates during bundling. In addition, the lasso-marko plugin will automatically bundle any template dependencies (including required CSS).

Lasso.js provides Marko custom tags for injecting JavaScript and CSS bundles, images and other resources.

The sample lasso-express app demonstrates how to build a production-ready web application using Marko and Lasso. Run npx @marko/create --template lasso-express to use this sample as a starting point for a new app.

Installation

npm install lasso-marko --save
 

Registering the plugin

require('lasso').configure({
     "plugins": [
         ...
diff --git a/docs/marko-5-upgrade/index.html b/docs/marko-5-upgrade/index.html
index 5e879fff..4edddc8e 100644
--- a/docs/marko-5-upgrade/index.html
+++ b/docs/marko-5-upgrade/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Upgrading to Marko 5

Step 0 - Ensure you're in a working state on the latest version of Marko 4

Before we start, you'll want to make sure that you are already on the latest 4.x release of marko.

# Upgrade using yarn
+    

Upgrading to Marko 5

Step 0 - Ensure you're in a working state on the latest version of Marko 4

Before we start, you'll want to make sure that you are already on the latest 4.x release of marko.

# Upgrade using yarn
 yarn upgrade marko@^4
 
# Upgrade using npm
 npm install marko@^4
diff --git a/docs/marko-json/index.html b/docs/marko-json/index.html
index d16b90fd..4a849383 100644
--- a/docs/marko-json/index.html
+++ b/docs/marko-json/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

marko.json & marko-tag.json

Marko supports configuration files for validation, enabling experimental features, and custom paths for component files.

These configuration files are automatically found with the same discovery mechanism as custom tags.

There are 2 types of configuration files:

  1. marko.json describes an entire suite of components.
  2. marko-tag.json describes a single component.

Single component definition

marko-tag.json configures a single component. It’s automatically discovered if placed inside a tag directory.

Options

{
+    

marko.json & marko-tag.json

Marko supports configuration files for validation, enabling experimental features, and custom paths for component files.

These configuration files are automatically found with the same discovery mechanism as custom tags.

There are 2 types of configuration files:

  1. marko.json describes an entire suite of components.
  2. marko-tag.json describes a single component.

Single component definition

marko-tag.json configures a single component. It’s automatically discovered if placed inside a tag directory.

Options

{
   "html": true, // Treat as a native HTML tag, not a custom tag.
   "htmlType": "svg", // Optimizes for specific types of native tags (currently only `svg` and `html`).
   "open-tag-only": true, // Forbids passing body content to this tag.
diff --git a/docs/marko-vs-react/index.html b/docs/marko-vs-react/index.html
index b45f4e3c..7b2e1345 100644
--- a/docs/marko-vs-react/index.html
+++ b/docs/marko-vs-react/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Marko vs React: An In-depth Look

Marko logo

This article was published March 2017. Both frameworks have gone through several updates since. You can find the original "Marko vs React: An In-depth Look" article here!

In this article we will take an in-depth look at the differences and similarities between Marko and React from the perspective of the maintainers of Marko.

On the surface, Marko and React have a lot in common and both are trying to solve very similar problems. Specifically, both Marko and React allow developers to build web applications based on UI components and both free developers from having to write code to manually update the DOM. While many of the features in Marko were inspired by React, Marko and React offer very different usability and performance characteristics. Marko was designed to avoid almost all boilerplate and is more closely aligned with HTML. In almost all cases, a Marko UI component will require less lines of code than its React JSX equivalent while maintaining readability and allowing the same expressiveness as JSX. In addition, Marko is highly optimized for use on the server and in the browser and has a much smaller weight:

Marko logo

Because the Marko JavaScript library is much smaller than React, it will require less time to load and parse and this will drastically improve page load times on slow connections or on older devices. Based on our benchmarks, Marko consistently outperforms React by a significant margin on both the server and in the browser.

Example

The following code highlights some of the differences between Marko and React JSX using a somewhat contrived UI component as an example:

React JSX

class Counter extends React.Component {
+    

Marko vs React: An In-depth Look

Marko logo

This article was published March 2017. Both frameworks have gone through several updates since. You can find the original "Marko vs React: An In-depth Look" article here!

In this article we will take an in-depth look at the differences and similarities between Marko and React from the perspective of the maintainers of Marko.

On the surface, Marko and React have a lot in common and both are trying to solve very similar problems. Specifically, both Marko and React allow developers to build web applications based on UI components and both free developers from having to write code to manually update the DOM. While many of the features in Marko were inspired by React, Marko and React offer very different usability and performance characteristics. Marko was designed to avoid almost all boilerplate and is more closely aligned with HTML. In almost all cases, a Marko UI component will require less lines of code than its React JSX equivalent while maintaining readability and allowing the same expressiveness as JSX. In addition, Marko is highly optimized for use on the server and in the browser and has a much smaller weight:

Marko logo

Because the Marko JavaScript library is much smaller than React, it will require less time to load and parse and this will drastically improve page load times on slow connections or on older devices. Based on our benchmarks, Marko consistently outperforms React by a significant margin on both the server and in the browser.

Example

The following code highlights some of the differences between Marko and React JSX using a somewhat contrived UI component as an example:

React JSX

class Counter extends React.Component {
   constructor(props) {
     super(props);
 
diff --git a/docs/reference-overview/index.html b/docs/reference-overview/index.html
index 4c5d849f..83d42ed3 100644
--- a/docs/reference-overview/index.html
+++ b/docs/reference-overview/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Rendering

To render a Marko view, you need to import it.

example.js
import FancyButton from "./components/fancy-button.marko";
+    

Rendering

To render a Marko view, you need to import it.

example.js
import FancyButton from "./components/fancy-button.marko";
 

Note: If you are targeting node.js, you will need to enable the require extension in order to require .marko files or you will need to precompile all of your templates using Marko CLI. If you are targeting the browser, you will need to use a bundler like lasso, webpack or rollup.

Once you have a view, you can pass input data and render it:

example.js
import FancyButton from "./components/fancy-button.marko";
 const html = FancyButton.renderToString({ label: "Click me!" });
 
diff --git a/docs/rollup/index.html b/docs/rollup/index.html
index 96552ab7..35b0d621 100644
--- a/docs/rollup/index.html
+++ b/docs/rollup/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Marko + Rollup

This is Marko’s official integration plugin for the Rollup bundler.

Installation

npm install --save-dev \
+    

Marko + Rollup

This is Marko’s official integration plugin for the Rollup bundler.

Installation

npm install --save-dev \
   @marko/rollup \
   rollup \
   @rollup/plugin-node-resolve \
diff --git a/docs/server-integrations-overview/index.html b/docs/server-integrations-overview/index.html
index 22c0c85f..ac232661 100644
--- a/docs/server-integrations-overview/index.html
+++ b/docs/server-integrations-overview/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

State

The output of a component is based on input properties passed from its parent as attributes. However, a component may also maintain internal state that it uses to control its view. If Marko detects a change to either input or to the internal state, the view will automatically be updated.

ProTip: Only data that is owned and modified by the component should go into its state. State should be exclusively used for data that triggers rerenders. Parents control input, and the component controls its own state.

Initializing state

To use state in Marko, you must first create a class component and initialize the state within the onCreate method. In class methods, this.state may be used and within the template section, a state variable is available.

class {
+    

State

The output of a component is based on input properties passed from its parent as attributes. However, a component may also maintain internal state that it uses to control its view. If Marko detects a change to either input or to the internal state, the view will automatically be updated.

ProTip: Only data that is owned and modified by the component should go into its state. State should be exclusively used for data that triggers rerenders. Parents control input, and the component controls its own state.

Initializing state

To use state in Marko, you must first create a class component and initialize the state within the onCreate method. In class methods, this.state may be used and within the template section, a state variable is available.

class {
     onCreate() {
         this.state = { count: 0 };
     }
diff --git a/docs/styles/index.html b/docs/styles/index.html
index 7a157691..0361ed1c 100644
--- a/docs/styles/index.html
+++ b/docs/styles/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Styles

Both HTML and Marko provide support for <style> tags. However, Marko also provides a special syntax (called a style block) which adds support for CSS preprocessors and acts as a hint to bundlers to extract this static css from your templates into a common bundle.

style {
+    

Styles

Both HTML and Marko provide support for <style> tags. However, Marko also provides a special syntax (called a style block) which adds support for CSS preprocessors and acts as a hint to bundlers to extract this static css from your templates into a common bundle.

style {
     div {
         color: green;
     }
diff --git a/docs/syntax/index.html b/docs/syntax/index.html
index c77b35ee..8262e9f4 100644
--- a/docs/syntax/index.html
+++ b/docs/syntax/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Syntax

Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

ProTip: Marko also supports a beautiful concise syntax. If you'd prefer to see the documentation using this syntax, just click the switch syntax button in the corner of any Marko code sample.

Note: Text at the root of a template (outside any tags) must be prefixed with the concise syntax's -- to denote it is text. The parser starts in concise mode and would otherwise try to parse what you meant to be text as a concise tag declaration.

-- Root level text
+    

Syntax

Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

ProTip: Marko also supports a beautiful concise syntax. If you'd prefer to see the documentation using this syntax, just click the switch syntax button in the corner of any Marko code sample.

Note: Text at the root of a template (outside any tags) must be prefixed with the concise syntax's -- to denote it is text. The parser starts in concise mode and would otherwise try to parse what you meant to be text as a concise tag declaration.

-- Root level text
 
-- Root level text
 

Tags

As you might expect, Marko supports all native HTML/SVG/whatever tags and attributes. In addition to these, it also comes with a set of useful core tags. Beyond this, you can also build your own custom tags and install third-party tags from npm.

All of these types of tags use the same syntax:

<my-tag-name/>
 
my-tag-name
diff --git a/docs/tooling-overview/index.html b/docs/tooling-overview/index.html
index 8e2501a1..c035ec8f 100644
--- a/docs/tooling-overview/index.html
+++ b/docs/tooling-overview/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

Troubleshooting HTTP Streams

The way Marko streams HTML is old and well-supported, but default configurations and assumptions by other software can foil it. This page describes some known culprits that may buffer your Node server’s output HTTP streams.

Reverse proxies/load balancers

  • Turn off proxy buffering, or if you can’t, set the proxy buffer sizes to be reasonably small.

  • Make sure the “upstream” HTTP version is 1.1 or higher; HTTP/1.0 and lower do not support streaming.

  • Some software doesn’t support HTTP/2 or higher “upstream” connections at all or very well — if your Node server uses HTTP/2, you may need to downgrade.

  • Check if “upstream” connections are keep-alive: overhead from closing and reopening connections may delay responses.

  • For typical modern webpage filesizes, the following bullet points probably won’t matter. But if you want to stream small chunks of data with the lowest latency, investigate these sources of buffering:

NGiNX

Most of NGiNX’s relevant parameters are inside its builtin http_proxy module:

proxy_http_version 1.1; # 1.0 by default
+    

Troubleshooting HTTP Streams

The way Marko streams HTML is old and well-supported, but default configurations and assumptions by other software can foil it. This page describes some known culprits that may buffer your Node server’s output HTTP streams.

Reverse proxies/load balancers

  • Turn off proxy buffering, or if you can’t, set the proxy buffer sizes to be reasonably small.

  • Make sure the “upstream” HTTP version is 1.1 or higher; HTTP/1.0 and lower do not support streaming.

  • Some software doesn’t support HTTP/2 or higher “upstream” connections at all or very well — if your Node server uses HTTP/2, you may need to downgrade.

  • Check if “upstream” connections are keep-alive: overhead from closing and reopening connections may delay responses.

  • For typical modern webpage filesizes, the following bullet points probably won’t matter. But if you want to stream small chunks of data with the lowest latency, investigate these sources of buffering:

NGiNX

Most of NGiNX’s relevant parameters are inside its builtin http_proxy module:

proxy_http_version 1.1; # 1.0 by default
 proxy_buffering off; # on by default
 

Apache

Apache’s default configuration works fine with streaming, but your host may have it configured differently. The relevant Apache configuration is inside its mod_proxy and mod_proxy_* modules and their associated environment variables.

CDNs

Content Delivery Networks (CDNs) consider efficient streaming one of their best features, but it may be off by default or if certain features are enabled.

Node.js itself

For extreme cases where Node streams very small HTML chunks with its built-in compression modules, you may need to tweak the compressor stream settings. Here’s an example with createGzip and its Z_PARTIAL_FLUSH flag:

import http from "http";
diff --git a/docs/tutorials-overview/index.html b/docs/tutorials-overview/index.html
index 6def05c9..e7c96972 100644
--- a/docs/tutorials-overview/index.html
+++ b/docs/tutorials-overview/index.html
@@ -16,7 +16,7 @@
       } else {
         delete localStorage.uwu;
       }
-    

TypeScript in Marko

Note: Types are supported in Marko v5.22.7+ and Marko v4.24.6+

Marko’s TypeScript support offers in-editor error checking, makes refactoring less scary, verifies that data matches expectations, and even helps with API design.

Or maybe you just want more autocomplete in VSCode. That works too.

Enabling TypeScript in your Marko project

There are two (non-exclusive) ways to add TypeScript to a Marko project:

  • For sites and web apps, you can place a tsconfig.json file at the project root:
    +    

    TypeScript in Marko

    Note: Types are supported in Marko v5.22.7+ and Marko v4.24.6+

    Marko’s TypeScript support offers in-editor error checking, makes refactoring less scary, verifies that data matches expectations, and even helps with API design.

    Or maybe you just want more autocomplete in VSCode. That works too.

    Enabling TypeScript in your Marko project

    There are two (non-exclusive) ways to add TypeScript to a Marko project:

    • For sites and web apps, you can place a tsconfig.json file at the project root:
       📁 components/
       📁 node_modules/
        index.marko
      diff --git a/docs/v6/index.html b/docs/v6/index.html
      index e2eab38b..b9b6441c 100644
      --- a/docs/v6/index.html
      +++ b/docs/v6/index.html
      @@ -1,3 +1,3 @@
      -
      \ No newline at end of file
      diff --git a/docs/vite/index.html b/docs/vite/index.html
      index 2301b0e8..210b5dc5 100644
      --- a/docs/vite/index.html
      +++ b/docs/vite/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      Marko + Vite

      Installation

      npm install @marko/vite vite
      +    

      Marko + Vite

      Installation

      npm install @marko/vite vite
       

      Example config

      import { defineConfig } from "vite";
       import marko from "@marko/vite";
       export default defineConfig({
      diff --git a/docs/webpack/index.html b/docs/webpack/index.html
      index 11820164..a5181803 100644
      --- a/docs/webpack/index.html
      +++ b/docs/webpack/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      Marko + Webpack

      Installation

      @marko/webpack >= 7 Only supports Marko 5+. For Marko 4 support use @marko/webpack@6.

      npm install @marko/webpack
      +    

      Marko + Webpack

      Installation

      @marko/webpack >= 7 Only supports Marko 5+. For Marko 4 support use @marko/webpack@6.

      npm install @marko/webpack
       

      Loader: @marko/webpack/loader

      The loader portion of this module can be used standalone and simply transforms your Marko templates into the appropriate JavaScript depending on your webpack target.

      You can override the output by adding a target option to the loader of target: "server" | "browser".

      Plugin: @marko/webpack/plugin

      The plugin actually creates two separate webpack plugins, the browser plugin and the server plugin.

      These are intended to be used in a isomorphic webpack multi compiler where you are bundling both the server and the browser. The way it works is that the server plugin is going to analyze the top level Marko components in your server and automatically communicate with the browser compiler to retrieve the assets for that template.

      This plugin also analyzes the top level Marko templates and determines if it is possible for them to rerender (currently the heuristic is simply does the component have an associated class or component.js). The plugin will automatically skip sending down any unnecessary top level templates to the browser.

      The end result is that you setup a multi compiler (as shown below) and you can simply import Marko templates, and all assets are automatically generated and inlined into an optimized server response. No need to keep track of a webpack manifest yourself!

      Tag: <webpack-assets>

      The <webpack-assets> tag can be used along with the plugin in a multi-compiler setup. This tag allows you to inject <script>/<style> tags into a server-rendered template for the assets of an entry in the client compiler.

      Example Usage

      <webpack-assets entry="tracking"/>
       
      webpack-assets entry="tracking"
       

      Example Config

      // ...
      diff --git a/docs/why-is-marko-fast/index.html b/docs/why-is-marko-fast/index.html
      index 1fdd3729..1ced757f 100644
      --- a/docs/why-is-marko-fast/index.html
      +++ b/docs/why-is-marko-fast/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      Why is Marko Fast?

      Marko logo

      This article was published in May 2017. You can find the original "Why is Marko Fast?" article here!

      At eBay we are using Marko to render over a billion requests every day and this has required us to finely tune Marko, our open source UI library. We have heavily optimized Marko for fast rendering, advanced performance techniques and to achieve a minimal page weight (~10kb gzipped). Performance is only one concern because we have also had to scale Marko to support development across hundreds of teams in a way that allows developers to efficiently create maintainable and robust web apps.

      We have created our own benchmarks and we have added Marko to other benchmarks, but benchmarks cannot always be trusted. While we make every effort to be fair with our benchmarks, what matters most is performance in real world applications as opposed to focusing on micro benchmarks. This is one reason that the V8 team has switched to a new methodology to measure and understand real-world JavaScript performance.

      Similarly, we’ve taken a look at how our developers are actually writing their Marko components and have found patterns that could be further optimized. Instead of focusing on benchmarks in this article, I want to focus on the details of optimizations that we have applied to Marko.

      Multiple Compilation Outputs

      Marko is an isomorphic UI library that runs on both the server and in the browser. As Michael Rawlings mentioned in “Server-side Rendering Shootout”, when rendering on the server, Marko renders directly to a string representation of the document (HTML) that can be sent as the HTTP response.

      When rendering in the browser, an HTML string would have to be parsed in order to update the DOM. For this reason, Marko compiles a view to a program that renders directly to a virtual document (VDOM) tree that can be used to efficiently update the real DOM when targeting the browser.

      Given the following template:

      <div>Hello ${input.name}!</div>
      +    

      Why is Marko Fast?

      Marko logo

      This article was published in May 2017. You can find the original "Why is Marko Fast?" article here!

      At eBay we are using Marko to render over a billion requests every day and this has required us to finely tune Marko, our open source UI library. We have heavily optimized Marko for fast rendering, advanced performance techniques and to achieve a minimal page weight (~10kb gzipped). Performance is only one concern because we have also had to scale Marko to support development across hundreds of teams in a way that allows developers to efficiently create maintainable and robust web apps.

      We have created our own benchmarks and we have added Marko to other benchmarks, but benchmarks cannot always be trusted. While we make every effort to be fair with our benchmarks, what matters most is performance in real world applications as opposed to focusing on micro benchmarks. This is one reason that the V8 team has switched to a new methodology to measure and understand real-world JavaScript performance.

      Similarly, we’ve taken a look at how our developers are actually writing their Marko components and have found patterns that could be further optimized. Instead of focusing on benchmarks in this article, I want to focus on the details of optimizations that we have applied to Marko.

      Multiple Compilation Outputs

      Marko is an isomorphic UI library that runs on both the server and in the browser. As Michael Rawlings mentioned in “Server-side Rendering Shootout”, when rendering on the server, Marko renders directly to a string representation of the document (HTML) that can be sent as the HTTP response.

      When rendering in the browser, an HTML string would have to be parsed in order to update the DOM. For this reason, Marko compiles a view to a program that renders directly to a virtual document (VDOM) tree that can be used to efficiently update the real DOM when targeting the browser.

      Given the following template:

      <div>Hello ${input.name}!</div>
       
      div -- Hello ${input.name}!
       

      Compiled for the server

      The compiled output is optimized for streaming HTML output on the server:

      var marko_template = require("marko/html").t(__filename),
         marko_helpers = require("marko/runtime/html/helpers"),
      diff --git a/index.html b/index.html
      index 46aee883..20dca11d 100644
      --- a/index.html
      +++ b/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    
      MarkoMarko

      A declarative, HTML-based language
      that makes building web apps fun

      Familiar

      If you know HTML, CSS, and Javascript, you know Marko

      Performant

      Streaming, partial hydration, an optimizing compiler, & a small runtime

      Scalable

      Start with simple HTML templates and add powerful components as needed

      Trusted

      Marko is powering high-traffic websites like ebay.com

      HTML Reimagined

      Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

      <!doctype html>
      +    
      MarkoMarko

      A declarative, HTML-based language
      that makes building web apps fun

      Familiar

      If you know HTML, CSS, and Javascript, you know Marko

      Performant

      Streaming, partial hydration, an optimizing compiler, & a small runtime

      Scalable

      Start with simple HTML templates and add powerful components as needed

      Trusted

      Marko is powering high-traffic websites like ebay.com

      HTML Reimagined

      Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

      <!doctype html>
       <html>
       <head>
           <title>Hello Marko</title>
      diff --git a/index.js b/index.js
      index b729d71c..06bf6b04 100644
      --- a/index.js
      +++ b/index.js
      @@ -718,7 +718,7 @@ _marko_template._ = renderer_js_default()(function (input, out, _componentDef, _
         getAssets(entry) {
           return this.build[entry];
         },
      -  build: {":name_5gMv":{"css":["8680a54b.css"],"js":["121.082b64a2.js","364.65751be0.js","72.101a150f.js","496.e12c06ed.js"]},":name_IGBa":{"css":["086d4324.css"],"js":["121.082b64a2.js","364.65751be0.js","586.bccf7e25.js"]},":name_Puth":{"js":["121.082b64a2.js","608.3649058d.js"]},":name_z0HT":{"css":["a50c84bf.css"],"js":["121.082b64a2.js","364.65751be0.js","991.56310bd8.js"]},"[name]_FLzY":{"css":["c2f5e683.css"],"js":["121.082b64a2.js","364.65751be0.js","72.101a150f.js","858.e13f35da.js"]},"code-block-marko_UUum":{"css":["ff15f5e4.css"],"js":["121.082b64a2.js","364.65751be0.js","896.ddf9a235.js"]},"dir-index_C1oC":{"css":["31fa76ad.css"],"js":["121.082b64a2.js","512.7e55141a.js"]},"docs_MeqG":{"js":["121.082b64a2.js","127.29aea32d.js"]},"docs_zLbN":{"js":["121.082b64a2.js","375.d7b9d8b7.js"]},"index_WEBG":{"css":["3f0c1fd4.css"],"js":["121.082b64a2.js","364.65751be0.js","317.f3733e16.js"]},"playground_E8TY":{"css":["d7111765.css"],"js":["121.082b64a2.js","364.65751be0.js","72.101a150f.js","745.c73f1c83.js","663.28f5dddc.js","215.0e5fbbe7.js","313.fdf44b36.js"]},"playground_mdf-":{"css":["d7111765.css"],"js":["121.082b64a2.js","364.65751be0.js","72.101a150f.js","39.40a6ace1.js"]},"try-online-new_1yH9":{"js":["121.082b64a2.js","421.0313a7b1.js"]},"try-online_gkPN":{"css":["47274f39.css"],"js":["121.082b64a2.js","364.65751be0.js","665.464eee7b.js"]},"tutorials_p6eY":{"css":["7b8df9ad.css"],"js":["121.082b64a2.js","364.65751be0.js","247.3ad572d9.js"]},"v6_--pM":{"js":["121.082b64a2.js","497.5e264aae.js"]},"v6_4cho":{"js":["121.082b64a2.js","802.a646e289.js"]},"v6_YkD7":{"css":["3f0c1fd4.css"],"js":["121.082b64a2.js","364.65751be0.js","117.19da8542.js"]}}
      +  build: {":name_5gMv":{"css":["8680a54b.css"],"js":["121.dee40b05.js","364.65751be0.js","72.101a150f.js","496.1f3507f7.js"]},":name_IGBa":{"css":["086d4324.css"],"js":["121.dee40b05.js","364.65751be0.js","586.bccf7e25.js"]},":name_Puth":{"js":["121.dee40b05.js","608.3649058d.js"]},":name_z0HT":{"css":["a50c84bf.css"],"js":["121.dee40b05.js","364.65751be0.js","991.56310bd8.js"]},"[name]_FLzY":{"css":["c2f5e683.css"],"js":["121.dee40b05.js","364.65751be0.js","72.101a150f.js","858.9323781e.js"]},"code-block-marko_UUum":{"css":["ff15f5e4.css"],"js":["121.dee40b05.js","364.65751be0.js","896.ddf9a235.js"]},"dir-index_C1oC":{"css":["31fa76ad.css"],"js":["121.dee40b05.js","512.7e55141a.js"]},"docs_MeqG":{"js":["121.dee40b05.js","127.29aea32d.js"]},"docs_zLbN":{"js":["121.dee40b05.js","375.d7b9d8b7.js"]},"index_WEBG":{"css":["3f0c1fd4.css"],"js":["121.dee40b05.js","364.65751be0.js","317.f3733e16.js"]},"playground_E8TY":{"css":["d7111765.css"],"js":["121.dee40b05.js","364.65751be0.js","72.101a150f.js","745.c73f1c83.js","663.28f5dddc.js","215.0e5fbbe7.js","313.b4d51fa5.js"]},"playground_mdf-":{"css":["d7111765.css"],"js":["121.dee40b05.js","364.65751be0.js","72.101a150f.js","39.0fd83ed0.js"]},"try-online-new_1yH9":{"js":["121.dee40b05.js","421.0313a7b1.js"]},"try-online_gkPN":{"css":["47274f39.css"],"js":["121.dee40b05.js","364.65751be0.js","665.464eee7b.js"]},"tutorials_p6eY":{"css":["7b8df9ad.css"],"js":["121.dee40b05.js","364.65751be0.js","247.3ad572d9.js"]},"v6_--pM":{"js":["121.dee40b05.js","497.5e264aae.js"]},"v6_4cho":{"js":["121.dee40b05.js","802.a646e289.js"]},"v6_YkD7":{"css":["3f0c1fd4.css"],"js":["121.dee40b05.js","364.65751be0.js","117.19da8542.js"]}}
       });
       ;// external "marko/dist/core-tags/core/__flush_here_and_after__.js"
       const _flush_here_and_after_js_namespaceObject = require("marko/dist/core-tags/core/__flush_here_and_after__.js");
      @@ -864,242 +864,288 @@ index_marko_server_entry_marko_template._ = renderer_js_default()(function (inpu
         t: index_marko_server_entry_marko_componentType,
         i: true
       }, index_marko_server_entry_marko_component);
      -;// ../logos/marko.svg
      -/* harmony default export */ const marko = (__webpack_require__.p + "91bc26e5.svg");
      -;// ./index/components/home-hero/marko-text.svg
      -/* harmony default export */ const marko_text = (__webpack_require__.p + "7443bd32.svg");
      -;// ../logos/marko-uwu.png
      -/* harmony default export */ const marko_uwu = (__webpack_require__.p + "2371441a.png");
      -;// external "marko/dist/runtime/html/helpers/data-marko.js"
      -const data_marko_js_namespaceObject = require("marko/dist/runtime/html/helpers/data-marko.js");
      -var data_marko_js_default = /*#__PURE__*/__webpack_require__.n(data_marko_js_namespaceObject);
      -;// ../logos/github.svg
      -/* harmony default export */ const github = (__webpack_require__.p + "0bc571bc.svg");
      -;// ./index/components/home-hero/components/github-link/index.marko
      -
      -const github_link_index_marko_marko_componentType = "ZLItxxri",
      -  github_link_index_marko_marko_template = (0,index_js_namespaceObject.t)(github_link_index_marko_marko_componentType);
      -/* harmony default export */ const github_link_index_marko = (github_link_index_marko_marko_template);
      +;// external "@marko/tags-api-preview/dist/transform/cached-values"
      +const cached_values_namespaceObject = require("@marko/tags-api-preview/dist/transform/cached-values");
      +;// external "@marko/tags-api-preview/dist/components/return"
      +const return_namespaceObject = require("@marko/tags-api-preview/dist/components/return");
      +var return_default = /*#__PURE__*/__webpack_require__.n(return_namespaceObject);
      +;// external "lz-string"
      +const external_lz_string_namespaceObject = require("lz-string");
      +;// ./playground/components/hash-value.marko
       
      +const hash_value_marko_marko_componentType = "iu_vYbKl",
      +  hash_value_marko_marko_template = (0,index_js_namespaceObject.t)(hash_value_marko_marko_componentType);
      +/* harmony default export */ const hash_value_marko = (hash_value_marko_marko_template);
       
      +function getInitialValue() {
      +  try {
      +    if (false) {}
      +  } catch (e) {
      +    console.error(e);
      +  }
      +}
       
       
      -const github_link_index_marko_marko_component = {};
      -github_link_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) {
      -  out.w(`GitHub`);
      +const hash_value_marko_marko_component = {
      +  onCreate() {
      +    this.state = {};
      +  }
      +};
      +hash_value_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) {
      +  var _component = _component2,
      +    _state = state;
      +  const {
      +    value: defaultValue
      +  } = input;
      +  let value = getInitialValue() || defaultValue;
      +  input._return && input._return({
      +    "value": value,
      +    "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component, []) || (_ => value = _))
      +  }, 1);
       }, {
      -  t: github_link_index_marko_marko_componentType,
      -  s: true
      -}, github_link_index_marko_marko_component);
      -;// ./index/components/home-hero/index.marko
      -
      -const home_hero_index_marko_marko_componentType = "zOb$ETAb",
      -  home_hero_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_hero_index_marko_marko_componentType);
      -/* harmony default export */ const home_hero_index_marko = (home_hero_index_marko_marko_template);
      -
      +  t: hash_value_marko_marko_componentType
      +}, hash_value_marko_marko_component);
      +;// external "@marko/tags-api-preview/dist/util/replace-assignments"
      +const replace_assignments_namespaceObject = require("@marko/tags-api-preview/dist/util/replace-assignments");
      +var replace_assignments_default = /*#__PURE__*/__webpack_require__.n(replace_assignments_namespaceObject);
      +;// external "@marko/tags-api-preview/dist/transform/native-tag-var"
      +const native_tag_var_namespaceObject = require("@marko/tags-api-preview/dist/transform/native-tag-var");
      +var native_tag_var_default = /*#__PURE__*/__webpack_require__.n(native_tag_var_namespaceObject);
      +;// ../../node_modules/@marko/tags-api-preview/dist/components/_instance/index.marko
       
      +const _instance_index_marko_marko_componentType = "ZcXvQUMl",
      +  _instance_index_marko_marko_template = (0,index_js_namespaceObject.t)(_instance_index_marko_marko_componentType);
      +/* harmony default export */ const _instance_index_marko = (_instance_index_marko_marko_template);
       
      +const _instance_index_marko_marko_component = {
      +  onCreate() {
      +    this.state = {};
      +  }
      +};
      +_instance_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) {
      +  var componentDef = _componentDef;
      +  input.renderBody(out, componentDef, _component, state);
      +}, {
      +  t: _instance_index_marko_marko_componentType
      +}, _instance_index_marko_marko_component);
      +;// external "marko/dist/runtime/helpers/class-value.js"
      +const class_value_js_namespaceObject = require("marko/dist/runtime/helpers/class-value.js");
      +var class_value_js_default = /*#__PURE__*/__webpack_require__.n(class_value_js_namespaceObject);
      +;// ../components/repl/components/file-tabs.marko
       
      +const file_tabs_marko_marko_componentType = "JtPBPdcm",
      +  file_tabs_marko_marko_template = (0,index_js_namespaceObject.t)(file_tabs_marko_marko_componentType);
      +/* harmony default export */ const file_tabs_marko = (file_tabs_marko_marko_template);
       
       
       
       
      -const home_hero_index_marko_marko_component = {};
      -home_hero_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) {
      -  out.w(`
      "); -}, { - t: home_hero_index_marko_marko_componentType, - s: true -}, home_hero_index_marko_marko_component); -;// ./index/components/home-features/index.marko -const home_features_index_marko_marko_componentType = "qRU$xLeb", - home_features_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_features_index_marko_marko_componentType); -/* harmony default export */ const home_features_index_marko = (home_features_index_marko_marko_template); -const home_features_index_marko_marko_component = {}; -home_features_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w("

      Familiar

      If you know HTML, CSS, and Javascript, you know Marko

      Performant

      Streaming, partial hydration, an optimizing compiler, & a small runtime

      Scalable

      Start with simple HTML templates and add powerful components as needed

      Trusted

      Marko is powering high-traffic websites like ebay.com

      "); -}, { - t: home_features_index_marko_marko_componentType, - i: true -}, home_features_index_marko_marko_component); -;// external "marko/dist/runtime/helpers/attr-tag.js" -const attr_tag_js_namespaceObject = require("marko/dist/runtime/helpers/attr-tag.js"); -;// ./index/components/home-language/components/counter-tags.marko -const counter_tags_marko_marko_componentType = "jwtsId_c", - counter_tags_marko_marko_template = (0,index_js_namespaceObject.t)(counter_tags_marko_marko_componentType); -/* harmony default export */ const counter_tags_marko = (counter_tags_marko_marko_template); -const counter_tags_marko_marko_component = { +const file_tabs_marko_marko_component = { onCreate() { this.state = {}; } }; -counter_tags_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { - var _component = _component2, +file_tabs_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component4, state, $global) { + var _component = _component4, _state = state; - let count = 0; - out.w(``); -}, { - t: counter_tags_marko_marko_componentType -}, counter_tags_marko_marko_component); -;// ./index/components/home-language/components/counter-example/index.marko - -const counter_example_index_marko_marko_componentType = "bqxM_lge", - counter_example_index_marko_marko_template = (0,index_js_namespaceObject.t)(counter_example_index_marko_marko_componentType); -/* harmony default export */ const counter_example_index_marko = (counter_example_index_marko_marko_template); - - -const counter_example_index_marko_marko_component = { - onCreate() { - this.state = { - count: 0 - }; - }, - increment() { - this.state.count++; + const { + "selectedIndexChange": _selectedIndexChange, + "filesChange": _filesChange, + files: externalFiles, + selectedIndex: externalSelected + } = input; + let files = externalFiles; + let selectedIndex = externalSelected; + const selectedFile = files[selectedIndex]; + out.w("
      "); + { + let nextId = 1; + let _index = 0; + for (const file of of_fallback_js_default()(files)) { + let index = _index++; + const _keyScope = `[${index}]`; + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef, _component2, _state2) => { + var _componentDef = _nestedComponentDef, + _component4 = _component2; + let editing = false; + const selected = selectedFile === file; + const mutable = index > 0; + out.w(``); + if (!editing || !selected || !mutable) { + out.w((0,escape_xml_js_namespaceObject.x)(file.name)); + } else { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef2, _component3, _state3) => { + var _componentDef = _nestedComponentDef2, + _component4 = _component3; + let name = file.name; + const finishRename = (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component3, [name, files]) || function () { + const modifiedFile = { + ...file, + name, + path: file.path.replace(file.name, name) + }; + files = [...files.slice(0, index), modifiedFile, ...files.slice(index + 1)]; + editing = false; + }); + const nameInput = native_tag_var_default()(_component3, "0"); + out.w(``); + } + }, out, _componentDef, "3" + _keyScope); + } + if (mutable) { + out.w(""); + } + out.w("
      "); + } + }, out, _componentDef, "1" + _keyScope); + } + out.w(""); } -}; -counter_example_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(`
      ${(0,escape_xml_js_namespaceObject.x)(state.count)}
      `); + out.w("
      "); }, { - t: counter_example_index_marko_marko_componentType -}, counter_example_index_marko_marko_component); -// EXTERNAL MODULE: ../components/heading/getAnchorName.js -var getAnchorName = __webpack_require__(272); -var getAnchorName_default = /*#__PURE__*/__webpack_require__.n(getAnchorName); + t: file_tabs_marko_marko_componentType +}, file_tabs_marko_marko_component); +;// external "marko/dist/runtime/helpers/attr-tag.js" +const attr_tag_js_namespaceObject = require("marko/dist/runtime/helpers/attr-tag.js"); ;// external "marko/dist/runtime/helpers/dynamic-tag.js" const dynamic_tag_js_namespaceObject = require("marko/dist/runtime/helpers/dynamic-tag.js"); var dynamic_tag_js_default = /*#__PURE__*/__webpack_require__.n(dynamic_tag_js_namespaceObject); -;// ../components/heading/index.marko +;// ../components/repl/components/pane.marko -const heading_index_marko_marko_componentType = "m$Yyhouk", - heading_index_marko_marko_template = (0,index_js_namespaceObject.t)(heading_index_marko_marko_componentType); -/* harmony default export */ const heading_index_marko = (heading_index_marko_marko_template); +const pane_marko_marko_componentType = "YdDerxpd", + pane_marko_marko_template = (0,index_js_namespaceObject.t)(pane_marko_marko_componentType); +/* harmony default export */ const pane_marko = (pane_marko_marko_template); +const pane_marko_marko_component = {}; +pane_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + const { + actions, + body + } = input; + out.w("
      "); + dynamic_tag_js_default()(out, actions.renderBody, null, null, null, null, _componentDef, "2"); + out.w("
      "); + dynamic_tag_js_default()(out, body.renderBody, null, null, null, null, _componentDef, "5"); + out.w("
      "); +}, { + t: pane_marko_marko_componentType, + i: true +}, pane_marko_marko_component); +;// ../components/repl/components/controllable-select.marko +const controllable_select_marko_marko_componentType = "edcMGKVi", + controllable_select_marko_marko_template = (0,index_js_namespaceObject.t)(controllable_select_marko_marko_componentType); +/* harmony default export */ const controllable_select_marko = (controllable_select_marko_marko_template); -const heading_index_marko_marko_component = {}; -heading_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - var className = input['class']; - var text = input.text; - var anchorName = input.anchorName || getAnchorName_default()(text, out); - dynamic_tag_js_default()(out, input.tag, () => ({ - "class": ['heading', className] - }), out => { - out.w(``); - if (text) { - out.w((0,escape_xml_js_namespaceObject.x)(text)); - } else { - dynamic_tag_js_default()(out, input.renderBody, null, null, null, null, _componentDef, "3"); - } - }, null, null, _componentDef, "0"); -}, { - t: heading_index_marko_marko_componentType, - i: true -}, heading_index_marko_marko_component); -;// external "marko/dist/runtime/helpers/class-value.js" -const class_value_js_namespaceObject = require("marko/dist/runtime/helpers/class-value.js"); -var class_value_js_default = /*#__PURE__*/__webpack_require__.n(class_value_js_namespaceObject); -;// ./index/components/home-feature-block/index.marko -const home_feature_block_index_marko_marko_componentType = "TxbG_krh", - home_feature_block_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_feature_block_index_marko_marko_componentType); -/* harmony default export */ const home_feature_block_index_marko = (home_feature_block_index_marko_marko_template); +const controllable_select_marko_marko_component = { + onCreate() { + this.state = {}; + } +}; +controllable_select_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { + var _component = _component2, + _state = state; + const { + value, + valueChange, + renderBody, + class: className + } = input; + const el = native_tag_var_default()(_component, "0"); + out.w(``); + dynamic_tag_js_default()(out, renderBody, null, null, null, null, _componentDef, "0"); + out.w(""); +}, { + t: controllable_select_marko_marko_componentType +}, controllable_select_marko_marko_component); +;// external "@marko/tags-api-preview/dist/translate/native-tag-handlers" +const native_tag_handlers_namespaceObject = require("@marko/tags-api-preview/dist/translate/native-tag-handlers"); +var native_tag_handlers_default = /*#__PURE__*/__webpack_require__.n(native_tag_handlers_namespaceObject); +;// external "marko/dist/runtime/html/helpers/data-marko.js" +const data_marko_js_namespaceObject = require("marko/dist/runtime/html/helpers/data-marko.js"); +var data_marko_js_default = /*#__PURE__*/__webpack_require__.n(data_marko_js_namespaceObject); +;// external "marko/dist/runtime/html/helpers/attrs.js" +const attrs_js_namespaceObject = require("marko/dist/runtime/html/helpers/attrs.js"); +var attrs_js_default = /*#__PURE__*/__webpack_require__.n(attrs_js_namespaceObject); +;// ../components/repl/components/playground-link.marko + +const playground_link_marko_marko_componentType = "fLRwaABg", + playground_link_marko_marko_template = (0,index_js_namespaceObject.t)(playground_link_marko_marko_componentType); +/* harmony default export */ const playground_link_marko = (playground_link_marko_marko_template); -const home_feature_block_index_marko_marko_component = {}; -home_feature_block_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(`
      `); - render_tag_js_default()(heading_index_marko, { - "tag": "h1", - "class": "home-feature-block-title", - ...input.title - }, out, _componentDef, "3"); - out.w("
      "); - dynamic_tag_js_default()(out, input.content, null, null, null, null, _componentDef, "5"); - out.w(`
      `); - dynamic_tag_js_default()(out, input.visual, null, null, null, null, _componentDef, "7"); - out.w("
      "); - if (input.action) { - out.w(`
      ${(0,escape_xml_js_namespaceObject.x)(input.action.text || "Learn More")}
      `); - } - out.w("
      "); - dynamic_tag_js_default()(out, input.breakout, null, null, null, null, _componentDef, "10"); - out.w("
      "); +const playground_link_marko_marko_component = {}; +playground_link_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + const { + files, + ...attrs + } = input; + var _meta = {}; + out.w(`Open in playground \u2197`); }, { - t: home_feature_block_index_marko_marko_componentType, + t: playground_link_marko_marko_componentType, i: true -}, home_feature_block_index_marko_marko_component); -;// ./index/components/home-language/index.marko +}, playground_link_marko_marko_component); +;// ../components/repl/components/match-media.marko -const home_language_index_marko_marko_componentType = "fEFMinFc", - home_language_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_language_index_marko_marko_componentType); -/* harmony default export */ const home_language_index_marko = (home_language_index_marko_marko_template); +const match_media_marko_marko_componentType = "aEQdEE_f", + match_media_marko_marko_template = (0,index_js_namespaceObject.t)(match_media_marko_marko_componentType); +/* harmony default export */ const match_media_marko = (match_media_marko_marko_template); +const match_media_marko_marko_component = { + onCreate() { + this.state = {}; + } +}; +match_media_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { + var _component = _component2, + _state = state; + const { + value: query, + fallback + } = input; + let isMatch = false ? 0 : fallback; + input._return && input._return({ + "value": isMatch + }, 1); +}, { + t: match_media_marko_marko_componentType +}, match_media_marko_marko_component); +;// ../components/repl/components/resizable-panes.marko +const resizable_panes_marko_marko_componentType = "H_lRXCBe", + resizable_panes_marko_marko_template = (0,index_js_namespaceObject.t)(resizable_panes_marko_marko_componentType); +/* harmony default export */ const resizable_panes_marko = (resizable_panes_marko_marko_template); -const home_language_index_marko_marko_component = {}; -home_language_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "HTML Reimagined", - "anchorName": "language" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

      Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

      "); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "class": "home-language__examples", - "renderBody": out => { - if (input.v6) { - out.w("
      "); - render_tag_js_default()(counter_tags_marko, {}, out, _componentDef, "5"); - out.w("
      <!doctype html>\n<html>\n    <head>\n        <title>Count with Marko</title>\n    </head>\n    <body>\n        <let/count=0/>\n        <button onClick() { count++ }>\n            ${count}\n        </button>\n    </body>\n</html>\n
      "); - } else { - out.w("
      <!doctype html>\n<html>\n<head>\n    <title>Hello Marko</title>\n</head>\n<body>\n    <h1>My favorite colors</h1>\n    <ul>\n        <for|color| of=[\"red\", \"green\", \"blue\"]>\n            <li style=`color:${color}`>\n                ${color.toUpperCase()}\n            </li>\n        </for>\n    </ul>\n    <shared-footer/>\n</body>\n</html>\n
      HTML Templates, Custom Tags, & Javascript Expressions
      "); - render_tag_js_default()(counter_example_index_marko, {}, out, _componentDef, "12"); - out.w("
      class {\n  onCreate() {\n    this.state = { count: 0 };\n  }\n  increment() {\n    this.state.count++;\n  }\n}\n<div>${state.count}</div>\n<button on-click(\"increment\")>\n  Click me!\n</button>\n
      Interactive Logic & Reactive Values
      "); - } - } - }); - }, { - "class": "home-language" - }), out, _componentDef, "0"); -}, { - t: home_language_index_marko_marko_componentType, - i: true -}, home_language_index_marko_marko_component); -;// ./index/components/home-demo-page/product.png -/* harmony default export */ const product = (__webpack_require__.p + "2ff006d2.png"); -;// ./index/components/home-demo-page/x.svg -/* harmony default export */ const x = (__webpack_require__.p + "886b7024.svg"); -;// external "marko/dist/runtime/helpers/style-value.js" -const style_value_js_namespaceObject = require("marko/dist/runtime/helpers/style-value.js"); -var style_value_js_default = /*#__PURE__*/__webpack_require__.n(style_value_js_namespaceObject); -;// ./index/components/home-demo-page/index.marko -const home_demo_page_index_marko_marko_componentType = "pYOALFJk", - home_demo_page_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_demo_page_index_marko_marko_componentType); -/* harmony default export */ const home_demo_page_index_marko = (home_demo_page_index_marko_marko_template); @@ -1107,347 +1153,236 @@ const home_demo_page_index_marko_marko_componentType = "pYOALFJk", -const home_demo_page_index_marko_marko_component = {}; -home_demo_page_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - const progress = input.buffered ? Math.floor(input.progress / 0.9) : input.progress / 0.9; - out.w(`
      `); - if (input.progress >= 0) { - out.w(`
      `); + +const resizable_panes_marko_marko_component = { + onCreate() { + this.state = {}; } - out.w(`
      Cart (0)
      Google Home - $79
      Add to Cart
      Hands-free help around the house. Google Home is a smart speaker with the Google Assistant built in. So whenever you need help, it's by your side
      \u2605\u2605\u2605\u2605\u2606
      Cool gadget Google has created a nice device that provides music and information by voice control. The microphone is very good and will usually pick up commands from across the room. The speakers sound surprisingly good for such a small device. I wish it had tone control though.
      \u2605\u2605\u2605\u2605\u2605
      Incredible sound profile! Easy setup, great sound for any room size. Adjustable bass and treble. Currently have two paired up for better whole house sound.
      About
      Security
      Policies
      Help
      Sitemap
      `); - if (input.buffered || input.hydrateAll) { - out.w(`
      `); - } else { - out.w(`
      `); +}; +resizable_panes_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component3, state, $global) { + var _component = _component3, + _state = state; + const { + left, + right + } = input; + let editorSize = 0.5; + let resizing = false; + var _matchMediaReturn = return_default()(_component); + render_tag_js_default()(match_media_marko, { + "value": "(max-aspect-ratio: 1/1)", + "_return": _matchMediaReturn + }, out, _componentDef, "0"); + const { + value: isVertical + } = _matchMediaReturn(); + const container = native_tag_var_default()(_component, "0"); + out.w(``); + var _meta = {}; + out.w(``); + dynamic_tag_js_default()(out, left.renderBody, null, null, null, null, _componentDef, "2"); + out.w("
      "); + var _meta2 = {}; + out.w(``); + dynamic_tag_js_default()(out, right.renderBody, null, null, null, null, _componentDef, "6"); + out.w("
      "); + if (resizing) { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef, _component2, _state2) => { + var _componentDef = _nestedComponentDef, + _component3 = _component2; + } + }, out, _componentDef, "7"); } - out.w("
      "); }, { - t: home_demo_page_index_marko_marko_componentType, - i: true -}, home_demo_page_index_marko_marko_component); -;// ./index/components/home-streaming/components/scroll-locked-stream-example/index.marko + t: resizable_panes_marko_marko_componentType +}, resizable_panes_marko_marko_component); +;// ../components/repl/index.marko -const scroll_locked_stream_example_index_marko_marko_componentType = "RQwDtLcd", - scroll_locked_stream_example_index_marko_marko_template = (0,index_js_namespaceObject.t)(scroll_locked_stream_example_index_marko_marko_componentType); -/* harmony default export */ const scroll_locked_stream_example_index_marko = (scroll_locked_stream_example_index_marko_marko_template); +const repl_index_marko_marko_componentType = "rtapnbhf", + repl_index_marko_marko_template = (0,index_js_namespaceObject.t)(repl_index_marko_marko_componentType); +/* harmony default export */ const repl_index_marko = (repl_index_marko_marko_template); -const scroll_locked_stream_example_index_marko_marko_component = { + + + + + + + +const repl_index_marko_marko_component = { onCreate() { - this.state = { - progress: 0.1 - }; - }, - onMount() { - this.observer = new IntersectionObserver(entries => { - if (entries[0].intersectionRatio <= 0) { - this.cleanProgress(); - } else { - this.initProgress(); - } - }); - this.observer.observe(this.getEl("root")); - }, - onDestroy() { - this.cleanProgress(); - this.observer.disconnect(); - }, - initProgress() { - const updateProgress = () => { - this.state.progress = (this.state.progress + 0.004) % 1.5; - this.frame = requestAnimationFrame(updateProgress); - }; - this.frame = requestAnimationFrame(updateProgress); - }, - cleanProgress() { - cancelAnimationFrame(this.frame); + this.state = {}; } }; -scroll_locked_stream_example_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(``); - render_tag_js_default()(home_demo_page_index_marko, { - "progress": state.progress, - "buffered": true, - "label": "Buffered pages don't show content as it loads" - }, out, _componentDef, "0"); - render_tag_js_default()(home_demo_page_index_marko, { - "progress": state.progress, - "label": "Streaming pages show content incrementally", - "class": "scroll-locked-progressive" - }, out, _componentDef, "1"); - out.w("
      "); -}, { - t: scroll_locked_stream_example_index_marko_marko_componentType -}, scroll_locked_stream_example_index_marko_marko_component); -;// ./index/components/home-streaming/index.marko - -const home_streaming_index_marko_marko_componentType = "opQEgCpi", - home_streaming_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_streaming_index_marko_marko_componentType); -/* harmony default export */ const home_streaming_index_marko = (home_streaming_index_marko_marko_template); - - - - - -const home_streaming_index_marko_marko_component = {}; -home_streaming_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Progressive Rendering", - "anchorName": "streaming" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

      Marko streams content to your users as soon as it\u2019s ready. No waiting for client side JavaScript bundles or data requests to start rendering. HTML, assets, and images are loaded as soon as possible with asynchronous data loading in as it completes.

      "); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "renderBody": out => { - render_tag_js_default()(scroll_locked_stream_example_index_marko, { - "class": "home-streaming-example" - }, out, _componentDef, "2"); - } - }); - (0,attr_tag_js_namespaceObject.a)("action", { - "href": "https://dev.to/ryansolid/server-rendering-in-javascript-optimizing-performance-1jnk" - }); - }, { - "align": "left", - "class": "home-streaming" - }), out, _componentDef, "0"); -}, { - t: home_streaming_index_marko_marko_componentType, - i: true -}, home_streaming_index_marko_marko_component); -;// ./index/components/home-hydration/index.marko - -const home_hydration_index_marko_marko_componentType = "NpXSyNze", - home_hydration_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_hydration_index_marko_marko_componentType); -/* harmony default export */ const home_hydration_index_marko = (home_hydration_index_marko_marko_template); - - - - - -const home_hydration_index_marko_marko_component = {}; -home_hydration_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Code Elimination", - "anchorName": "hydration" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

      Marko only sends the code for interactive components to the browser. Its compiler automatically detects which components only need to be rendered on the server. This means less to download and less to execute. Your users can enjoy top tier performance regardless of their devices or networks.

      "); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "renderBody": out => { - render_tag_js_default()(home_demo_page_index_marko, { - "hydrateAll": true, - "label": "Traditional hydration sends and re-excutes the code for all components", - "class": "home-hydration-example" - }, out, _componentDef, "2"); - render_tag_js_default()(home_demo_page_index_marko, { - "hydratePartial": true, - "label": "Marko's hydration only sends the code for interactive components", - "class": "home-hydration-example" - }, out, _componentDef, "3"); - } - }); - (0,attr_tag_js_namespaceObject.a)("action", { - "href": "https://medium.com/@mlrawlings/maybe-you-dont-need-that-spa-f2c659bc7fec" - }); - }, { - "align": "right", - "class": "home-hydration" - }), out, _componentDef, "0"); -}, { - t: home_hydration_index_marko_marko_componentType, - i: true -}, home_hydration_index_marko_marko_component); -;// ./index/components/home-performance/arrow.svg -/* harmony default export */ const arrow = (__webpack_require__.p + "7c1cc740.svg"); -;// ./index/components/home-performance/index.marko - -const home_performance_index_marko_marko_componentType = "zumXQlzg", - home_performance_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_performance_index_marko_marko_componentType); -/* harmony default export */ const home_performance_index_marko = (home_performance_index_marko_marko_template); - - - - - - -const home_performance_index_marko_marko_component = {}; -home_performance_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Tailored Performance", - "anchorName": "performance" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

      Marko's compiler generates code tailored to where it is going to run. You write your code once and it is optimized for both the server and browser. This is especially apparent on the server where Marko is several times faster than other popular solutions.

      "); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "renderBody": out => { - out.w(``); - } - }); - (0,attr_tag_js_namespaceObject.a)("action", { - "href": "https://github.com/marko-js/isomorphic-ui-benchmarks", - "text": "See the Benchmarks" - }); - }, { - "class": "home-performance" - }), out, _componentDef, "0"); -}, { - t: home_performance_index_marko_marko_componentType, - i: true -}, home_performance_index_marko_marko_component); -;// ./index/components/home-tooling/screen.png -/* harmony default export */ const screen = (__webpack_require__.p + "92c4e05e.png"); -;// ./index/components/home-tooling/index.marko - -const home_tooling_index_marko_marko_componentType = "ZYtbGNjl", - home_tooling_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_tooling_index_marko_marko_componentType); -/* harmony default export */ const home_tooling_index_marko = (home_tooling_index_marko_marko_template); - - - - - - -const home_tooling_index_marko_marko_component = {}; -home_tooling_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Editor Support", - "anchorName": "tooling" - }); - (0,attr_tag_js_namespaceObject.a)("content", { +repl_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component7, state, $global) { + var _component = _component7, + _state = state; + const { + "filesChange": _filesChange, + getCompilerOptions, + files + } = input; + let selectedIndex = 0; + let previewType = "preview"; + let debounce = false; + const selectedFile = files[selectedIndex]; + render_tag_js_default()(resizable_panes_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("left", { + "class": "editor-container", "renderBody": out => { - out.w("

      Marko provides first-class support for the VSCode editor including syntax highlighting, Autocompletion, Hyperclick to quickly jump to referenced files, and Pretty printing to keep your code readable.

      Community plugins also provide syntax highlighting for Sublime, Atom, Webstorm & others!

      "); + render_tag_js_default()(pane_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("actions", { + "renderBody": out => { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef, _component2, _state2) => { + var _componentDef = _nestedComponentDef, + _component7 = _component2; + render_tag_js_default()(file_tabs_marko, { + "files": files, + "filesChange": _filesChange, + "selectedIndex": selectedIndex, + "selectedIndexChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component2, []) || (_ => selectedIndex = _)) + }, out, _componentDef, "3"); + } + }, out, _componentDef, "2"); + } + }); + (0,attr_tag_js_namespaceObject.a)("body", { + "renderBody": out => { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef2, _component3, _state3) => { + var _componentDef = _nestedComponentDef2, + _component7 = _component3; + let activeEditor = null; + if (activeEditor) { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef3, _component4, _state4) => { + var _componentDef = _nestedComponentDef3, + _component7 = _component4; + dynamic_tag_js_default()(out, activeEditor, () => ({ + "value": selectedFile.content, + "filename": selectedFile.path, + "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component4, [selectedFile, files, selectedIndex]) || function (content) { + const modifiedFile = { + ...selectedFile, + content + }; + replace_assignments_default()(_filesChange, [...files.slice(0, selectedIndex), modifiedFile, ...files.slice(selectedIndex + 1)]); + debounce = true; + }) + }), null, null, null, _componentDef, "6"); + } + }, out, _componentDef, "5"); + } + } + }, out, _componentDef, "4"); + } + }); + }), out, _componentDef, "1"); } }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "class": "home-tooling__screenshot-window", + (0,attr_tag_js_namespaceObject.a)("right", { "renderBody": out => { - out.w(`
      `); + render_tag_js_default()(pane_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("actions", { + "renderBody": out => { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef4, _component5, _state5) => { + var _componentDef = _nestedComponentDef4, + _component7 = _component5; + render_tag_js_default()(controllable_select_marko, { + "value": previewType, + "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component5, []) || function (value) { + previewType = value; + debounce = false; + }), + "class": "preview-select", + "renderBody": out => { + out.w(""); + } + }, out, _componentDef, "9"); + render_tag_js_default()(playground_link_marko, { + "files": files + }, out, _componentDef, "13"); + } + }, out, _componentDef, "8"); + } + }); + (0,attr_tag_js_namespaceObject.a)("body", { + "renderBody": out => { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef5, _component6, _state6) => { + var _componentDef = _nestedComponentDef5, + _component7 = _component6; + let preview = null; + dynamic_tag_js_default()(out, preview, () => ({ + "type": previewType, + "files": files, + "selectedFile": selectedFile, + "getCompilerOptions": getCompilerOptions, + "debounce": debounce + }), null, null, null, _componentDef, "15"); + } + }, out, _componentDef, "14"); + } + }); + }), out, _componentDef, "7"); } - }); - (0,attr_tag_js_namespaceObject.a)("action", { - "href": "/docs/editor-plugins", - "text": "View editor plugins" - }); - }, { - "align": "right", - "class": "home-tooling" - }), out, _componentDef, "0"); -}, { - t: home_tooling_index_marko_marko_componentType, - i: true -}, home_tooling_index_marko_marko_component); -// EXTERNAL MODULE: external "gh-got" -var external_gh_got_ = __webpack_require__(724); -var external_gh_got_default = /*#__PURE__*/__webpack_require__.n(external_gh_got_); -;// ../logos/stackoverflow.svg -/* harmony default export */ const stackoverflow = (__webpack_require__.p + "0bfc2ee7.svg"); -;// ../logos/discord.svg -/* harmony default export */ const discord = (__webpack_require__.p + "78800ea4.svg"); -;// ../logos/twitter.svg -/* harmony default export */ const twitter = (__webpack_require__.p + "82b09e37.svg"); -;// external "marko/dist/core-tags/core/await/renderer.js" -const await_renderer_js_namespaceObject = require("marko/dist/core-tags/core/await/renderer.js"); -var await_renderer_js_default = /*#__PURE__*/__webpack_require__.n(await_renderer_js_namespaceObject); -;// ./index/components/home-community/index.marko - -const home_community_index_marko_marko_componentType = "rsiRtNhi", - home_community_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_community_index_marko_marko_componentType); -/* harmony default export */ const home_community_index_marko = (home_community_index_marko_marko_template); - - - - - - + }); + }), out, _componentDef, "0"); +}, { + t: repl_index_marko_marko_componentType +}, repl_index_marko_marko_component); +;// ./playground/components/playground.marko +const playground_marko_marko_componentType = "HUU$Znhn", + playground_marko_marko_template = (0,index_js_namespaceObject.t)(playground_marko_marko_componentType); +/* harmony default export */ const playground_marko = (playground_marko_marko_template); -const home_community_index_marko_marko_component = {}; -home_community_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Join the Community", - "anchorName": "community", - "class": "home-community__title" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

      Need help? Want to contribute? Get involved in the Marko Community!

      "); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "renderBody": out => { - out.w(`
      Ask & answer StackOverflow questions with the marko tag
      Hang out in our Discord server, ask questions, & discuss project direction
      Tweet to @MarkoDevTeam or with the #markojs hashtag
      Browse the code, open issues, & make pull requests on the GitHub repo
      `); - } - }); - (0,attr_tag_js_namespaceObject.a)("breakout", { - "renderBody": out => { - out.w("
      "); - render_tag_js_default()((await_renderer_js_default()), (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("then", { - "renderBody": (out, { - body - }) => { - let _keyValue = 0; - for (const contributor of of_fallback_js_default()(body)) { - const _keyScope = `[${_keyValue++}]`; - out.w(``); - } - } - }); - (0,attr_tag_js_namespaceObject.a)("catch", {}); - }, { - "_provider": external_gh_got_default()('/repos/marko-js/marko/contributors?per_page=100'), - "_name": "ghGot('/repos/marko-js/marko/contributors?per_page=100')" - }), out, _componentDef, "25"); - out.w("
      "); - } - }); - }, { - "colors": ["#fff"] - }), out, _componentDef, "0"); +const playground_marko_marko_component = { + onCreate() { + this.state = {}; + } +}; +playground_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { + var _component = _component2, + _state = state; + var _hashValueReturn = return_default()(_component); + render_tag_js_default()(hash_value_marko, { + "value": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component, []) || [{ + name: "index.marko", + path: "/components/index.marko", + content: "\n" + }]), + "_return": _hashValueReturn + }, out, _componentDef, "0"); + const { + "valueChange": _valueChange, + value: files + } = _hashValueReturn(); + render_tag_js_default()(repl_index_marko, { + "files": files, + "filesChange": _valueChange + }, out, _componentDef, "1"); }, { - t: home_community_index_marko_marko_componentType, - i: true -}, home_community_index_marko_marko_component); + t: playground_marko_marko_componentType +}, playground_marko_marko_component); ;// ../components/app-layout/favicon.png /* harmony default export */ const favicon = (__webpack_require__.p + "d78b83f1.png"); ;// ../components/app-layout/components/skip-link/index.marko @@ -1464,6 +1399,10 @@ skip_link_index_marko_marko_template._ = renderer_js_default()(function (input, t: skip_link_index_marko_marko_componentType, i: true }, skip_link_index_marko_marko_component); +;// ../logos/marko.svg +/* harmony default export */ const marko = (__webpack_require__.p + "91bc26e5.svg"); +;// ../logos/marko-uwu.png +/* harmony default export */ const marko_uwu = (__webpack_require__.p + "2371441a.png"); ;// ../components/app-layout/components/layout-search/index.marko const layout_search_index_marko_marko_componentType = "MYKqWWDb", @@ -1697,6 +1636,8 @@ google_analytics_index_marko_marko_template._ = renderer_js_default()(function ( t: google_analytics_index_marko_marko_componentType, i: true }, google_analytics_index_marko_marko_component); +;// ../logos/discord.svg +/* harmony default export */ const discord = (__webpack_require__.p + "78800ea4.svg"); ;// ../components/discord-link/index.marko const discord_link_index_marko_marko_componentType = "_GWD$Hh", @@ -1779,54 +1720,117 @@ app_layout_index_marko_marko_template._ = renderer_js_default()(function (input, t: app_layout_index_marko_marko_componentType, i: true }, app_layout_index_marko_marko_component); -;// ./index/index.marko +;// ./playground/index.marko + +const playground_index_marko_marko_componentType = "MHuPCuWh", + playground_index_marko_marko_template = (0,index_js_namespaceObject.t)(playground_index_marko_marko_componentType); +/* harmony default export */ const playground_index_marko = (playground_index_marko_marko_template); -const index_index_marko_marko_componentType = "riZjSFCe", - index_index_marko_marko_template = (0,index_js_namespaceObject.t)(index_index_marko_marko_componentType); -/* harmony default export */ const index_index_marko = (index_index_marko_marko_template); +const playground_index_marko_marko_component = {}; +playground_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(app_layout_index_marko, { + "title": "Try online", + "footer": false, + "discord": false, + "renderBody": out => { + render_tag_js_default()(playground_marko, {}, out, _componentDef, "1"); + } + }, out, _componentDef, "0"); + out.w(""); +}, { + t: playground_index_marko_marko_componentType, + i: true +}, playground_index_marko_marko_component); +;// ./playground/index.marko?server-entry + +const playground_index_marko_server_entry_marko_componentType = "gufdGSuf", + playground_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(playground_index_marko_server_entry_marko_componentType); +/* harmony default export */ const playground_index_marko_server_entry = (playground_index_marko_server_entry_marko_template); +const playground_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; +function playground_index_marko_server_entry_renderAssets(out) { + const $global = out.global; + const entries = $global.___entries; + $global.___entries = undefined; + if (entries) { + const buildName = $global.buildName; + const nonce = $global.cspNonce; + const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; + const written = $global.___writtenAssets || ($global.___writtenAssets = new Set()); + let scripts = ""; + let styles = ""; + for (const entry of entries) { + const assets = index_js_manifest.getAssets(entry, buildName); + if (assets.js) { + for (const href of assets.js) { + if (!written.has(href)) { + written.add(href); + scripts += ``; + } + } + } + if (assets.css) { + for (const href of assets.css) { + if (!written.has(href)) { + written.add(href); + styles += ``; + } + } + } + } + out.write(scripts + styles); + } +} -const index_index_marko_marko_component = {}; -index_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(app_layout_index_marko, { - "v6": input.v6, - "class": "home", +const playground_index_marko_server_entry_marko_component = {}; +playground_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.global.___renderAssets = playground_index_marko_server_entry_renderAssets; + (out.global.___entries || (out.global.___entries = [])).push("playground_mdf-"); + render_tag_js_default()((_flush_here_and_after_js_default()), { "renderBody": out => { - render_tag_js_default()(home_hero_index_marko, {}, out, _componentDef, "1"); - render_tag_js_default()(home_features_index_marko, {}, out, _componentDef, "2"); - render_tag_js_default()(home_language_index_marko, { - "v6": input.v6 - }, out, _componentDef, "3"); - render_tag_js_default()(home_streaming_index_marko, {}, out, _componentDef, "4"); - render_tag_js_default()(home_hydration_index_marko, {}, out, _componentDef, "5"); - render_tag_js_default()(home_performance_index_marko, {}, out, _componentDef, "6"); - render_tag_js_default()(home_tooling_index_marko, {}, out, _componentDef, "7"); - render_tag_js_default()(home_community_index_marko, {}, out, _componentDef, "8"); + const outAlias = out; + outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); } }, out, _componentDef, "0"); + render_tag_js_default()(playground_index_marko, input, out, _componentDef, "1"); + render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); + render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); }, { - t: index_index_marko_marko_componentType, + t: playground_index_marko_server_entry_marko_componentType, i: true -}, index_index_marko_marko_component); -;// ./index/index.marko?server-entry +}, playground_index_marko_server_entry_marko_component); +;// ./try-online-new/index.marko -const index_index_marko_server_entry_marko_componentType = "oHUNYdtc", - index_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(index_index_marko_server_entry_marko_componentType); -/* harmony default export */ const index_index_marko_server_entry = (index_index_marko_server_entry_marko_template); +const try_online_new_index_marko_marko_componentType = "kokUincl", + try_online_new_index_marko_marko_template = (0,index_js_namespaceObject.t)(try_online_new_index_marko_marko_componentType); +/* harmony default export */ const try_online_new_index_marko = (try_online_new_index_marko_marko_template); + +const try_online_new_index_marko_marko_component = {}; +try_online_new_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(""); +}, { + t: try_online_new_index_marko_marko_componentType, + i: true +}, try_online_new_index_marko_marko_component); +;// ./try-online-new/index.marko?server-entry + +const try_online_new_index_marko_server_entry_marko_componentType = "jBxauMAl", + try_online_new_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(try_online_new_index_marko_server_entry_marko_componentType); +/* harmony default export */ const try_online_new_index_marko_server_entry = (try_online_new_index_marko_server_entry_marko_template); -const index_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; -function index_index_marko_server_entry_renderAssets(out) { +const try_online_new_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; +function try_online_new_index_marko_server_entry_renderAssets(out) { const $global = out.global; const entries = $global.___entries; $global.___entries = undefined; @@ -1843,7 +1847,7 @@ function index_index_marko_server_entry_renderAssets(out) { for (const href of assets.js) { if (!written.has(href)) { written.add(href); - scripts += ``; + scripts += ``; } } } @@ -1864,23 +1868,23 @@ function index_index_marko_server_entry_renderAssets(out) { -const index_index_marko_server_entry_marko_component = {}; -index_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.global.___renderAssets = index_index_marko_server_entry_renderAssets; - (out.global.___entries || (out.global.___entries = [])).push("index_WEBG"); +const try_online_new_index_marko_server_entry_marko_component = {}; +try_online_new_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.global.___renderAssets = try_online_new_index_marko_server_entry_renderAssets; + (out.global.___entries || (out.global.___entries = [])).push("try-online-new_1yH9"); render_tag_js_default()((_flush_here_and_after_js_default()), { "renderBody": out => { const outAlias = out; outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); } }, out, _componentDef, "0"); - render_tag_js_default()(index_index_marko, input, out, _componentDef, "1"); + render_tag_js_default()(try_online_new_index_marko, input, out, _componentDef, "1"); render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); }, { - t: index_index_marko_server_entry_marko_componentType, + t: try_online_new_index_marko_server_entry_marko_componentType, i: true -}, index_index_marko_server_entry_marko_component); +}, try_online_new_index_marko_server_entry_marko_component); ;// ../../node_modules/@marko-tags/subscribe/index.marko const subscribe_index_marko_marko_componentType = "DI$EjOwk", @@ -2031,619 +2035,628 @@ function try_online_index_marko_server_entry_renderAssets(out) { -const try_online_index_marko_server_entry_marko_component = {}; -try_online_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.global.___renderAssets = try_online_index_marko_server_entry_renderAssets; - (out.global.___entries || (out.global.___entries = [])).push("try-online_gkPN"); - render_tag_js_default()((_flush_here_and_after_js_default()), { - "renderBody": out => { - const outAlias = out; - outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); - } - }, out, _componentDef, "0"); - render_tag_js_default()(try_online_index_marko, input, out, _componentDef, "1"); - render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); - render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); +const try_online_index_marko_server_entry_marko_component = {}; +try_online_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.global.___renderAssets = try_online_index_marko_server_entry_renderAssets; + (out.global.___entries || (out.global.___entries = [])).push("try-online_gkPN"); + render_tag_js_default()((_flush_here_and_after_js_default()), { + "renderBody": out => { + const outAlias = out; + outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); + } + }, out, _componentDef, "0"); + render_tag_js_default()(try_online_index_marko, input, out, _componentDef, "1"); + render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); + render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); +}, { + t: try_online_index_marko_server_entry_marko_componentType, + i: true +}, try_online_index_marko_server_entry_marko_component); +;// ./index/components/home-hero/marko-text.svg +/* harmony default export */ const marko_text = (__webpack_require__.p + "7443bd32.svg"); +;// ../logos/github.svg +/* harmony default export */ const github = (__webpack_require__.p + "0bc571bc.svg"); +;// ./index/components/home-hero/components/github-link/index.marko + +const github_link_index_marko_marko_componentType = "ZLItxxri", + github_link_index_marko_marko_template = (0,index_js_namespaceObject.t)(github_link_index_marko_marko_componentType); +/* harmony default export */ const github_link_index_marko = (github_link_index_marko_marko_template); + + + + +const github_link_index_marko_marko_component = {}; +github_link_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(`GitHub`); +}, { + t: github_link_index_marko_marko_componentType, + s: true +}, github_link_index_marko_marko_component); +;// ./index/components/home-hero/index.marko + +const home_hero_index_marko_marko_componentType = "zOb$ETAb", + home_hero_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_hero_index_marko_marko_componentType); +/* harmony default export */ const home_hero_index_marko = (home_hero_index_marko_marko_template); + + + + + + + + +const home_hero_index_marko_marko_component = {}; +home_hero_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(`
      "); }, { - t: try_online_index_marko_server_entry_marko_componentType, - i: true -}, try_online_index_marko_server_entry_marko_component); -;// external "@marko/tags-api-preview/dist/transform/cached-values" -const cached_values_namespaceObject = require("@marko/tags-api-preview/dist/transform/cached-values"); -;// external "@marko/tags-api-preview/dist/components/return" -const return_namespaceObject = require("@marko/tags-api-preview/dist/components/return"); -var return_default = /*#__PURE__*/__webpack_require__.n(return_namespaceObject); -;// external "lz-string" -const external_lz_string_namespaceObject = require("lz-string"); -;// ./playground/components/hash-value.marko + t: home_hero_index_marko_marko_componentType, + s: true +}, home_hero_index_marko_marko_component); +;// ./index/components/home-features/index.marko -const hash_value_marko_marko_componentType = "iu_vYbKl", - hash_value_marko_marko_template = (0,index_js_namespaceObject.t)(hash_value_marko_marko_componentType); -/* harmony default export */ const hash_value_marko = (hash_value_marko_marko_template); +const home_features_index_marko_marko_componentType = "qRU$xLeb", + home_features_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_features_index_marko_marko_componentType); +/* harmony default export */ const home_features_index_marko = (home_features_index_marko_marko_template); -function getInitialValue() { - try { - if (false) {} - } catch (e) { - console.error(e); - } -} +const home_features_index_marko_marko_component = {}; +home_features_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w("

      Familiar

      If you know HTML, CSS, and Javascript, you know Marko

      Performant

      Streaming, partial hydration, an optimizing compiler, & a small runtime

      Scalable

      Start with simple HTML templates and add powerful components as needed

      Trusted

      Marko is powering high-traffic websites like ebay.com

      "); +}, { + t: home_features_index_marko_marko_componentType, + i: true +}, home_features_index_marko_marko_component); +;// ./index/components/home-language/components/counter-tags.marko + +const counter_tags_marko_marko_componentType = "jwtsId_c", + counter_tags_marko_marko_template = (0,index_js_namespaceObject.t)(counter_tags_marko_marko_componentType); +/* harmony default export */ const counter_tags_marko = (counter_tags_marko_marko_template); -const hash_value_marko_marko_component = { +const counter_tags_marko_marko_component = { onCreate() { this.state = {}; } }; -hash_value_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { +counter_tags_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { var _component = _component2, _state = state; - const { - value: defaultValue - } = input; - let value = getInitialValue() || defaultValue; - input._return && input._return({ - "value": value, - "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component, []) || (_ => value = _)) - }, 1); + let count = 0; + out.w(``); }, { - t: hash_value_marko_marko_componentType -}, hash_value_marko_marko_component); -;// external "@marko/tags-api-preview/dist/util/replace-assignments" -const replace_assignments_namespaceObject = require("@marko/tags-api-preview/dist/util/replace-assignments"); -var replace_assignments_default = /*#__PURE__*/__webpack_require__.n(replace_assignments_namespaceObject); -;// external "@marko/tags-api-preview/dist/transform/native-tag-var" -const native_tag_var_namespaceObject = require("@marko/tags-api-preview/dist/transform/native-tag-var"); -var native_tag_var_default = /*#__PURE__*/__webpack_require__.n(native_tag_var_namespaceObject); -;// ../../node_modules/@marko/tags-api-preview/dist/components/_instance/index.marko + t: counter_tags_marko_marko_componentType +}, counter_tags_marko_marko_component); +;// ./index/components/home-language/components/counter-example/index.marko -const _instance_index_marko_marko_componentType = "ZcXvQUMl", - _instance_index_marko_marko_template = (0,index_js_namespaceObject.t)(_instance_index_marko_marko_componentType); -/* harmony default export */ const _instance_index_marko = (_instance_index_marko_marko_template); +const counter_example_index_marko_marko_componentType = "bqxM_lge", + counter_example_index_marko_marko_template = (0,index_js_namespaceObject.t)(counter_example_index_marko_marko_componentType); +/* harmony default export */ const counter_example_index_marko = (counter_example_index_marko_marko_template); -const _instance_index_marko_marko_component = { + +const counter_example_index_marko_marko_component = { onCreate() { - this.state = {}; + this.state = { + count: 0 + }; + }, + increment() { + this.state.count++; } }; -_instance_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - var componentDef = _componentDef; - input.renderBody(out, componentDef, _component, state); +counter_example_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(`
      ${(0,escape_xml_js_namespaceObject.x)(state.count)}
      `); }, { - t: _instance_index_marko_marko_componentType -}, _instance_index_marko_marko_component); -;// ../components/repl/components/file-tabs.marko + t: counter_example_index_marko_marko_componentType +}, counter_example_index_marko_marko_component); +// EXTERNAL MODULE: ../components/heading/getAnchorName.js +var getAnchorName = __webpack_require__(272); +var getAnchorName_default = /*#__PURE__*/__webpack_require__.n(getAnchorName); +;// ../components/heading/index.marko -const file_tabs_marko_marko_componentType = "JtPBPdcm", - file_tabs_marko_marko_template = (0,index_js_namespaceObject.t)(file_tabs_marko_marko_componentType); -/* harmony default export */ const file_tabs_marko = (file_tabs_marko_marko_template); +const heading_index_marko_marko_componentType = "m$Yyhouk", + heading_index_marko_marko_template = (0,index_js_namespaceObject.t)(heading_index_marko_marko_componentType); +/* harmony default export */ const heading_index_marko = (heading_index_marko_marko_template); +const heading_index_marko_marko_component = {}; +heading_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + var className = input['class']; + var text = input.text; + var anchorName = input.anchorName || getAnchorName_default()(text, out); + dynamic_tag_js_default()(out, input.tag, () => ({ + "class": ['heading', className] + }), out => { + out.w(``); + if (text) { + out.w((0,escape_xml_js_namespaceObject.x)(text)); + } else { + dynamic_tag_js_default()(out, input.renderBody, null, null, null, null, _componentDef, "3"); + } + }, null, null, _componentDef, "0"); +}, { + t: heading_index_marko_marko_componentType, + i: true +}, heading_index_marko_marko_component); +;// ./index/components/home-feature-block/index.marko +const home_feature_block_index_marko_marko_componentType = "TxbG_krh", + home_feature_block_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_feature_block_index_marko_marko_componentType); +/* harmony default export */ const home_feature_block_index_marko = (home_feature_block_index_marko_marko_template); -const file_tabs_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -file_tabs_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component4, state, $global) { - var _component = _component4, - _state = state; - const { - "selectedIndexChange": _selectedIndexChange, - "filesChange": _filesChange, - files: externalFiles, - selectedIndex: externalSelected - } = input; - let files = externalFiles; - let selectedIndex = externalSelected; - const selectedFile = files[selectedIndex]; - out.w("
      "); - { - let nextId = 1; - let _index = 0; - for (const file of of_fallback_js_default()(files)) { - let index = _index++; - const _keyScope = `[${index}]`; - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef, _component2, _state2) => { - var _componentDef = _nestedComponentDef, - _component4 = _component2; - let editing = false; - const selected = selectedFile === file; - const mutable = index > 0; - out.w(``); - if (!editing || !selected || !mutable) { - out.w((0,escape_xml_js_namespaceObject.x)(file.name)); - } else { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef2, _component3, _state3) => { - var _componentDef = _nestedComponentDef2, - _component4 = _component3; - let name = file.name; - const finishRename = (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component3, [name, files]) || function () { - const modifiedFile = { - ...file, - name, - path: file.path.replace(file.name, name) - }; - files = [...files.slice(0, index), modifiedFile, ...files.slice(index + 1)]; - editing = false; - }); - const nameInput = native_tag_var_default()(_component3, "0"); - out.w(``); - } - }, out, _componentDef, "3" + _keyScope); - } - if (mutable) { - out.w(""); - } - out.w("
      "); - } - }, out, _componentDef, "1" + _keyScope); - } - out.w(""); - } - out.w("
      "); -}, { - t: file_tabs_marko_marko_componentType -}, file_tabs_marko_marko_component); -;// ../components/repl/components/pane.marko -const pane_marko_marko_componentType = "YdDerxpd", - pane_marko_marko_template = (0,index_js_namespaceObject.t)(pane_marko_marko_componentType); -/* harmony default export */ const pane_marko = (pane_marko_marko_template); -const pane_marko_marko_component = {}; -pane_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - const { - actions, - body - } = input; - out.w("
      "); - dynamic_tag_js_default()(out, actions.renderBody, null, null, null, null, _componentDef, "2"); - out.w("
      "); - dynamic_tag_js_default()(out, body.renderBody, null, null, null, null, _componentDef, "5"); - out.w("
      "); + + +const home_feature_block_index_marko_marko_component = {}; +home_feature_block_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(`
      `); + render_tag_js_default()(heading_index_marko, { + "tag": "h1", + "class": "home-feature-block-title", + ...input.title + }, out, _componentDef, "3"); + out.w("
      "); + dynamic_tag_js_default()(out, input.content, null, null, null, null, _componentDef, "5"); + out.w(`
      `); + dynamic_tag_js_default()(out, input.visual, null, null, null, null, _componentDef, "7"); + out.w("
      "); + if (input.action) { + out.w(`
      ${(0,escape_xml_js_namespaceObject.x)(input.action.text || "Learn More")}
      `); + } + out.w("
      "); + dynamic_tag_js_default()(out, input.breakout, null, null, null, null, _componentDef, "10"); + out.w(""); }, { - t: pane_marko_marko_componentType, + t: home_feature_block_index_marko_marko_componentType, i: true -}, pane_marko_marko_component); -;// ../components/repl/components/controllable-select.marko +}, home_feature_block_index_marko_marko_component); +;// ./index/components/home-language/index.marko -const controllable_select_marko_marko_componentType = "edcMGKVi", - controllable_select_marko_marko_template = (0,index_js_namespaceObject.t)(controllable_select_marko_marko_componentType); -/* harmony default export */ const controllable_select_marko = (controllable_select_marko_marko_template); +const home_language_index_marko_marko_componentType = "fEFMinFc", + home_language_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_language_index_marko_marko_componentType); +/* harmony default export */ const home_language_index_marko = (home_language_index_marko_marko_template); -const controllable_select_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -controllable_select_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { - var _component = _component2, - _state = state; - const { - value, - valueChange, - renderBody, - class: className - } = input; - const el = native_tag_var_default()(_component, "0"); - out.w(``); - dynamic_tag_js_default()(out, renderBody, null, null, null, null, _componentDef, "0"); - out.w(""); +const home_language_index_marko_marko_component = {}; +home_language_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "HTML Reimagined", + "anchorName": "language" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

      Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

      "); + } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "class": "home-language__examples", + "renderBody": out => { + if (input.v6) { + out.w("
      "); + render_tag_js_default()(counter_tags_marko, {}, out, _componentDef, "5"); + out.w("
      <!doctype html>\n<html>\n    <head>\n        <title>Count with Marko</title>\n    </head>\n    <body>\n        <let/count=0/>\n        <button onClick() { count++ }>\n            ${count}\n        </button>\n    </body>\n</html>\n
      "); + } else { + out.w("
      <!doctype html>\n<html>\n<head>\n    <title>Hello Marko</title>\n</head>\n<body>\n    <h1>My favorite colors</h1>\n    <ul>\n        <for|color| of=[\"red\", \"green\", \"blue\"]>\n            <li style=`color:${color}`>\n                ${color.toUpperCase()}\n            </li>\n        </for>\n    </ul>\n    <shared-footer/>\n</body>\n</html>\n
      HTML Templates, Custom Tags, & Javascript Expressions
      "); + render_tag_js_default()(counter_example_index_marko, {}, out, _componentDef, "12"); + out.w("
      class {\n  onCreate() {\n    this.state = { count: 0 };\n  }\n  increment() {\n    this.state.count++;\n  }\n}\n<div>${state.count}</div>\n<button on-click(\"increment\")>\n  Click me!\n</button>\n
      Interactive Logic & Reactive Values
      "); + } + } + }); + }, { + "class": "home-language" + }), out, _componentDef, "0"); }, { - t: controllable_select_marko_marko_componentType -}, controllable_select_marko_marko_component); -;// external "@marko/tags-api-preview/dist/translate/native-tag-handlers" -const native_tag_handlers_namespaceObject = require("@marko/tags-api-preview/dist/translate/native-tag-handlers"); -var native_tag_handlers_default = /*#__PURE__*/__webpack_require__.n(native_tag_handlers_namespaceObject); -;// external "marko/dist/runtime/html/helpers/attrs.js" -const attrs_js_namespaceObject = require("marko/dist/runtime/html/helpers/attrs.js"); -var attrs_js_default = /*#__PURE__*/__webpack_require__.n(attrs_js_namespaceObject); -;// ../components/repl/components/playground-link.marko + t: home_language_index_marko_marko_componentType, + i: true +}, home_language_index_marko_marko_component); +;// ./index/components/home-demo-page/product.png +/* harmony default export */ const product = (__webpack_require__.p + "2ff006d2.png"); +;// ./index/components/home-demo-page/x.svg +/* harmony default export */ const x = (__webpack_require__.p + "886b7024.svg"); +;// external "marko/dist/runtime/helpers/style-value.js" +const style_value_js_namespaceObject = require("marko/dist/runtime/helpers/style-value.js"); +var style_value_js_default = /*#__PURE__*/__webpack_require__.n(style_value_js_namespaceObject); +;// ./index/components/home-demo-page/index.marko -const playground_link_marko_marko_componentType = "fLRwaABg", - playground_link_marko_marko_template = (0,index_js_namespaceObject.t)(playground_link_marko_marko_componentType); -/* harmony default export */ const playground_link_marko = (playground_link_marko_marko_template); +const home_demo_page_index_marko_marko_componentType = "pYOALFJk", + home_demo_page_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_demo_page_index_marko_marko_componentType); +/* harmony default export */ const home_demo_page_index_marko = (home_demo_page_index_marko_marko_template); -const playground_link_marko_marko_component = {}; -playground_link_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - const { - files, - ...attrs - } = input; - var _meta = {}; - out.w(`Open in playground \u2197`); + + +const home_demo_page_index_marko_marko_component = {}; +home_demo_page_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + const progress = input.buffered ? Math.floor(input.progress / 0.9) : input.progress / 0.9; + out.w(`
      `); + if (input.progress >= 0) { + out.w(`
      `); + } + out.w(`
      Cart (0)
      Google Home - $79
      Add to Cart
      Hands-free help around the house. Google Home is a smart speaker with the Google Assistant built in. So whenever you need help, it's by your side
      \u2605\u2605\u2605\u2605\u2606
      Cool gadget Google has created a nice device that provides music and information by voice control. The microphone is very good and will usually pick up commands from across the room. The speakers sound surprisingly good for such a small device. I wish it had tone control though.
      \u2605\u2605\u2605\u2605\u2605
      Incredible sound profile! Easy setup, great sound for any room size. Adjustable bass and treble. Currently have two paired up for better whole house sound.
      About
      Security
      Policies
      Help
      Sitemap
      `); + if (input.buffered || input.hydrateAll) { + out.w(`
      `); + } else { + out.w(`
      `); + } + out.w("
      "); }, { - t: playground_link_marko_marko_componentType, + t: home_demo_page_index_marko_marko_componentType, i: true -}, playground_link_marko_marko_component); -;// ../components/repl/components/match-media.marko +}, home_demo_page_index_marko_marko_component); +;// ./index/components/home-streaming/components/scroll-locked-stream-example/index.marko -const match_media_marko_marko_componentType = "aEQdEE_f", - match_media_marko_marko_template = (0,index_js_namespaceObject.t)(match_media_marko_marko_componentType); -/* harmony default export */ const match_media_marko = (match_media_marko_marko_template); +const scroll_locked_stream_example_index_marko_marko_componentType = "RQwDtLcd", + scroll_locked_stream_example_index_marko_marko_template = (0,index_js_namespaceObject.t)(scroll_locked_stream_example_index_marko_marko_componentType); +/* harmony default export */ const scroll_locked_stream_example_index_marko = (scroll_locked_stream_example_index_marko_marko_template); -const match_media_marko_marko_component = { + + + +const scroll_locked_stream_example_index_marko_marko_component = { onCreate() { - this.state = {}; + this.state = { + progress: 0.1 + }; + }, + onMount() { + this.observer = new IntersectionObserver(entries => { + if (entries[0].intersectionRatio <= 0) { + this.cleanProgress(); + } else { + this.initProgress(); + } + }); + this.observer.observe(this.getEl("root")); + }, + onDestroy() { + this.cleanProgress(); + this.observer.disconnect(); + }, + initProgress() { + const updateProgress = () => { + this.state.progress = (this.state.progress + 0.004) % 1.5; + this.frame = requestAnimationFrame(updateProgress); + }; + this.frame = requestAnimationFrame(updateProgress); + }, + cleanProgress() { + cancelAnimationFrame(this.frame); } }; -match_media_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { - var _component = _component2, - _state = state; - const { - value: query, - fallback - } = input; - let isMatch = false ? 0 : fallback; - input._return && input._return({ - "value": isMatch - }, 1); +scroll_locked_stream_example_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(``); + render_tag_js_default()(home_demo_page_index_marko, { + "progress": state.progress, + "buffered": true, + "label": "Buffered pages don't show content as it loads" + }, out, _componentDef, "0"); + render_tag_js_default()(home_demo_page_index_marko, { + "progress": state.progress, + "label": "Streaming pages show content incrementally", + "class": "scroll-locked-progressive" + }, out, _componentDef, "1"); + out.w("
      "); }, { - t: match_media_marko_marko_componentType -}, match_media_marko_marko_component); -;// ../components/repl/components/resizable-panes.marko - -const resizable_panes_marko_marko_componentType = "H_lRXCBe", - resizable_panes_marko_marko_template = (0,index_js_namespaceObject.t)(resizable_panes_marko_marko_componentType); -/* harmony default export */ const resizable_panes_marko = (resizable_panes_marko_marko_template); + t: scroll_locked_stream_example_index_marko_marko_componentType +}, scroll_locked_stream_example_index_marko_marko_component); +;// ./index/components/home-streaming/index.marko +const home_streaming_index_marko_marko_componentType = "opQEgCpi", + home_streaming_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_streaming_index_marko_marko_componentType); +/* harmony default export */ const home_streaming_index_marko = (home_streaming_index_marko_marko_template); +const home_streaming_index_marko_marko_component = {}; +home_streaming_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Progressive Rendering", + "anchorName": "streaming" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

      Marko streams content to your users as soon as it\u2019s ready. No waiting for client side JavaScript bundles or data requests to start rendering. HTML, assets, and images are loaded as soon as possible with asynchronous data loading in as it completes.

      "); + } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "renderBody": out => { + render_tag_js_default()(scroll_locked_stream_example_index_marko, { + "class": "home-streaming-example" + }, out, _componentDef, "2"); + } + }); + (0,attr_tag_js_namespaceObject.a)("action", { + "href": "https://dev.to/ryansolid/server-rendering-in-javascript-optimizing-performance-1jnk" + }); + }, { + "align": "left", + "class": "home-streaming" + }), out, _componentDef, "0"); +}, { + t: home_streaming_index_marko_marko_componentType, + i: true +}, home_streaming_index_marko_marko_component); +;// ./index/components/home-hydration/index.marko +const home_hydration_index_marko_marko_componentType = "NpXSyNze", + home_hydration_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_hydration_index_marko_marko_componentType); +/* harmony default export */ const home_hydration_index_marko = (home_hydration_index_marko_marko_template); -const resizable_panes_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -resizable_panes_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component3, state, $global) { - var _component = _component3, - _state = state; - const { - left, - right - } = input; - let editorSize = 0.5; - let resizing = false; - var _matchMediaReturn = return_default()(_component); - render_tag_js_default()(match_media_marko, { - "value": "(max-aspect-ratio: 1/1)", - "_return": _matchMediaReturn - }, out, _componentDef, "0"); - const { - value: isVertical - } = _matchMediaReturn(); - const container = native_tag_var_default()(_component, "0"); - out.w(``); - var _meta = {}; - out.w(``); - dynamic_tag_js_default()(out, left.renderBody, null, null, null, null, _componentDef, "2"); - out.w("
      "); - var _meta2 = {}; - out.w(``); - dynamic_tag_js_default()(out, right.renderBody, null, null, null, null, _componentDef, "6"); - out.w("
    "); - if (resizing) { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef, _component2, _state2) => { - var _componentDef = _nestedComponentDef, - _component3 = _component2; +const home_hydration_index_marko_marko_component = {}; +home_hydration_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Code Elimination", + "anchorName": "hydration" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

    Marko only sends the code for interactive components to the browser. Its compiler automatically detects which components only need to be rendered on the server. This means less to download and less to execute. Your users can enjoy top tier performance regardless of their devices or networks.

    "); } - }, out, _componentDef, "7"); - } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "renderBody": out => { + render_tag_js_default()(home_demo_page_index_marko, { + "hydrateAll": true, + "label": "Traditional hydration sends and re-excutes the code for all components", + "class": "home-hydration-example" + }, out, _componentDef, "2"); + render_tag_js_default()(home_demo_page_index_marko, { + "hydratePartial": true, + "label": "Marko's hydration only sends the code for interactive components", + "class": "home-hydration-example" + }, out, _componentDef, "3"); + } + }); + (0,attr_tag_js_namespaceObject.a)("action", { + "href": "https://medium.com/@mlrawlings/maybe-you-dont-need-that-spa-f2c659bc7fec" + }); + }, { + "align": "right", + "class": "home-hydration" + }), out, _componentDef, "0"); }, { - t: resizable_panes_marko_marko_componentType -}, resizable_panes_marko_marko_component); -;// ../components/repl/index.marko + t: home_hydration_index_marko_marko_componentType, + i: true +}, home_hydration_index_marko_marko_component); +;// ./index/components/home-performance/arrow.svg +/* harmony default export */ const arrow = (__webpack_require__.p + "7c1cc740.svg"); +;// ./index/components/home-performance/index.marko -const repl_index_marko_marko_componentType = "rtapnbhf", - repl_index_marko_marko_template = (0,index_js_namespaceObject.t)(repl_index_marko_marko_componentType); -/* harmony default export */ const repl_index_marko = (repl_index_marko_marko_template); +const home_performance_index_marko_marko_componentType = "zumXQlzg", + home_performance_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_performance_index_marko_marko_componentType); +/* harmony default export */ const home_performance_index_marko = (home_performance_index_marko_marko_template); +const home_performance_index_marko_marko_component = {}; +home_performance_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Tailored Performance", + "anchorName": "performance" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

    Marko's compiler generates code tailored to where it is going to run. You write your code once and it is optimized for both the server and browser. This is especially apparent on the server where Marko is several times faster than other popular solutions.

    "); + } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "renderBody": out => { + out.w(``); + } + }); + (0,attr_tag_js_namespaceObject.a)("action", { + "href": "https://github.com/marko-js/isomorphic-ui-benchmarks", + "text": "See the Benchmarks" + }); + }, { + "class": "home-performance" + }), out, _componentDef, "0"); +}, { + t: home_performance_index_marko_marko_componentType, + i: true +}, home_performance_index_marko_marko_component); +;// ./index/components/home-tooling/screen.png +/* harmony default export */ const screen = (__webpack_require__.p + "92c4e05e.png"); +;// ./index/components/home-tooling/index.marko +const home_tooling_index_marko_marko_componentType = "ZYtbGNjl", + home_tooling_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_tooling_index_marko_marko_componentType); +/* harmony default export */ const home_tooling_index_marko = (home_tooling_index_marko_marko_template); -const repl_index_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -repl_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component7, state, $global) { - var _component = _component7, - _state = state; - const { - "filesChange": _filesChange, - getCompilerOptions, - files - } = input; - let selectedIndex = 0; - let previewType = "preview"; - let debounce = false; - const selectedFile = files[selectedIndex]; - render_tag_js_default()(resizable_panes_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("left", { - "class": "editor-container", + +const home_tooling_index_marko_marko_component = {}; +home_tooling_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Editor Support", + "anchorName": "tooling" + }); + (0,attr_tag_js_namespaceObject.a)("content", { "renderBody": out => { - render_tag_js_default()(pane_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("actions", { - "renderBody": out => { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef, _component2, _state2) => { - var _componentDef = _nestedComponentDef, - _component7 = _component2; - render_tag_js_default()(file_tabs_marko, { - "files": files, - "filesChange": _filesChange, - "selectedIndex": selectedIndex, - "selectedIndexChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component2, []) || (_ => selectedIndex = _)) - }, out, _componentDef, "3"); - } - }, out, _componentDef, "2"); - } - }); - (0,attr_tag_js_namespaceObject.a)("body", { - "renderBody": out => { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef2, _component3, _state3) => { - var _componentDef = _nestedComponentDef2, - _component7 = _component3; - let activeEditor = null; - if (activeEditor) { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef3, _component4, _state4) => { - var _componentDef = _nestedComponentDef3, - _component7 = _component4; - dynamic_tag_js_default()(out, activeEditor, () => ({ - "value": selectedFile.content, - "filename": selectedFile.path, - "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component4, [selectedFile, files, selectedIndex]) || function (content) { - const modifiedFile = { - ...selectedFile, - content - }; - replace_assignments_default()(_filesChange, [...files.slice(0, selectedIndex), modifiedFile, ...files.slice(selectedIndex + 1)]); - debounce = true; - }) - }), null, null, null, _componentDef, "6"); - } - }, out, _componentDef, "5"); - } - } - }, out, _componentDef, "4"); - } - }); - }), out, _componentDef, "1"); + out.w("

    Marko provides first-class support for the VSCode editor including syntax highlighting, Autocompletion, Hyperclick to quickly jump to referenced files, and Pretty printing to keep your code readable.

    Community plugins also provide syntax highlighting for Sublime, Atom, Webstorm & others!

    "); } }); - (0,attr_tag_js_namespaceObject.a)("right", { + (0,attr_tag_js_namespaceObject.a)("visual", { + "class": "home-tooling__screenshot-window", "renderBody": out => { - render_tag_js_default()(pane_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("actions", { - "renderBody": out => { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef4, _component5, _state5) => { - var _componentDef = _nestedComponentDef4, - _component7 = _component5; - render_tag_js_default()(controllable_select_marko, { - "value": previewType, - "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component5, []) || function (value) { - previewType = value; - debounce = false; - }), - "class": "preview-select", - "renderBody": out => { - out.w(""); - } - }, out, _componentDef, "9"); - render_tag_js_default()(playground_link_marko, { - "files": files - }, out, _componentDef, "13"); - } - }, out, _componentDef, "8"); - } - }); - (0,attr_tag_js_namespaceObject.a)("body", { - "renderBody": out => { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef5, _component6, _state6) => { - var _componentDef = _nestedComponentDef5, - _component7 = _component6; - let preview = null; - dynamic_tag_js_default()(out, preview, () => ({ - "type": previewType, - "files": files, - "selectedFile": selectedFile, - "getCompilerOptions": getCompilerOptions, - "debounce": debounce - }), null, null, null, _componentDef, "15"); - } - }, out, _componentDef, "14"); - } - }); - }), out, _componentDef, "7"); + out.w(`
    `); } }); + (0,attr_tag_js_namespaceObject.a)("action", { + "href": "/docs/editor-plugins", + "text": "View editor plugins" + }); + }, { + "align": "right", + "class": "home-tooling" }), out, _componentDef, "0"); }, { - t: repl_index_marko_marko_componentType -}, repl_index_marko_marko_component); -;// ./playground/components/playground.marko + t: home_tooling_index_marko_marko_componentType, + i: true +}, home_tooling_index_marko_marko_component); +// EXTERNAL MODULE: external "gh-got" +var external_gh_got_ = __webpack_require__(724); +var external_gh_got_default = /*#__PURE__*/__webpack_require__.n(external_gh_got_); +;// ../logos/stackoverflow.svg +/* harmony default export */ const stackoverflow = (__webpack_require__.p + "0bfc2ee7.svg"); +;// ../logos/twitter.svg +/* harmony default export */ const twitter = (__webpack_require__.p + "82b09e37.svg"); +;// external "marko/dist/core-tags/core/await/renderer.js" +const await_renderer_js_namespaceObject = require("marko/dist/core-tags/core/await/renderer.js"); +var await_renderer_js_default = /*#__PURE__*/__webpack_require__.n(await_renderer_js_namespaceObject); +;// ./index/components/home-community/index.marko -const playground_marko_marko_componentType = "HUU$Znhn", - playground_marko_marko_template = (0,index_js_namespaceObject.t)(playground_marko_marko_componentType); -/* harmony default export */ const playground_marko = (playground_marko_marko_template); +const home_community_index_marko_marko_componentType = "rsiRtNhi", + home_community_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_community_index_marko_marko_componentType); +/* harmony default export */ const home_community_index_marko = (home_community_index_marko_marko_template); -const playground_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -playground_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { - var _component = _component2, - _state = state; - var _hashValueReturn = return_default()(_component); - render_tag_js_default()(hash_value_marko, { - "value": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component, []) || [{ - name: "index.marko", - path: "/components/index.marko", - content: "\n" - }]), - "_return": _hashValueReturn - }, out, _componentDef, "0"); - const { - "valueChange": _valueChange, - value: files - } = _hashValueReturn(); - render_tag_js_default()(repl_index_marko, { - "files": files, - "filesChange": _valueChange - }, out, _componentDef, "1"); -}, { - t: playground_marko_marko_componentType -}, playground_marko_marko_component); -;// ./playground/index.marko -const playground_index_marko_marko_componentType = "MHuPCuWh", - playground_index_marko_marko_template = (0,index_js_namespaceObject.t)(playground_index_marko_marko_componentType); -/* harmony default export */ const playground_index_marko = (playground_index_marko_marko_template); -const playground_index_marko_marko_component = {}; -playground_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(app_layout_index_marko, { - "title": "Try online", - "footer": false, - "discord": false, - "renderBody": out => { - render_tag_js_default()(playground_marko, {}, out, _componentDef, "1"); - } - }, out, _componentDef, "0"); - out.w(""); + + +const home_community_index_marko_marko_component = {}; +home_community_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Join the Community", + "anchorName": "community", + "class": "home-community__title" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

    Need help? Want to contribute? Get involved in the Marko Community!

    "); + } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "renderBody": out => { + out.w(`
    Ask & answer StackOverflow questions with the marko tag
    Hang out in our Discord server, ask questions, & discuss project direction
    Tweet to @MarkoDevTeam or with the #markojs hashtag
    Browse the code, open issues, & make pull requests on the GitHub repo
    `); + } + }); + (0,attr_tag_js_namespaceObject.a)("breakout", { + "renderBody": out => { + out.w("
    "); + render_tag_js_default()((await_renderer_js_default()), (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("then", { + "renderBody": (out, { + body + }) => { + let _keyValue = 0; + for (const contributor of of_fallback_js_default()(body)) { + const _keyScope = `[${_keyValue++}]`; + out.w(``); + } + } + }); + (0,attr_tag_js_namespaceObject.a)("catch", {}); + }, { + "_provider": external_gh_got_default()('/repos/marko-js/marko/contributors?per_page=100'), + "_name": "ghGot('/repos/marko-js/marko/contributors?per_page=100')" + }), out, _componentDef, "25"); + out.w("
    "); + } + }); + }, { + "colors": ["#fff"] + }), out, _componentDef, "0"); }, { - t: playground_index_marko_marko_componentType, + t: home_community_index_marko_marko_componentType, i: true -}, playground_index_marko_marko_component); -;// ./playground/index.marko?server-entry +}, home_community_index_marko_marko_component); +;// ./index/index.marko -const playground_index_marko_server_entry_marko_componentType = "gufdGSuf", - playground_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(playground_index_marko_server_entry_marko_componentType); -/* harmony default export */ const playground_index_marko_server_entry = (playground_index_marko_server_entry_marko_template); +const index_index_marko_marko_componentType = "riZjSFCe", + index_index_marko_marko_template = (0,index_js_namespaceObject.t)(index_index_marko_marko_componentType); +/* harmony default export */ const index_index_marko = (index_index_marko_marko_template); -const playground_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; -function playground_index_marko_server_entry_renderAssets(out) { - const $global = out.global; - const entries = $global.___entries; - $global.___entries = undefined; - if (entries) { - const buildName = $global.buildName; - const nonce = $global.cspNonce; - const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; - const written = $global.___writtenAssets || ($global.___writtenAssets = new Set()); - let scripts = ""; - let styles = ""; - for (const entry of entries) { - const assets = index_js_manifest.getAssets(entry, buildName); - if (assets.js) { - for (const href of assets.js) { - if (!written.has(href)) { - written.add(href); - scripts += ``; - } - } - } - if (assets.css) { - for (const href of assets.css) { - if (!written.has(href)) { - written.add(href); - styles += ``; - } - } - } - } - out.write(scripts + styles); - } -} -const playground_index_marko_server_entry_marko_component = {}; -playground_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.global.___renderAssets = playground_index_marko_server_entry_renderAssets; - (out.global.___entries || (out.global.___entries = [])).push("playground_mdf-"); - render_tag_js_default()((_flush_here_and_after_js_default()), { + + + +const index_index_marko_marko_component = {}; +index_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(app_layout_index_marko, { + "v6": input.v6, + "class": "home", "renderBody": out => { - const outAlias = out; - outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); + render_tag_js_default()(home_hero_index_marko, {}, out, _componentDef, "1"); + render_tag_js_default()(home_features_index_marko, {}, out, _componentDef, "2"); + render_tag_js_default()(home_language_index_marko, { + "v6": input.v6 + }, out, _componentDef, "3"); + render_tag_js_default()(home_streaming_index_marko, {}, out, _componentDef, "4"); + render_tag_js_default()(home_hydration_index_marko, {}, out, _componentDef, "5"); + render_tag_js_default()(home_performance_index_marko, {}, out, _componentDef, "6"); + render_tag_js_default()(home_tooling_index_marko, {}, out, _componentDef, "7"); + render_tag_js_default()(home_community_index_marko, {}, out, _componentDef, "8"); } }, out, _componentDef, "0"); - render_tag_js_default()(playground_index_marko, input, out, _componentDef, "1"); - render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); - render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); }, { - t: playground_index_marko_server_entry_marko_componentType, + t: index_index_marko_marko_componentType, i: true -}, playground_index_marko_server_entry_marko_component); +}, index_index_marko_marko_component); ;// ./v6/index.marko const v6_index_marko_marko_componentType = "hbaVTqcf", @@ -2726,29 +2739,16 @@ v6_index_marko_server_entry_marko_template._ = renderer_js_default()(function (i t: v6_index_marko_server_entry_marko_componentType, i: true }, v6_index_marko_server_entry_marko_component); -;// ./try-online-new/index.marko - -const try_online_new_index_marko_marko_componentType = "kokUincl", - try_online_new_index_marko_marko_template = (0,index_js_namespaceObject.t)(try_online_new_index_marko_marko_componentType); -/* harmony default export */ const try_online_new_index_marko = (try_online_new_index_marko_marko_template); - -const try_online_new_index_marko_marko_component = {}; -try_online_new_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(""); -}, { - t: try_online_new_index_marko_marko_componentType, - i: true -}, try_online_new_index_marko_marko_component); -;// ./try-online-new/index.marko?server-entry +;// ./index/index.marko?server-entry -const try_online_new_index_marko_server_entry_marko_componentType = "jBxauMAl", - try_online_new_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(try_online_new_index_marko_server_entry_marko_componentType); -/* harmony default export */ const try_online_new_index_marko_server_entry = (try_online_new_index_marko_server_entry_marko_template); +const index_index_marko_server_entry_marko_componentType = "oHUNYdtc", + index_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(index_index_marko_server_entry_marko_componentType); +/* harmony default export */ const index_index_marko_server_entry = (index_index_marko_server_entry_marko_template); -const try_online_new_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; -function try_online_new_index_marko_server_entry_renderAssets(out) { +const index_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; +function index_index_marko_server_entry_renderAssets(out) { const $global = out.global; const entries = $global.___entries; $global.___entries = undefined; @@ -2765,7 +2765,7 @@ function try_online_new_index_marko_server_entry_renderAssets(out) { for (const href of assets.js) { if (!written.has(href)) { written.add(href); - scripts += ``; + scripts += ``; } } } @@ -2786,23 +2786,23 @@ function try_online_new_index_marko_server_entry_renderAssets(out) { -const try_online_new_index_marko_server_entry_marko_component = {}; -try_online_new_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.global.___renderAssets = try_online_new_index_marko_server_entry_renderAssets; - (out.global.___entries || (out.global.___entries = [])).push("try-online-new_1yH9"); +const index_index_marko_server_entry_marko_component = {}; +index_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.global.___renderAssets = index_index_marko_server_entry_renderAssets; + (out.global.___entries || (out.global.___entries = [])).push("index_WEBG"); render_tag_js_default()((_flush_here_and_after_js_default()), { "renderBody": out => { const outAlias = out; outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); } }, out, _componentDef, "0"); - render_tag_js_default()(try_online_new_index_marko, input, out, _componentDef, "1"); + render_tag_js_default()(index_index_marko, input, out, _componentDef, "1"); render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); }, { - t: try_online_new_index_marko_server_entry_marko_componentType, + t: index_index_marko_server_entry_marko_componentType, i: true -}, try_online_new_index_marko_server_entry_marko_component); +}, index_index_marko_server_entry_marko_component); ;// ../components/code-block-marko/index.marko const code_block_marko_index_marko_marko_componentType = "wHhdTqje", @@ -6288,11 +6288,6 @@ function getRoute(url) { const part_0 = pathParts[0]; if (part_0 === undefined) { return { params, template:index_index_marko_server_entry }; - } else if (part_0 === "try-online-new") { - const part_1 = pathParts[1]; - if (part_1 === undefined) { - return { params, template:try_online_new_index_marko_server_entry }; - } } else if (part_0 === "v6") { const part_1 = pathParts[1]; if (part_1 === undefined) { @@ -6334,6 +6329,16 @@ function getRoute(url) { } } } + } else if (part_0 === "try-online") { + const part_1 = pathParts[1]; + if (part_1 === undefined) { + return { params, template:try_online_index_marko_server_entry }; + } + } else if (part_0 === "try-online-new") { + const part_1 = pathParts[1]; + if (part_1 === undefined) { + return { params, template:try_online_new_index_marko_server_entry }; + } } else if (part_0 === "playground") { const part_1 = pathParts[1]; if (part_1 === undefined) { @@ -6344,11 +6349,6 @@ function getRoute(url) { return { params, template:playground_v6_index_marko_server_entry }; } } - } else if (part_0 === "try-online") { - const part_1 = pathParts[1]; - if (part_1 === undefined) { - return { params, template:try_online_index_marko_server_entry }; - } } else if (part_0 === "docs") { const part_1 = pathParts[1]; if (part_1 === undefined) { @@ -6413,4 +6413,4 @@ _http.default.createServer((req, res) => { module.exports = __webpack_exports__; /******/ })() ; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7OztBQ3JEQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNkQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7Ozs7Ozs7QUNsQ0E7QUFRQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOzs7Ozs7O0FDekNBO0FBQ0E7QUFJQTs7Ozs7Ozs7QUNMQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7O0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FDdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNQQTs7Ozs7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNOQTs7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0hBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOzs7QUNBQTs7O0FDQUE7OztBQ0FBOzs7QUNBQTs7O0FDQUE7OztBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNxRUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUNoSEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ0FBOzs7Ozs7O0FGQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FHNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDNURBOztBQ0FBOztBQ0FBOztBQ0FBOzs7QUNBQTs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBc0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDdEJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUNBQTtBQUNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUNBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBOzs7OztBQ1JBOzs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQW1DQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFGQTtBQUlBO0FBQUE7QUFBQTtBQUFBOztBQ2pEQTs7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUlBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7QUNuQkE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQUFBO0FBb0JBO0FBK0JBO0FBQUE7QUFBQTtBQWpDQTtBQUFBO0FBQUE7QUFBQTtBQTlCQTtBQWlGQTtBQUFBO0FBQUE7QUFBQTs7QUNqRkE7O0FDQUE7O0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUN3TkE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQU9BO0FBQUE7QUFTQTtBQUFBO0FBU0E7QUFBQTtBQVFBO0FBQ0E7QUFBQTtBQU9BO0FBQUE7QUFGQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7QUMzUUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7QUNqREE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFSQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7QUNUQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBVEE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBOztBQ1ZBOzs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEyREE7QUFBQTtBQUFBO0FBQUE7QUFqRUE7QUFrRUE7QUFBQTtBQUFBO0FBQUE7O0FDbEVBOzs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBO0FBeEJBO0FBQUE7QUF5QkE7QUFBQTtBQUFBO0FBQUE7Ozs7O0FDekJBOztBQ0FBOztBQ0FBOztBQ0FBOzs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNEJBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSEE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE1Q0E7QUErQ0E7QUFBQTtBQUFBO0FBQUE7O0FDakRBOzs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBZ0JBO0FBQ0E7QUFBQTtBQVdBO0FBQUE7QUFPQTtBQUdBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDeENBOzs7Ozs7Ozs7OztBQ0FBOzs7QUNBQTs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUZBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDdkVBOztBQ0FBOztBQ0FBOzs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztBQ2dDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM1Q0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBMEJBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBVEE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7QUMzREE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztBQ3pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFIQTtBQWdCQTtBQUFBO0FBRkE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7QUNwQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFGQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQzVEQTs7QUNBQTs7O0FDQUE7Ozs7OztBQ0FBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQXNCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ25DQTs7O0FDQUE7Ozs7Ozs7OztBQ0NBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1BBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUlBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFRQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFLQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQWVBO0FBQ0E7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7O0FDakVBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ0ZBOzs7QUNBQTs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztBQ0hBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDWEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW9CQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDMUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUtBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFMQTtBQU1BO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2hGQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSkE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O0FDTEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUpBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBRkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBOztBQ0FBOzs7Ozs7QURBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUU1REE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3Q0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpREE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBd0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ2hMQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDcEZBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQzdEQTs7Ozs7O0FDQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBdUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3TUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN2RBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDSkE7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBbUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzdJQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3JDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNwQkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3JHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3hEQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNsQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNoQkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzNCQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUN2QkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM3UkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNUQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEySkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDektBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0RBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUMxREE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN0JBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNOQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDM0tBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDSkE7O0FDQUE7O0FDQUE7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0VBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNoSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXdDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXFCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3hHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FDN0VBOzs7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBMENBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFDQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF0QkE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDMUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFGQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ25CQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUF0QkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7Ozs7OztBQ0FBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUEE7QUFRQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O0FDbkJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUpBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDNURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7Ozs7O0FDdENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFkQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDNURBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDakNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM5Q0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ2hCQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDbkJBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN0NBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ0pBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDaEJBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0FDMUJBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FDdEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBekJBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzVEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBN0NBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUF5QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDbENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBTkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FDNUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vYnVpbGQvZGlzdC9maWxlcy9taWRkbGV3YXJlLmpzIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2hlYWRpbmcvZ2V0QW5jaG9yTmFtZS5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2NvbnRyaWJ1dG9ycy9nZXQtY29udHJpYnV0b3JzLmpzIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy91dGlscy9jcmVhdGUtb3ZlcnZpZXctdHJlZS5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvdXRpbHMvZm9ybWF0LXNsdWcuanMiLCJleHRlcm5hbCBjb21tb25qcyBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIiLCJleHRlcm5hbCBjb21tb25qcyBcImNvbm5lY3QtZ3ppcC1zdGF0aWNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwiZ2gtZ290XCIiLCJleHRlcm5hbCBub2RlLWNvbW1vbmpzIFwiaHR0cFwiIiwiZXh0ZXJuYWwgbm9kZS1jb21tb25qcyBcInBhdGhcIiIsIndlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2svcnVudGltZS9wdWJsaWNQYXRoIiwiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9pbmRleC5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vYnVpbGQvZGlzdC9maWxlcy9wYXJlbnQtZGlyLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvZGlyLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvZmlsZS5wbmciLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9odG1sL2hlbHBlcnMvZXNjYXBlLXhtbC5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9oZWxwZXJzL2VzY2FwZS1xdW90ZXMuanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvb2YtZmFsbGJhY2suanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2h0bWwvaGVscGVycy9hdHRyLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvbXBvbmVudHMvaW5pdC1jb21wb25lbnRzLXRhZy5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9yZW5kZXItdGFnLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvcmUvYXdhaXQvcmVvcmRlcmVyLXJlbmRlcmVyLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvbXBvbmVudHMvcHJlZmVycmVkLXNjcmlwdC1sb2NhdGlvbi10YWcuanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2NvbXBvbmVudHMvcmVuZGVyZXIuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby9idWlsZC9kaXN0L2ZpbGVzL2Rpci1pbmRleC5tYXJrbyIsIj9tYW5pZmVzdCIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9jb3JlLXRhZ3MvY29yZS9fX2ZsdXNoX2hlcmVfYW5kX2FmdGVyX18uanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvbWFya28uc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9tYXJrby10ZXh0LnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvbWFya28tdXd1LnBuZyIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2h0bWwvaGVscGVycy9kYXRhLW1hcmtvLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2xvZ29zL2dpdGh1Yi5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1oZXJvL2NvbXBvbmVudHMvZ2l0aHViLWxpbmsvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1oZXJvL2NvbXBvbmVudHMvZ2l0aHViLWxpbmsvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1oZXJvL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWZlYXR1cmVzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtZmVhdHVyZXMvaW5kZXgubWFya28iLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9oZWxwZXJzL2F0dHItdGFnLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1sYW5ndWFnZS9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvY29tcG9uZW50cy9jb3VudGVyLXRhZ3MubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1sYW5ndWFnZS9jb21wb25lbnRzL2NvdW50ZXItZXhhbXBsZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWxhbmd1YWdlL2NvbXBvbmVudHMvY291bnRlci1leGFtcGxlL2luZGV4Lm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9keW5hbWljLXRhZy5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2hlYWRpbmcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvaGVhZGluZy9pbmRleC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvY2xhc3MtdmFsdWUuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWZlYXR1cmUtYmxvY2svVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1mZWF0dXJlLWJsb2NrL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1sYW5ndWFnZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWRlbW8tcGFnZS9wcm9kdWN0LnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWRlbW8tcGFnZS94LnN2ZyIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvc3R5bGUtdmFsdWUuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWRlbW8tcGFnZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWRlbW8tcGFnZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXN0cmVhbWluZy9jb21wb25lbnRzL3Njcm9sbC1sb2NrZWQtc3RyZWFtLWV4YW1wbGUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1zdHJlYW1pbmcvY29tcG9uZW50cy9zY3JvbGwtbG9ja2VkLXN0cmVhbS1leGFtcGxlL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtc3RyZWFtaW5nL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtc3RyZWFtaW5nL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaHlkcmF0aW9uL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaHlkcmF0aW9uL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtcGVyZm9ybWFuY2UvYXJyb3cuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtcGVyZm9ybWFuY2UvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1wZXJmb3JtYW5jZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXRvb2xpbmcvc2NyZWVuLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXRvb2xpbmcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS10b29saW5nL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9sb2dvcy9zdGFja292ZXJmbG93LnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvZGlzY29yZC5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2xvZ29zL3R3aXR0ZXIuc3ZnIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L2NvcmUtdGFncy9jb3JlL2F3YWl0L3JlbmRlcmVyLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1jb21tdW5pdHkvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1jb21tdW5pdHkvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9mYXZpY29uLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvc2tpcC1saW5rL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9za2lwLWxpbmsvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zZWFyY2gvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zZWFyY2gvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1oZWFkZXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1oZWFkZXIvaW5kZXgubWFya28iLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2RvY3Mvc3RydWN0dXJlLmpzb25cIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvdG8tc3RyaW5nLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL3BhY2thZ2UuanNvblwiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2lkZWJhci9jb21wb25lbnRzL3ZlcnNpb24tc3dpdGNoZXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zaWRlYmFyL2NvbXBvbmVudHMvdmVyc2lvbi1zd2l0Y2hlci9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvbGF5b3V0LXNpZGViYXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zaWRlYmFyL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1mb290ZXIvb3BlbmpzZi5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWZvb3Rlci9vc2kuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1mb290ZXIvZWJheS5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWZvb3Rlci9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtZm9vdGVyL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9nb29nbGUtYW5hbHl0aWNzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9nb29nbGUtYW5hbHl0aWNzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2Rpc2NvcmQtbGluay9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9kaXNjb3JkLWxpbmsvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby10YWdzL3N1YnNjcmliZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvLXRhZ3Mvc3Vic2NyaWJlL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lL2NvbXBvbmVudHMvbG9hZGVyL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lL2NvbXBvbmVudHMvbG9hZGVyL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lL2luZGV4Lm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L3RyYW5zZm9ybS9jYWNoZWQtdmFsdWVzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIkBtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvY29tcG9uZW50cy9yZXR1cm5cIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibHotc3RyaW5nXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC9jb21wb25lbnRzL2hhc2gtdmFsdWUubWFya28iLCJleHRlcm5hbCBjb21tb25qcyBcIkBtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvdXRpbC9yZXBsYWNlLWFzc2lnbm1lbnRzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIkBtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvdHJhbnNmb3JtL25hdGl2ZS10YWctdmFyXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvY29tcG9uZW50cy9faW5zdGFuY2UvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvY29tcG9uZW50cy9faW5zdGFuY2UvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9maWxlLXRhYnMubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9wYW5lLm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvY29udHJvbGxhYmxlLXNlbGVjdC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwiQG1hcmtvL3RhZ3MtYXBpLXByZXZpZXcvZGlzdC90cmFuc2xhdGUvbmF0aXZlLXRhZy1oYW5kbGVyc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9oZWxwZXJzL2F0dHJzLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9wbGF5Z3JvdW5kLWxpbmsubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9tYXRjaC1tZWRpYS5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL3Jlc2l6YWJsZS1wYW5lcy5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC9jb21wb25lbnRzL3BsYXlncm91bmQubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdHJ5LW9ubGluZS1uZXcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUtbmV3L2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2NvZGUtYmxvY2stbWFya28vVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvY29kZS1ibG9jay1tYXJrby9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvdXRpbHMvdG9jLXJlZ2lzdHJ5LmpzIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL2V4YW1wbGVzL2V4YW1wbGVzL2NvbG9yLXBpY2tlci9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9leGFtcGxlcy9leGFtcGxlcy9jb2xvci1waWNrZXIvUkVBRE1FLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzLzEwLWF3ZXNvbWUtbWFya28tZmVhdHVyZXMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvYm9keS1jb250ZW50Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2NvbXBvbmVudC1kaWFncmFtLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jbGFzcy1jb21wb25lbnRzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2Nsb3VkZmxhcmUtd29ya2Vycy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jb21waWxlci1ob29rcy5wbmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvY29tcGlsZXIubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvY29uY2lzZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jb25kaXRpb25hbHMtYW5kLWxpc3RzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2NvcmUtdGFncy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jdXN0b20tdGFncy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9lZGl0b3ItcGx1Z2lucy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9ldmVudHMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvZXhwcmVzcy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9mYXN0aWZ5Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2dldHRpbmctc3RhcnRlZC5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9odHRwLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2luc3RhbGxpbmcubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mva29hLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2xhc3NvLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL21hcmtvLTUtdXBncmFkZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9tYXJrby1qc29uLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL21hcmtvLXZzLXJlYWN0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3JlZHV4Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3JlbmRlcmluZy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9yb2xsdXAubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvc3RhdGUubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvc3R5bGVzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3N5bnRheC5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy90cm91Ymxlc2hvb3Rpbmctc3RyZWFtaW5nLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2ljb25zL21hcmtvLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9pY29ucy90cy5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvaWNvbnMvanMuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3R5cGVzY3JpcHQubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvdml0ZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy93ZWJwYWNrLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3doeS1pcy1tYXJrby1mYXN0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzLzpuYW1lL2RvY3VtZW50LWxvb2t1cC5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2VkaXQtb24tZ2l0aHViL2dpdGh1Yi5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9lZGl0LW9uLWdpdGh1Yi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2VkaXQtb24tZ2l0aHViL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvY29udHJpYnV0b3JzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvY29udHJpYnV0b3JzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvZG9jdW1lbnQtb3ZlcnZpZXcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9kb2N1bWVudC1vdmVydmlldy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy86bmFtZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy86bmFtZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy92Ni9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC92Ni9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9pbmRleC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwiQG1hcmtvL3RyYW5zbGF0b3ItdGFnc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9wbGF5Z3JvdW5kL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvY29tcG9uZW50cy9wbGF5Z3JvdW5kLTYubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy90dXRvcmlhbHMuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL3Y2LzpuYW1lL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL3Y2LzpuYW1lL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2NvbXBvbmVudHMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvbWFya2Rvd24vVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvbWFya2Rvd24vY29uZGl0aW9uYWxzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2V2ZW50cy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9tYXJrZG93bi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9tYXJrZG93bi9qYXZhc2NyaXB0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2xhbmd1YWdlLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2xpc3RzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3NldHVwLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3N0YXRlLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3N0eWxlcy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy86bmFtZS9kb2N1bWVudC1sb29rdXAuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvOm5hbWUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvOm5hbWUvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2V4YW1wbGVzL1tuYW1lXS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZXhhbXBsZXMvW25hbWVdL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni90dXRvcmlhbHMvOm5hbWUvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzLzpuYW1lL2NvbXBvbmVudHMvdHV0b3JpYWwubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy86bmFtZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzLzpuYW1lL2luZGV4Lm1hcmtvIiwid2VicGFjazovLy8/ODUzZiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvc2VydmVyLmpzIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7OztBQ3JEQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNkQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7Ozs7Ozs7QUNsQ0E7QUFRQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOzs7Ozs7O0FDekNBO0FBQ0E7QUFJQTs7Ozs7Ozs7QUNMQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7O0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FDdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNQQTs7Ozs7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNOQTs7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0hBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOzs7QUNBQTs7O0FDQUE7OztBQ0FBOzs7QUNBQTs7O0FDQUE7OztBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNxRUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUNoSEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ0FBOzs7Ozs7O0FGQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FHNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDNURBOztBQ0FBOzs7QUNBQTs7Ozs7O0FDQUE7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBc0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDbkNBOzs7QUNBQTs7Ozs7Ozs7O0FDQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7O0FDUEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUlBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFRQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFLQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQWVBO0FBQ0E7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ2pFQTs7QUNBQTs7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNSQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUNGQTs7O0FDQUE7OztBQ0FBOzs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0FDSEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNYQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0JBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBVUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUxBO0FBTUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaEZBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFKQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ0xBOzs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUNBQTs7QUNBQTs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBZ0JBO0FBQ0E7QUFBQTtBQVdBO0FBQUE7QUFPQTtBQUdBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDeENBOzs7Ozs7Ozs7OztBQ0FBOzs7QUNBQTs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUZBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDdkVBOztBQ0FBOztBQ0FBOzs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBOztBQ1pBOzs7Ozs7Ozs7OztBQzRDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM1Q0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBMEJBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBSkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7O0FDM0RBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7QUN6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBSEE7QUFnQkE7QUFBQTtBQUZBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O0FDcENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBRkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7O0FDQUE7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUNBQTtBQXNCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztBQ3RCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0FDQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDUkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQW1DQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFGQTtBQUlBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7QUNqREE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7OztBQ25CQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFvQkE7QUErQkE7QUFBQTtBQUFBO0FBakNBO0FBQUE7QUFBQTtBQUFBO0FBOUJBO0FBaUZBO0FBQUE7QUFBQTtBQUFBOztBQ2pGQTs7QUNBQTs7QUNBQTs7Ozs7Ozs7Ozs7Ozs7OztBQ3dOQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFDQTtBQUFBO0FBT0E7QUFBQTtBQVNBO0FBQUE7QUFTQTtBQUFBO0FBUUE7QUFDQTtBQUFBO0FBT0E7QUFBQTtBQUZBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OztBQzNRQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7OztBQ2pEQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQVJBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7OztBQ1RBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFUQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7O0FDVkE7Ozs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTJEQTtBQUFBO0FBQUE7QUFBQTtBQWpFQTtBQWtFQTtBQUFBO0FBQUE7QUFBQTs7QUNsRUE7Ozs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUF4QkE7QUFBQTtBQXlCQTtBQUFBO0FBQUE7QUFBQTs7Ozs7QUN6QkE7O0FDQUE7O0FDQUE7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE0QkE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFIQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTVDQTtBQStDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2pEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNUQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBRkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FENURBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0FFNURBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBOztBQ0FBOzs7Ozs7QURBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUU1REE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3Q0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpREE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBd0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ2hMQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDcEZBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQzdEQTs7Ozs7O0FDQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBdUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3TUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN2RBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDSkE7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBbUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzdJQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3JDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNwQkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3JHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3hEQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNsQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNoQkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzNCQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUN2QkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM3UkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNUQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEySkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDektBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0RBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUMxREE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN0JBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNOQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDM0tBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDSkE7O0FDQUE7O0FDQUE7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0VBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNoSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXdDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXFCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3hHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FDN0VBOzs7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBMENBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFDQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF0QkE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDMUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFGQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ25CQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUF0QkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7Ozs7OztBQ0FBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUEE7QUFRQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O0FDbkJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUpBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDNURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7Ozs7O0FDdENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFkQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDNURBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDakNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM5Q0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ2hCQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDbkJBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN0NBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ0pBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDaEJBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0FDMUJBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FDdEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBekJBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzVEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBN0NBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUF5QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDbENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBTkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7O0FDNUhBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZXMiOlsiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vYnVpbGQvZGlzdC9maWxlcy9taWRkbGV3YXJlLmpzIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2hlYWRpbmcvZ2V0QW5jaG9yTmFtZS5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2NvbnRyaWJ1dG9ycy9nZXQtY29udHJpYnV0b3JzLmpzIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy91dGlscy9jcmVhdGUtb3ZlcnZpZXctdHJlZS5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvdXRpbHMvZm9ybWF0LXNsdWcuanMiLCJleHRlcm5hbCBjb21tb25qcyBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0XCIiLCJleHRlcm5hbCBjb21tb25qcyBcImNvbm5lY3QtZ3ppcC1zdGF0aWNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwiZ2gtZ290XCIiLCJleHRlcm5hbCBub2RlLWNvbW1vbmpzIFwiaHR0cFwiIiwiZXh0ZXJuYWwgbm9kZS1jb21tb25qcyBcInBhdGhcIiIsIndlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2svcnVudGltZS9wdWJsaWNQYXRoIiwiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9pbmRleC5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vYnVpbGQvZGlzdC9maWxlcy9wYXJlbnQtZGlyLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvZGlyLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvZmlsZS5wbmciLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9odG1sL2hlbHBlcnMvZXNjYXBlLXhtbC5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9oZWxwZXJzL2VzY2FwZS1xdW90ZXMuanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvb2YtZmFsbGJhY2suanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2h0bWwvaGVscGVycy9hdHRyLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvbXBvbmVudHMvaW5pdC1jb21wb25lbnRzLXRhZy5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9yZW5kZXItdGFnLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvcmUvYXdhaXQvcmVvcmRlcmVyLXJlbmRlcmVyLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvbXBvbmVudHMvcHJlZmVycmVkLXNjcmlwdC1sb2NhdGlvbi10YWcuanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2NvbXBvbmVudHMvcmVuZGVyZXIuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby9idWlsZC9kaXN0L2ZpbGVzL2Rpci1pbmRleC5tYXJrbyIsIj9tYW5pZmVzdCIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9jb3JlLXRhZ3MvY29yZS9fX2ZsdXNoX2hlcmVfYW5kX2FmdGVyX18uanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9pbmRleC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwiQG1hcmtvL3RhZ3MtYXBpLXByZXZpZXcvZGlzdC90cmFuc2Zvcm0vY2FjaGVkLXZhbHVlc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L2NvbXBvbmVudHMvcmV0dXJuXCIiLCJleHRlcm5hbCBjb21tb25qcyBcImx6LXN0cmluZ1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9wbGF5Z3JvdW5kL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvY29tcG9uZW50cy9oYXNoLXZhbHVlLm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L3V0aWwvcmVwbGFjZS1hc3NpZ25tZW50c1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L3RyYW5zZm9ybS9uYXRpdmUtdGFnLXZhclwiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L2NvbXBvbmVudHMvX2luc3RhbmNlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L2NvbXBvbmVudHMvX2luc3RhbmNlL2luZGV4Lm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9jbGFzcy12YWx1ZS5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvZmlsZS10YWJzLm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9hdHRyLXRhZy5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9keW5hbWljLXRhZy5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvcGFuZS5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL2NvbnRyb2xsYWJsZS1zZWxlY3QubWFya28iLCJleHRlcm5hbCBjb21tb25qcyBcIkBtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvdHJhbnNsYXRlL25hdGl2ZS10YWctaGFuZGxlcnNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2h0bWwvaGVscGVycy9kYXRhLW1hcmtvLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9odG1sL2hlbHBlcnMvYXR0cnMuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL3BsYXlncm91bmQtbGluay5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL21hdGNoLW1lZGlhLm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvcmVzaXphYmxlLXBhbmVzLm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9wbGF5Z3JvdW5kL2NvbXBvbmVudHMvcGxheWdyb3VuZC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2Zhdmljb24ucG5nIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9za2lwLWxpbmsvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL3NraXAtbGluay9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvbWFya28uc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9sb2dvcy9tYXJrby11d3UucG5nIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2VhcmNoL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2VhcmNoL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtaGVhZGVyL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtaGVhZGVyL2luZGV4Lm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kb2NzL3N0cnVjdHVyZS5qc29uXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9oZWxwZXJzL3RvLXN0cmluZy5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9wYWNrYWdlLmpzb25cIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvbGF5b3V0LXNpZGViYXIvY29tcG9uZW50cy92ZXJzaW9uLXN3aXRjaGVyL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2lkZWJhci9jb21wb25lbnRzL3ZlcnNpb24tc3dpdGNoZXIvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zaWRlYmFyL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2lkZWJhci9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtZm9vdGVyL29wZW5qc2Yuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1mb290ZXIvb3NpLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtZm9vdGVyL2ViYXkuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1mb290ZXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWZvb3Rlci9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvZ29vZ2xlLWFuYWx5dGljcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvZ29vZ2xlLWFuYWx5dGljcy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvZGlzY29yZC5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvZGlzY29yZC1saW5rL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2Rpc2NvcmQtbGluay9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUtbmV3L1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lLW5ldy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvLXRhZ3Mvc3Vic2NyaWJlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28tdGFncy9zdWJzY3JpYmUvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUvY29tcG9uZW50cy9sb2FkZXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUvY29tcG9uZW50cy9sb2FkZXIvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1oZXJvL21hcmtvLXRleHQuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9sb2dvcy9naXRodWIuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9jb21wb25lbnRzL2dpdGh1Yi1saW5rL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9jb21wb25lbnRzL2dpdGh1Yi1saW5rL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWhlcm8vaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1mZWF0dXJlcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWZlYXR1cmVzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWxhbmd1YWdlL2NvbXBvbmVudHMvY291bnRlci10YWdzLm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvY29tcG9uZW50cy9jb3VudGVyLWV4YW1wbGUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1sYW5ndWFnZS9jb21wb25lbnRzL2NvdW50ZXItZXhhbXBsZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9oZWFkaW5nL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2hlYWRpbmcvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1mZWF0dXJlLWJsb2NrL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtZmVhdHVyZS1ibG9jay9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWxhbmd1YWdlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1kZW1vLXBhZ2UvcHJvZHVjdC5wbmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1kZW1vLXBhZ2UveC5zdmciLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9oZWxwZXJzL3N0eWxlLXZhbHVlLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1kZW1vLXBhZ2UvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1kZW1vLXBhZ2UvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1zdHJlYW1pbmcvY29tcG9uZW50cy9zY3JvbGwtbG9ja2VkLXN0cmVhbS1leGFtcGxlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtc3RyZWFtaW5nL2NvbXBvbmVudHMvc2Nyb2xsLWxvY2tlZC1zdHJlYW0tZXhhbXBsZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXN0cmVhbWluZy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXN0cmVhbWluZy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWh5ZHJhdGlvbi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWh5ZHJhdGlvbi9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXBlcmZvcm1hbmNlL2Fycm93LnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXBlcmZvcm1hbmNlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtcGVyZm9ybWFuY2UvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS10b29saW5nL3NjcmVlbi5wbmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS10b29saW5nL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtdG9vbGluZy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3Mvc3RhY2tvdmVyZmxvdy5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2xvZ29zL3R3aXR0ZXIuc3ZnIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L2NvcmUtdGFncy9jb3JlL2F3YWl0L3JlbmRlcmVyLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1jb21tdW5pdHkvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1jb21tdW5pdHkvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2NvZGUtYmxvY2stbWFya28vVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvY29kZS1ibG9jay1tYXJrby9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvdXRpbHMvdG9jLXJlZ2lzdHJ5LmpzIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL2V4YW1wbGVzL2V4YW1wbGVzL2NvbG9yLXBpY2tlci9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9leGFtcGxlcy9leGFtcGxlcy9jb2xvci1waWNrZXIvUkVBRE1FLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzLzEwLWF3ZXNvbWUtbWFya28tZmVhdHVyZXMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvYm9keS1jb250ZW50Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2NvbXBvbmVudC1kaWFncmFtLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jbGFzcy1jb21wb25lbnRzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2Nsb3VkZmxhcmUtd29ya2Vycy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jb21waWxlci1ob29rcy5wbmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvY29tcGlsZXIubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvY29uY2lzZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jb25kaXRpb25hbHMtYW5kLWxpc3RzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2NvcmUtdGFncy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jdXN0b20tdGFncy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9lZGl0b3ItcGx1Z2lucy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9ldmVudHMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvZXhwcmVzcy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9mYXN0aWZ5Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2dldHRpbmctc3RhcnRlZC5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9odHRwLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2luc3RhbGxpbmcubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mva29hLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2xhc3NvLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL21hcmtvLTUtdXBncmFkZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9tYXJrby1qc29uLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL21hcmtvLXZzLXJlYWN0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3JlZHV4Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3JlbmRlcmluZy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9yb2xsdXAubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvc3RhdGUubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvc3R5bGVzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3N5bnRheC5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy90cm91Ymxlc2hvb3Rpbmctc3RyZWFtaW5nLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2ljb25zL21hcmtvLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9pY29ucy90cy5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvaWNvbnMvanMuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3R5cGVzY3JpcHQubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvdml0ZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy93ZWJwYWNrLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3doeS1pcy1tYXJrby1mYXN0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzLzpuYW1lL2RvY3VtZW50LWxvb2t1cC5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2VkaXQtb24tZ2l0aHViL2dpdGh1Yi5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9lZGl0LW9uLWdpdGh1Yi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2VkaXQtb24tZ2l0aHViL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvY29udHJpYnV0b3JzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvY29udHJpYnV0b3JzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvZG9jdW1lbnQtb3ZlcnZpZXcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9kb2N1bWVudC1vdmVydmlldy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy86bmFtZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy86bmFtZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy92Ni9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC92Ni9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9pbmRleC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwiQG1hcmtvL3RyYW5zbGF0b3ItdGFnc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9wbGF5Z3JvdW5kL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvY29tcG9uZW50cy9wbGF5Z3JvdW5kLTYubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy90dXRvcmlhbHMuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL3Y2LzpuYW1lL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL3Y2LzpuYW1lL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2NvbXBvbmVudHMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvbWFya2Rvd24vVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvbWFya2Rvd24vY29uZGl0aW9uYWxzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2V2ZW50cy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9tYXJrZG93bi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9tYXJrZG93bi9qYXZhc2NyaXB0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2xhbmd1YWdlLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2xpc3RzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3NldHVwLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3N0YXRlLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3N0eWxlcy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy86bmFtZS9kb2N1bWVudC1sb29rdXAuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvOm5hbWUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvOm5hbWUvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2V4YW1wbGVzL1tuYW1lXS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZXhhbXBsZXMvW25hbWVdL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni90dXRvcmlhbHMvOm5hbWUvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzLzpuYW1lL2NvbXBvbmVudHMvdHV0b3JpYWwubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy86bmFtZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzLzpuYW1lL2luZGV4Lm1hcmtvIiwid2VicGFjazovLy8/ODUzZiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvc2VydmVyLmpzIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9 \ No newline at end of file diff --git a/middleware.js b/middleware.js index d7632763..55182fd9 100644 --- a/middleware.js +++ b/middleware.js @@ -649,7 +649,7 @@ _marko_template._ = renderer_js_default()(function (input, out, _componentDef, _ getAssets(entry) { return this.build[entry]; }, - build: {":name_5gMv":{"css":["8680a54b.css"],"js":["121.082b64a2.js","364.65751be0.js","72.101a150f.js","496.e12c06ed.js"]},":name_IGBa":{"css":["086d4324.css"],"js":["121.082b64a2.js","364.65751be0.js","586.bccf7e25.js"]},":name_Puth":{"js":["121.082b64a2.js","608.3649058d.js"]},":name_z0HT":{"css":["a50c84bf.css"],"js":["121.082b64a2.js","364.65751be0.js","991.56310bd8.js"]},"[name]_FLzY":{"css":["c2f5e683.css"],"js":["121.082b64a2.js","364.65751be0.js","72.101a150f.js","858.e13f35da.js"]},"code-block-marko_UUum":{"css":["ff15f5e4.css"],"js":["121.082b64a2.js","364.65751be0.js","896.ddf9a235.js"]},"dir-index_C1oC":{"css":["31fa76ad.css"],"js":["121.082b64a2.js","512.7e55141a.js"]},"docs_MeqG":{"js":["121.082b64a2.js","127.29aea32d.js"]},"docs_zLbN":{"js":["121.082b64a2.js","375.d7b9d8b7.js"]},"index_WEBG":{"css":["3f0c1fd4.css"],"js":["121.082b64a2.js","364.65751be0.js","317.f3733e16.js"]},"playground_E8TY":{"css":["d7111765.css"],"js":["121.082b64a2.js","364.65751be0.js","72.101a150f.js","745.c73f1c83.js","663.28f5dddc.js","215.0e5fbbe7.js","313.fdf44b36.js"]},"playground_mdf-":{"css":["d7111765.css"],"js":["121.082b64a2.js","364.65751be0.js","72.101a150f.js","39.40a6ace1.js"]},"try-online-new_1yH9":{"js":["121.082b64a2.js","421.0313a7b1.js"]},"try-online_gkPN":{"css":["47274f39.css"],"js":["121.082b64a2.js","364.65751be0.js","665.464eee7b.js"]},"tutorials_p6eY":{"css":["7b8df9ad.css"],"js":["121.082b64a2.js","364.65751be0.js","247.3ad572d9.js"]},"v6_--pM":{"js":["121.082b64a2.js","497.5e264aae.js"]},"v6_4cho":{"js":["121.082b64a2.js","802.a646e289.js"]},"v6_YkD7":{"css":["3f0c1fd4.css"],"js":["121.082b64a2.js","364.65751be0.js","117.19da8542.js"]}} + build: {":name_5gMv":{"css":["8680a54b.css"],"js":["121.dee40b05.js","364.65751be0.js","72.101a150f.js","496.1f3507f7.js"]},":name_IGBa":{"css":["086d4324.css"],"js":["121.dee40b05.js","364.65751be0.js","586.bccf7e25.js"]},":name_Puth":{"js":["121.dee40b05.js","608.3649058d.js"]},":name_z0HT":{"css":["a50c84bf.css"],"js":["121.dee40b05.js","364.65751be0.js","991.56310bd8.js"]},"[name]_FLzY":{"css":["c2f5e683.css"],"js":["121.dee40b05.js","364.65751be0.js","72.101a150f.js","858.9323781e.js"]},"code-block-marko_UUum":{"css":["ff15f5e4.css"],"js":["121.dee40b05.js","364.65751be0.js","896.ddf9a235.js"]},"dir-index_C1oC":{"css":["31fa76ad.css"],"js":["121.dee40b05.js","512.7e55141a.js"]},"docs_MeqG":{"js":["121.dee40b05.js","127.29aea32d.js"]},"docs_zLbN":{"js":["121.dee40b05.js","375.d7b9d8b7.js"]},"index_WEBG":{"css":["3f0c1fd4.css"],"js":["121.dee40b05.js","364.65751be0.js","317.f3733e16.js"]},"playground_E8TY":{"css":["d7111765.css"],"js":["121.dee40b05.js","364.65751be0.js","72.101a150f.js","745.c73f1c83.js","663.28f5dddc.js","215.0e5fbbe7.js","313.b4d51fa5.js"]},"playground_mdf-":{"css":["d7111765.css"],"js":["121.dee40b05.js","364.65751be0.js","72.101a150f.js","39.0fd83ed0.js"]},"try-online-new_1yH9":{"js":["121.dee40b05.js","421.0313a7b1.js"]},"try-online_gkPN":{"css":["47274f39.css"],"js":["121.dee40b05.js","364.65751be0.js","665.464eee7b.js"]},"tutorials_p6eY":{"css":["7b8df9ad.css"],"js":["121.dee40b05.js","364.65751be0.js","247.3ad572d9.js"]},"v6_--pM":{"js":["121.dee40b05.js","497.5e264aae.js"]},"v6_4cho":{"js":["121.dee40b05.js","802.a646e289.js"]},"v6_YkD7":{"css":["3f0c1fd4.css"],"js":["121.dee40b05.js","364.65751be0.js","117.19da8542.js"]}} }); ;// external "marko/dist/core-tags/core/__flush_here_and_after__.js" const _flush_here_and_after_js_namespaceObject = require("marko/dist/core-tags/core/__flush_here_and_after__.js"); @@ -795,242 +795,288 @@ index_marko_server_entry_marko_template._ = renderer_js_default()(function (inpu t: index_marko_server_entry_marko_componentType, i: true }, index_marko_server_entry_marko_component); -;// ../logos/marko.svg -/* harmony default export */ const marko = (__webpack_require__.p + "91bc26e5.svg"); -;// ./index/components/home-hero/marko-text.svg -/* harmony default export */ const marko_text = (__webpack_require__.p + "7443bd32.svg"); -;// ../logos/marko-uwu.png -/* harmony default export */ const marko_uwu = (__webpack_require__.p + "2371441a.png"); -;// external "marko/dist/runtime/html/helpers/data-marko.js" -const data_marko_js_namespaceObject = require("marko/dist/runtime/html/helpers/data-marko.js"); -var data_marko_js_default = /*#__PURE__*/__webpack_require__.n(data_marko_js_namespaceObject); -;// ../logos/github.svg -/* harmony default export */ const github = (__webpack_require__.p + "0bc571bc.svg"); -;// ./index/components/home-hero/components/github-link/index.marko - -const github_link_index_marko_marko_componentType = "ZLItxxri", - github_link_index_marko_marko_template = (0,index_js_namespaceObject.t)(github_link_index_marko_marko_componentType); -/* harmony default export */ const github_link_index_marko = (github_link_index_marko_marko_template); +;// external "@marko/tags-api-preview/dist/transform/cached-values" +const cached_values_namespaceObject = require("@marko/tags-api-preview/dist/transform/cached-values"); +;// external "@marko/tags-api-preview/dist/components/return" +const return_namespaceObject = require("@marko/tags-api-preview/dist/components/return"); +var return_default = /*#__PURE__*/__webpack_require__.n(return_namespaceObject); +;// external "lz-string" +const external_lz_string_namespaceObject = require("lz-string"); +;// ./playground/components/hash-value.marko +const hash_value_marko_marko_componentType = "iu_vYbKl", + hash_value_marko_marko_template = (0,index_js_namespaceObject.t)(hash_value_marko_marko_componentType); +/* harmony default export */ const hash_value_marko = (hash_value_marko_marko_template); +function getInitialValue() { + try { + if (false) {} + } catch (e) { + console.error(e); + } +} -const github_link_index_marko_marko_component = {}; -github_link_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(`GitHub`); +const hash_value_marko_marko_component = { + onCreate() { + this.state = {}; + } +}; +hash_value_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { + var _component = _component2, + _state = state; + const { + value: defaultValue + } = input; + let value = getInitialValue() || defaultValue; + input._return && input._return({ + "value": value, + "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component, []) || (_ => value = _)) + }, 1); }, { - t: github_link_index_marko_marko_componentType, - s: true -}, github_link_index_marko_marko_component); -;// ./index/components/home-hero/index.marko - -const home_hero_index_marko_marko_componentType = "zOb$ETAb", - home_hero_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_hero_index_marko_marko_componentType); -/* harmony default export */ const home_hero_index_marko = (home_hero_index_marko_marko_template); - + t: hash_value_marko_marko_componentType +}, hash_value_marko_marko_component); +;// external "@marko/tags-api-preview/dist/util/replace-assignments" +const replace_assignments_namespaceObject = require("@marko/tags-api-preview/dist/util/replace-assignments"); +var replace_assignments_default = /*#__PURE__*/__webpack_require__.n(replace_assignments_namespaceObject); +;// external "@marko/tags-api-preview/dist/transform/native-tag-var" +const native_tag_var_namespaceObject = require("@marko/tags-api-preview/dist/transform/native-tag-var"); +var native_tag_var_default = /*#__PURE__*/__webpack_require__.n(native_tag_var_namespaceObject); +;// ../../node_modules/@marko/tags-api-preview/dist/components/_instance/index.marko +const _instance_index_marko_marko_componentType = "ZcXvQUMl", + _instance_index_marko_marko_template = (0,index_js_namespaceObject.t)(_instance_index_marko_marko_componentType); +/* harmony default export */ const _instance_index_marko = (_instance_index_marko_marko_template); +const _instance_index_marko_marko_component = { + onCreate() { + this.state = {}; + } +}; +_instance_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + var componentDef = _componentDef; + input.renderBody(out, componentDef, _component, state); +}, { + t: _instance_index_marko_marko_componentType +}, _instance_index_marko_marko_component); +;// external "marko/dist/runtime/helpers/class-value.js" +const class_value_js_namespaceObject = require("marko/dist/runtime/helpers/class-value.js"); +var class_value_js_default = /*#__PURE__*/__webpack_require__.n(class_value_js_namespaceObject); +;// ../components/repl/components/file-tabs.marko +const file_tabs_marko_marko_componentType = "JtPBPdcm", + file_tabs_marko_marko_template = (0,index_js_namespaceObject.t)(file_tabs_marko_marko_componentType); +/* harmony default export */ const file_tabs_marko = (file_tabs_marko_marko_template); -const home_hero_index_marko_marko_component = {}; -home_hero_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(`
    "); -}, { - t: home_hero_index_marko_marko_componentType, - s: true -}, home_hero_index_marko_marko_component); -;// ./index/components/home-features/index.marko -const home_features_index_marko_marko_componentType = "qRU$xLeb", - home_features_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_features_index_marko_marko_componentType); -/* harmony default export */ const home_features_index_marko = (home_features_index_marko_marko_template); -const home_features_index_marko_marko_component = {}; -home_features_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w("

    Familiar

    If you know HTML, CSS, and Javascript, you know Marko

    Performant

    Streaming, partial hydration, an optimizing compiler, & a small runtime

    Scalable

    Start with simple HTML templates and add powerful components as needed

    Trusted

    Marko is powering high-traffic websites like ebay.com

    "); -}, { - t: home_features_index_marko_marko_componentType, - i: true -}, home_features_index_marko_marko_component); -;// external "marko/dist/runtime/helpers/attr-tag.js" -const attr_tag_js_namespaceObject = require("marko/dist/runtime/helpers/attr-tag.js"); -;// ./index/components/home-language/components/counter-tags.marko -const counter_tags_marko_marko_componentType = "jwtsId_c", - counter_tags_marko_marko_template = (0,index_js_namespaceObject.t)(counter_tags_marko_marko_componentType); -/* harmony default export */ const counter_tags_marko = (counter_tags_marko_marko_template); -const counter_tags_marko_marko_component = { +const file_tabs_marko_marko_component = { onCreate() { this.state = {}; } }; -counter_tags_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { - var _component = _component2, +file_tabs_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component4, state, $global) { + var _component = _component4, _state = state; - let count = 0; - out.w(``); -}, { - t: counter_tags_marko_marko_componentType -}, counter_tags_marko_marko_component); -;// ./index/components/home-language/components/counter-example/index.marko - -const counter_example_index_marko_marko_componentType = "bqxM_lge", - counter_example_index_marko_marko_template = (0,index_js_namespaceObject.t)(counter_example_index_marko_marko_componentType); -/* harmony default export */ const counter_example_index_marko = (counter_example_index_marko_marko_template); - - -const counter_example_index_marko_marko_component = { - onCreate() { - this.state = { - count: 0 - }; - }, - increment() { - this.state.count++; + const { + "selectedIndexChange": _selectedIndexChange, + "filesChange": _filesChange, + files: externalFiles, + selectedIndex: externalSelected + } = input; + let files = externalFiles; + let selectedIndex = externalSelected; + const selectedFile = files[selectedIndex]; + out.w("
    "); + { + let nextId = 1; + let _index = 0; + for (const file of of_fallback_js_default()(files)) { + let index = _index++; + const _keyScope = `[${index}]`; + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef, _component2, _state2) => { + var _componentDef = _nestedComponentDef, + _component4 = _component2; + let editing = false; + const selected = selectedFile === file; + const mutable = index > 0; + out.w(``); + if (!editing || !selected || !mutable) { + out.w((0,escape_xml_js_namespaceObject.x)(file.name)); + } else { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef2, _component3, _state3) => { + var _componentDef = _nestedComponentDef2, + _component4 = _component3; + let name = file.name; + const finishRename = (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component3, [name, files]) || function () { + const modifiedFile = { + ...file, + name, + path: file.path.replace(file.name, name) + }; + files = [...files.slice(0, index), modifiedFile, ...files.slice(index + 1)]; + editing = false; + }); + const nameInput = native_tag_var_default()(_component3, "0"); + out.w(``); + } + }, out, _componentDef, "3" + _keyScope); + } + if (mutable) { + out.w(""); + } + out.w("
    "); + } + }, out, _componentDef, "1" + _keyScope); + } + out.w(""); } -}; -counter_example_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(`
    ${(0,escape_xml_js_namespaceObject.x)(state.count)}
    `); + out.w("
    "); }, { - t: counter_example_index_marko_marko_componentType -}, counter_example_index_marko_marko_component); -// EXTERNAL MODULE: ../components/heading/getAnchorName.js -var getAnchorName = __webpack_require__(272); -var getAnchorName_default = /*#__PURE__*/__webpack_require__.n(getAnchorName); + t: file_tabs_marko_marko_componentType +}, file_tabs_marko_marko_component); +;// external "marko/dist/runtime/helpers/attr-tag.js" +const attr_tag_js_namespaceObject = require("marko/dist/runtime/helpers/attr-tag.js"); ;// external "marko/dist/runtime/helpers/dynamic-tag.js" const dynamic_tag_js_namespaceObject = require("marko/dist/runtime/helpers/dynamic-tag.js"); var dynamic_tag_js_default = /*#__PURE__*/__webpack_require__.n(dynamic_tag_js_namespaceObject); -;// ../components/heading/index.marko +;// ../components/repl/components/pane.marko -const heading_index_marko_marko_componentType = "m$Yyhouk", - heading_index_marko_marko_template = (0,index_js_namespaceObject.t)(heading_index_marko_marko_componentType); -/* harmony default export */ const heading_index_marko = (heading_index_marko_marko_template); +const pane_marko_marko_componentType = "YdDerxpd", + pane_marko_marko_template = (0,index_js_namespaceObject.t)(pane_marko_marko_componentType); +/* harmony default export */ const pane_marko = (pane_marko_marko_template); +const pane_marko_marko_component = {}; +pane_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + const { + actions, + body + } = input; + out.w("
    "); + dynamic_tag_js_default()(out, actions.renderBody, null, null, null, null, _componentDef, "2"); + out.w("
    "); + dynamic_tag_js_default()(out, body.renderBody, null, null, null, null, _componentDef, "5"); + out.w("
    "); +}, { + t: pane_marko_marko_componentType, + i: true +}, pane_marko_marko_component); +;// ../components/repl/components/controllable-select.marko +const controllable_select_marko_marko_componentType = "edcMGKVi", + controllable_select_marko_marko_template = (0,index_js_namespaceObject.t)(controllable_select_marko_marko_componentType); +/* harmony default export */ const controllable_select_marko = (controllable_select_marko_marko_template); -const heading_index_marko_marko_component = {}; -heading_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - var className = input['class']; - var text = input.text; - var anchorName = input.anchorName || getAnchorName_default()(text, out); - dynamic_tag_js_default()(out, input.tag, () => ({ - "class": ['heading', className] - }), out => { - out.w(``); - if (text) { - out.w((0,escape_xml_js_namespaceObject.x)(text)); - } else { - dynamic_tag_js_default()(out, input.renderBody, null, null, null, null, _componentDef, "3"); - } - }, null, null, _componentDef, "0"); -}, { - t: heading_index_marko_marko_componentType, - i: true -}, heading_index_marko_marko_component); -;// external "marko/dist/runtime/helpers/class-value.js" -const class_value_js_namespaceObject = require("marko/dist/runtime/helpers/class-value.js"); -var class_value_js_default = /*#__PURE__*/__webpack_require__.n(class_value_js_namespaceObject); -;// ./index/components/home-feature-block/index.marko -const home_feature_block_index_marko_marko_componentType = "TxbG_krh", - home_feature_block_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_feature_block_index_marko_marko_componentType); -/* harmony default export */ const home_feature_block_index_marko = (home_feature_block_index_marko_marko_template); +const controllable_select_marko_marko_component = { + onCreate() { + this.state = {}; + } +}; +controllable_select_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { + var _component = _component2, + _state = state; + const { + value, + valueChange, + renderBody, + class: className + } = input; + const el = native_tag_var_default()(_component, "0"); + out.w(``); + dynamic_tag_js_default()(out, renderBody, null, null, null, null, _componentDef, "0"); + out.w(""); +}, { + t: controllable_select_marko_marko_componentType +}, controllable_select_marko_marko_component); +;// external "@marko/tags-api-preview/dist/translate/native-tag-handlers" +const native_tag_handlers_namespaceObject = require("@marko/tags-api-preview/dist/translate/native-tag-handlers"); +var native_tag_handlers_default = /*#__PURE__*/__webpack_require__.n(native_tag_handlers_namespaceObject); +;// external "marko/dist/runtime/html/helpers/data-marko.js" +const data_marko_js_namespaceObject = require("marko/dist/runtime/html/helpers/data-marko.js"); +var data_marko_js_default = /*#__PURE__*/__webpack_require__.n(data_marko_js_namespaceObject); +;// external "marko/dist/runtime/html/helpers/attrs.js" +const attrs_js_namespaceObject = require("marko/dist/runtime/html/helpers/attrs.js"); +var attrs_js_default = /*#__PURE__*/__webpack_require__.n(attrs_js_namespaceObject); +;// ../components/repl/components/playground-link.marko + +const playground_link_marko_marko_componentType = "fLRwaABg", + playground_link_marko_marko_template = (0,index_js_namespaceObject.t)(playground_link_marko_marko_componentType); +/* harmony default export */ const playground_link_marko = (playground_link_marko_marko_template); -const home_feature_block_index_marko_marko_component = {}; -home_feature_block_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(`
    `); - render_tag_js_default()(heading_index_marko, { - "tag": "h1", - "class": "home-feature-block-title", - ...input.title - }, out, _componentDef, "3"); - out.w("
    "); - dynamic_tag_js_default()(out, input.content, null, null, null, null, _componentDef, "5"); - out.w(`
    `); - dynamic_tag_js_default()(out, input.visual, null, null, null, null, _componentDef, "7"); - out.w("
    "); - if (input.action) { - out.w(`
    ${(0,escape_xml_js_namespaceObject.x)(input.action.text || "Learn More")}
    `); - } - out.w("
"); - dynamic_tag_js_default()(out, input.breakout, null, null, null, null, _componentDef, "10"); - out.w(""); +const playground_link_marko_marko_component = {}; +playground_link_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + const { + files, + ...attrs + } = input; + var _meta = {}; + out.w(`Open in playground \u2197`); }, { - t: home_feature_block_index_marko_marko_componentType, + t: playground_link_marko_marko_componentType, i: true -}, home_feature_block_index_marko_marko_component); -;// ./index/components/home-language/index.marko +}, playground_link_marko_marko_component); +;// ../components/repl/components/match-media.marko -const home_language_index_marko_marko_componentType = "fEFMinFc", - home_language_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_language_index_marko_marko_componentType); -/* harmony default export */ const home_language_index_marko = (home_language_index_marko_marko_template); +const match_media_marko_marko_componentType = "aEQdEE_f", + match_media_marko_marko_template = (0,index_js_namespaceObject.t)(match_media_marko_marko_componentType); +/* harmony default export */ const match_media_marko = (match_media_marko_marko_template); +const match_media_marko_marko_component = { + onCreate() { + this.state = {}; + } +}; +match_media_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { + var _component = _component2, + _state = state; + const { + value: query, + fallback + } = input; + let isMatch = false ? 0 : fallback; + input._return && input._return({ + "value": isMatch + }, 1); +}, { + t: match_media_marko_marko_componentType +}, match_media_marko_marko_component); +;// ../components/repl/components/resizable-panes.marko +const resizable_panes_marko_marko_componentType = "H_lRXCBe", + resizable_panes_marko_marko_template = (0,index_js_namespaceObject.t)(resizable_panes_marko_marko_componentType); +/* harmony default export */ const resizable_panes_marko = (resizable_panes_marko_marko_template); -const home_language_index_marko_marko_component = {}; -home_language_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "HTML Reimagined", - "anchorName": "language" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

"); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "class": "home-language__examples", - "renderBody": out => { - if (input.v6) { - out.w("
"); - render_tag_js_default()(counter_tags_marko, {}, out, _componentDef, "5"); - out.w("
<!doctype html>\n<html>\n    <head>\n        <title>Count with Marko</title>\n    </head>\n    <body>\n        <let/count=0/>\n        <button onClick() { count++ }>\n            ${count}\n        </button>\n    </body>\n</html>\n
"); - } else { - out.w("
<!doctype html>\n<html>\n<head>\n    <title>Hello Marko</title>\n</head>\n<body>\n    <h1>My favorite colors</h1>\n    <ul>\n        <for|color| of=[\"red\", \"green\", \"blue\"]>\n            <li style=`color:${color}`>\n                ${color.toUpperCase()}\n            </li>\n        </for>\n    </ul>\n    <shared-footer/>\n</body>\n</html>\n
HTML Templates, Custom Tags, & Javascript Expressions
"); - render_tag_js_default()(counter_example_index_marko, {}, out, _componentDef, "12"); - out.w("
class {\n  onCreate() {\n    this.state = { count: 0 };\n  }\n  increment() {\n    this.state.count++;\n  }\n}\n<div>${state.count}</div>\n<button on-click(\"increment\")>\n  Click me!\n</button>\n
Interactive Logic & Reactive Values
"); - } - } - }); - }, { - "class": "home-language" - }), out, _componentDef, "0"); -}, { - t: home_language_index_marko_marko_componentType, - i: true -}, home_language_index_marko_marko_component); -;// ./index/components/home-demo-page/product.png -/* harmony default export */ const product = (__webpack_require__.p + "2ff006d2.png"); -;// ./index/components/home-demo-page/x.svg -/* harmony default export */ const x = (__webpack_require__.p + "886b7024.svg"); -;// external "marko/dist/runtime/helpers/style-value.js" -const style_value_js_namespaceObject = require("marko/dist/runtime/helpers/style-value.js"); -var style_value_js_default = /*#__PURE__*/__webpack_require__.n(style_value_js_namespaceObject); -;// ./index/components/home-demo-page/index.marko -const home_demo_page_index_marko_marko_componentType = "pYOALFJk", - home_demo_page_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_demo_page_index_marko_marko_componentType); -/* harmony default export */ const home_demo_page_index_marko = (home_demo_page_index_marko_marko_template); @@ -1038,347 +1084,236 @@ const home_demo_page_index_marko_marko_componentType = "pYOALFJk", -const home_demo_page_index_marko_marko_component = {}; -home_demo_page_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - const progress = input.buffered ? Math.floor(input.progress / 0.9) : input.progress / 0.9; - out.w(`
`); - if (input.progress >= 0) { - out.w(`
`); + +const resizable_panes_marko_marko_component = { + onCreate() { + this.state = {}; } - out.w(`
Cart (0)
Google Home - $79
Add to Cart
Hands-free help around the house. Google Home is a smart speaker with the Google Assistant built in. So whenever you need help, it's by your side
\u2605\u2605\u2605\u2605\u2606
Cool gadget Google has created a nice device that provides music and information by voice control. The microphone is very good and will usually pick up commands from across the room. The speakers sound surprisingly good for such a small device. I wish it had tone control though.
\u2605\u2605\u2605\u2605\u2605
Incredible sound profile! Easy setup, great sound for any room size. Adjustable bass and treble. Currently have two paired up for better whole house sound.
About
Security
Policies
Help
Sitemap
`); - if (input.buffered || input.hydrateAll) { - out.w(`
`); - } else { - out.w(`
`); +}; +resizable_panes_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component3, state, $global) { + var _component = _component3, + _state = state; + const { + left, + right + } = input; + let editorSize = 0.5; + let resizing = false; + var _matchMediaReturn = return_default()(_component); + render_tag_js_default()(match_media_marko, { + "value": "(max-aspect-ratio: 1/1)", + "_return": _matchMediaReturn + }, out, _componentDef, "0"); + const { + value: isVertical + } = _matchMediaReturn(); + const container = native_tag_var_default()(_component, "0"); + out.w(``); + var _meta = {}; + out.w(``); + dynamic_tag_js_default()(out, left.renderBody, null, null, null, null, _componentDef, "2"); + out.w("
"); + var _meta2 = {}; + out.w(``); + dynamic_tag_js_default()(out, right.renderBody, null, null, null, null, _componentDef, "6"); + out.w("
"); + if (resizing) { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef, _component2, _state2) => { + var _componentDef = _nestedComponentDef, + _component3 = _component2; + } + }, out, _componentDef, "7"); } - out.w("
"); }, { - t: home_demo_page_index_marko_marko_componentType, - i: true -}, home_demo_page_index_marko_marko_component); -;// ./index/components/home-streaming/components/scroll-locked-stream-example/index.marko + t: resizable_panes_marko_marko_componentType +}, resizable_panes_marko_marko_component); +;// ../components/repl/index.marko -const scroll_locked_stream_example_index_marko_marko_componentType = "RQwDtLcd", - scroll_locked_stream_example_index_marko_marko_template = (0,index_js_namespaceObject.t)(scroll_locked_stream_example_index_marko_marko_componentType); -/* harmony default export */ const scroll_locked_stream_example_index_marko = (scroll_locked_stream_example_index_marko_marko_template); +const repl_index_marko_marko_componentType = "rtapnbhf", + repl_index_marko_marko_template = (0,index_js_namespaceObject.t)(repl_index_marko_marko_componentType); +/* harmony default export */ const repl_index_marko = (repl_index_marko_marko_template); -const scroll_locked_stream_example_index_marko_marko_component = { + + + + + + + +const repl_index_marko_marko_component = { onCreate() { - this.state = { - progress: 0.1 - }; - }, - onMount() { - this.observer = new IntersectionObserver(entries => { - if (entries[0].intersectionRatio <= 0) { - this.cleanProgress(); - } else { - this.initProgress(); - } - }); - this.observer.observe(this.getEl("root")); - }, - onDestroy() { - this.cleanProgress(); - this.observer.disconnect(); - }, - initProgress() { - const updateProgress = () => { - this.state.progress = (this.state.progress + 0.004) % 1.5; - this.frame = requestAnimationFrame(updateProgress); - }; - this.frame = requestAnimationFrame(updateProgress); - }, - cleanProgress() { - cancelAnimationFrame(this.frame); + this.state = {}; } }; -scroll_locked_stream_example_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(``); - render_tag_js_default()(home_demo_page_index_marko, { - "progress": state.progress, - "buffered": true, - "label": "Buffered pages don't show content as it loads" - }, out, _componentDef, "0"); - render_tag_js_default()(home_demo_page_index_marko, { - "progress": state.progress, - "label": "Streaming pages show content incrementally", - "class": "scroll-locked-progressive" - }, out, _componentDef, "1"); - out.w("
"); -}, { - t: scroll_locked_stream_example_index_marko_marko_componentType -}, scroll_locked_stream_example_index_marko_marko_component); -;// ./index/components/home-streaming/index.marko - -const home_streaming_index_marko_marko_componentType = "opQEgCpi", - home_streaming_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_streaming_index_marko_marko_componentType); -/* harmony default export */ const home_streaming_index_marko = (home_streaming_index_marko_marko_template); - - - - - -const home_streaming_index_marko_marko_component = {}; -home_streaming_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Progressive Rendering", - "anchorName": "streaming" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

Marko streams content to your users as soon as it\u2019s ready. No waiting for client side JavaScript bundles or data requests to start rendering. HTML, assets, and images are loaded as soon as possible with asynchronous data loading in as it completes.

"); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "renderBody": out => { - render_tag_js_default()(scroll_locked_stream_example_index_marko, { - "class": "home-streaming-example" - }, out, _componentDef, "2"); - } - }); - (0,attr_tag_js_namespaceObject.a)("action", { - "href": "https://dev.to/ryansolid/server-rendering-in-javascript-optimizing-performance-1jnk" - }); - }, { - "align": "left", - "class": "home-streaming" - }), out, _componentDef, "0"); -}, { - t: home_streaming_index_marko_marko_componentType, - i: true -}, home_streaming_index_marko_marko_component); -;// ./index/components/home-hydration/index.marko - -const home_hydration_index_marko_marko_componentType = "NpXSyNze", - home_hydration_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_hydration_index_marko_marko_componentType); -/* harmony default export */ const home_hydration_index_marko = (home_hydration_index_marko_marko_template); - - - - - -const home_hydration_index_marko_marko_component = {}; -home_hydration_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Code Elimination", - "anchorName": "hydration" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

Marko only sends the code for interactive components to the browser. Its compiler automatically detects which components only need to be rendered on the server. This means less to download and less to execute. Your users can enjoy top tier performance regardless of their devices or networks.

"); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "renderBody": out => { - render_tag_js_default()(home_demo_page_index_marko, { - "hydrateAll": true, - "label": "Traditional hydration sends and re-excutes the code for all components", - "class": "home-hydration-example" - }, out, _componentDef, "2"); - render_tag_js_default()(home_demo_page_index_marko, { - "hydratePartial": true, - "label": "Marko's hydration only sends the code for interactive components", - "class": "home-hydration-example" - }, out, _componentDef, "3"); - } - }); - (0,attr_tag_js_namespaceObject.a)("action", { - "href": "https://medium.com/@mlrawlings/maybe-you-dont-need-that-spa-f2c659bc7fec" - }); - }, { - "align": "right", - "class": "home-hydration" - }), out, _componentDef, "0"); -}, { - t: home_hydration_index_marko_marko_componentType, - i: true -}, home_hydration_index_marko_marko_component); -;// ./index/components/home-performance/arrow.svg -/* harmony default export */ const arrow = (__webpack_require__.p + "7c1cc740.svg"); -;// ./index/components/home-performance/index.marko - -const home_performance_index_marko_marko_componentType = "zumXQlzg", - home_performance_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_performance_index_marko_marko_componentType); -/* harmony default export */ const home_performance_index_marko = (home_performance_index_marko_marko_template); - - - - - - -const home_performance_index_marko_marko_component = {}; -home_performance_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Tailored Performance", - "anchorName": "performance" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

Marko's compiler generates code tailored to where it is going to run. You write your code once and it is optimized for both the server and browser. This is especially apparent on the server where Marko is several times faster than other popular solutions.

"); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "renderBody": out => { - out.w(``); - } - }); - (0,attr_tag_js_namespaceObject.a)("action", { - "href": "https://github.com/marko-js/isomorphic-ui-benchmarks", - "text": "See the Benchmarks" - }); - }, { - "class": "home-performance" - }), out, _componentDef, "0"); -}, { - t: home_performance_index_marko_marko_componentType, - i: true -}, home_performance_index_marko_marko_component); -;// ./index/components/home-tooling/screen.png -/* harmony default export */ const screen = (__webpack_require__.p + "92c4e05e.png"); -;// ./index/components/home-tooling/index.marko - -const home_tooling_index_marko_marko_componentType = "ZYtbGNjl", - home_tooling_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_tooling_index_marko_marko_componentType); -/* harmony default export */ const home_tooling_index_marko = (home_tooling_index_marko_marko_template); - - - - - - -const home_tooling_index_marko_marko_component = {}; -home_tooling_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Editor Support", - "anchorName": "tooling" - }); - (0,attr_tag_js_namespaceObject.a)("content", { +repl_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component7, state, $global) { + var _component = _component7, + _state = state; + const { + "filesChange": _filesChange, + getCompilerOptions, + files + } = input; + let selectedIndex = 0; + let previewType = "preview"; + let debounce = false; + const selectedFile = files[selectedIndex]; + render_tag_js_default()(resizable_panes_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("left", { + "class": "editor-container", "renderBody": out => { - out.w("

Marko provides first-class support for the VSCode editor including syntax highlighting, Autocompletion, Hyperclick to quickly jump to referenced files, and Pretty printing to keep your code readable.

Community plugins also provide syntax highlighting for Sublime, Atom, Webstorm & others!

"); + render_tag_js_default()(pane_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("actions", { + "renderBody": out => { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef, _component2, _state2) => { + var _componentDef = _nestedComponentDef, + _component7 = _component2; + render_tag_js_default()(file_tabs_marko, { + "files": files, + "filesChange": _filesChange, + "selectedIndex": selectedIndex, + "selectedIndexChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component2, []) || (_ => selectedIndex = _)) + }, out, _componentDef, "3"); + } + }, out, _componentDef, "2"); + } + }); + (0,attr_tag_js_namespaceObject.a)("body", { + "renderBody": out => { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef2, _component3, _state3) => { + var _componentDef = _nestedComponentDef2, + _component7 = _component3; + let activeEditor = null; + if (activeEditor) { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef3, _component4, _state4) => { + var _componentDef = _nestedComponentDef3, + _component7 = _component4; + dynamic_tag_js_default()(out, activeEditor, () => ({ + "value": selectedFile.content, + "filename": selectedFile.path, + "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component4, [selectedFile, files, selectedIndex]) || function (content) { + const modifiedFile = { + ...selectedFile, + content + }; + replace_assignments_default()(_filesChange, [...files.slice(0, selectedIndex), modifiedFile, ...files.slice(selectedIndex + 1)]); + debounce = true; + }) + }), null, null, null, _componentDef, "6"); + } + }, out, _componentDef, "5"); + } + } + }, out, _componentDef, "4"); + } + }); + }), out, _componentDef, "1"); } }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "class": "home-tooling__screenshot-window", + (0,attr_tag_js_namespaceObject.a)("right", { "renderBody": out => { - out.w(`
`); + render_tag_js_default()(pane_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("actions", { + "renderBody": out => { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef4, _component5, _state5) => { + var _componentDef = _nestedComponentDef4, + _component7 = _component5; + render_tag_js_default()(controllable_select_marko, { + "value": previewType, + "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component5, []) || function (value) { + previewType = value; + debounce = false; + }), + "class": "preview-select", + "renderBody": out => { + out.w(""); + } + }, out, _componentDef, "9"); + render_tag_js_default()(playground_link_marko, { + "files": files + }, out, _componentDef, "13"); + } + }, out, _componentDef, "8"); + } + }); + (0,attr_tag_js_namespaceObject.a)("body", { + "renderBody": out => { + render_tag_js_default()(_instance_index_marko, { + "renderBody": (out, _nestedComponentDef5, _component6, _state6) => { + var _componentDef = _nestedComponentDef5, + _component7 = _component6; + let preview = null; + dynamic_tag_js_default()(out, preview, () => ({ + "type": previewType, + "files": files, + "selectedFile": selectedFile, + "getCompilerOptions": getCompilerOptions, + "debounce": debounce + }), null, null, null, _componentDef, "15"); + } + }, out, _componentDef, "14"); + } + }); + }), out, _componentDef, "7"); } - }); - (0,attr_tag_js_namespaceObject.a)("action", { - "href": "/docs/editor-plugins", - "text": "View editor plugins" - }); - }, { - "align": "right", - "class": "home-tooling" - }), out, _componentDef, "0"); -}, { - t: home_tooling_index_marko_marko_componentType, - i: true -}, home_tooling_index_marko_marko_component); -// EXTERNAL MODULE: external "gh-got" -var external_gh_got_ = __webpack_require__(724); -var external_gh_got_default = /*#__PURE__*/__webpack_require__.n(external_gh_got_); -;// ../logos/stackoverflow.svg -/* harmony default export */ const stackoverflow = (__webpack_require__.p + "0bfc2ee7.svg"); -;// ../logos/discord.svg -/* harmony default export */ const discord = (__webpack_require__.p + "78800ea4.svg"); -;// ../logos/twitter.svg -/* harmony default export */ const twitter = (__webpack_require__.p + "82b09e37.svg"); -;// external "marko/dist/core-tags/core/await/renderer.js" -const await_renderer_js_namespaceObject = require("marko/dist/core-tags/core/await/renderer.js"); -var await_renderer_js_default = /*#__PURE__*/__webpack_require__.n(await_renderer_js_namespaceObject); -;// ./index/components/home-community/index.marko - -const home_community_index_marko_marko_componentType = "rsiRtNhi", - home_community_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_community_index_marko_marko_componentType); -/* harmony default export */ const home_community_index_marko = (home_community_index_marko_marko_template); - - - - - - + }); + }), out, _componentDef, "0"); +}, { + t: repl_index_marko_marko_componentType +}, repl_index_marko_marko_component); +;// ./playground/components/playground.marko +const playground_marko_marko_componentType = "HUU$Znhn", + playground_marko_marko_template = (0,index_js_namespaceObject.t)(playground_marko_marko_componentType); +/* harmony default export */ const playground_marko = (playground_marko_marko_template); -const home_community_index_marko_marko_component = {}; -home_community_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("title", { - "text": "Join the Community", - "anchorName": "community", - "class": "home-community__title" - }); - (0,attr_tag_js_namespaceObject.a)("content", { - "renderBody": out => { - out.w("

Need help? Want to contribute? Get involved in the Marko Community!

"); - } - }); - (0,attr_tag_js_namespaceObject.a)("visual", { - "renderBody": out => { - out.w(`
Ask & answer StackOverflow questions with the marko tag
Hang out in our Discord server, ask questions, & discuss project direction
Tweet to @MarkoDevTeam or with the #markojs hashtag
Browse the code, open issues, & make pull requests on the GitHub repo
`); - } - }); - (0,attr_tag_js_namespaceObject.a)("breakout", { - "renderBody": out => { - out.w("
"); - render_tag_js_default()((await_renderer_js_default()), (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("then", { - "renderBody": (out, { - body - }) => { - let _keyValue = 0; - for (const contributor of of_fallback_js_default()(body)) { - const _keyScope = `[${_keyValue++}]`; - out.w(``); - } - } - }); - (0,attr_tag_js_namespaceObject.a)("catch", {}); - }, { - "_provider": external_gh_got_default()('/repos/marko-js/marko/contributors?per_page=100'), - "_name": "ghGot('/repos/marko-js/marko/contributors?per_page=100')" - }), out, _componentDef, "25"); - out.w("
"); - } - }); - }, { - "colors": ["#fff"] - }), out, _componentDef, "0"); +const playground_marko_marko_component = { + onCreate() { + this.state = {}; + } +}; +playground_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { + var _component = _component2, + _state = state; + var _hashValueReturn = return_default()(_component); + render_tag_js_default()(hash_value_marko, { + "value": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component, []) || [{ + name: "index.marko", + path: "/components/index.marko", + content: "\n" + }]), + "_return": _hashValueReturn + }, out, _componentDef, "0"); + const { + "valueChange": _valueChange, + value: files + } = _hashValueReturn(); + render_tag_js_default()(repl_index_marko, { + "files": files, + "filesChange": _valueChange + }, out, _componentDef, "1"); }, { - t: home_community_index_marko_marko_componentType, - i: true -}, home_community_index_marko_marko_component); + t: playground_marko_marko_componentType +}, playground_marko_marko_component); ;// ../components/app-layout/favicon.png /* harmony default export */ const favicon = (__webpack_require__.p + "d78b83f1.png"); ;// ../components/app-layout/components/skip-link/index.marko @@ -1395,6 +1330,10 @@ skip_link_index_marko_marko_template._ = renderer_js_default()(function (input, t: skip_link_index_marko_marko_componentType, i: true }, skip_link_index_marko_marko_component); +;// ../logos/marko.svg +/* harmony default export */ const marko = (__webpack_require__.p + "91bc26e5.svg"); +;// ../logos/marko-uwu.png +/* harmony default export */ const marko_uwu = (__webpack_require__.p + "2371441a.png"); ;// ../components/app-layout/components/layout-search/index.marko const layout_search_index_marko_marko_componentType = "MYKqWWDb", @@ -1628,6 +1567,8 @@ google_analytics_index_marko_marko_template._ = renderer_js_default()(function ( t: google_analytics_index_marko_marko_componentType, i: true }, google_analytics_index_marko_marko_component); +;// ../logos/discord.svg +/* harmony default export */ const discord = (__webpack_require__.p + "78800ea4.svg"); ;// ../components/discord-link/index.marko const discord_link_index_marko_marko_componentType = "_GWD$Hh", @@ -1710,54 +1651,117 @@ app_layout_index_marko_marko_template._ = renderer_js_default()(function (input, t: app_layout_index_marko_marko_componentType, i: true }, app_layout_index_marko_marko_component); -;// ./index/index.marko +;// ./playground/index.marko + +const playground_index_marko_marko_componentType = "MHuPCuWh", + playground_index_marko_marko_template = (0,index_js_namespaceObject.t)(playground_index_marko_marko_componentType); +/* harmony default export */ const playground_index_marko = (playground_index_marko_marko_template); -const index_index_marko_marko_componentType = "riZjSFCe", - index_index_marko_marko_template = (0,index_js_namespaceObject.t)(index_index_marko_marko_componentType); -/* harmony default export */ const index_index_marko = (index_index_marko_marko_template); +const playground_index_marko_marko_component = {}; +playground_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(app_layout_index_marko, { + "title": "Try online", + "footer": false, + "discord": false, + "renderBody": out => { + render_tag_js_default()(playground_marko, {}, out, _componentDef, "1"); + } + }, out, _componentDef, "0"); + out.w(""); +}, { + t: playground_index_marko_marko_componentType, + i: true +}, playground_index_marko_marko_component); +;// ./playground/index.marko?server-entry + +const playground_index_marko_server_entry_marko_componentType = "gufdGSuf", + playground_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(playground_index_marko_server_entry_marko_componentType); +/* harmony default export */ const playground_index_marko_server_entry = (playground_index_marko_server_entry_marko_template); +const playground_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; +function playground_index_marko_server_entry_renderAssets(out) { + const $global = out.global; + const entries = $global.___entries; + $global.___entries = undefined; + if (entries) { + const buildName = $global.buildName; + const nonce = $global.cspNonce; + const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; + const written = $global.___writtenAssets || ($global.___writtenAssets = new Set()); + let scripts = ""; + let styles = ""; + for (const entry of entries) { + const assets = index_js_manifest.getAssets(entry, buildName); + if (assets.js) { + for (const href of assets.js) { + if (!written.has(href)) { + written.add(href); + scripts += ``; + } + } + } + if (assets.css) { + for (const href of assets.css) { + if (!written.has(href)) { + written.add(href); + styles += ``; + } + } + } + } + out.write(scripts + styles); + } +} -const index_index_marko_marko_component = {}; -index_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(app_layout_index_marko, { - "v6": input.v6, - "class": "home", +const playground_index_marko_server_entry_marko_component = {}; +playground_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.global.___renderAssets = playground_index_marko_server_entry_renderAssets; + (out.global.___entries || (out.global.___entries = [])).push("playground_mdf-"); + render_tag_js_default()((_flush_here_and_after_js_default()), { "renderBody": out => { - render_tag_js_default()(home_hero_index_marko, {}, out, _componentDef, "1"); - render_tag_js_default()(home_features_index_marko, {}, out, _componentDef, "2"); - render_tag_js_default()(home_language_index_marko, { - "v6": input.v6 - }, out, _componentDef, "3"); - render_tag_js_default()(home_streaming_index_marko, {}, out, _componentDef, "4"); - render_tag_js_default()(home_hydration_index_marko, {}, out, _componentDef, "5"); - render_tag_js_default()(home_performance_index_marko, {}, out, _componentDef, "6"); - render_tag_js_default()(home_tooling_index_marko, {}, out, _componentDef, "7"); - render_tag_js_default()(home_community_index_marko, {}, out, _componentDef, "8"); + const outAlias = out; + outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); } }, out, _componentDef, "0"); + render_tag_js_default()(playground_index_marko, input, out, _componentDef, "1"); + render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); + render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); }, { - t: index_index_marko_marko_componentType, + t: playground_index_marko_server_entry_marko_componentType, i: true -}, index_index_marko_marko_component); -;// ./index/index.marko?server-entry +}, playground_index_marko_server_entry_marko_component); +;// ./try-online-new/index.marko -const index_index_marko_server_entry_marko_componentType = "oHUNYdtc", - index_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(index_index_marko_server_entry_marko_componentType); -/* harmony default export */ const index_index_marko_server_entry = (index_index_marko_server_entry_marko_template); +const try_online_new_index_marko_marko_componentType = "kokUincl", + try_online_new_index_marko_marko_template = (0,index_js_namespaceObject.t)(try_online_new_index_marko_marko_componentType); +/* harmony default export */ const try_online_new_index_marko = (try_online_new_index_marko_marko_template); + +const try_online_new_index_marko_marko_component = {}; +try_online_new_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(""); +}, { + t: try_online_new_index_marko_marko_componentType, + i: true +}, try_online_new_index_marko_marko_component); +;// ./try-online-new/index.marko?server-entry + +const try_online_new_index_marko_server_entry_marko_componentType = "jBxauMAl", + try_online_new_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(try_online_new_index_marko_server_entry_marko_componentType); +/* harmony default export */ const try_online_new_index_marko_server_entry = (try_online_new_index_marko_server_entry_marko_template); -const index_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; -function index_index_marko_server_entry_renderAssets(out) { +const try_online_new_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; +function try_online_new_index_marko_server_entry_renderAssets(out) { const $global = out.global; const entries = $global.___entries; $global.___entries = undefined; @@ -1774,7 +1778,7 @@ function index_index_marko_server_entry_renderAssets(out) { for (const href of assets.js) { if (!written.has(href)) { written.add(href); - scripts += ``; + scripts += ``; } } } @@ -1795,23 +1799,23 @@ function index_index_marko_server_entry_renderAssets(out) { -const index_index_marko_server_entry_marko_component = {}; -index_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.global.___renderAssets = index_index_marko_server_entry_renderAssets; - (out.global.___entries || (out.global.___entries = [])).push("index_WEBG"); +const try_online_new_index_marko_server_entry_marko_component = {}; +try_online_new_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.global.___renderAssets = try_online_new_index_marko_server_entry_renderAssets; + (out.global.___entries || (out.global.___entries = [])).push("try-online-new_1yH9"); render_tag_js_default()((_flush_here_and_after_js_default()), { "renderBody": out => { const outAlias = out; outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); } }, out, _componentDef, "0"); - render_tag_js_default()(index_index_marko, input, out, _componentDef, "1"); + render_tag_js_default()(try_online_new_index_marko, input, out, _componentDef, "1"); render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); }, { - t: index_index_marko_server_entry_marko_componentType, + t: try_online_new_index_marko_server_entry_marko_componentType, i: true -}, index_index_marko_server_entry_marko_component); +}, try_online_new_index_marko_server_entry_marko_component); ;// ../../node_modules/@marko-tags/subscribe/index.marko const subscribe_index_marko_marko_componentType = "DI$EjOwk", @@ -1962,619 +1966,628 @@ function try_online_index_marko_server_entry_renderAssets(out) { -const try_online_index_marko_server_entry_marko_component = {}; -try_online_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.global.___renderAssets = try_online_index_marko_server_entry_renderAssets; - (out.global.___entries || (out.global.___entries = [])).push("try-online_gkPN"); - render_tag_js_default()((_flush_here_and_after_js_default()), { - "renderBody": out => { - const outAlias = out; - outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); - } - }, out, _componentDef, "0"); - render_tag_js_default()(try_online_index_marko, input, out, _componentDef, "1"); - render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); - render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); +const try_online_index_marko_server_entry_marko_component = {}; +try_online_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.global.___renderAssets = try_online_index_marko_server_entry_renderAssets; + (out.global.___entries || (out.global.___entries = [])).push("try-online_gkPN"); + render_tag_js_default()((_flush_here_and_after_js_default()), { + "renderBody": out => { + const outAlias = out; + outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); + } + }, out, _componentDef, "0"); + render_tag_js_default()(try_online_index_marko, input, out, _componentDef, "1"); + render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); + render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); +}, { + t: try_online_index_marko_server_entry_marko_componentType, + i: true +}, try_online_index_marko_server_entry_marko_component); +;// ./index/components/home-hero/marko-text.svg +/* harmony default export */ const marko_text = (__webpack_require__.p + "7443bd32.svg"); +;// ../logos/github.svg +/* harmony default export */ const github = (__webpack_require__.p + "0bc571bc.svg"); +;// ./index/components/home-hero/components/github-link/index.marko + +const github_link_index_marko_marko_componentType = "ZLItxxri", + github_link_index_marko_marko_template = (0,index_js_namespaceObject.t)(github_link_index_marko_marko_componentType); +/* harmony default export */ const github_link_index_marko = (github_link_index_marko_marko_template); + + + + +const github_link_index_marko_marko_component = {}; +github_link_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(`GitHub`); +}, { + t: github_link_index_marko_marko_componentType, + s: true +}, github_link_index_marko_marko_component); +;// ./index/components/home-hero/index.marko + +const home_hero_index_marko_marko_componentType = "zOb$ETAb", + home_hero_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_hero_index_marko_marko_componentType); +/* harmony default export */ const home_hero_index_marko = (home_hero_index_marko_marko_template); + + + + + + + + +const home_hero_index_marko_marko_component = {}; +home_hero_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(`
"); }, { - t: try_online_index_marko_server_entry_marko_componentType, - i: true -}, try_online_index_marko_server_entry_marko_component); -;// external "@marko/tags-api-preview/dist/transform/cached-values" -const cached_values_namespaceObject = require("@marko/tags-api-preview/dist/transform/cached-values"); -;// external "@marko/tags-api-preview/dist/components/return" -const return_namespaceObject = require("@marko/tags-api-preview/dist/components/return"); -var return_default = /*#__PURE__*/__webpack_require__.n(return_namespaceObject); -;// external "lz-string" -const external_lz_string_namespaceObject = require("lz-string"); -;// ./playground/components/hash-value.marko + t: home_hero_index_marko_marko_componentType, + s: true +}, home_hero_index_marko_marko_component); +;// ./index/components/home-features/index.marko -const hash_value_marko_marko_componentType = "iu_vYbKl", - hash_value_marko_marko_template = (0,index_js_namespaceObject.t)(hash_value_marko_marko_componentType); -/* harmony default export */ const hash_value_marko = (hash_value_marko_marko_template); +const home_features_index_marko_marko_componentType = "qRU$xLeb", + home_features_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_features_index_marko_marko_componentType); +/* harmony default export */ const home_features_index_marko = (home_features_index_marko_marko_template); -function getInitialValue() { - try { - if (false) {} - } catch (e) { - console.error(e); - } -} +const home_features_index_marko_marko_component = {}; +home_features_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w("

Familiar

If you know HTML, CSS, and Javascript, you know Marko

Performant

Streaming, partial hydration, an optimizing compiler, & a small runtime

Scalable

Start with simple HTML templates and add powerful components as needed

Trusted

Marko is powering high-traffic websites like ebay.com

"); +}, { + t: home_features_index_marko_marko_componentType, + i: true +}, home_features_index_marko_marko_component); +;// ./index/components/home-language/components/counter-tags.marko + +const counter_tags_marko_marko_componentType = "jwtsId_c", + counter_tags_marko_marko_template = (0,index_js_namespaceObject.t)(counter_tags_marko_marko_componentType); +/* harmony default export */ const counter_tags_marko = (counter_tags_marko_marko_template); -const hash_value_marko_marko_component = { +const counter_tags_marko_marko_component = { onCreate() { this.state = {}; } }; -hash_value_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { +counter_tags_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { var _component = _component2, _state = state; - const { - value: defaultValue - } = input; - let value = getInitialValue() || defaultValue; - input._return && input._return({ - "value": value, - "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component, []) || (_ => value = _)) - }, 1); + let count = 0; + out.w(``); }, { - t: hash_value_marko_marko_componentType -}, hash_value_marko_marko_component); -;// external "@marko/tags-api-preview/dist/util/replace-assignments" -const replace_assignments_namespaceObject = require("@marko/tags-api-preview/dist/util/replace-assignments"); -var replace_assignments_default = /*#__PURE__*/__webpack_require__.n(replace_assignments_namespaceObject); -;// external "@marko/tags-api-preview/dist/transform/native-tag-var" -const native_tag_var_namespaceObject = require("@marko/tags-api-preview/dist/transform/native-tag-var"); -var native_tag_var_default = /*#__PURE__*/__webpack_require__.n(native_tag_var_namespaceObject); -;// ../../node_modules/@marko/tags-api-preview/dist/components/_instance/index.marko + t: counter_tags_marko_marko_componentType +}, counter_tags_marko_marko_component); +;// ./index/components/home-language/components/counter-example/index.marko -const _instance_index_marko_marko_componentType = "ZcXvQUMl", - _instance_index_marko_marko_template = (0,index_js_namespaceObject.t)(_instance_index_marko_marko_componentType); -/* harmony default export */ const _instance_index_marko = (_instance_index_marko_marko_template); +const counter_example_index_marko_marko_componentType = "bqxM_lge", + counter_example_index_marko_marko_template = (0,index_js_namespaceObject.t)(counter_example_index_marko_marko_componentType); +/* harmony default export */ const counter_example_index_marko = (counter_example_index_marko_marko_template); -const _instance_index_marko_marko_component = { + +const counter_example_index_marko_marko_component = { onCreate() { - this.state = {}; + this.state = { + count: 0 + }; + }, + increment() { + this.state.count++; } }; -_instance_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - var componentDef = _componentDef; - input.renderBody(out, componentDef, _component, state); +counter_example_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(`
${(0,escape_xml_js_namespaceObject.x)(state.count)}
`); }, { - t: _instance_index_marko_marko_componentType -}, _instance_index_marko_marko_component); -;// ../components/repl/components/file-tabs.marko + t: counter_example_index_marko_marko_componentType +}, counter_example_index_marko_marko_component); +// EXTERNAL MODULE: ../components/heading/getAnchorName.js +var getAnchorName = __webpack_require__(272); +var getAnchorName_default = /*#__PURE__*/__webpack_require__.n(getAnchorName); +;// ../components/heading/index.marko -const file_tabs_marko_marko_componentType = "JtPBPdcm", - file_tabs_marko_marko_template = (0,index_js_namespaceObject.t)(file_tabs_marko_marko_componentType); -/* harmony default export */ const file_tabs_marko = (file_tabs_marko_marko_template); +const heading_index_marko_marko_componentType = "m$Yyhouk", + heading_index_marko_marko_template = (0,index_js_namespaceObject.t)(heading_index_marko_marko_componentType); +/* harmony default export */ const heading_index_marko = (heading_index_marko_marko_template); +const heading_index_marko_marko_component = {}; +heading_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + var className = input['class']; + var text = input.text; + var anchorName = input.anchorName || getAnchorName_default()(text, out); + dynamic_tag_js_default()(out, input.tag, () => ({ + "class": ['heading', className] + }), out => { + out.w(``); + if (text) { + out.w((0,escape_xml_js_namespaceObject.x)(text)); + } else { + dynamic_tag_js_default()(out, input.renderBody, null, null, null, null, _componentDef, "3"); + } + }, null, null, _componentDef, "0"); +}, { + t: heading_index_marko_marko_componentType, + i: true +}, heading_index_marko_marko_component); +;// ./index/components/home-feature-block/index.marko +const home_feature_block_index_marko_marko_componentType = "TxbG_krh", + home_feature_block_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_feature_block_index_marko_marko_componentType); +/* harmony default export */ const home_feature_block_index_marko = (home_feature_block_index_marko_marko_template); -const file_tabs_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -file_tabs_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component4, state, $global) { - var _component = _component4, - _state = state; - const { - "selectedIndexChange": _selectedIndexChange, - "filesChange": _filesChange, - files: externalFiles, - selectedIndex: externalSelected - } = input; - let files = externalFiles; - let selectedIndex = externalSelected; - const selectedFile = files[selectedIndex]; - out.w("
"); - { - let nextId = 1; - let _index = 0; - for (const file of of_fallback_js_default()(files)) { - let index = _index++; - const _keyScope = `[${index}]`; - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef, _component2, _state2) => { - var _componentDef = _nestedComponentDef, - _component4 = _component2; - let editing = false; - const selected = selectedFile === file; - const mutable = index > 0; - out.w(``); - if (!editing || !selected || !mutable) { - out.w((0,escape_xml_js_namespaceObject.x)(file.name)); - } else { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef2, _component3, _state3) => { - var _componentDef = _nestedComponentDef2, - _component4 = _component3; - let name = file.name; - const finishRename = (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component3, [name, files]) || function () { - const modifiedFile = { - ...file, - name, - path: file.path.replace(file.name, name) - }; - files = [...files.slice(0, index), modifiedFile, ...files.slice(index + 1)]; - editing = false; - }); - const nameInput = native_tag_var_default()(_component3, "0"); - out.w(``); - } - }, out, _componentDef, "3" + _keyScope); - } - if (mutable) { - out.w(""); - } - out.w("
"); - } - }, out, _componentDef, "1" + _keyScope); - } - out.w(""); - } - out.w("
"); -}, { - t: file_tabs_marko_marko_componentType -}, file_tabs_marko_marko_component); -;// ../components/repl/components/pane.marko -const pane_marko_marko_componentType = "YdDerxpd", - pane_marko_marko_template = (0,index_js_namespaceObject.t)(pane_marko_marko_componentType); -/* harmony default export */ const pane_marko = (pane_marko_marko_template); -const pane_marko_marko_component = {}; -pane_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - const { - actions, - body - } = input; - out.w("
"); - dynamic_tag_js_default()(out, actions.renderBody, null, null, null, null, _componentDef, "2"); - out.w("
"); - dynamic_tag_js_default()(out, body.renderBody, null, null, null, null, _componentDef, "5"); - out.w("
"); + + +const home_feature_block_index_marko_marko_component = {}; +home_feature_block_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(`
`); + render_tag_js_default()(heading_index_marko, { + "tag": "h1", + "class": "home-feature-block-title", + ...input.title + }, out, _componentDef, "3"); + out.w("
"); + dynamic_tag_js_default()(out, input.content, null, null, null, null, _componentDef, "5"); + out.w(`
`); + dynamic_tag_js_default()(out, input.visual, null, null, null, null, _componentDef, "7"); + out.w("
"); + if (input.action) { + out.w(`
${(0,escape_xml_js_namespaceObject.x)(input.action.text || "Learn More")}
`); + } + out.w("
"); + dynamic_tag_js_default()(out, input.breakout, null, null, null, null, _componentDef, "10"); + out.w(""); }, { - t: pane_marko_marko_componentType, + t: home_feature_block_index_marko_marko_componentType, i: true -}, pane_marko_marko_component); -;// ../components/repl/components/controllable-select.marko +}, home_feature_block_index_marko_marko_component); +;// ./index/components/home-language/index.marko -const controllable_select_marko_marko_componentType = "edcMGKVi", - controllable_select_marko_marko_template = (0,index_js_namespaceObject.t)(controllable_select_marko_marko_componentType); -/* harmony default export */ const controllable_select_marko = (controllable_select_marko_marko_template); +const home_language_index_marko_marko_componentType = "fEFMinFc", + home_language_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_language_index_marko_marko_componentType); +/* harmony default export */ const home_language_index_marko = (home_language_index_marko_marko_template); -const controllable_select_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -controllable_select_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { - var _component = _component2, - _state = state; - const { - value, - valueChange, - renderBody, - class: className - } = input; - const el = native_tag_var_default()(_component, "0"); - out.w(``); - dynamic_tag_js_default()(out, renderBody, null, null, null, null, _componentDef, "0"); - out.w(""); +const home_language_index_marko_marko_component = {}; +home_language_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "HTML Reimagined", + "anchorName": "language" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

"); + } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "class": "home-language__examples", + "renderBody": out => { + if (input.v6) { + out.w("
"); + render_tag_js_default()(counter_tags_marko, {}, out, _componentDef, "5"); + out.w("
<!doctype html>\n<html>\n    <head>\n        <title>Count with Marko</title>\n    </head>\n    <body>\n        <let/count=0/>\n        <button onClick() { count++ }>\n            ${count}\n        </button>\n    </body>\n</html>\n
"); + } else { + out.w("
<!doctype html>\n<html>\n<head>\n    <title>Hello Marko</title>\n</head>\n<body>\n    <h1>My favorite colors</h1>\n    <ul>\n        <for|color| of=[\"red\", \"green\", \"blue\"]>\n            <li style=`color:${color}`>\n                ${color.toUpperCase()}\n            </li>\n        </for>\n    </ul>\n    <shared-footer/>\n</body>\n</html>\n
HTML Templates, Custom Tags, & Javascript Expressions
"); + render_tag_js_default()(counter_example_index_marko, {}, out, _componentDef, "12"); + out.w("
class {\n  onCreate() {\n    this.state = { count: 0 };\n  }\n  increment() {\n    this.state.count++;\n  }\n}\n<div>${state.count}</div>\n<button on-click(\"increment\")>\n  Click me!\n</button>\n
Interactive Logic & Reactive Values
"); + } + } + }); + }, { + "class": "home-language" + }), out, _componentDef, "0"); }, { - t: controllable_select_marko_marko_componentType -}, controllable_select_marko_marko_component); -;// external "@marko/tags-api-preview/dist/translate/native-tag-handlers" -const native_tag_handlers_namespaceObject = require("@marko/tags-api-preview/dist/translate/native-tag-handlers"); -var native_tag_handlers_default = /*#__PURE__*/__webpack_require__.n(native_tag_handlers_namespaceObject); -;// external "marko/dist/runtime/html/helpers/attrs.js" -const attrs_js_namespaceObject = require("marko/dist/runtime/html/helpers/attrs.js"); -var attrs_js_default = /*#__PURE__*/__webpack_require__.n(attrs_js_namespaceObject); -;// ../components/repl/components/playground-link.marko + t: home_language_index_marko_marko_componentType, + i: true +}, home_language_index_marko_marko_component); +;// ./index/components/home-demo-page/product.png +/* harmony default export */ const product = (__webpack_require__.p + "2ff006d2.png"); +;// ./index/components/home-demo-page/x.svg +/* harmony default export */ const x = (__webpack_require__.p + "886b7024.svg"); +;// external "marko/dist/runtime/helpers/style-value.js" +const style_value_js_namespaceObject = require("marko/dist/runtime/helpers/style-value.js"); +var style_value_js_default = /*#__PURE__*/__webpack_require__.n(style_value_js_namespaceObject); +;// ./index/components/home-demo-page/index.marko -const playground_link_marko_marko_componentType = "fLRwaABg", - playground_link_marko_marko_template = (0,index_js_namespaceObject.t)(playground_link_marko_marko_componentType); -/* harmony default export */ const playground_link_marko = (playground_link_marko_marko_template); +const home_demo_page_index_marko_marko_componentType = "pYOALFJk", + home_demo_page_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_demo_page_index_marko_marko_componentType); +/* harmony default export */ const home_demo_page_index_marko = (home_demo_page_index_marko_marko_template); -const playground_link_marko_marko_component = {}; -playground_link_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - const { - files, - ...attrs - } = input; - var _meta = {}; - out.w(`Open in playground \u2197`); + + +const home_demo_page_index_marko_marko_component = {}; +home_demo_page_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + const progress = input.buffered ? Math.floor(input.progress / 0.9) : input.progress / 0.9; + out.w(`
`); + if (input.progress >= 0) { + out.w(`
`); + } + out.w(`
Cart (0)
Google Home - $79
Add to Cart
Hands-free help around the house. Google Home is a smart speaker with the Google Assistant built in. So whenever you need help, it's by your side
\u2605\u2605\u2605\u2605\u2606
Cool gadget Google has created a nice device that provides music and information by voice control. The microphone is very good and will usually pick up commands from across the room. The speakers sound surprisingly good for such a small device. I wish it had tone control though.
\u2605\u2605\u2605\u2605\u2605
Incredible sound profile! Easy setup, great sound for any room size. Adjustable bass and treble. Currently have two paired up for better whole house sound.
About
Security
Policies
Help
Sitemap
`); + if (input.buffered || input.hydrateAll) { + out.w(`
`); + } else { + out.w(`
`); + } + out.w("
"); }, { - t: playground_link_marko_marko_componentType, + t: home_demo_page_index_marko_marko_componentType, i: true -}, playground_link_marko_marko_component); -;// ../components/repl/components/match-media.marko +}, home_demo_page_index_marko_marko_component); +;// ./index/components/home-streaming/components/scroll-locked-stream-example/index.marko -const match_media_marko_marko_componentType = "aEQdEE_f", - match_media_marko_marko_template = (0,index_js_namespaceObject.t)(match_media_marko_marko_componentType); -/* harmony default export */ const match_media_marko = (match_media_marko_marko_template); +const scroll_locked_stream_example_index_marko_marko_componentType = "RQwDtLcd", + scroll_locked_stream_example_index_marko_marko_template = (0,index_js_namespaceObject.t)(scroll_locked_stream_example_index_marko_marko_componentType); +/* harmony default export */ const scroll_locked_stream_example_index_marko = (scroll_locked_stream_example_index_marko_marko_template); -const match_media_marko_marko_component = { + + + +const scroll_locked_stream_example_index_marko_marko_component = { onCreate() { - this.state = {}; + this.state = { + progress: 0.1 + }; + }, + onMount() { + this.observer = new IntersectionObserver(entries => { + if (entries[0].intersectionRatio <= 0) { + this.cleanProgress(); + } else { + this.initProgress(); + } + }); + this.observer.observe(this.getEl("root")); + }, + onDestroy() { + this.cleanProgress(); + this.observer.disconnect(); + }, + initProgress() { + const updateProgress = () => { + this.state.progress = (this.state.progress + 0.004) % 1.5; + this.frame = requestAnimationFrame(updateProgress); + }; + this.frame = requestAnimationFrame(updateProgress); + }, + cleanProgress() { + cancelAnimationFrame(this.frame); } }; -match_media_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { - var _component = _component2, - _state = state; - const { - value: query, - fallback - } = input; - let isMatch = false ? 0 : fallback; - input._return && input._return({ - "value": isMatch - }, 1); +scroll_locked_stream_example_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.w(``); + render_tag_js_default()(home_demo_page_index_marko, { + "progress": state.progress, + "buffered": true, + "label": "Buffered pages don't show content as it loads" + }, out, _componentDef, "0"); + render_tag_js_default()(home_demo_page_index_marko, { + "progress": state.progress, + "label": "Streaming pages show content incrementally", + "class": "scroll-locked-progressive" + }, out, _componentDef, "1"); + out.w("
"); }, { - t: match_media_marko_marko_componentType -}, match_media_marko_marko_component); -;// ../components/repl/components/resizable-panes.marko - -const resizable_panes_marko_marko_componentType = "H_lRXCBe", - resizable_panes_marko_marko_template = (0,index_js_namespaceObject.t)(resizable_panes_marko_marko_componentType); -/* harmony default export */ const resizable_panes_marko = (resizable_panes_marko_marko_template); + t: scroll_locked_stream_example_index_marko_marko_componentType +}, scroll_locked_stream_example_index_marko_marko_component); +;// ./index/components/home-streaming/index.marko +const home_streaming_index_marko_marko_componentType = "opQEgCpi", + home_streaming_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_streaming_index_marko_marko_componentType); +/* harmony default export */ const home_streaming_index_marko = (home_streaming_index_marko_marko_template); +const home_streaming_index_marko_marko_component = {}; +home_streaming_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Progressive Rendering", + "anchorName": "streaming" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

Marko streams content to your users as soon as it\u2019s ready. No waiting for client side JavaScript bundles or data requests to start rendering. HTML, assets, and images are loaded as soon as possible with asynchronous data loading in as it completes.

"); + } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "renderBody": out => { + render_tag_js_default()(scroll_locked_stream_example_index_marko, { + "class": "home-streaming-example" + }, out, _componentDef, "2"); + } + }); + (0,attr_tag_js_namespaceObject.a)("action", { + "href": "https://dev.to/ryansolid/server-rendering-in-javascript-optimizing-performance-1jnk" + }); + }, { + "align": "left", + "class": "home-streaming" + }), out, _componentDef, "0"); +}, { + t: home_streaming_index_marko_marko_componentType, + i: true +}, home_streaming_index_marko_marko_component); +;// ./index/components/home-hydration/index.marko +const home_hydration_index_marko_marko_componentType = "NpXSyNze", + home_hydration_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_hydration_index_marko_marko_componentType); +/* harmony default export */ const home_hydration_index_marko = (home_hydration_index_marko_marko_template); -const resizable_panes_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -resizable_panes_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component3, state, $global) { - var _component = _component3, - _state = state; - const { - left, - right - } = input; - let editorSize = 0.5; - let resizing = false; - var _matchMediaReturn = return_default()(_component); - render_tag_js_default()(match_media_marko, { - "value": "(max-aspect-ratio: 1/1)", - "_return": _matchMediaReturn - }, out, _componentDef, "0"); - const { - value: isVertical - } = _matchMediaReturn(); - const container = native_tag_var_default()(_component, "0"); - out.w(``); - var _meta = {}; - out.w(``); - dynamic_tag_js_default()(out, left.renderBody, null, null, null, null, _componentDef, "2"); - out.w("
"); - var _meta2 = {}; - out.w(``); - dynamic_tag_js_default()(out, right.renderBody, null, null, null, null, _componentDef, "6"); - out.w("
"); - if (resizing) { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef, _component2, _state2) => { - var _componentDef = _nestedComponentDef, - _component3 = _component2; +const home_hydration_index_marko_marko_component = {}; +home_hydration_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Code Elimination", + "anchorName": "hydration" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

Marko only sends the code for interactive components to the browser. Its compiler automatically detects which components only need to be rendered on the server. This means less to download and less to execute. Your users can enjoy top tier performance regardless of their devices or networks.

"); } - }, out, _componentDef, "7"); - } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "renderBody": out => { + render_tag_js_default()(home_demo_page_index_marko, { + "hydrateAll": true, + "label": "Traditional hydration sends and re-excutes the code for all components", + "class": "home-hydration-example" + }, out, _componentDef, "2"); + render_tag_js_default()(home_demo_page_index_marko, { + "hydratePartial": true, + "label": "Marko's hydration only sends the code for interactive components", + "class": "home-hydration-example" + }, out, _componentDef, "3"); + } + }); + (0,attr_tag_js_namespaceObject.a)("action", { + "href": "https://medium.com/@mlrawlings/maybe-you-dont-need-that-spa-f2c659bc7fec" + }); + }, { + "align": "right", + "class": "home-hydration" + }), out, _componentDef, "0"); }, { - t: resizable_panes_marko_marko_componentType -}, resizable_panes_marko_marko_component); -;// ../components/repl/index.marko + t: home_hydration_index_marko_marko_componentType, + i: true +}, home_hydration_index_marko_marko_component); +;// ./index/components/home-performance/arrow.svg +/* harmony default export */ const arrow = (__webpack_require__.p + "7c1cc740.svg"); +;// ./index/components/home-performance/index.marko -const repl_index_marko_marko_componentType = "rtapnbhf", - repl_index_marko_marko_template = (0,index_js_namespaceObject.t)(repl_index_marko_marko_componentType); -/* harmony default export */ const repl_index_marko = (repl_index_marko_marko_template); +const home_performance_index_marko_marko_componentType = "zumXQlzg", + home_performance_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_performance_index_marko_marko_componentType); +/* harmony default export */ const home_performance_index_marko = (home_performance_index_marko_marko_template); +const home_performance_index_marko_marko_component = {}; +home_performance_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Tailored Performance", + "anchorName": "performance" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

Marko's compiler generates code tailored to where it is going to run. You write your code once and it is optimized for both the server and browser. This is especially apparent on the server where Marko is several times faster than other popular solutions.

"); + } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "renderBody": out => { + out.w(``); + } + }); + (0,attr_tag_js_namespaceObject.a)("action", { + "href": "https://github.com/marko-js/isomorphic-ui-benchmarks", + "text": "See the Benchmarks" + }); + }, { + "class": "home-performance" + }), out, _componentDef, "0"); +}, { + t: home_performance_index_marko_marko_componentType, + i: true +}, home_performance_index_marko_marko_component); +;// ./index/components/home-tooling/screen.png +/* harmony default export */ const screen = (__webpack_require__.p + "92c4e05e.png"); +;// ./index/components/home-tooling/index.marko +const home_tooling_index_marko_marko_componentType = "ZYtbGNjl", + home_tooling_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_tooling_index_marko_marko_componentType); +/* harmony default export */ const home_tooling_index_marko = (home_tooling_index_marko_marko_template); -const repl_index_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -repl_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component7, state, $global) { - var _component = _component7, - _state = state; - const { - "filesChange": _filesChange, - getCompilerOptions, - files - } = input; - let selectedIndex = 0; - let previewType = "preview"; - let debounce = false; - const selectedFile = files[selectedIndex]; - render_tag_js_default()(resizable_panes_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("left", { - "class": "editor-container", + +const home_tooling_index_marko_marko_component = {}; +home_tooling_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Editor Support", + "anchorName": "tooling" + }); + (0,attr_tag_js_namespaceObject.a)("content", { "renderBody": out => { - render_tag_js_default()(pane_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("actions", { - "renderBody": out => { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef, _component2, _state2) => { - var _componentDef = _nestedComponentDef, - _component7 = _component2; - render_tag_js_default()(file_tabs_marko, { - "files": files, - "filesChange": _filesChange, - "selectedIndex": selectedIndex, - "selectedIndexChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component2, []) || (_ => selectedIndex = _)) - }, out, _componentDef, "3"); - } - }, out, _componentDef, "2"); - } - }); - (0,attr_tag_js_namespaceObject.a)("body", { - "renderBody": out => { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef2, _component3, _state3) => { - var _componentDef = _nestedComponentDef2, - _component7 = _component3; - let activeEditor = null; - if (activeEditor) { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef3, _component4, _state4) => { - var _componentDef = _nestedComponentDef3, - _component7 = _component4; - dynamic_tag_js_default()(out, activeEditor, () => ({ - "value": selectedFile.content, - "filename": selectedFile.path, - "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component4, [selectedFile, files, selectedIndex]) || function (content) { - const modifiedFile = { - ...selectedFile, - content - }; - replace_assignments_default()(_filesChange, [...files.slice(0, selectedIndex), modifiedFile, ...files.slice(selectedIndex + 1)]); - debounce = true; - }) - }), null, null, null, _componentDef, "6"); - } - }, out, _componentDef, "5"); - } - } - }, out, _componentDef, "4"); - } - }); - }), out, _componentDef, "1"); + out.w("

Marko provides first-class support for the VSCode editor including syntax highlighting, Autocompletion, Hyperclick to quickly jump to referenced files, and Pretty printing to keep your code readable.

Community plugins also provide syntax highlighting for Sublime, Atom, Webstorm & others!

"); } }); - (0,attr_tag_js_namespaceObject.a)("right", { + (0,attr_tag_js_namespaceObject.a)("visual", { + "class": "home-tooling__screenshot-window", "renderBody": out => { - render_tag_js_default()(pane_marko, (0,attr_tag_js_namespaceObject.i)(() => { - (0,attr_tag_js_namespaceObject.a)("actions", { - "renderBody": out => { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef4, _component5, _state5) => { - var _componentDef = _nestedComponentDef4, - _component7 = _component5; - render_tag_js_default()(controllable_select_marko, { - "value": previewType, - "valueChange": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component5, []) || function (value) { - previewType = value; - debounce = false; - }), - "class": "preview-select", - "renderBody": out => { - out.w(""); - } - }, out, _componentDef, "9"); - render_tag_js_default()(playground_link_marko, { - "files": files - }, out, _componentDef, "13"); - } - }, out, _componentDef, "8"); - } - }); - (0,attr_tag_js_namespaceObject.a)("body", { - "renderBody": out => { - render_tag_js_default()(_instance_index_marko, { - "renderBody": (out, _nestedComponentDef5, _component6, _state6) => { - var _componentDef = _nestedComponentDef5, - _component7 = _component6; - let preview = null; - dynamic_tag_js_default()(out, preview, () => ({ - "type": previewType, - "files": files, - "selectedFile": selectedFile, - "getCompilerOptions": getCompilerOptions, - "debounce": debounce - }), null, null, null, _componentDef, "15"); - } - }, out, _componentDef, "14"); - } - }); - }), out, _componentDef, "7"); + out.w(`
`); } }); + (0,attr_tag_js_namespaceObject.a)("action", { + "href": "/docs/editor-plugins", + "text": "View editor plugins" + }); + }, { + "align": "right", + "class": "home-tooling" }), out, _componentDef, "0"); }, { - t: repl_index_marko_marko_componentType -}, repl_index_marko_marko_component); -;// ./playground/components/playground.marko + t: home_tooling_index_marko_marko_componentType, + i: true +}, home_tooling_index_marko_marko_component); +// EXTERNAL MODULE: external "gh-got" +var external_gh_got_ = __webpack_require__(724); +var external_gh_got_default = /*#__PURE__*/__webpack_require__.n(external_gh_got_); +;// ../logos/stackoverflow.svg +/* harmony default export */ const stackoverflow = (__webpack_require__.p + "0bfc2ee7.svg"); +;// ../logos/twitter.svg +/* harmony default export */ const twitter = (__webpack_require__.p + "82b09e37.svg"); +;// external "marko/dist/core-tags/core/await/renderer.js" +const await_renderer_js_namespaceObject = require("marko/dist/core-tags/core/await/renderer.js"); +var await_renderer_js_default = /*#__PURE__*/__webpack_require__.n(await_renderer_js_namespaceObject); +;// ./index/components/home-community/index.marko -const playground_marko_marko_componentType = "HUU$Znhn", - playground_marko_marko_template = (0,index_js_namespaceObject.t)(playground_marko_marko_componentType); -/* harmony default export */ const playground_marko = (playground_marko_marko_template); +const home_community_index_marko_marko_componentType = "rsiRtNhi", + home_community_index_marko_marko_template = (0,index_js_namespaceObject.t)(home_community_index_marko_marko_componentType); +/* harmony default export */ const home_community_index_marko = (home_community_index_marko_marko_template); -const playground_marko_marko_component = { - onCreate() { - this.state = {}; - } -}; -playground_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component2, state, $global) { - var _component = _component2, - _state = state; - var _hashValueReturn = return_default()(_component); - render_tag_js_default()(hash_value_marko, { - "value": (0,cached_values_namespaceObject.cache)((0,cached_values_namespaceObject.cached)(_component, []) || [{ - name: "index.marko", - path: "/components/index.marko", - content: "\n" - }]), - "_return": _hashValueReturn - }, out, _componentDef, "0"); - const { - "valueChange": _valueChange, - value: files - } = _hashValueReturn(); - render_tag_js_default()(repl_index_marko, { - "files": files, - "filesChange": _valueChange - }, out, _componentDef, "1"); -}, { - t: playground_marko_marko_componentType -}, playground_marko_marko_component); -;// ./playground/index.marko -const playground_index_marko_marko_componentType = "MHuPCuWh", - playground_index_marko_marko_template = (0,index_js_namespaceObject.t)(playground_index_marko_marko_componentType); -/* harmony default export */ const playground_index_marko = (playground_index_marko_marko_template); -const playground_index_marko_marko_component = {}; -playground_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - render_tag_js_default()(app_layout_index_marko, { - "title": "Try online", - "footer": false, - "discord": false, - "renderBody": out => { - render_tag_js_default()(playground_marko, {}, out, _componentDef, "1"); - } - }, out, _componentDef, "0"); - out.w(""); + + +const home_community_index_marko_marko_component = {}; +home_community_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(home_feature_block_index_marko, (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("title", { + "text": "Join the Community", + "anchorName": "community", + "class": "home-community__title" + }); + (0,attr_tag_js_namespaceObject.a)("content", { + "renderBody": out => { + out.w("

Need help? Want to contribute? Get involved in the Marko Community!

"); + } + }); + (0,attr_tag_js_namespaceObject.a)("visual", { + "renderBody": out => { + out.w(`
Ask & answer StackOverflow questions with the marko tag
Hang out in our Discord server, ask questions, & discuss project direction
Tweet to @MarkoDevTeam or with the #markojs hashtag
Browse the code, open issues, & make pull requests on the GitHub repo
`); + } + }); + (0,attr_tag_js_namespaceObject.a)("breakout", { + "renderBody": out => { + out.w("
"); + render_tag_js_default()((await_renderer_js_default()), (0,attr_tag_js_namespaceObject.i)(() => { + (0,attr_tag_js_namespaceObject.a)("then", { + "renderBody": (out, { + body + }) => { + let _keyValue = 0; + for (const contributor of of_fallback_js_default()(body)) { + const _keyScope = `[${_keyValue++}]`; + out.w(``); + } + } + }); + (0,attr_tag_js_namespaceObject.a)("catch", {}); + }, { + "_provider": external_gh_got_default()('/repos/marko-js/marko/contributors?per_page=100'), + "_name": "ghGot('/repos/marko-js/marko/contributors?per_page=100')" + }), out, _componentDef, "25"); + out.w("
"); + } + }); + }, { + "colors": ["#fff"] + }), out, _componentDef, "0"); }, { - t: playground_index_marko_marko_componentType, + t: home_community_index_marko_marko_componentType, i: true -}, playground_index_marko_marko_component); -;// ./playground/index.marko?server-entry +}, home_community_index_marko_marko_component); +;// ./index/index.marko -const playground_index_marko_server_entry_marko_componentType = "gufdGSuf", - playground_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(playground_index_marko_server_entry_marko_componentType); -/* harmony default export */ const playground_index_marko_server_entry = (playground_index_marko_server_entry_marko_template); +const index_index_marko_marko_componentType = "riZjSFCe", + index_index_marko_marko_template = (0,index_js_namespaceObject.t)(index_index_marko_marko_componentType); +/* harmony default export */ const index_index_marko = (index_index_marko_marko_template); -const playground_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; -function playground_index_marko_server_entry_renderAssets(out) { - const $global = out.global; - const entries = $global.___entries; - $global.___entries = undefined; - if (entries) { - const buildName = $global.buildName; - const nonce = $global.cspNonce; - const nonceAttr = nonce ? ` nonce=${JSON.stringify(nonce)}` : ""; - const written = $global.___writtenAssets || ($global.___writtenAssets = new Set()); - let scripts = ""; - let styles = ""; - for (const entry of entries) { - const assets = index_js_manifest.getAssets(entry, buildName); - if (assets.js) { - for (const href of assets.js) { - if (!written.has(href)) { - written.add(href); - scripts += ``; - } - } - } - if (assets.css) { - for (const href of assets.css) { - if (!written.has(href)) { - written.add(href); - styles += ``; - } - } - } - } - out.write(scripts + styles); - } -} -const playground_index_marko_server_entry_marko_component = {}; -playground_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.global.___renderAssets = playground_index_marko_server_entry_renderAssets; - (out.global.___entries || (out.global.___entries = [])).push("playground_mdf-"); - render_tag_js_default()((_flush_here_and_after_js_default()), { + + + +const index_index_marko_marko_component = {}; +index_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + render_tag_js_default()(app_layout_index_marko, { + "v6": input.v6, + "class": "home", "renderBody": out => { - const outAlias = out; - outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); + render_tag_js_default()(home_hero_index_marko, {}, out, _componentDef, "1"); + render_tag_js_default()(home_features_index_marko, {}, out, _componentDef, "2"); + render_tag_js_default()(home_language_index_marko, { + "v6": input.v6 + }, out, _componentDef, "3"); + render_tag_js_default()(home_streaming_index_marko, {}, out, _componentDef, "4"); + render_tag_js_default()(home_hydration_index_marko, {}, out, _componentDef, "5"); + render_tag_js_default()(home_performance_index_marko, {}, out, _componentDef, "6"); + render_tag_js_default()(home_tooling_index_marko, {}, out, _componentDef, "7"); + render_tag_js_default()(home_community_index_marko, {}, out, _componentDef, "8"); } }, out, _componentDef, "0"); - render_tag_js_default()(playground_index_marko, input, out, _componentDef, "1"); - render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); - render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); }, { - t: playground_index_marko_server_entry_marko_componentType, + t: index_index_marko_marko_componentType, i: true -}, playground_index_marko_server_entry_marko_component); +}, index_index_marko_marko_component); ;// ./v6/index.marko const v6_index_marko_marko_componentType = "hbaVTqcf", @@ -2657,29 +2670,16 @@ v6_index_marko_server_entry_marko_template._ = renderer_js_default()(function (i t: v6_index_marko_server_entry_marko_componentType, i: true }, v6_index_marko_server_entry_marko_component); -;// ./try-online-new/index.marko - -const try_online_new_index_marko_marko_componentType = "kokUincl", - try_online_new_index_marko_marko_template = (0,index_js_namespaceObject.t)(try_online_new_index_marko_marko_componentType); -/* harmony default export */ const try_online_new_index_marko = (try_online_new_index_marko_marko_template); - -const try_online_new_index_marko_marko_component = {}; -try_online_new_index_marko_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.w(""); -}, { - t: try_online_new_index_marko_marko_componentType, - i: true -}, try_online_new_index_marko_marko_component); -;// ./try-online-new/index.marko?server-entry +;// ./index/index.marko?server-entry -const try_online_new_index_marko_server_entry_marko_componentType = "jBxauMAl", - try_online_new_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(try_online_new_index_marko_server_entry_marko_componentType); -/* harmony default export */ const try_online_new_index_marko_server_entry = (try_online_new_index_marko_server_entry_marko_template); +const index_index_marko_server_entry_marko_componentType = "oHUNYdtc", + index_index_marko_server_entry_marko_template = (0,index_js_namespaceObject.t)(index_index_marko_server_entry_marko_componentType); +/* harmony default export */ const index_index_marko_server_entry = (index_index_marko_server_entry_marko_template); -const try_online_new_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; -function try_online_new_index_marko_server_entry_renderAssets(out) { +const index_index_marko_server_entry_crossOriginAttr = new URL(__webpack_require__.p, "file:").protocol === "file:" ? "" : " crossorigin"; +function index_index_marko_server_entry_renderAssets(out) { const $global = out.global; const entries = $global.___entries; $global.___entries = undefined; @@ -2696,7 +2696,7 @@ function try_online_new_index_marko_server_entry_renderAssets(out) { for (const href of assets.js) { if (!written.has(href)) { written.add(href); - scripts += ``; + scripts += ``; } } } @@ -2717,23 +2717,23 @@ function try_online_new_index_marko_server_entry_renderAssets(out) { -const try_online_new_index_marko_server_entry_marko_component = {}; -try_online_new_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { - out.global.___renderAssets = try_online_new_index_marko_server_entry_renderAssets; - (out.global.___entries || (out.global.___entries = [])).push("try-online-new_1yH9"); +const index_index_marko_server_entry_marko_component = {}; +index_index_marko_server_entry_marko_template._ = renderer_js_default()(function (input, out, _componentDef, _component, state, $global) { + out.global.___renderAssets = index_index_marko_server_entry_renderAssets; + (out.global.___entries || (out.global.___entries = [])).push("index_WEBG"); render_tag_js_default()((_flush_here_and_after_js_default()), { "renderBody": out => { const outAlias = out; outAlias.global.___renderAssets && outAlias.global.___renderAssets(outAlias); } }, out, _componentDef, "0"); - render_tag_js_default()(try_online_new_index_marko, input, out, _componentDef, "1"); + render_tag_js_default()(index_index_marko, input, out, _componentDef, "1"); render_tag_js_default()((init_components_tag_js_default()), {}, out, _componentDef, "2"); render_tag_js_default()((reorderer_renderer_js_default()), {}, out, _componentDef, "3"); }, { - t: try_online_new_index_marko_server_entry_marko_componentType, + t: index_index_marko_server_entry_marko_componentType, i: true -}, try_online_new_index_marko_server_entry_marko_component); +}, index_index_marko_server_entry_marko_component); ;// ../components/code-block-marko/index.marko const code_block_marko_index_marko_marko_componentType = "wHhdTqje", @@ -6219,11 +6219,6 @@ function getRoute(url) { const part_0 = pathParts[0]; if (part_0 === undefined) { return { params, template:index_index_marko_server_entry }; - } else if (part_0 === "try-online-new") { - const part_1 = pathParts[1]; - if (part_1 === undefined) { - return { params, template:try_online_new_index_marko_server_entry }; - } } else if (part_0 === "v6") { const part_1 = pathParts[1]; if (part_1 === undefined) { @@ -6265,6 +6260,16 @@ function getRoute(url) { } } } + } else if (part_0 === "try-online") { + const part_1 = pathParts[1]; + if (part_1 === undefined) { + return { params, template:try_online_index_marko_server_entry }; + } + } else if (part_0 === "try-online-new") { + const part_1 = pathParts[1]; + if (part_1 === undefined) { + return { params, template:try_online_new_index_marko_server_entry }; + } } else if (part_0 === "playground") { const part_1 = pathParts[1]; if (part_1 === undefined) { @@ -6275,11 +6280,6 @@ function getRoute(url) { return { params, template:playground_v6_index_marko_server_entry }; } } - } else if (part_0 === "try-online") { - const part_1 = pathParts[1]; - if (part_1 === undefined) { - return { params, template:try_online_index_marko_server_entry }; - } } else if (part_0 === "docs") { const part_1 = pathParts[1]; if (part_1 === undefined) { @@ -6372,4 +6372,4 @@ exports.routes = routes; module.exports = __webpack_exports__; /******/ })() ; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNkQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7Ozs7Ozs7QUNsQ0E7QUFRQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOzs7Ozs7O0FDekNBO0FBQ0E7QUFJQTs7Ozs7Ozs7QUNMQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7O0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FDdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNQQTs7Ozs7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNOQTs7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0hBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOzs7QUNBQTs7O0FDQUE7OztBQ0FBOzs7QUNBQTs7O0FDQUE7OztBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNxRUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUNoSEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ0FBOzs7Ozs7O0FGQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FHNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDNURBOztBQ0FBOztBQ0FBOztBQ0FBOzs7QUNBQTs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBc0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDdEJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUNBQTtBQUNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUNBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBOzs7OztBQ1JBOzs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQW1DQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFGQTtBQUlBO0FBQUE7QUFBQTtBQUFBOztBQ2pEQTs7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUlBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFLQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7QUNuQkE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQUFBO0FBb0JBO0FBK0JBO0FBQUE7QUFBQTtBQWpDQTtBQUFBO0FBQUE7QUFBQTtBQTlCQTtBQWlGQTtBQUFBO0FBQUE7QUFBQTs7QUNqRkE7O0FDQUE7O0FDQUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUN3TkE7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQ0E7QUFBQTtBQU9BO0FBQUE7QUFTQTtBQUFBO0FBU0E7QUFBQTtBQVFBO0FBQ0E7QUFBQTtBQU9BO0FBQUE7QUFGQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7QUMzUUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSUE7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7QUNqREE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFSQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7QUNUQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBVEE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBOztBQ1ZBOzs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEyREE7QUFBQTtBQUFBO0FBQUE7QUFqRUE7QUFrRUE7QUFBQTtBQUFBO0FBQUE7O0FDbEVBOzs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBO0FBeEJBO0FBQUE7QUF5QkE7QUFBQTtBQUFBO0FBQUE7Ozs7O0FDekJBOztBQ0FBOztBQ0FBOztBQ0FBOzs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNEJBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSEE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE1Q0E7QUErQ0E7QUFBQTtBQUFBO0FBQUE7O0FDakRBOzs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBZ0JBO0FBQ0E7QUFBQTtBQVdBO0FBQUE7QUFPQTtBQUdBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDeENBOzs7Ozs7Ozs7OztBQ0FBOzs7QUNBQTs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUZBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDdkVBOztBQ0FBOztBQ0FBOzs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztBQ2dDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM1Q0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBMEJBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBVEE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7QUMzREE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztBQ3pCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFIQTtBQWdCQTtBQUFBO0FBRkE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7QUNwQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFGQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQzVEQTs7QUNBQTs7O0FDQUE7Ozs7OztBQ0FBO0FBRUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQXNCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ25DQTs7O0FDQUE7Ozs7Ozs7OztBQ0NBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1BBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUlBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFRQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFLQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQWVBO0FBQ0E7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7O0FDakVBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFFQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ1JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ0ZBOzs7QUNBQTs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBRkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7OztBQ0hBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDWEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW9CQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDMUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQVVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUtBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFMQTtBQU1BO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2hGQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSkE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O0FDTEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUpBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBRkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBOztBQ0FBOzs7Ozs7QURBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUU1REE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3Q0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpREE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBd0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ2hMQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDcEZBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQzdEQTs7Ozs7O0FDQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBdUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3TUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN2RBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDSkE7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBbUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzdJQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3JDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNwQkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3JHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3hEQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNsQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNoQkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzNCQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUN2QkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM3UkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNUQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEySkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDektBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0RBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUMxREE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN0JBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNOQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDM0tBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDSkE7O0FDQUE7O0FDQUE7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0VBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNoSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXdDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXFCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3hHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FDN0VBOzs7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBMENBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFDQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF0QkE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDMUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFGQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ25CQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUF0QkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7Ozs7OztBQ0FBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUEE7QUFRQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O0FDbkJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUpBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDNURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7Ozs7O0FDdENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFkQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDNURBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDakNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM5Q0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ2hCQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDbkJBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN0NBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ0pBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDaEJBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0FDMUJBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FDdEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBekJBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzVEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBN0NBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUF5QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDbENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBTkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7OztBQzVIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9oZWFkaW5nL2dldEFuY2hvck5hbWUuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9jb250cmlidXRvcnMvZ2V0LWNvbnRyaWJ1dG9ycy5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvdXRpbHMvY3JlYXRlLW92ZXJ2aWV3LXRyZWUuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3V0aWxzL2Zvcm1hdC1zbHVnLmpzIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJjb25uZWN0LWd6aXAtc3RhdGljXCIiLCJleHRlcm5hbCBjb21tb25qcyBcImdoLWdvdFwiIiwiZXh0ZXJuYWwgbm9kZS1jb21tb25qcyBcInBhdGhcIiIsIndlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2svcnVudGltZS9wdWJsaWNQYXRoIiwiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9pbmRleC5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vYnVpbGQvZGlzdC9maWxlcy9wYXJlbnQtZGlyLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvZGlyLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvZmlsZS5wbmciLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9odG1sL2hlbHBlcnMvZXNjYXBlLXhtbC5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9oZWxwZXJzL2VzY2FwZS1xdW90ZXMuanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvb2YtZmFsbGJhY2suanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2h0bWwvaGVscGVycy9hdHRyLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvbXBvbmVudHMvaW5pdC1jb21wb25lbnRzLXRhZy5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9yZW5kZXItdGFnLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvcmUvYXdhaXQvcmVvcmRlcmVyLXJlbmRlcmVyLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvbXBvbmVudHMvcHJlZmVycmVkLXNjcmlwdC1sb2NhdGlvbi10YWcuanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2NvbXBvbmVudHMvcmVuZGVyZXIuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby9idWlsZC9kaXN0L2ZpbGVzL2Rpci1pbmRleC5tYXJrbyIsIj9tYW5pZmVzdCIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9jb3JlLXRhZ3MvY29yZS9fX2ZsdXNoX2hlcmVfYW5kX2FmdGVyX18uanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvbWFya28uc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9tYXJrby10ZXh0LnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvbWFya28tdXd1LnBuZyIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2h0bWwvaGVscGVycy9kYXRhLW1hcmtvLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2xvZ29zL2dpdGh1Yi5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1oZXJvL2NvbXBvbmVudHMvZ2l0aHViLWxpbmsvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1oZXJvL2NvbXBvbmVudHMvZ2l0aHViLWxpbmsvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1oZXJvL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWZlYXR1cmVzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtZmVhdHVyZXMvaW5kZXgubWFya28iLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9oZWxwZXJzL2F0dHItdGFnLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1sYW5ndWFnZS9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvY29tcG9uZW50cy9jb3VudGVyLXRhZ3MubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1sYW5ndWFnZS9jb21wb25lbnRzL2NvdW50ZXItZXhhbXBsZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWxhbmd1YWdlL2NvbXBvbmVudHMvY291bnRlci1leGFtcGxlL2luZGV4Lm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9keW5hbWljLXRhZy5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2hlYWRpbmcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvaGVhZGluZy9pbmRleC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvY2xhc3MtdmFsdWUuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWZlYXR1cmUtYmxvY2svVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1mZWF0dXJlLWJsb2NrL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1sYW5ndWFnZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWRlbW8tcGFnZS9wcm9kdWN0LnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWRlbW8tcGFnZS94LnN2ZyIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvc3R5bGUtdmFsdWUuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWRlbW8tcGFnZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWRlbW8tcGFnZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXN0cmVhbWluZy9jb21wb25lbnRzL3Njcm9sbC1sb2NrZWQtc3RyZWFtLWV4YW1wbGUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1zdHJlYW1pbmcvY29tcG9uZW50cy9zY3JvbGwtbG9ja2VkLXN0cmVhbS1leGFtcGxlL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtc3RyZWFtaW5nL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtc3RyZWFtaW5nL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaHlkcmF0aW9uL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaHlkcmF0aW9uL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtcGVyZm9ybWFuY2UvYXJyb3cuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtcGVyZm9ybWFuY2UvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1wZXJmb3JtYW5jZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXRvb2xpbmcvc2NyZWVuLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXRvb2xpbmcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS10b29saW5nL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9sb2dvcy9zdGFja292ZXJmbG93LnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvZGlzY29yZC5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2xvZ29zL3R3aXR0ZXIuc3ZnIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L2NvcmUtdGFncy9jb3JlL2F3YWl0L3JlbmRlcmVyLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1jb21tdW5pdHkvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1jb21tdW5pdHkvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9mYXZpY29uLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvc2tpcC1saW5rL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9za2lwLWxpbmsvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zZWFyY2gvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zZWFyY2gvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1oZWFkZXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1oZWFkZXIvaW5kZXgubWFya28iLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2RvY3Mvc3RydWN0dXJlLmpzb25cIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvdG8tc3RyaW5nLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL3BhY2thZ2UuanNvblwiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2lkZWJhci9jb21wb25lbnRzL3ZlcnNpb24tc3dpdGNoZXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zaWRlYmFyL2NvbXBvbmVudHMvdmVyc2lvbi1zd2l0Y2hlci9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvbGF5b3V0LXNpZGViYXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zaWRlYmFyL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1mb290ZXIvb3BlbmpzZi5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWZvb3Rlci9vc2kuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1mb290ZXIvZWJheS5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWZvb3Rlci9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtZm9vdGVyL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9nb29nbGUtYW5hbHl0aWNzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9nb29nbGUtYW5hbHl0aWNzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2Rpc2NvcmQtbGluay9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9kaXNjb3JkLWxpbmsvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby10YWdzL3N1YnNjcmliZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvLXRhZ3Mvc3Vic2NyaWJlL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lL2NvbXBvbmVudHMvbG9hZGVyL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lL2NvbXBvbmVudHMvbG9hZGVyL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lL2luZGV4Lm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L3RyYW5zZm9ybS9jYWNoZWQtdmFsdWVzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIkBtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvY29tcG9uZW50cy9yZXR1cm5cIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibHotc3RyaW5nXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC9jb21wb25lbnRzL2hhc2gtdmFsdWUubWFya28iLCJleHRlcm5hbCBjb21tb25qcyBcIkBtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvdXRpbC9yZXBsYWNlLWFzc2lnbm1lbnRzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIkBtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvdHJhbnNmb3JtL25hdGl2ZS10YWctdmFyXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvY29tcG9uZW50cy9faW5zdGFuY2UvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvY29tcG9uZW50cy9faW5zdGFuY2UvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9maWxlLXRhYnMubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9wYW5lLm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvY29udHJvbGxhYmxlLXNlbGVjdC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwiQG1hcmtvL3RhZ3MtYXBpLXByZXZpZXcvZGlzdC90cmFuc2xhdGUvbmF0aXZlLXRhZy1oYW5kbGVyc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9oZWxwZXJzL2F0dHJzLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9wbGF5Z3JvdW5kLWxpbmsubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9tYXRjaC1tZWRpYS5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL3Jlc2l6YWJsZS1wYW5lcy5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC9jb21wb25lbnRzL3BsYXlncm91bmQubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdHJ5LW9ubGluZS1uZXcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUtbmV3L2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2NvZGUtYmxvY2stbWFya28vVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvY29kZS1ibG9jay1tYXJrby9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvdXRpbHMvdG9jLXJlZ2lzdHJ5LmpzIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL2V4YW1wbGVzL2V4YW1wbGVzL2NvbG9yLXBpY2tlci9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9leGFtcGxlcy9leGFtcGxlcy9jb2xvci1waWNrZXIvUkVBRE1FLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzLzEwLWF3ZXNvbWUtbWFya28tZmVhdHVyZXMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvYm9keS1jb250ZW50Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2NvbXBvbmVudC1kaWFncmFtLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jbGFzcy1jb21wb25lbnRzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2Nsb3VkZmxhcmUtd29ya2Vycy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jb21waWxlci1ob29rcy5wbmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvY29tcGlsZXIubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvY29uY2lzZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jb25kaXRpb25hbHMtYW5kLWxpc3RzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2NvcmUtdGFncy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jdXN0b20tdGFncy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9lZGl0b3ItcGx1Z2lucy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9ldmVudHMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvZXhwcmVzcy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9mYXN0aWZ5Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2dldHRpbmctc3RhcnRlZC5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9odHRwLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2luc3RhbGxpbmcubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mva29hLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2xhc3NvLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL21hcmtvLTUtdXBncmFkZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9tYXJrby1qc29uLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL21hcmtvLXZzLXJlYWN0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3JlZHV4Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3JlbmRlcmluZy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9yb2xsdXAubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvc3RhdGUubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvc3R5bGVzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3N5bnRheC5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy90cm91Ymxlc2hvb3Rpbmctc3RyZWFtaW5nLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2ljb25zL21hcmtvLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9pY29ucy90cy5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvaWNvbnMvanMuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3R5cGVzY3JpcHQubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvdml0ZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy93ZWJwYWNrLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3doeS1pcy1tYXJrby1mYXN0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzLzpuYW1lL2RvY3VtZW50LWxvb2t1cC5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2VkaXQtb24tZ2l0aHViL2dpdGh1Yi5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9lZGl0LW9uLWdpdGh1Yi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2VkaXQtb24tZ2l0aHViL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvY29udHJpYnV0b3JzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvY29udHJpYnV0b3JzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvZG9jdW1lbnQtb3ZlcnZpZXcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9kb2N1bWVudC1vdmVydmlldy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy86bmFtZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy86bmFtZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy92Ni9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC92Ni9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9pbmRleC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwiQG1hcmtvL3RyYW5zbGF0b3ItdGFnc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9wbGF5Z3JvdW5kL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvY29tcG9uZW50cy9wbGF5Z3JvdW5kLTYubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy90dXRvcmlhbHMuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL3Y2LzpuYW1lL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL3Y2LzpuYW1lL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2NvbXBvbmVudHMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvbWFya2Rvd24vVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvbWFya2Rvd24vY29uZGl0aW9uYWxzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2V2ZW50cy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9tYXJrZG93bi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9tYXJrZG93bi9qYXZhc2NyaXB0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2xhbmd1YWdlLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2xpc3RzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3NldHVwLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3N0YXRlLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3N0eWxlcy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy86bmFtZS9kb2N1bWVudC1sb29rdXAuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvOm5hbWUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvOm5hbWUvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2V4YW1wbGVzL1tuYW1lXS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZXhhbXBsZXMvW25hbWVdL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni90dXRvcmlhbHMvOm5hbWUvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzLzpuYW1lL2NvbXBvbmVudHMvdHV0b3JpYWwubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy86bmFtZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzLzpuYW1lL2luZGV4Lm1hcmtvIiwid2VicGFjazovLy8/ODUzZiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvbWlkZGxld2FyZS5qcyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFJQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNkQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBRUE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBQ0E7Ozs7Ozs7QUNsQ0E7QUFRQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBOzs7Ozs7O0FDekNBO0FBQ0E7QUFJQTs7Ozs7Ozs7QUNMQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7Ozs7QUNBQTs7Ozs7O0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FDdkJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FDUEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNQQTs7Ozs7QUNBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUNOQTs7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0hBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOztBQ0FBOzs7QUNBQTs7O0FDQUE7OztBQ0FBOzs7QUNBQTs7O0FDQUE7OztBQ0FBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNxRUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUNoSEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ0FBOzs7Ozs7O0FGQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FHNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDNURBOztBQ0FBOzs7QUNBQTs7Ozs7O0FDQUE7QUFFQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBc0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDbkNBOzs7QUNBQTs7Ozs7Ozs7O0FDQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7O0FDUEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUlBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFRQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFLQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQWVBO0FBQ0E7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ2pFQTs7QUNBQTs7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBRUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNSQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUNGQTs7O0FDQUE7OztBQ0FBOzs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFGQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0FDSEE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNYQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0JBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBVUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBS0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUxBO0FBTUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaEZBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFKQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQ0xBOzs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUNBQTs7QUNBQTs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztBQ0FBO0FBZ0JBO0FBQ0E7QUFBQTtBQVdBO0FBQUE7QUFPQTtBQUdBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDeENBOzs7Ozs7Ozs7OztBQ0FBOzs7QUNBQTs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNSQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUZBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDdkVBOztBQ0FBOztBQ0FBOzs7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBOztBQ1pBOzs7Ozs7Ozs7OztBQzRDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM1Q0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBT0E7QUFDQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBMEJBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBSkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7O0FDM0RBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7QUN6QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBSEE7QUFnQkE7QUFBQTtBQUZBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O0FDcENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBRkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7O0FDQUE7Ozs7Ozs7Ozs7OztBQ0FBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7QUNBQTtBQXNCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztBQ3RCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O0FDQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDUkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQW1DQTtBQUFBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFGQTtBQUlBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7QUNqREE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBSUE7QUFBQTtBQUVBO0FBQ0E7QUFBQTtBQUtBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7OztBQ25CQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFvQkE7QUErQkE7QUFBQTtBQUFBO0FBakNBO0FBQUE7QUFBQTtBQUFBO0FBOUJBO0FBaUZBO0FBQUE7QUFBQTtBQUFBOztBQ2pGQTs7QUNBQTs7QUNBQTs7Ozs7Ozs7Ozs7Ozs7OztBQ3dOQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFDQTtBQUFBO0FBT0E7QUFBQTtBQVNBO0FBQUE7QUFTQTtBQUFBO0FBUUE7QUFDQTtBQUFBO0FBT0E7QUFBQTtBQUZBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OztBQzNRQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7OztBQ2pEQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQVJBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7OztBQ1RBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFUQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7O0FDVkE7Ozs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTJEQTtBQUFBO0FBQUE7QUFBQTtBQWpFQTtBQWtFQTtBQUFBO0FBQUE7QUFBQTs7QUNsRUE7Ozs7Ozs7Ozs7Ozs7O0FDQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUF4QkE7QUFBQTtBQXlCQTtBQUFBO0FBQUE7QUFBQTs7Ozs7QUN6QkE7O0FDQUE7O0FDQUE7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE0QkE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFIQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTVDQTtBQStDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ2pEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNUQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBRkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FENURBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0FFNURBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUFBOztBQ0FBOzs7Ozs7QURBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUU1REE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3Q0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpREE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBd0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ2hMQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDcEZBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQzdEQTs7Ozs7O0FDQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBb0JBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFtQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBdUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3TUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN2RBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDSkE7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXNHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBbUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzdJQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3JDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNwQkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3JHQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBNkJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ3hEQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNsQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNoQkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzNCQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNKQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUN2QkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTZJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM3UkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNUQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEySkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDektBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0RBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUMxREE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN0JBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNOQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDM0tBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDSkE7O0FDQUE7O0FDQUE7Ozs7OztBQ0FBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0VBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNoSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDSkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXdDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXFCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3hHQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FDN0VBOzs7Ozs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUNBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBMENBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBY0E7QUFDQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF0QkE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDMUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFGQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ25CQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUF0QkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7O0FDNURBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7Ozs7OztBQ0FBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUEE7QUFRQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O0FDbkJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQUpBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FDNURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTs7Ozs7O0FDdENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQVNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUFkQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFDQTtBQUdBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7QUM1REE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDNURBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDakNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQXVCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUM5Q0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7QUNmQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ2hCQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU9BO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDbkJBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDN0NBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQ0pBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDaEJBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O0FDMUJBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FDdEVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBekJBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQzVEQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFNQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBN0NBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUNBO0FBR0E7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzVEQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUF5QkE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FDbENBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTs7Ozs7O0FBTkE7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQ0E7QUFHQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUM1REE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7OztBQzVIQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9oZWFkaW5nL2dldEFuY2hvck5hbWUuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9jb250cmlidXRvcnMvZ2V0LWNvbnRyaWJ1dG9ycy5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvdXRpbHMvY3JlYXRlLW92ZXJ2aWV3LXRyZWUuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3V0aWxzL2Zvcm1hdC1zbHVnLmpzIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2ludGVyb3BSZXF1aXJlRGVmYXVsdFwiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJjb25uZWN0LWd6aXAtc3RhdGljXCIiLCJleHRlcm5hbCBjb21tb25qcyBcImdoLWdvdFwiIiwiZXh0ZXJuYWwgbm9kZS1jb21tb25qcyBcInBhdGhcIiIsIndlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrL3J1bnRpbWUvaGFzT3duUHJvcGVydHkgc2hvcnRoYW5kIiwid2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2svcnVudGltZS9wdWJsaWNQYXRoIiwiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9pbmRleC5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vYnVpbGQvZGlzdC9maWxlcy9wYXJlbnQtZGlyLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvZGlyLnBuZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvZmlsZS5wbmciLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9odG1sL2hlbHBlcnMvZXNjYXBlLXhtbC5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaHRtbC9oZWxwZXJzL2VzY2FwZS1xdW90ZXMuanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2hlbHBlcnMvb2YtZmFsbGJhY2suanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2h0bWwvaGVscGVycy9hdHRyLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvbXBvbmVudHMvaW5pdC1jb21wb25lbnRzLXRhZy5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9yZW5kZXItdGFnLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvcmUvYXdhaXQvcmVvcmRlcmVyLXJlbmRlcmVyLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvY29yZS10YWdzL2NvbXBvbmVudHMvcHJlZmVycmVkLXNjcmlwdC1sb2NhdGlvbi10YWcuanNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2NvbXBvbmVudHMvcmVuZGVyZXIuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL0BtYXJrby9idWlsZC9kaXN0L2ZpbGVzL2Rpci1pbmRleC5tYXJrbyIsIj9tYW5pZmVzdCIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9jb3JlLXRhZ3MvY29yZS9fX2ZsdXNoX2hlcmVfYW5kX2FmdGVyX18uanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9pbmRleC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwiQG1hcmtvL3RhZ3MtYXBpLXByZXZpZXcvZGlzdC90cmFuc2Zvcm0vY2FjaGVkLXZhbHVlc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L2NvbXBvbmVudHMvcmV0dXJuXCIiLCJleHRlcm5hbCBjb21tb25qcyBcImx6LXN0cmluZ1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9wbGF5Z3JvdW5kL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvY29tcG9uZW50cy9oYXNoLXZhbHVlLm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L3V0aWwvcmVwbGFjZS1hc3NpZ25tZW50c1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJAbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L3RyYW5zZm9ybS9uYXRpdmUtdGFnLXZhclwiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L2NvbXBvbmVudHMvX2luc3RhbmNlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28vdGFncy1hcGktcHJldmlldy9kaXN0L2NvbXBvbmVudHMvX2luc3RhbmNlL2luZGV4Lm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9jbGFzcy12YWx1ZS5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvZmlsZS10YWJzLm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9hdHRyLXRhZy5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L3J1bnRpbWUvaGVscGVycy9keW5hbWljLXRhZy5qc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvcGFuZS5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL2NvbnRyb2xsYWJsZS1zZWxlY3QubWFya28iLCJleHRlcm5hbCBjb21tb25qcyBcIkBtYXJrby90YWdzLWFwaS1wcmV2aWV3L2Rpc3QvdHJhbnNsYXRlL25hdGl2ZS10YWctaGFuZGxlcnNcIiIsImV4dGVybmFsIGNvbW1vbmpzIFwibWFya28vZGlzdC9ydW50aW1lL2h0bWwvaGVscGVycy9kYXRhLW1hcmtvLmpzXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9odG1sL2hlbHBlcnMvYXR0cnMuanNcIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL3BsYXlncm91bmQtbGluay5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9jb21wb25lbnRzL21hdGNoLW1lZGlhLm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9yZXBsL2NvbXBvbmVudHMvcmVzaXphYmxlLXBhbmVzLm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL3JlcGwvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvcmVwbC9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC9jb21wb25lbnRzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9wbGF5Z3JvdW5kL2NvbXBvbmVudHMvcGxheWdyb3VuZC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2Zhdmljb24ucG5nIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9za2lwLWxpbmsvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL3NraXAtbGluay9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvbWFya28uc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9sb2dvcy9tYXJrby11d3UucG5nIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2VhcmNoL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2VhcmNoL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtaGVhZGVyL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtaGVhZGVyL2luZGV4Lm1hcmtvIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kb2NzL3N0cnVjdHVyZS5qc29uXCIiLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9oZWxwZXJzL3RvLXN0cmluZy5qc1wiIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9wYWNrYWdlLmpzb25cIiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvbGF5b3V0LXNpZGViYXIvY29tcG9uZW50cy92ZXJzaW9uLXN3aXRjaGVyL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2lkZWJhci9jb21wb25lbnRzL3ZlcnNpb24tc3dpdGNoZXIvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWxheW91dC9jb21wb25lbnRzL2xheW91dC1zaWRlYmFyL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvY29tcG9uZW50cy9sYXlvdXQtc2lkZWJhci9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtZm9vdGVyL29wZW5qc2Yuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1mb290ZXIvb3NpLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtZm9vdGVyL2ViYXkuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1mb290ZXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvYXBwLWZvb3Rlci9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvZ29vZ2xlLWFuYWx5dGljcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L2NvbXBvbmVudHMvZ29vZ2xlLWFuYWx5dGljcy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3MvZGlzY29yZC5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvZGlzY29yZC1saW5rL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2Rpc2NvcmQtbGluay9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9hcHAtbGF5b3V0L1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2FwcC1sYXlvdXQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3BsYXlncm91bmQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUtbmV3L1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy90cnktb25saW5lLW5ldy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvLXRhZ3Mvc3Vic2NyaWJlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9AbWFya28tdGFncy9zdWJzY3JpYmUvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUvY29tcG9uZW50cy9sb2FkZXIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUvY29tcG9uZW50cy9sb2FkZXIvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3RyeS1vbmxpbmUvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1oZXJvL21hcmtvLXRleHQuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9sb2dvcy9naXRodWIuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9jb21wb25lbnRzL2dpdGh1Yi1saW5rL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9jb21wb25lbnRzL2dpdGh1Yi1saW5rL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtaGVyby9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWhlcm8vaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1mZWF0dXJlcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWZlYXR1cmVzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWxhbmd1YWdlL2NvbXBvbmVudHMvY291bnRlci10YWdzLm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvY29tcG9uZW50cy9jb3VudGVyLWV4YW1wbGUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1sYW5ndWFnZS9jb21wb25lbnRzL2NvdW50ZXItZXhhbXBsZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvY29tcG9uZW50cy9oZWFkaW5nL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2hlYWRpbmcvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1mZWF0dXJlLWJsb2NrL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtZmVhdHVyZS1ibG9jay9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWxhbmd1YWdlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtbGFuZ3VhZ2UvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1kZW1vLXBhZ2UvcHJvZHVjdC5wbmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1kZW1vLXBhZ2UveC5zdmciLCJleHRlcm5hbCBjb21tb25qcyBcIm1hcmtvL2Rpc3QvcnVudGltZS9oZWxwZXJzL3N0eWxlLXZhbHVlLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1kZW1vLXBhZ2UvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1kZW1vLXBhZ2UvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1zdHJlYW1pbmcvY29tcG9uZW50cy9zY3JvbGwtbG9ja2VkLXN0cmVhbS1leGFtcGxlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtc3RyZWFtaW5nL2NvbXBvbmVudHMvc2Nyb2xsLWxvY2tlZC1zdHJlYW0tZXhhbXBsZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXN0cmVhbWluZy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXN0cmVhbWluZy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWh5ZHJhdGlvbi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLWh5ZHJhdGlvbi9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXBlcmZvcm1hbmNlL2Fycm93LnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvaW5kZXgvY29tcG9uZW50cy9ob21lLXBlcmZvcm1hbmNlL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtcGVyZm9ybWFuY2UvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS10b29saW5nL3NjcmVlbi5wbmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS10b29saW5nL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9jb21wb25lbnRzL2hvbWUtdG9vbGluZy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvbG9nb3Mvc3RhY2tvdmVyZmxvdy5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2xvZ29zL3R3aXR0ZXIuc3ZnIiwiZXh0ZXJuYWwgY29tbW9uanMgXCJtYXJrby9kaXN0L2NvcmUtdGFncy9jb3JlL2F3YWl0L3JlbmRlcmVyLmpzXCIiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1jb21tdW5pdHkvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L2NvbXBvbmVudHMvaG9tZS1jb21tdW5pdHkvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2luZGV4L1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9pbmRleC9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9jb21wb25lbnRzL2NvZGUtYmxvY2stbWFya28vVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL2NvbXBvbmVudHMvY29kZS1ibG9jay1tYXJrby9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvdXRpbHMvdG9jLXJlZ2lzdHJ5LmpzIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL2V4YW1wbGVzL2V4YW1wbGVzL2NvbG9yLXBpY2tlci9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9leGFtcGxlcy9leGFtcGxlcy9jb2xvci1waWNrZXIvUkVBRE1FLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzLzEwLWF3ZXNvbWUtbWFya28tZmVhdHVyZXMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvYm9keS1jb250ZW50Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2NvbXBvbmVudC1kaWFncmFtLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jbGFzcy1jb21wb25lbnRzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2Nsb3VkZmxhcmUtd29ya2Vycy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jb21waWxlci1ob29rcy5wbmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvY29tcGlsZXIubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvY29uY2lzZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jb25kaXRpb25hbHMtYW5kLWxpc3RzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2NvcmUtdGFncy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9jdXN0b20tdGFncy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9lZGl0b3ItcGx1Z2lucy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9ldmVudHMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvZXhwcmVzcy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9mYXN0aWZ5Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2dldHRpbmctc3RhcnRlZC5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9odHRwLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2luc3RhbGxpbmcubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mva29hLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2xhc3NvLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL21hcmtvLTUtdXBncmFkZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9tYXJrby1qc29uLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL21hcmtvLXZzLXJlYWN0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3JlZHV4Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3JlbmRlcmluZy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9yb2xsdXAubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvc3RhdGUubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvc3R5bGVzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3N5bnRheC5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy90cm91Ymxlc2hvb3Rpbmctc3RyZWFtaW5nLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL2ljb25zL21hcmtvLnN2ZyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9pY29ucy90cy5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvaWNvbnMvanMuc3ZnIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3R5cGVzY3JpcHQubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3MvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvbm9kZV9tb2R1bGVzL21hcmtvL2RvY3Mvdml0ZS5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvbWFya28vZG9jcy93ZWJwYWNrLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL25vZGVfbW9kdWxlcy9tYXJrby9kb2NzL3doeS1pcy1tYXJrby1mYXN0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzLzpuYW1lL2RvY3VtZW50LWxvb2t1cC5qcyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2VkaXQtb24tZ2l0aHViL2dpdGh1Yi5zdmciLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9lZGl0LW9uLWdpdGh1Yi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy9jb21wb25lbnRzL2VkaXQtb24tZ2l0aHViL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvY29udHJpYnV0b3JzL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvY29udHJpYnV0b3JzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL2NvbXBvbmVudHMvZG9jdW1lbnQtb3ZlcnZpZXcvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL2RvY3MvY29tcG9uZW50cy9kb2N1bWVudC1vdmVydmlldy9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy86bmFtZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy86bmFtZS9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy92Ni9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvZG9jcy92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC92Ni9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvcGxheWdyb3VuZC92Ni9pbmRleC5tYXJrbyIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9pbmRleC5tYXJrbyIsImV4dGVybmFsIGNvbW1vbmpzIFwiQG1hcmtvL3RyYW5zbGF0b3ItdGFnc1wiIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9wbGF5Z3JvdW5kL2NvbXBvbmVudHMvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvY29tcG9uZW50cy9wbGF5Z3JvdW5kLTYubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3BsYXlncm91bmQvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy90dXRvcmlhbHMuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL3Y2LzpuYW1lL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy9kb2NzL3Y2LzpuYW1lL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2NvbXBvbmVudHMubWQiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvbWFya2Rvd24vVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvbWFya2Rvd24vY29uZGl0aW9uYWxzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2V2ZW50cy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9tYXJrZG93bi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy9tYXJrZG93bi9qYXZhc2NyaXB0Lm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2xhbmd1YWdlLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL2xpc3RzLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3NldHVwLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3N0YXRlLm1kIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni9kb2NzL21hcmtkb3duL3N0eWxlcy5tZCIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZG9jcy86bmFtZS9kb2N1bWVudC1sb29rdXAuanMiLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvOm5hbWUvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2RvY3MvOm5hbWUvaW5kZXgubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L2V4YW1wbGVzL1tuYW1lXS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvZXhhbXBsZXMvW25hbWVdL2luZGV4Lm1hcmtvIiwiL1VzZXJzL2RwaWVyY2V5L2Rldi9tYXJrby1qcy93ZWJzaXRlL3NyYy9wYWdlcy92Ni90dXRvcmlhbHMvOm5hbWUvY29tcG9uZW50cy9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzLzpuYW1lL2NvbXBvbmVudHMvdHV0b3JpYWwubWFya28iLCIvVXNlcnMvZHBpZXJjZXkvZGV2L21hcmtvLWpzL3dlYnNpdGUvc3JjL3BhZ2VzL3Y2L3R1dG9yaWFscy86bmFtZS9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9zcmMvcGFnZXMvdjYvdHV0b3JpYWxzLzpuYW1lL2luZGV4Lm1hcmtvIiwid2VicGFjazovLy8/ODUzZiIsIi9Vc2Vycy9kcGllcmNleS9kZXYvbWFya28tanMvd2Vic2l0ZS9ub2RlX21vZHVsZXMvQG1hcmtvL2J1aWxkL2Rpc3QvZmlsZXMvbWlkZGxld2FyZS5qcyJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ== \ No newline at end of file diff --git a/playground/index.html b/playground/index.html index ae9bff83..2b6b5ee0 100644 --- a/playground/index.html +++ b/playground/index.html @@ -16,7 +16,7 @@ } else { delete localStorage.uwu; } -
index.marko
Open in playground
index.marko
Open in playground
\ No newline at end of file diff --git a/try-online/index.html b/try-online/index.html index 7030b9a1..c5ad5892 100644 --- a/try-online/index.html +++ b/try-online/index.html @@ -16,7 +16,7 @@ } else { delete localStorage.uwu; } -

Components in Marko

Components are the building blocks of Marko applications. They allow you to break down your user interface into independent, reusable pieces, which makes your code more organized, maintainable, and scalable. Think of components like specialized HTML elements that you can define yourself.

Introduction to Components

In Marko, a component is simply a Marko template file (.marko) that represents a self-contained piece of your UI. Components encapsulate their own HTML and JavaScript logic, making them easy to reason about and reuse throughout your project.

The Benefits of Components

  • Reusability: Write a component once, and use it anywhere you need that functionality. This saves you time and effort and keeps your code consistent.
  • Maintainability: Components break down complex UIs and logic into smaller, more manageable chunks. This makes your code easier to understand, debug, and update.
  • Organization: Components promote a modular architecture, making your project's structure cleaner and more scalable as it grows.

Creating Your First Component

Let's create a simple "Profile Card" component:

  1. Create a components Directory: Inside your Marko project, create a folder named components. This is where we'll place our component files.

  2. Create the Component File: Inside the components directory, create a file named profile-card.marko.

  3. Write the Component Code: Add the following code to profile-card.marko:

    <div>
    +    

    Components in Marko

    Components are the building blocks of Marko applications. They allow you to break down your user interface into independent, reusable pieces, which makes your code more organized, maintainable, and scalable. Think of components like specialized HTML elements that you can define yourself.

    Introduction to Components

    In Marko, a component is simply a Marko template file (.marko) that represents a self-contained piece of your UI. Components encapsulate their own HTML and JavaScript logic, making them easy to reason about and reuse throughout your project.

    The Benefits of Components

    • Reusability: Write a component once, and use it anywhere you need that functionality. This saves you time and effort and keeps your code consistent.
    • Maintainability: Components break down complex UIs and logic into smaller, more manageable chunks. This makes your code easier to understand, debug, and update.
    • Organization: Components promote a modular architecture, making your project's structure cleaner and more scalable as it grows.

    Creating Your First Component

    Let's create a simple "Profile Card" component:

    1. Create a components Directory: Inside your Marko project, create a folder named components. This is where we'll place our component files.

    2. Create the Component File: Inside the components directory, create a file named profile-card.marko.

    3. Write the Component Code: Add the following code to profile-card.marko:

      <div>
         <h2>Alice</h2>
         <p>Web Developer</p>
       </div>
      diff --git a/v6/docs/conditionals/index.html b/v6/docs/conditionals/index.html
      index 62de0db1..567f12d2 100644
      --- a/v6/docs/conditionals/index.html
      +++ b/v6/docs/conditionals/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      Conditionals in Marko

      Conditionals are essential for building dynamic user interfaces. They allow you to control which parts of your UI are displayed based on data, user interactions, or other conditions. Marko provides powerful and intuitive tags for handling conditional rendering in your templates.

      <if>, <else-if>, and <else>

      The <if>, <else-if>, and <else> tags in Marko work similarly to their JavaScript counterparts, allowing you to conditionally render blocks of HTML based on expressions that evaluate to truthy or falsy values.

      Here's a basic example:

      <if=user.isLoggedIn>
      +    

      Conditionals in Marko

      Conditionals are essential for building dynamic user interfaces. They allow you to control which parts of your UI are displayed based on data, user interactions, or other conditions. Marko provides powerful and intuitive tags for handling conditional rendering in your templates.

      <if>, <else-if>, and <else>

      The <if>, <else-if>, and <else> tags in Marko work similarly to their JavaScript counterparts, allowing you to conditionally render blocks of HTML based on expressions that evaluate to truthy or falsy values.

      Here's a basic example:

      <if=user.isLoggedIn>
         <p>Welcome back, ${user.name}!</p>
       </if>
       <else>
      diff --git a/v6/docs/events/index.html b/v6/docs/events/index.html
      index 50b089dd..e361949f 100644
      --- a/v6/docs/events/index.html
      +++ b/v6/docs/events/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      Events in Marko

      Events are essential for building interactive user interfaces. They allow your Marko components to react to user actions, like clicks, form submissions, mouse movements, and more. Marko provides a simple and intuitive way to handle events, making it easy to create dynamic and responsive web applications.

      DOM Events

      Marko components can directly listen to native DOM events on HTML elements. To attach an event listener, you pass functions directly as the values of special event handler attributes that start with on.

      <button onClick() { alert("Button Clicked!"); }>
      +    

      Events in Marko

      Events are essential for building interactive user interfaces. They allow your Marko components to react to user actions, like clicks, form submissions, mouse movements, and more. Marko provides a simple and intuitive way to handle events, making it easy to create dynamic and responsive web applications.

      DOM Events

      Marko components can directly listen to native DOM events on HTML elements. To attach an event listener, you pass functions directly as the values of special event handler attributes that start with on.

      <button onClick() { alert("Button Clicked!"); }>
         Click Me!
       </button>
       
      button onClick() {
      diff --git a/v6/docs/index.html b/v6/docs/index.html
      index 5cce3231..28101f02 100644
      --- a/v6/docs/index.html
      +++ b/v6/docs/index.html
      @@ -1 +1 @@
      -
      \ No newline at end of file
      +
      \ No newline at end of file
      diff --git a/v6/docs/javascript/index.html b/v6/docs/javascript/index.html
      index 3e59b2cc..f568d20d 100644
      --- a/v6/docs/javascript/index.html
      +++ b/v6/docs/javascript/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      JavaScript in Marko

      One of Marko's core strengths is its seamless integration with JavaScript. You can directly embed JavaScript expressions, use variables, and call functions within your Marko templates.

      Dynamic Content

      Marko makes it easy to inject dynamic values and logic directly into your HTML using embedded JavaScript expressions. Wrap your JavaScript code in ${} (similar to template literals), and Marko will evaluate it and render the result.

      <p>The current date is: ${new Date().toLocaleDateString()}</p>
      +    

      JavaScript in Marko

      One of Marko's core strengths is its seamless integration with JavaScript. You can directly embed JavaScript expressions, use variables, and call functions within your Marko templates.

      Dynamic Content

      Marko makes it easy to inject dynamic values and logic directly into your HTML using embedded JavaScript expressions. Wrap your JavaScript code in ${} (similar to template literals), and Marko will evaluate it and render the result.

      <p>The current date is: ${new Date().toLocaleDateString()}</p>
       
       <div>${user.isLoggedIn ? "Welcome back, " + user.name : "Please log in."}</div>
       
      p -- The current date is: ${new Date().toLocaleDateString()}
      diff --git a/v6/docs/language/index.html b/v6/docs/language/index.html
      index a636c326..25a18648 100644
      --- a/v6/docs/language/index.html
      +++ b/v6/docs/language/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      The Marko Language

      Marko is a powerful and intuitive language for building dynamic and reactive user interfaces. One of the best things about Marko is that it builds upon the familiar foundations of HTML and JavaScript, making it incredibly easy to learn for web developers.

      Familiar Foundation

      If you know HTML, you already have a head start in Marko! A large part of Marko is based directly on HTML. In fact, most valid HTML code can be compiled by Marko without any changes.

      Take a look at this simple "Hello World" example in both HTML and Marko:

      HTML (index.html)

      <!DOCTYPE html>
      +    

      The Marko Language

      Marko is a powerful and intuitive language for building dynamic and reactive user interfaces. One of the best things about Marko is that it builds upon the familiar foundations of HTML and JavaScript, making it incredibly easy to learn for web developers.

      Familiar Foundation

      If you know HTML, you already have a head start in Marko! A large part of Marko is based directly on HTML. In fact, most valid HTML code can be compiled by Marko without any changes.

      Take a look at this simple "Hello World" example in both HTML and Marko:

      HTML (index.html)

      <!DOCTYPE html>
       <html>
         <head>
           <title>Hello World</title>
      diff --git a/v6/docs/lists/index.html b/v6/docs/lists/index.html
      index f7d44798..fa4909cc 100644
      --- a/v6/docs/lists/index.html
      +++ b/v6/docs/lists/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      Lists in Marko

      <for of>: Iterating Over Arrays

      The most common use case for <for> is iterating over arrays. The of attribute specifies the array you want to loop through.

      <ul>
      +    

      Lists in Marko

      <for of>: Iterating Over Arrays

      The most common use case for <for> is iterating over arrays. The of attribute specifies the array you want to loop through.

      <ul>
         <for|item, index| of=items by="id">
           <li>(${index}) Item ID: ${item.id}, Name: ${item.name}</li>
         </for>
      diff --git a/v6/docs/setup/index.html b/v6/docs/setup/index.html
      index fe7a2502..5c4d9840 100644
      --- a/v6/docs/setup/index.html
      +++ b/v6/docs/setup/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      Setup

      Marko Playground

      The fastest way to try out Marko without installing anything is with the Marko Playground. It's an online interactive environment where you can write Marko code and see the results in real-time.

      In the Playground, you'll find a simple counter example. Go ahead and edit the code, and watch the output update instantly!

      Local Development with Marko Run

      To set up a local development environment, Marko Run is recommended as it makes this process quick and easy.

      Prerequisites

      • Node.js: Marko requires Node.js to be installed on your system. Download the latest LTS version from the official website: https://nodejs.org/
      • npm (or yarn): Node.js comes bundled with npm (Node Package Manager), but you can also use yarn if you prefer.

      1. Creating a new Project

      Once you have Node.js and npm (or yarn) installed, open your terminal (command prompt or PowerShell) and run the following command:

      npm init marko
      +    

      Setup

      Marko Playground

      The fastest way to try out Marko without installing anything is with the Marko Playground. It's an online interactive environment where you can write Marko code and see the results in real-time.

      In the Playground, you'll find a simple counter example. Go ahead and edit the code, and watch the output update instantly!

      Local Development with Marko Run

      To set up a local development environment, Marko Run is recommended as it makes this process quick and easy.

      Prerequisites

      • Node.js: Marko requires Node.js to be installed on your system. Download the latest LTS version from the official website: https://nodejs.org/
      • npm (or yarn): Node.js comes bundled with npm (Node Package Manager), but you can also use yarn if you prefer.

      1. Creating a new Project

      Once you have Node.js and npm (or yarn) installed, open your terminal (command prompt or PowerShell) and run the following command:

      npm init marko
       

      This cli will guide you through creating a new project.

      2. Basic Marko Run Commands

      After creating a Marko Run project, navigate to your project directory and use the following commands:

      • marko-run dev: Start a development server with live reload (your changes will automatically appear in the browser).
      • marko-run build: Build a production-ready version of your app.
      • marko-run preview: Preview a production build locally.

      3. Enhancing Your Workflow with Editor Plugins (Optional)

      Editor plugins can significantly improve your development experience by providing features like:

      • Syntax highlighting: Makes your Marko code more readable.
      • Code completion (IntelliSense): Helps you write code faster with suggestions and autocompletion.
      • Error checking (linting): Catches potential errors in your code early on.

      Recommended Plugins

      • VS Code: the official editor plugin from the marketplace
      • Other Editors: setup instructions to use the Marko language server in various other editors
      EDIT on GitHub

      Contributors

      Helpful? You can thank these awesome people! You can also edit this doc if you see any issues or want to improve it.

      State & Derived State

      Marko's reactive system makes it easy to manage your application's data and keep your user interface in sync with any changes. The key to this reactivity is how Marko tracks state.

      State with <let>

      In Marko, the <let> tag is used to declare state variables. These variables represent the data that can change over time, affecting how your components render and behave.

      <let/count=0/>
      +    

      State & Derived State

      Marko's reactive system makes it easy to manage your application's data and keep your user interface in sync with any changes. The key to this reactivity is how Marko tracks state.

      State with <let>

      In Marko, the <let> tag is used to declare state variables. These variables represent the data that can change over time, affecting how your components render and behave.

      <let/count=0/>
       
      let/count=0
       

      This line of code declares a state variable named count and initializes it to 0.

      NOTE
      The variable name is defined after the / in the tag. This is known as a Tag Variable and is a way for a tag to provide data to the rest of the template. Any tag can declare Tag Variables using this syntax.

      You can access the value of a state variable just like any other variable in your template.

      <div>The current count is: ${count}</div>
       
      div -- The current count is: ${count}
      diff --git a/v6/docs/styles/index.html b/v6/docs/styles/index.html
      index e9f6eb4e..08d4cc33 100644
      --- a/v6/docs/styles/index.html
      +++ b/v6/docs/styles/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    

      Styles in Marko

      This section explains the different ways to style your Marko components, from simple inline styles to powerful techniques like CSS Modules for organized and maintainable stylesheets.

      Basic Styling Options

      1. Internal Styles with <style> Tags

      You can add CSS styles directly within your Marko components using the <style> tag. Just like in HTML, styles defined within a <style> tag will apply to the HTML elements within that component.

      Here's a simple example:

      <style>
      +    

      Styles in Marko

      This section explains the different ways to style your Marko components, from simple inline styles to powerful techniques like CSS Modules for organized and maintainable stylesheets.

      Basic Styling Options

      1. Internal Styles with <style> Tags

      You can add CSS styles directly within your Marko components using the <style> tag. Just like in HTML, styles defined within a <style> tag will apply to the HTML elements within that component.

      Here's a simple example:

      <style>
         .message {
           background-color: lightblue;
           padding: 10px;
      diff --git a/v6/examples/[name]/index.html b/v6/examples/[name]/index.html
      index abb3a95e..620ac0f0 100644
      --- a/v6/examples/[name]/index.html
      +++ b/v6/examples/[name]/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    
      MarkoMarko

      A declarative, HTML-based language
      that makes building web apps fun

      Familiar

      If you know HTML, CSS, and Javascript, you know Marko

      Performant

      Streaming, partial hydration, an optimizing compiler, & a small runtime

      Scalable

      Start with simple HTML templates and add powerful components as needed

      Trusted

      Marko is powering high-traffic websites like ebay.com

      HTML Reimagined

      Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

      <!doctype html>
      +    
      MarkoMarko

      A declarative, HTML-based language
      that makes building web apps fun

      Familiar

      If you know HTML, CSS, and Javascript, you know Marko

      Performant

      Streaming, partial hydration, an optimizing compiler, & a small runtime

      Scalable

      Start with simple HTML templates and add powerful components as needed

      Trusted

      Marko is powering high-traffic websites like ebay.com

      HTML Reimagined

      Marko is HTML re-imagined as a language for building dynamic and reactive user interfaces. Just about any valid HTML is valid Marko, but Marko extends the HTML language to allow building modern applications in a declarative way.

      <!doctype html>
       <html>
           <head>
               <title>Count with Marko</title>
      diff --git a/v6/playground/index.html b/v6/playground/index.html
      index 9774e886..51f1ba00 100644
      --- a/v6/playground/index.html
      +++ b/v6/playground/index.html
      @@ -16,7 +16,7 @@
             } else {
               delete localStorage.uwu;
             }
      -    
      index.marko
      Open in playground
      index.marko
      Open in playground

      Tutorials

      LoopsLoops are a way to repeat a block of code multiple times.beginner5 minutes

      Tutorials

      LoopsLoops are a way to repeat a block of code multiple times.beginner5 minutes