gadidae 0.1.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +35 -0
  2. package/dist/index.js +469 -39
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -408,6 +408,7 @@ body {
408
408
  border-radius: 1rem;
409
409
  grid-template-rows: auto 1fr;
410
410
  margin: 0 auto;
411
+ font-size: .875rem;
411
412
  display: none;
412
413
  position: fixed;
413
414
  overflow: hidden;
@@ -449,11 +450,11 @@ body {
449
450
  min-width: min(9rem, 42vw);
450
451
  min-height: 3.5rem;
451
452
  color: var(--m3c-on-surface-variant);
452
- font: 750 .875rem/1 var(--cod-font);
453
453
  cursor: pointer;
454
454
  flex: 1 1 0;
455
455
  align-items: stretch;
456
456
  padding: .375rem;
457
+ font-weight: 750;
457
458
  animation: .19s cubic-bezier(.2, 0, 0, 1) both terminal-tab-grow;
458
459
  display: flex;
459
460
  overflow: hidden;
@@ -504,10 +505,10 @@ body {
504
505
  background: var(--m3c-secondary-container-subtle);
505
506
  box-shadow: inset 0 0 0 1px var(--m3c-outline);
506
507
  color: var(--m3c-on-secondary-container-subtle);
507
- font: 750 .8rem/1.5 var(--cod-font);
508
508
  cursor: pointer;
509
509
  border-radius: 999px;
510
510
  padding: 0 1ch;
511
+ font-weight: 750;
511
512
  }
512
513
 
513
514
  .new-terminal {
@@ -575,7 +576,6 @@ body {
575
576
  width: 100%;
576
577
  height: 2rem;
577
578
  color: var(--m3c-on-surface);
578
- font: .875rem/1 var(--cod-font);
579
579
  text-align: left;
580
580
  cursor: pointer;
581
581
  align-items: center;
@@ -589,24 +589,22 @@ body {
589
589
 
590
590
  & .task-chevron {
591
591
  color: var(--m3c-primary);
592
- font: 850 .875rem/1 var(--cod-font);
592
+ font-family: var(--cod-font);
593
593
  flex: none;
594
+ font-weight: 850;
594
595
  }
595
596
 
596
- & strong {
597
- text-overflow: ellipsis;
598
- white-space: nowrap;
597
+ & .task-label {
599
598
  min-width: 0;
600
599
  color: var(--m3c-on-surface);
601
600
  flex: 1;
602
601
  align-items: center;
603
- font-size: .875rem;
604
602
  font-weight: 700;
605
603
  display: flex;
606
- overflow: hidden;
607
604
 
608
605
  & .task-title {
609
606
  text-overflow: ellipsis;
607
+ white-space: nowrap;
610
608
  min-width: 0;
611
609
  color: var(--m3c-on-surface-variant);
612
610
  font-weight: 500;
@@ -636,7 +634,6 @@ body {
636
634
 
637
635
  .empty {
638
636
  color: var(--m3c-on-surface-variant);
639
- font: .875rem/1.5 var(--cod-font);
640
637
  padding: 1rem;
641
638
  }
642
639
 
@@ -728,41 +725,127 @@ body {
728
725
  .cod-ansi-bright-white {
729
726
  color: light-dark(#1b1b1b, #f3f3f3);
730
727
  }
731
- `;const a=globalThis.process?.env?.NODE_ENV;var o=a&&!a.toLowerCase().startsWith(`prod`),s=Array.isArray,c=Array.prototype.indexOf,l=Array.prototype.includes,u=Array.from,d=Object.defineProperty,f=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyDescriptors,m=Object.prototype,h=Array.prototype,g=Object.getPrototypeOf,_=Object.isExtensible;const v=()=>{};function y(e){for(var t=0;t<e.length;t++)e[t]()}function b(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const x=1024,S=2048,C=4096,w=8192,ee=32768,te=1<<25,ne=65536,re=1<<25,ie=65536,ae=1<<21,oe=1<<23,se=Symbol(`$state`),ce=Symbol(``),le=Symbol(`proxy path`),ue=Symbol(`attributes`),de=Symbol(`class`),fe=Symbol(`style`),pe=Symbol(`text`),me=Symbol(`hmr anchor`),he=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},ge=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function _e(){if(o){let e=Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/async_derived_orphan`)}function ve(){if(o){let e=Error(`derived_references_self
728
+ `;const a=globalThis.process?.env?.NODE_ENV;var o=a&&!a.toLowerCase().startsWith(`prod`),s=Array.isArray,c=Array.prototype.indexOf,l=Array.prototype.includes,u=Array.from,d=Object.defineProperty,f=Object.getOwnPropertyDescriptor,p=Object.getOwnPropertyDescriptors,m=Object.prototype,h=Array.prototype,g=Object.getPrototypeOf,_=Object.isExtensible;const v=()=>{};function y(e){for(var t=0;t<e.length;t++)e[t]()}function b(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}const x=1024,S=2048,C=4096,w=8192,ee=32768,te=1<<25,ne=65536,T=1<<25,re=65536,ie=1<<21,ae=1<<23,oe=Symbol(`$state`),se=Symbol(``),ce=Symbol(`proxy path`),le=Symbol(`attributes`),ue=Symbol(`class`),de=Symbol(`style`),fe=Symbol(`text`),pe=Symbol(`hmr anchor`),me=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},he=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function ge(){if(o){let e=Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/async_derived_orphan`)}function _e(){if(o){let e=Error(`derived_references_self
732
729
  A derived value cannot reference itself recursively
733
- https://svelte.dev/e/derived_references_self`);throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/derived_references_self`)}function ye(e,t,n){if(o){let r=Error(`each_key_duplicate\n${n?`Keyed each block has duplicate key \`${n}\` at indexes ${e} and ${t}`:`Keyed each block has duplicate key at indexes ${e} and ${t}`}\nhttps://svelte.dev/e/each_key_duplicate`);throw r.name=`Svelte error`,r}else throw Error(`https://svelte.dev/e/each_key_duplicate`)}function be(e,t,n){if(o){let r=Error(`each_key_volatile\nKeyed each block has key that is not idempotent — the key for item at index ${e} was \`${t}\` but is now \`${n}\`. Keys must be the same each time for a given item\nhttps://svelte.dev/e/each_key_volatile`);throw r.name=`Svelte error`,r}else throw Error(`https://svelte.dev/e/each_key_volatile`)}function xe(e){if(o){let t=Error(`effect_in_teardown\n\`${e}\` cannot be used inside an effect cleanup function\nhttps://svelte.dev/e/effect_in_teardown`);throw t.name=`Svelte error`,t}else throw Error(`https://svelte.dev/e/effect_in_teardown`)}function Se(){if(o){let e=Error(`effect_in_unowned_derived
730
+ https://svelte.dev/e/derived_references_self`);throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/derived_references_self`)}function ve(e,t,n){if(o){let r=Error(`each_key_duplicate\n${n?`Keyed each block has duplicate key \`${n}\` at indexes ${e} and ${t}`:`Keyed each block has duplicate key at indexes ${e} and ${t}`}\nhttps://svelte.dev/e/each_key_duplicate`);throw r.name=`Svelte error`,r}else throw Error(`https://svelte.dev/e/each_key_duplicate`)}function ye(e,t,n){if(o){let r=Error(`each_key_volatile\nKeyed each block has key that is not idempotent — the key for item at index ${e} was \`${t}\` but is now \`${n}\`. Keys must be the same each time for a given item\nhttps://svelte.dev/e/each_key_volatile`);throw r.name=`Svelte error`,r}else throw Error(`https://svelte.dev/e/each_key_volatile`)}function be(e){if(o){let t=Error(`effect_in_teardown\n\`${e}\` cannot be used inside an effect cleanup function\nhttps://svelte.dev/e/effect_in_teardown`);throw t.name=`Svelte error`,t}else throw Error(`https://svelte.dev/e/effect_in_teardown`)}function xe(){if(o){let e=Error(`effect_in_unowned_derived
734
731
  Effect cannot be created inside a \`$derived\` value that was not itself created inside an effect
735
- https://svelte.dev/e/effect_in_unowned_derived`);throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Ce(e){if(o){let t=Error(`effect_orphan\n\`${e}\` can only be used inside an effect (e.g. during component initialisation)\nhttps://svelte.dev/e/effect_orphan`);throw t.name=`Svelte error`,t}else throw Error(`https://svelte.dev/e/effect_orphan`)}function we(){if(o){let e=Error(`effect_update_depth_exceeded
732
+ https://svelte.dev/e/effect_in_unowned_derived`);throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function Se(e){if(o){let t=Error(`effect_orphan\n\`${e}\` can only be used inside an effect (e.g. during component initialisation)\nhttps://svelte.dev/e/effect_orphan`);throw t.name=`Svelte error`,t}else throw Error(`https://svelte.dev/e/effect_orphan`)}function Ce(){if(o){let e=Error(`effect_update_depth_exceeded
736
733
  Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state
737
- https://svelte.dev/e/effect_update_depth_exceeded`);throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function Te(e){if(o){let t=Error(`rune_outside_svelte\nThe \`${e}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files\nhttps://svelte.dev/e/rune_outside_svelte`);throw t.name=`Svelte error`,t}else throw Error(`https://svelte.dev/e/rune_outside_svelte`)}function Ee(){if(o){let e=Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function De(){if(o){let e=Error(`state_prototype_fixed
734
+ https://svelte.dev/e/effect_update_depth_exceeded`);throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function we(e){if(o){let t=Error(`rune_outside_svelte\nThe \`${e}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files\nhttps://svelte.dev/e/rune_outside_svelte`);throw t.name=`Svelte error`,t}else throw Error(`https://svelte.dev/e/rune_outside_svelte`)}function Te(){if(o){let e=Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function Ee(){if(o){let e=Error(`state_prototype_fixed
738
735
  Cannot set prototype of \`$state\` object
739
- https://svelte.dev/e/state_prototype_fixed`);throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Oe(){if(o){let e=Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function ke(){if(o){let e=Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}const Ae={},T=Symbol(`uninitialized`),je=Symbol(`filename`);var Me=`font-weight: bold`,Ne=`font-weight: normal`;function Pe(e){o?console.warn(`%c[svelte] await_reactivity_loss\n%cDetected reactivity loss when reading \`${e}\`. This happens when state is read in an async function after an earlier \`await\`\nhttps://svelte.dev/e/await_reactivity_loss`,Me,Ne):console.warn(`https://svelte.dev/e/await_reactivity_loss`)}function Fe(e,t){o?console.warn(`%c[svelte] await_waterfall\n%cAn async derived, \`${e}\` (${t}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\nhttps://svelte.dev/e/await_waterfall`,Me,Ne):console.warn(`https://svelte.dev/e/await_waterfall`)}function Ie(){o?console.warn(`%c[svelte] derived_inert
736
+ https://svelte.dev/e/state_prototype_fixed`);throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function De(){if(o){let e=Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Oe(){if(o){let e=Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw e.name=`Svelte error`,e}else throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}const ke={},E=Symbol(`uninitialized`),Ae=Symbol(`filename`);var je=`font-weight: bold`,Me=`font-weight: normal`;function Ne(e){o?console.warn(`%c[svelte] await_reactivity_loss\n%cDetected reactivity loss when reading \`${e}\`. This happens when state is read in an async function after an earlier \`await\`\nhttps://svelte.dev/e/await_reactivity_loss`,je,Me):console.warn(`https://svelte.dev/e/await_reactivity_loss`)}function D(e,t){o?console.warn(`%c[svelte] await_waterfall\n%cAn async derived, \`${e}\` (${t}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\nhttps://svelte.dev/e/await_waterfall`,je,Me):console.warn(`https://svelte.dev/e/await_waterfall`)}function Pe(){o?console.warn(`%c[svelte] derived_inert
740
737
  %cReading a derived belonging to a now-destroyed effect may result in stale values
741
- https://svelte.dev/e/derived_inert`,Me,Ne):console.warn(`https://svelte.dev/e/derived_inert`)}function Le(e,t,n){o?console.warn(`%c[svelte] hydration_attribute_changed\n%cThe \`${e}\` attribute on \`${t}\` changed its value between server and client renders. The client value, \`${n}\`, will be ignored in favour of the server value\nhttps://svelte.dev/e/hydration_attribute_changed`,Me,Ne):console.warn(`https://svelte.dev/e/hydration_attribute_changed`)}function Re(e){o?console.warn(`%c[svelte] hydration_mismatch\n%c${e?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${e}`:`Hydration failed because the initial UI does not match what was rendered on the server`}\nhttps://svelte.dev/e/hydration_mismatch`,Me,Ne):console.warn(`https://svelte.dev/e/hydration_mismatch`)}function ze(e){o?console.warn(`%c[svelte] state_proxy_equality_mismatch\n%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${e}\` will produce unexpected results\nhttps://svelte.dev/e/state_proxy_equality_mismatch`,Me,Ne):console.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`)}function Be(){o?console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",Me,Ne):console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}let E=!1;function Ve(e){E=e}let D;function O(e){if(e===null)throw Re(),Ae;return D=e}function He(){return O(jn(D))}function k(e){if(E){if(jn(D)!==null)throw Re(),Ae;D=e}}function Ue(e=1){if(E){for(var t=e,n=D;t--;)n=jn(n);D=n}}function We(e=!0){for(var t=0,n=D;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=jn(n);e&&n.remove(),n=i}}function Ge(e){if(!e||e.nodeType!==8)throw Re(),Ae;return e.data}function Ke(e){return e===this.v}function qe(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Je(e){return!qe(e,this.v)}function Ye(e,t){return e.label=t,Xe(e.v,t),e}function Xe(e,t){return e?.[le]?.(t),e}function Ze(e){let t=Error(),n=Qe();return n.length===0?null:(n.unshift(`
738
+ https://svelte.dev/e/derived_inert`,je,Me):console.warn(`https://svelte.dev/e/derived_inert`)}function Fe(e,t,n){o?console.warn(`%c[svelte] hydration_attribute_changed\n%cThe \`${e}\` attribute on \`${t}\` changed its value between server and client renders. The client value, \`${n}\`, will be ignored in favour of the server value\nhttps://svelte.dev/e/hydration_attribute_changed`,je,Me):console.warn(`https://svelte.dev/e/hydration_attribute_changed`)}function Ie(e){o?console.warn(`%c[svelte] hydration_html_changed\n%c${e?`The value of an \`{@html ...}\` block ${e} changed between server and client renders. The client value will be ignored in favour of the server value`:"The value of an `{@html ...}` block changed between server and client renders. The client value will be ignored in favour of the server value"}\nhttps://svelte.dev/e/hydration_html_changed`,je,Me):console.warn(`https://svelte.dev/e/hydration_html_changed`)}function Le(e){o?console.warn(`%c[svelte] hydration_mismatch\n%c${e?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${e}`:`Hydration failed because the initial UI does not match what was rendered on the server`}\nhttps://svelte.dev/e/hydration_mismatch`,je,Me):console.warn(`https://svelte.dev/e/hydration_mismatch`)}function Re(e){o?console.warn(`%c[svelte] state_proxy_equality_mismatch\n%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${e}\` will produce unexpected results\nhttps://svelte.dev/e/state_proxy_equality_mismatch`,je,Me):console.warn(`https://svelte.dev/e/state_proxy_equality_mismatch`)}function ze(){o?console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",je,Me):console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}let O=!1;function Be(e){O=e}let k;function A(e){if(e===null)throw Le(),ke;return k=e}function Ve(){return A(jn(k))}function j(e){if(O){if(jn(k)!==null)throw Le(),ke;k=e}}function He(e=1){if(O){for(var t=e,n=k;t--;)n=jn(n);k=n}}function Ue(e=!0){for(var t=0,n=k;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=jn(n);e&&n.remove(),n=i}}function We(e){if(!e||e.nodeType!==8)throw Le(),ke;return e.data}function Ge(e){return e===this.v}function Ke(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function qe(e){return!Ke(e,this.v)}function Je(e,t){return e.label=t,Ye(e.v,t),e}function Ye(e,t){return e?.[ce]?.(t),e}function Xe(e){let t=Error(),n=Ze();return n.length===0?null:(n.unshift(`
742
739
  `),d(t,`stack`,{value:n.join(`
743
- `)}),d(t,`name`,{value:e}),t)}function Qe(){let e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let t=Error().stack;if(Error.stackTraceLimit=e,!t)return[];let n=t.split(`
744
- `),r=[];for(let e=0;e<n.length;e++){let t=n[e],i=t.replaceAll(`\\`,`/`);if(t.trim()!==`Error`){if(t.includes(`validate_each_keys`))return[];i.includes(`svelte/src/internal`)||i.includes(`node_modules/.vite`)||r.push(t)}}return r}let A=null;function $e(e){A=e}let et=null;function tt(e){et=e}let nt=null;function rt(e){nt=e}function it(e,t=!1,n){A={p:A,i:!1,c:null,e:null,s:e,x:null,r:G,l:null},o&&(A.function=n,nt=n)}function at(e){var t=A,n=t.e;if(n!==null){t.e=null;for(var r of n)Wn(r)}return e!==void 0&&(t.x=e),t.i=!0,A=t.p,o&&(nt=A?.function??null),e??{}}function ot(){return!0}let st=[];function ct(){var e=st;st=[],y(e)}function lt(e){if(st.length===0&&!St){var t=st;queueMicrotask(()=>{t===st&&ct()})}st.push(e)}function ut(){for(;st.length>0;)ct()}const dt=new WeakMap;function ft(e){var t=G;if(t===null)return H.f|=oe,e;if(o&&e instanceof Error&&!dt.has(e)&&dt.set(e,mt(e,t)),!(t.f&32768)&&!(t.f&4))throw o&&!t.parent&&e instanceof Error&&ht(e),e;pt(e,t)}function pt(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw o&&e instanceof Error&&ht(e),e}function mt(e,t){let n=f(e,`message`);if(!(n&&!n.configurable)){for(var r=En?` `:` `,i=`\n${r}in ${t.fn?.name||`<unknown>`}`,a=t.ctx;a!==null;)i+=`\n${r}in ${a.function?.[je].split(`/`).pop()}`,a=a.p;return{message:e.message+`\n${i}\n`,stack:e.stack?.split(`
740
+ `)}),d(t,`name`,{value:e}),t)}function Ze(){let e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let t=Error().stack;if(Error.stackTraceLimit=e,!t)return[];let n=t.split(`
741
+ `),r=[];for(let e=0;e<n.length;e++){let t=n[e],i=t.replaceAll(`\\`,`/`);if(t.trim()!==`Error`){if(t.includes(`validate_each_keys`))return[];i.includes(`svelte/src/internal`)||i.includes(`node_modules/.vite`)||r.push(t)}}return r}let M=null;function Qe(e){M=e}let $e=null;function et(e){$e=e}let tt=null;function nt(e){tt=e}function rt(e,t=!1,n){M={p:M,i:!1,c:null,e:null,s:e,x:null,r:K,l:null},o&&(M.function=n,tt=n)}function it(e){var t=M,n=t.e;if(n!==null){t.e=null;for(var r of n)Wn(r)}return e!==void 0&&(t.x=e),t.i=!0,M=t.p,o&&(tt=M?.function??null),e??{}}function at(){return!0}let ot=[];function st(){var e=ot;ot=[],y(e)}function ct(e){if(ot.length===0&&!St){var t=ot;queueMicrotask(()=>{t===ot&&st()})}ot.push(e)}function lt(){for(;ot.length>0;)st()}const ut=new WeakMap;function dt(e){var t=K;if(t===null)return U.f|=ae,e;if(o&&e instanceof Error&&!ut.has(e)&&ut.set(e,pt(e,t)),!(t.f&32768)&&!(t.f&4))throw o&&!t.parent&&e instanceof Error&&mt(e),e;ft(e,t)}function ft(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw o&&e instanceof Error&&mt(e),e}function pt(e,t){let n=f(e,`message`);if(!(n&&!n.configurable)){for(var r=En?` `:` `,i=`\n${r}in ${t.fn?.name||`<unknown>`}`,a=t.ctx;a!==null;)i+=`\n${r}in ${a.function?.[Ae].split(`/`).pop()}`,a=a.p;return{message:e.message+`\n${i}\n`,stack:e.stack?.split(`
745
742
  `).filter(e=>!e.includes(`svelte/src/internal`)).join(`
746
- `)}}}function ht(e){let t=dt.get(e);t&&(d(e,`message`,{value:t.message}),d(e,`stack`,{value:t.stack}))}function j(e,t){e.f=e.f&-7169|t}function gt(e){e.f&512||e.deps===null?j(e,x):j(e,C)}function _t(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=ie,_t(t.deps))}function vt(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),_t(e.deps),j(e,x)}let yt=null,M=null,bt=null,N=null,xt=null,St=!1,Ct=!1,wt=null,Tt=null;var Et=0,Dt=new Set;let Ot=1;var kt=class e{id=Ot++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;unblocked=new Set;#r=new Set;#i=new Set;#a=new Set;#o=0;#s=new Map;#c=null;#l=[];#u=[];#d=new Set;#f=new Set;#p=new Map;#m=new Set;is_fork=!1;#h=!1;#g(){if(this.is_fork)return!0;for(let n of this.#s.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#p.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#p.has(e)||this.#p.set(e,{d:[],m:[]}),this.#m.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#p.get(e);if(n){this.#p.delete(e);for(var r of n.d)j(r,S),t(r);for(r of n.m)j(r,C),t(r)}this.#m.add(e)}#_(){if(this.#e=!0,Et++>1e3&&(this.#C(),jt()),o)for(let e of this.current.keys())Dt.add(e);if(!this.#g()){for(let e of this.#d)this.#f.delete(e),j(e,S),this.schedule(e);for(let e of this.#f)j(e,C),this.schedule(e)}let t=this.#l;this.#l=[],this.apply();var n=wt=[],r=[],i=Tt=[];for(let e of t)try{this.#v(e,n,r)}catch(t){throw Rt(e),t}if(M=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(wt=null,Tt=null,this.#g()){this.#x(r),this.#x(n);for(let[e,t]of this.#p)Lt(e,t);i.length>0&&M.#_();return}let s=this.#y();if(s){s.#b(this);return}this.#d.clear(),this.#f.clear();for(let e of this.#r)e(this);this.#r.clear(),bt=this,Nt(r),Nt(n),bt=null,this.#c?.resolve();var c=M;if(this.linked&&this.#o===0&&this.#C(),this.#l.length>0){c===null&&(c=this,this.#S());let e=c;e.#l.push(...this.#l.filter(t=>!e.#l.includes(t)))}c!==null&&c.#_()}#v(e,t,n){e.f^=x;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#p.has(r))&&r.fn!==null){a?r.f^=x:i&4?t.push(r):vr(r)&&(i&16&&this.#f.add(r),Cr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#y(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#b(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve)}let t=e=>{var n=e.reactions;if(n!==null)for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#f.delete(i),j(i,S),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#C(),M=this,this.#_()}#x(e){for(var t=0;t<e.length;t+=1)vt(e[t],this.#d,this.#f)}capture(e,t,n=!1){e.v!==T&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),N?.set(e,t)),this.is_fork||(e.v=t)}activate(){M=this}deactivate(){M=null,N=null}flush(){try{o&&Dt.clear(),Ct=!0,M=this,this.#_()}finally{if(Et=0,xt=null,wt=null,Tt=null,Ct=!1,M=null,N=null,cn.clear(),o)for(let e of Dt)e.updated=null}}discard(){for(let e of this.#i)e(this);this.#i.clear(),this.#a.clear(),this.#C()}register_created_effect(e){this.#u.push(e)}increment(e,t){if(this.#o+=1,e){let e=this.#s.get(t)??0;this.#s.set(t,e+1)}}decrement(e,t){if(--this.#o,e){let e=this.#s.get(t)??0;e===1?this.#s.delete(t):this.#s.set(t,e-1)}this.#h||(this.#h=!0,lt(()=>{this.#h=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#d.add(t);for(let e of t)this.#f.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}on_fork_commit(e){this.#a.add(e)}run_fork_commit_callbacks(){for(let e of this.#a)e(this);this.#a.clear()}settled(){return(this.#c??=b()).promise}static ensure(){if(M===null){let t=M=new e;t.#S(),!Ct&&!St&&lt(()=>{t.#e||t.flush()})}return M}apply(){N=null}schedule(e){if(xt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(wt!==null&&t===G&&(H===null||!(H.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=x}}this.#l.push(t)}#S(){yt===null?yt=this:(yt.#n=this,this.#t=yt),yt=this}#C(){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?yt=e:t.#t=e,this.linked=!1}};function At(e){var t=St;St=!0;try{var n;for(e&&(M!==null&&!M.is_fork&&M.flush(),n=e());;){if(ut(),M===null)return n;M.flush()}}finally{St=t}}function jt(){if(o){var e=new Map;for(let n of M.current.keys())for(let[r,i]of n.updated??[]){var t=e.get(r);t||(t={error:i.error,count:0},e.set(r,t)),t.count+=i.count}for(let t of e.values())t.error&&console.error(t.error)}try{we()}catch(e){o&&d(e,`stack`,{value:``}),pt(e,xt)}}let Mt=null;function Nt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&vr(r)&&(Mt=new Set,Cr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&nr(r),Mt?.size>0)){cn.clear();for(let e of Mt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Mt.has(n)&&(Mt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Cr(n)}}Mt.clear()}}Mt=null}}function Pt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Pt(i,t,n,r):e&4194320&&!(e&2048)&&Ft(i,t,r)&&(j(i,S),It(i))}}function Ft(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(l.call(t,r))return!0;if(r.f&2&&Ft(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function It(e){M.schedule(e)}function Lt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),j(e,x);for(var n=e.first;n!==null;)Lt(n,t),n=n.next}}function Rt(e){j(e,x);for(var t=e.first;t!==null;)Rt(t),t=t.next}function zt(e){let t=0,n=fn(0),r;return o&&Ye(n,`createSubscriber version`),()=>{Vn()&&(Z(n),Jn(()=>(t===0&&(r=Dr(()=>e(()=>gn(n)))),t+=1,()=>{lt(()=>{--t,t===0&&(r?.(),r=void 0,gn(n))})})))}}var Bt=589824;function Vt(e,t,n,r){new Ht(e,t,n,r)}var Ht=class{parent;is_pending=!1;transform_error;#e;#t=E?D:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=zt(()=>(this.#m=fn(this.#l),o&&Ye(this.#m,`$effect.pending()`),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=G;t.b=this,t.f|=128,n(e)},this.parent=G.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Xn(()=>{if(E){let e=this.#t;He();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},Bt),E&&(this.#e=D)}#g(){try{this.#a=B(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=B(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=B(()=>e(this.#e)),lt(()=>{var e=this.#c=document.createDocumentFragment(),t=L();e.append(t),this.#a=this.#x(()=>B(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,rr(this.#o,()=>{this.#o=null}),this.#b(M))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=B(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();sr(this.#a,e);let t=this.#n.pending;this.#o=B(()=>t(this.#e))}else this.#b(M)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){vt(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=G,n=H,r=A;K(this.#i),W(this.#i),$e(this.#i.ctx);try{return kt.ensure(),e()}catch(e){return ft(e),null}finally{K(t),W(n),$e(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&rr(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,lt(()=>{this.#d=!1,this.#m&&mn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),Z(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;M?.is_fork?(this.#a&&M.skip_effect(this.#a),this.#o&&M.skip_effect(this.#o),this.#s&&M.skip_effect(this.#s),M.on_fork_commit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(V(this.#a),null),this.#o&&=(V(this.#o),null),this.#s&&=(V(this.#s),null),E&&(O(this.#t),Ue(),O(We()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){Be();return}r=!0,i&&ke(),this.#s!==null&&rr(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){pt(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return B(()=>{var t=G;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return pt(e,this.#i.parent),null}}))};lt(()=>{var t;try{t=this.transform_error(e)}catch(e){pt(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>pt(e,this.#i&&this.#i.parent)):o(t)})}};function Ut(e,t,n,r){let i=ot()?Yt:$t;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=G,s=Wt(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){if(!(o.f&16384)){s();try{r(e)}catch(e){pt(e,o)}Gt()}}var u=Kt();if(n.length===0){c.then(()=>l(t.map(i))).finally(u);return}function d(){Promise.all(n.map(e=>Zt(e))).then(e=>l([...t.map(i),...e])).catch(e=>pt(e,o)).finally(u)}c?c.then(()=>{s(),d(),Gt()}):d()}function Wt(){var e=G,t=H,n=A,r=M;if(o)var i=et;return function(a=!0){K(e),W(t),$e(n),a&&!(e.f&16384)&&(r?.activate(),r?.apply()),o&&(qt(null),tt(i))}}function Gt(e=!0){K(null),W(null),$e(null),e&&M?.deactivate(),o&&(qt(null),tt(null))}function Kt(){var e=G,t=e.b,n=M,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),()=>{t.update_pending_count(-1,n),n.decrement(r,e)}}let P=null;function qt(e){P=e}const Jt=new Set;function Yt(e){return G!==null&&(G.f|=524288),{ctx:A,deps:null,effects:null,equals:Ke,f:2050,fn:e,reactions:null,rv:0,v:T,wv:0,parent:G,ac:null}}const Xt=Symbol(`obsolete`);function Zt(e,t,n){let r=G;r===null&&_e();var i=void 0,a=fn(T);o&&(a.label=t??e.toString());var s=!H,c=new Set;return qn(()=>{var t=G;o&&(P={effect:t,effect_deps:new Set,warned:!1});var l=b();i=l.promise;try{Promise.resolve(e()).then(l.resolve,e=>{e!==he&&l.reject(e)}).finally(Gt)}catch(e){l.reject(e),Gt()}if(o){if(P){if(t.deps!==null)for(let e=0;e<Y;e+=1)P.effect_deps.add(t.deps[e]);if(J!==null)for(let e=0;e<J.length;e+=1)P.effect_deps.add(J[e])}P=null}var u=M;if(s){if(t.f&32768)var d=Kt();if(r.b.is_rendered())u.async_deriveds.get(t)?.reject(Xt);else for(let e of c.values())e.reject(Xt);c.add(l),u.async_deriveds.set(t,l)}let f=(e,r=void 0)=>{o&&(P=null),d?.(),c.delete(l),r!==Xt&&(u.activate(),r?(a.f|=oe,mn(a,r)):(a.f&8388608&&(a.f^=oe),mn(a,e),o&&n!==void 0&&(Jt.add(a),setTimeout(()=>{Jt.has(a)&&!(t.f&16384)&&(Fe(a.label,n),Jt.delete(a))}))),u.deactivate())};l.promise.then(f,e=>f(null,e||`unknown`))}),Hn(()=>{for(let e of c)e.reject(Xt)}),o&&(a.f|=4194304),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function Qt(e){let t=Yt(e);return dr(t),t}function $t(e){let t=Yt(e);return t.equals=Je,t}function en(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)V(t[n])}}let tn=[];function nn(e){var t,n=G,r=e.parent;if(!lr&&r!==null&&e.v!==T&&r.f&24576)return Ie(),e.v;if(K(r),o){let r=sn;ln(new Set);try{l.call(tn,e)&&ve(),tn.push(e),e.f&=-65537,en(e),t=br(e)}finally{K(n),ln(r),tn.pop()}}else try{e.f&=-65537,en(e),t=br(e)}finally{K(n)}return t}function rn(e){var t=nn(e);if(!e.equals(t)&&(e.wv=_r(),(!M?.is_fork||e.deps===null)&&(M===null?e.v=t:(M.capture(e,t,!0),bt?.capture(e,t,!0)),e.deps===null))){j(e,x);return}lr||(N===null?gt(e):(Vn()||M?.is_fork)&&N.set(e,t))}function an(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(he),t.fn!==null&&(t.teardown=v),t.ac=null,Sr(t,0),$n(t))}function on(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&Cr(t)}let sn=new Set;const cn=new Map;function ln(e){sn=e}let un=!1;function dn(){un=!0}function fn(e,t){return{f:0,v:e,reactions:null,equals:Ke,rv:0,wv:0}}function F(e,t){let n=fn(e,t);return dr(n),n}function pn(e,t=!1,n=!0){let r=fn(e);return t||(r.equals=Je),r}function I(e,t,n=!1){H!==null&&(!U||H.f&131072)&&ot()&&H.f&4325394&&(q===null||!l.call(q,e))&&Oe();let r=n?yn(t):t;return o&&Xe(r,e.label),mn(e,r,Tt)}function mn(e,t,n=null){if(!e.equals(t)){cn.set(e,lr?t:e.v);var r=kt.ensure();if(r.capture(e,t),o){if(G!==null){e.updated??=new Map;let t=(e.updated.get(``)?.count??0)+1;if(e.updated.set(``,{error:null,count:t}),t>5){let t=Ze(`updated at`);if(t!==null){let n=e.updated.get(t.stack);n||(n={error:t,count:0},e.updated.set(t.stack,n)),n.count++}}}G!==null&&(e.set_during_effect=!0)}if(e.f&2){let t=e;e.f&2048&&nn(t),N===null&&gt(t)}e.wv=_r(),_n(e,S,n),ot()&&G!==null&&G.f&1024&&!(G.f&96)&&(X===null?fr([e]):X.push(e)),!r.is_fork&&sn.size>0&&!un&&hn()}return t}function hn(){un=!1;for(let e of sn){e.f&1024&&j(e,C);let t;try{t=vr(e)}catch{t=!0}t&&Cr(e)}sn.clear()}function gn(e){I(e,e.v+1)}function _n(e,t,n){var r=e.reactions;if(r!==null)for(var i=ot(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===G)){var l=(c&S)==0;if(l&&j(s,t),c&131072)sn.add(s);else if(c&2){var u=s;N?.delete(u),c&65536||(c&512&&(G===null||!(G.f&2097152))&&(s.f|=ie),_n(u,C,n))}else if(l){var d=s;c&16&&Mt!==null&&Mt.add(d),n===null?It(d):n.push(d)}}}}const vn=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function yn(e){if(typeof e!=`object`||!e||se in e)return e;let t=g(e);if(t!==m&&t!==h)return e;var n=new Map,r=s(e),i=F(0),a=null,c=hr,l=e=>{if(hr===c)return e();var t=H,n=hr;W(null),gr(c);var r=e();return W(t),gr(n),r};r&&(n.set(`length`,F(e.length,a)),o&&(e=Cn(e)));var u=``;let d=!1;function p(e){if(!d){d=!0,u=e,Ye(i,`${u} version`);for(let[e,t]of n)Ye(t,bn(u,e));d=!1}}return new Proxy(e,{defineProperty(e,t,r){(!(`value`in r)||r.configurable===!1||r.enumerable===!1||r.writable===!1)&&Ee();var i=n.get(t);return i===void 0?l(()=>{var e=F(r.value,a);return n.set(t,e),o&&typeof t==`string`&&Ye(e,bn(u,t)),e}):I(i,r.value,!0),!0},deleteProperty(e,t){var r=n.get(t);if(r===void 0){if(t in e){let e=l(()=>F(T,a));n.set(t,e),gn(i),o&&Ye(e,bn(u,t))}}else I(r,T),gn(i);return!0},get(t,r,i){if(r===se)return e;if(o&&r===le)return p;var s=n.get(r),c=r in t;if(s===void 0&&(!c||f(t,r)?.writable)&&(s=l(()=>{var e=F(yn(c?t[r]:T),a);return o&&Ye(e,bn(u,r)),e}),n.set(r,s)),s!==void 0){var d=Z(s);return d===T?void 0:d}return Reflect.get(t,r,i)},getOwnPropertyDescriptor(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);if(r&&`value`in r){var i=n.get(t);i&&(r.value=Z(i))}else if(r===void 0){var a=n.get(t),o=a?.v;if(a!==void 0&&o!==T)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return r},has(e,t){if(t===se)return!0;var r=n.get(t),i=r!==void 0&&r.v!==T||Reflect.has(e,t);return(r!==void 0||G!==null&&(!i||f(e,t)?.writable))&&(r===void 0&&(r=l(()=>{var n=F(i?yn(e[t]):T,a);return o&&Ye(n,bn(u,t)),n}),n.set(t,r)),Z(r)===T)?!1:i},set(e,t,s,c){var d=n.get(t),p=t in e;if(r&&t===`length`)for(var m=s;m<d.v;m+=1){var h=n.get(m+``);h===void 0?m in e&&(h=l(()=>F(T,a)),n.set(m+``,h),o&&Ye(h,bn(u,m))):I(h,T)}if(d===void 0)(!p||f(e,t)?.writable)&&(d=l(()=>F(void 0,a)),o&&Ye(d,bn(u,t)),I(d,yn(s)),n.set(t,d));else{p=d.v!==T;var g=l(()=>yn(s));I(d,g)}var _=Reflect.getOwnPropertyDescriptor(e,t);if(_?.set&&_.set.call(c,s),!p){if(r&&typeof t==`string`){var v=n.get(`length`),y=Number(t);Number.isInteger(y)&&y>=v.v&&I(v,y+1)}gn(i)}return!0},ownKeys(e){Z(i);var t=Reflect.ownKeys(e).filter(e=>{var t=n.get(e);return t===void 0||t.v!==T});for(var[r,a]of n)a.v!==T&&!(r in e)&&t.push(r);return t},setPrototypeOf(){De()}})}function bn(e,t){return typeof t==`symbol`?`${e}[Symbol(${t.description??``})]`:vn.test(t)?`${e}.${t}`:/^\d+$/.test(t)?`${e}[${t}]`:`${e}['${t}']`}function xn(e){try{if(typeof e==`object`&&e&&se in e)return e[se]}catch{}return e}const Sn=new Set([`copyWithin`,`fill`,`pop`,`push`,`reverse`,`shift`,`sort`,`splice`,`unshift`]);function Cn(e){return new Proxy(e,{get(e,t,n){var r=Reflect.get(e,t,n);return Sn.has(t)?function(...e){dn();var t=r.apply(this,e);return hn(),t}:r}})}function wn(){let e=Array.prototype,t=Array.__svelte_cleanup;t&&t();let{indexOf:n,lastIndexOf:r,includes:i}=e;e.indexOf=function(e,t){let r=n.call(this,e,t);if(r===-1){for(let n=t??0;n<this.length;n+=1)if(xn(this[n])===e){ze(`array.indexOf(...)`);break}}return r},e.lastIndexOf=function(e,t){let n=r.call(this,e,t??this.length-1);if(n===-1){for(let n=0;n<=(t??this.length-1);n+=1)if(xn(this[n])===e){ze(`array.lastIndexOf(...)`);break}}return n},e.includes=function(e,t){let n=i.call(this,e,t);if(!n){for(let t=0;t<this.length;t+=1)if(xn(this[t])===e){ze(`array.includes(...)`);break}}return n},Array.__svelte_cleanup=()=>{e.indexOf=n,e.lastIndexOf=r,e.includes=i}}var Tn,En,Dn,On;function kn(){if(Tn===void 0){Tn=window,En=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Dn=f(t,`firstChild`).get,On=f(t,`nextSibling`).get,_(e)&&(e[de]=void 0,e[ue]=null,e[fe]=void 0,e.__e=void 0),_(n)&&(n[pe]=void 0),o&&(e.__svelte_meta=null,wn())}}function L(e=``){return document.createTextNode(e)}function An(e){return Dn.call(e)}function jn(e){return On.call(e)}function R(e,t){if(!E)return An(e);var n=An(D);if(n===null)n=D.appendChild(L());else if(t&&n.nodeType!==3){var r=L();return n?.before(r),O(r),r}return t&&In(n),O(n),n}function Mn(e,t=!1){if(!E){var n=An(e);return n instanceof Comment&&n.data===``?jn(n):n}if(t){if(D?.nodeType!==3){var r=L();return D?.before(r),O(r),r}In(D)}return D}function z(e,t=1,n=!1){let r=E?D:e;for(var i;t--;)i=r,r=jn(r);if(!E)return r;if(n){if(r?.nodeType!==3){var a=L();return r===null?i?.after(a):r.before(a),O(a),a}In(r)}return O(r),r}function Nn(e){e.textContent=``}function Pn(){return!1}function Fn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function In(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Ln(e){var t=H,n=G;W(null),K(null);try{return e()}finally{W(t),K(n)}}function Rn(e){G===null&&(H===null&&Ce(e),Se()),lr&&xe(e)}function zn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Bn(e,t){var n=G;if(o)for(;n!==null&&n.f&131072;)n=n.parent;n!==null&&n.f&8192&&(e|=w);var r={ctx:A,deps:null,nodes:null,f:e|2560,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};o&&(r.component_function=nt),M?.register_created_effect(r);var i=r;if(e&4)wt===null?kt.ensure().schedule(r):wt.push(r);else if(t!==null){try{Cr(r)}catch(e){throw V(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=ne))}if(i!==null&&(i.parent=n,n!==null&&zn(i,n),H!==null&&H.f&2&&!(e&64))){var a=H;(a.effects??=[]).push(i)}return r}function Vn(){return H!==null&&!U}function Hn(e){let t=Bn(8,null);return j(t,x),t.teardown=e,t}function Un(e){Rn(`$effect`),o&&d(e,`name`,{value:`$effect`});var t=G.f;if(!H&&t&32&&!(t&32768)){var n=A;(n.e??=[]).push(e)}else return Wn(e)}function Wn(e){return Bn(1048580,e)}function Gn(e){kt.ensure();let t=Bn(524352,e);return(e={})=>new Promise(n=>{e.outro?rr(t,()=>{V(t),n(void 0)}):(V(t),n(void 0))})}function Kn(e){return Bn(4,e)}function qn(e){return Bn(4718592,e)}function Jn(e,t=0){return Bn(8|t,e)}function Yn(e,t=[],n=[],r=[]){Ut(r,t,n,t=>{Bn(8,()=>e(...t.map(Z)))})}function Xn(e,t=0){var n=Bn(16|t,e);return o&&(n.dev_stack=et),n}function Zn(e,t=0){var n=Bn(16777216|t,e);return o&&(n.dev_stack=et),n}function B(e){return Bn(524320,e)}function Qn(e){var t=e.teardown;if(t!==null){let e=lr,n=H;ur(!0),W(null);try{t.call(null)}finally{ur(e),W(n)}}}function $n(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&Ln(()=>{e.abort(he)});var r=n.next;n.f&64?n.parent=null:V(n,t),n=r}}function er(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||V(t),t=n}}function V(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(tr(e.nodes.start,e.nodes.end),n=!0),j(e,te),$n(e,t&&!n),Sr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Qn(e),e.f^=te,e.f|=16384;var i=e.parent;i!==null&&i.first!==null&&nr(e),o&&(e.component_function=null),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function tr(e,t){for(;e!==null;){var n=e===t?null:jn(e);e.remove(),e=n}}function nr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function rr(e,t,n=!0){var r=[];ir(e,r,!0);var i=()=>{n&&V(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function ir(e,t,n){if(!(e.f&8192)){e.f^=w;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;ir(i,t,o?n:!1)}i=a}}}function ar(e){or(e,!0)}function or(e,t){if(e.f&8192){e.f^=w,e.f&1024||(j(e,S),kt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;or(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function sr(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:jn(n);t.append(n),n=i}}let cr=!1,lr=!1;function ur(e){lr=e}let H=null,U=!1;function W(e){H=e}let G=null;function K(e){G=e}let q=null;function dr(e){H!==null&&(q===null?q=[e]:q.push(e))}let J=null,Y=0,X=null;function fr(e){X=e}let pr=1,mr=0,hr=mr;function gr(e){hr=e}function _r(){return++pr}function vr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=-65537),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(vr(a)&&rn(a),a.wv>e.wv)return!0}t&512&&N===null&&j(e,x)}return!1}function yr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(q!==null&&l.call(q,e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?yr(a,t,!1):t===a&&(n?j(a,S):a.f&1024&&j(a,C),It(a))}}function br(e){var t=J,n=Y,r=X,i=H,a=q,o=A,s=U,c=hr,l=e.f;J=null,Y=0,X=null,H=l&96?null:e,q=null,$e(e.ctx),U=!1,hr=++mr,e.ac!==null&&(Ln(()=>{e.ac.abort(he)}),e.ac=null);try{e.f|=ae;var u=e.fn,d=u();e.f|=ee;var f=e.deps,p=M?.is_fork;if(J!==null){var m;if(p||Sr(e,Y),f!==null&&Y>0)for(f.length=Y+J.length,m=0;m<J.length;m++)f[Y+m]=J[m];else e.deps=f=J;if(Vn()&&e.f&512)for(m=Y;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&Y<f.length&&(Sr(e,Y),f.length=Y);if(ot()&&X!==null&&!U&&f!==null&&!(e.f&6146))for(m=0;m<X.length;m++)yr(X[m],e);if(i!==null&&i!==e){if(mr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=mr;if(t!==null)for(let e of t)e.rv=mr;X!==null&&(r===null?r=X:r.push(...X))}return e.f&8388608&&(e.f^=oe),d}catch(e){return ft(e)}finally{e.f^=ae,J=t,Y=n,X=r,H=i,q=a,$e(o),U=s,hr=c}}function xr(e,t){let n=t.reactions;if(n!==null){var r=c.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(n===null&&t.f&2&&(J===null||!l.call(J,t))){var a=t;a.f&512&&(a.f^=512,a.f&=-65537),a.v!==T&&gt(a),an(a),Sr(a,0)}}function Sr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)xr(e,n[r])}function Cr(e){var t=e.f;if(!(t&16384)){j(e,x);var n=G,r=cr;if(G=e,cr=!0,o){var i=nt;rt(e.component_function);var a=et;tt(e.dev_stack??et)}try{t&16777232?er(e):$n(e),Qn(e);var s=br(e);e.teardown=typeof s==`function`?s:null,e.wv=pr}finally{cr=r,G=n,o&&(rt(i),tt(a))}}}async function wr(){await Promise.resolve(),At()}function Z(e){var t=(e.f&2)!=0;if(H!==null&&!U&&!(G!==null&&G.f&16384)&&(q===null||!l.call(q,e))){var n=H.deps;if(H.f&2097152)e.rv<mr&&(e.rv=mr,J===null&&n!==null&&n[Y]===e?Y++:J===null?J=[e]:J.push(e));else{H.deps??=[],l.call(H.deps,e)||H.deps.push(e);var r=e.reactions;r===null?e.reactions=[H]:l.call(r,H)||r.push(H)}}if(o){if(!U&&P&&!P.warned&&!(P.effect.f&2097152)&&!P.effect_deps.has(e)){P.warned=!0,Pe(e.label);var i=Ze(`traced at`);i&&console.warn(i)}Jt.delete(e)}if(lr&&cn.has(e))return cn.get(e);if(t){var a=e;if(lr){var s=a.v;return(!(a.f&1024)&&a.reactions!==null||Er(a))&&(s=nn(a)),cn.set(a,s),s}var c=(a.f&512)==0&&!U&&H!==null&&(cr||(H.f&512)!=0),u=(a.f&ee)==0;vr(a)&&(c&&(a.f|=512),rn(a)),c&&!u&&(on(a),Tr(a))}if(N?.has(e))return N.get(e);if(e.f&8388608)throw e.v;return e.v}function Tr(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(on(t),Tr(t))}function Er(e){if(e.v===T)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(cn.has(t)||t.f&2&&Er(t))return!0;return!1}function Dr(e){var t=U;try{return U=!0,e()}finally{U=t}}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];const Or=[`touchstart`,`touchmove`];function kr(e){return Or.includes(e)}var Ar=new Map;function jr(e,t){var n=Ar.get(e);n||(n=new Set,Ar.set(e,n)),n.add(t)}const Mr=Symbol(`events`),Nr=new Set,Pr=new Set;function Fr(e,t,n,r={}){function i(e){if(r.capture||Br.call(t,e),!e.cancelBubble)return Ln(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?lt(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Ir(e,t,n,r,i){var a={capture:r,passive:i},o=Fr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Hn(()=>{t.removeEventListener(e,o,a)})}function Lr(e,t,n){(t[Mr]??={})[e]=n}function Rr(e){for(var t=0;t<e.length;t++)Nr.add(e[t]);for(var n of Pr)n(e)}let zr=null;function Br(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;zr=e;var o=0,s=zr===e&&e[Mr];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[Mr]=t;return}var l=i.indexOf(t);if(l===-1)return;c<=l&&(o=c)}if(a=i[o]||e.target,a!==t){d(e,`currentTarget`,{configurable:!0,get(){return a||n}});var u=H,f=G;W(null),K(null);try{for(var p,m=[];a!==null;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[Mr]?.[r];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;a=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[Mr]=t,delete e.currentTarget,W(u),K(f)}}}const Vr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Hr(e){return Vr?.createHTML(e)??e}function Ur(e){var t=Fn(`template`);return t.innerHTML=Hr(e.replaceAll(`<!>`,`<!---->`)),t.content}function Wr(e,t){var n=G;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function Q(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(E)return Wr(D,null),D;i===void 0&&(i=Ur(a?e:`<!>`+e),n||(i=An(i)));var t=r||En?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=An(t),s=t.lastChild;Wr(o,s)}else Wr(t,t);return t}}function $(e,t){if(E){var n=G;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=D),He();return}e!==null&&e.before(t)}function Gr(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[pe]??=e.nodeValue)&&(e[pe]=n,e.nodeValue=`${n}`)}function Kr(e,t){return Jr(e,t)}const qr=new Map;function Jr(e,{target:t,anchor:n,props:r={},events:i,context:a,intro:o=!0,transformError:s}){kn();var c=void 0,l=Gn(()=>{var o=n??t.appendChild(L());Vt(o,{pending:()=>{}},t=>{it({});var n=A;if(a&&(n.c=a),i&&(r.$$events=i),E&&Wr(t,null),c=e(t,r)||{},E&&(G.nodes.end=D,D===null||D.nodeType!==8||D.data!==`]`))throw Re(),Ae;at()},s);var l=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!l.has(r)){l.add(r);var i=kr(r);for(let e of[t,document]){var a=qr.get(e);a===void 0&&(a=new Map,qr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Br,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(u(Nr)),Pr.add(d),()=>{for(var e of l)for(let n of[t,document]){var r=qr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Br),r.delete(e),r.size===0&&qr.delete(n)):r.set(e,i)}Pr.delete(d),o!==n&&o.parentNode?.removeChild(o)}});return Yr.set(c,l),c}let Yr=new WeakMap;var Xr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)ar(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),o&&(r.fragment.lastChild[me]=this.anchor),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(V(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();sr(r,t),t.append(L()),this.#n.set(e,{effect:r,fragment:t})}else V(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),rr(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(V(n.effect),this.#n.delete(e))};ensure(e,t){var n=M,r=Pn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=L();i.append(a),this.#n.set(e,{effect:B(()=>t(a)),fragment:i})}else this.#t.set(e,B(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else E&&(this.anchor=D),this.#a(n)}};function Zr(e,t,n=!1){var r;E&&(r=D,He());var i=new Xr(e),a=n?ne:0;function o(e,t){if(E){var n=Ge(r);if(e!==parseInt(n.substring(1))){var a=We();O(a),i.anchor=a,Ve(!1),i.ensure(e,t),Ve(!0);return}}i.ensure(e,t)}Xn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Qr(e,t){return t}function $r(e,t,n){for(var r=[],i=t.length,a,o=t.length,s=0;s<i;s++){let n=t[s];rr(n,()=>{if(a){if(a.pending.delete(n),a.done.add(n),a.pending.size===0){var t=e.outrogroups;ei(e,u(a.done)),t.delete(a),t.size===0&&(e.outrogroups=null)}}else --o},!1)}if(o===0){var c=r.length===0&&n!==null;if(c){var l=n,d=l.parentNode;Nn(d),d.append(l),e.items.clear()}ei(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function ei(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=re,sr(a,document.createDocumentFragment())):V(t[i],n)}}var ti;function ni(e,t,n,r,i,a=null){var c=e,l=new Map;if(t&4){var d=e;c=E?O(An(d)):d.appendChild(L())}E&&He();var f=null,p=$t(()=>{var e=n();return s(e)?e:e==null?[]:u(e)});o&&Ye(p,`{#each ...}`);var m,h=new Map,g=!0;function _(e){y.effect.f&16384||(y.pending.delete(e),y.fallback=f,ii(y,m,c,t,r),f!==null&&(m.length===0?f.f&33554432?(f.f^=re,oi(f,null,c)):ar(f):rr(f,()=>{f=null})))}function v(e){y.pending.delete(e)}var y={effect:Xn(()=>{m=Z(p);var e=m.length;let s=!1;E&&Ge(c)===`[!`!=(e===0)&&(c=We(),O(c),Ve(!1),s=!0);for(var u=new Set,d=M,y=Pn(),b=0;b<e;b+=1){E&&D.nodeType===8&&D.data===`]`&&(c=D,s=!0,Ve(!1));var x=m[b],S=r(x,b);if(o){var C=r(x,b);S!==C&&be(String(b),String(S),String(C))}var w=g?null:l.get(S);w?(w.v&&mn(w.v,x),w.i&&mn(w.i,b),y&&d.unskip_effect(w.e)):(w=ai(l,g?c:ti??=L(),x,S,b,i,t,n),g||(w.e.f|=re),l.set(S,w)),u.add(S)}if(e===0&&a&&!f&&(g?f=B(()=>a(c)):(f=B(()=>a(ti??=L())),f.f|=re)),e>u.size&&(o?ci(m,r):ye(``,``,``)),E&&e>0&&O(We()),!g)if(h.set(d,u),y){for(let[e,t]of l)u.has(e)||d.skip_effect(t.e);d.oncommit(_),d.ondiscard(v)}else _(d);s&&Ve(!0),Z(p)}),flags:t,items:l,pending:h,outrogroups:null,fallback:f};g=!1,E&&(c=D)}function ri(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function ii(e,t,n,r,i){var a=(r&8)!=0,o=t.length,s=e.items,c=ri(e.effect.first),l,d=null,f,p=[],m=[],h,g,_,v;if(a)for(v=0;v<o;v+=1)h=t[v],g=i(h,v),_=s.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<o;v+=1){if(h=t[v],g=i(h,v),_=s.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(ar(_),a&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=re,_===c)oi(_,null,n);else{var y=d?d.next:c;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),si(e,d,_),si(e,_,y),oi(_,y,n),d=_,p=[],m=[],c=ri(d.next);continue}if(_!==c){if(l!==void 0&&l.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],C=p[p.length-1];for(x=0;x<p.length;x+=1)oi(p[x],b,n);for(x=0;x<m.length;x+=1)l.delete(m[x]);si(e,S.prev,C.next),si(e,d,S),si(e,C,b),c=b,d=C,--v,p=[],m=[]}else l.delete(_),oi(_,c,n),si(e,_.prev,_.next),si(e,_,d===null?e.effect.first:d.next),si(e,d,_),d=_;continue}for(p=[],m=[];c!==null&&c!==_;)(l??=new Set).add(c),m.push(c),c=ri(c.next);if(c===null)continue}_.f&33554432||p.push(_),d=_,c=ri(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(ei(e,u(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||l!==void 0){var w=[];if(l!==void 0)for(_ of l)_.f&8192||w.push(_);for(;c!==null;)!(c.f&8192)&&c!==e.fallback&&w.push(c),c=ri(c.next);var ee=w.length;if(ee>0){var te=r&4&&o===0?n:null;if(a){for(v=0;v<ee;v+=1)w[v].nodes?.a?.measure();for(v=0;v<ee;v+=1)w[v].nodes?.a?.fix()}$r(e,w,te)}}a&&lt(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function ai(e,t,n,r,i,a,s,c){var l=s&1?s&16?fn(n):pn(n,!1,!1):null,u=s&2?fn(i):null;return o&&l&&(l.trace=()=>{c()[u?.v??i]}),{v:l,i:u,e:B(()=>(a(t,l??n,u??i,c),()=>{e.delete(r)}))}}function oi(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=jn(r);if(a.before(r),r===i)return;r=o}}function si(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function ci(e,t){let n=new Map,r=e.length;for(let i=0;i<r;i++){let r=t(e[i],i);if(n.has(r)){let e=String(n.get(r)),t=String(i),a=String(r);a.startsWith(`[object `)&&(a=null),ye(e,t,a)}n.set(r,i)}}function li(e,t){Kn(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector(`#`+t.hash)){let e=Fn(`style`);e.id=t.hash,e.textContent=t.code,r.appendChild(e),o&&jr(t.hash,e)}})}function ui(e,t){var n=void 0,r;Zn(()=>{n!==(n=t())&&(r&&=(V(r),null),n&&(r=B(()=>{Kn(()=>n(e))})))})}function di(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=di(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function fi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=di(e))&&(r&&(r+=` `),r+=t);return r}function pi(e){return typeof e==`object`?fi(e):e??``}const mi=[...`
747
- \r\f\xA0\v`];function hi(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||mi.includes(r[o-1]))&&(s===r.length||mi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function gi(e,t,n,r,i,a){var o=e[de];if(E||o!==n||o===void 0){var s=hi(n,r,a);(!E||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[de]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}const _i=Symbol(`is custom element`),vi=Symbol(`is html`),yi=ge?`link`:`LINK`;function bi(e,t,n,r){var i=xi(e);if(E&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===yi)){r||wi(e,t,n??``);return}i[t]!==(i[t]=n)&&(t===`loading`&&(e[ce]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Ci(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function xi(e){return e[ue]??={[_i]:e.nodeName.includes(`-`),[vi]:e.namespaceURI===`http://www.w3.org/1999/xhtml`}}var Si=new Map;function Ci(e){var t=e.getAttribute(`is`)||e.nodeName,n=Si.get(t);if(n)return n;Si.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=p(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=g(i)}return n}function wi(e,t,n){o&&(t===`srcset`&&Di(e,n)||Ti(e.getAttribute(t)??``,n)||Le(t,e.outerHTML.replace(e.innerHTML,e.innerHTML&&`...`),String(n)))}function Ti(e,t){return e===t?!0:new URL(e,document.baseURI).href===new URL(t,document.baseURI).href}function Ei(e){return e.split(`,`).map(e=>e.trim().split(` `).filter(Boolean))}function Di(e,t){var n=Ei(e.srcset),r=Ei(t);return r.length===n.length&&r.every(([e,t],r)=>t===n[r][1]&&(Ti(n[r][0],e)||Ti(e,n[r][0])))}function Oi(e,t){return e===t||e?.[se]===t}function ki(e={},t,n,r){var i=A.r,a=G;return Kn(()=>{var o,s;return Jn(()=>{o=s,s=r?.()||[],Dr(()=>{Oi(n(...s),e)||(t(e,...s),o&&Oi(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&Oi(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}if(o){function e(e){if(!(e in globalThis)){let t;Object.defineProperty(globalThis,e,{configurable:!0,get:()=>{if(t!==void 0)return t;Te(e)},set:e=>{t=e}})}}e(`$state`),e(`$effect`),e(`$derived`),e(`$inspect`),e(`$props`),e(`$bindable`)}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var Ai=`data:image/webp;base64,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`,ji=Q(`<span> </span>`),Mi=Q(`<pre></pre>`);function Ni(e,t){it(t,!0);let n=(e,t)=>{let n=[],r=e=>{let t=n.at(-1);t&&t.className===e.className?t.text+=e.text:e.text&&n.push(e)},i=0;for(let n of t)n.start>i&&r({text:e.slice(i,n.start)}),r({className:n.name,text:e.slice(n.start,n.end)}),i=n.end;return i<e.length&&r({text:e.slice(i)}),n},r=F(void 0),i=Qt(()=>n(t.text,t.ranges));Un(()=>{t.text,Z(r),wr().then(()=>{Z(r)&&(Z(r).scrollTop=Z(r).scrollHeight)})});var a=Mi();ni(a,21,()=>Z(i),Qr,(e,t)=>{var n=ji(),r=R(n,!0);k(n),Yn(()=>{gi(n,1,pi(Z(t).className)),Gr(r,Z(t).text)}),$(e,n)}),k(a),ki(a,e=>I(r,e),()=>Z(r)),Yn(()=>bi(a,`data-terminal-id`,t.id)),$(e,a),at()}const Pi={30:`black`,31:`red`,32:`green`,33:`yellow`,34:`blue`,35:`magenta`,36:`cyan`,37:`white`,90:`bright-black`,91:`bright-red`,92:`bright-green`,93:`bright-yellow`,94:`bright-blue`,95:`bright-magenta`,96:`bright-cyan`,97:`bright-white`},Fi=e=>{if(e.ctrlKey&&e.key.length===1){let t=e.key.toUpperCase().charCodeAt(0)-64;if(t>=1&&t<=26)return String.fromCharCode(t)}if(e.key===`Enter`)return`\r`;if(e.key===`Backspace`)return``;if(e.key===`Tab`)return` `;if(e.key===`Escape`)return`\x1B`;if(e.key===`ArrowUp`)return`\x1B[A`;if(e.key===`ArrowDown`)return`\x1B[B`;if(e.key===`ArrowRight`)return`\x1B[C`;if(e.key===`ArrowLeft`)return`\x1B[D`;if(e.key===`Home`)return`\x1B[H`;if(e.key===`End`)return`\x1B[F`;if(e.key===`Delete`)return`\x1B[3~`;if(e.key===`PageUp`)return`\x1B[5~`;if(e.key===`PageDown`)return`\x1B[6~`;if(e.key.length===1&&!e.metaKey&&!e.altKey)return e.key},Ii=e=>{let t=e.lines.map(e=>e.text).join(``).replace(/\x1b(?!\[)/g,``),n=[],r=[[]],i=0,a=0,o=``,s=!1,c=()=>(r[i]??=[],r[i]),l=e=>{let t=c();for(;t.length<a;)t.push({text:` `,foreground:``,bold:!1});t[a]={text:e,foreground:o,bold:s},a+=1},u=e=>{let t=c();if(e===2)r[i]=[],a=0;else if(e===1)for(let e=0;e<=a;e+=1)t[e]={text:` `,foreground:``,bold:!1};else t.length=a},d=e=>{let t=e?e.split(`;`).map(Number):[0];for(let e of t)e===0?(o=``,s=!1):e===1?s=!0:e===22?s=!1:e===39?o=``:Pi[e]&&(o=Pi[e])};for(let e=0;e<t.length;e+=1){let n=t[e];if(n===`\x1B`&&t[e+1]===`[`){let n=t.slice(e).match(/^\x1b\[([0-9;?]*)([A-Za-z~])/);if(!n)continue;e+=n[0].length-1;let r=n[1],o=n[2],s=Number(r.split(`;`)[0])||0;o===`m`?d(r):o===`K`?u(s):o===`G`?a=Math.max(0,s-1):o===`C`?a+=s||1:o===`D`?a=Math.max(0,a-(s||1)):o===`A`?(i=Math.max(0,i-(s||1)),a=Math.min(a,c().length)):o===`B`&&(i+=s||1,a=Math.min(a,c().length));continue}if(n===`\r`)a=0;else if(n===`
748
- `)i+=1,a=0,c();else if(n===`\b`||n===``){a=Math.max(0,a-1);let e=c();a===e.length-1?e.length=a:e[a]&&(e[a]={text:` `,foreground:``,bold:!1})}else if(n===` `){let e=a+(8-a%8);for(;a<e;)l(` `)}else n>=` `&&l(n)}let f=``;return r.forEach((e,t)=>{t>0&&(f+=`
749
- `),e.forEach(e=>{let t=f.length;f+=e.text,e.foreground&&n.push({name:`cod-ansi-${e.bold&&!e.foreground.startsWith(`bright-`)?`bright-${e.foreground}`:e.foreground}`,start:t,end:f.length})})}),{text:f,ranges:n}};var Li=Q(`<button type="button"><div class="terminal-tab-background m3-layer"><span> </span></div></button>`),Ri=Q(`<p class="empty">$ no tasks have started yet</p>`),zi=Q(`<img aria-label="running" class="task-loader" alt="running"/>`),Bi=Q(`<article><button class="task-summary m3-layer" type="button"><span class="task-chevron" aria-hidden="true"> </span> <strong><span class="task-title"> </span> <!></strong></button> <!></article>`),Vi=Q(`<div class="task-list"><!> <!></div>`),Hi=Q(`<div class="empty terminal-empty"><button class="m3-layer" type="button">+ bash</button></div>`),Ui=Q(`<dialog aria-label="Terminal" class="terminal-app" data-terminal-app="" closedby="any" tabindex="-1"><header class="terminal-header"><nav aria-label="Terminal tabs" class="terminal-tabs"><button type="button"><div class="terminal-tab-background m3-layer"><span>Tasks</span></div></button> <!></nav> <button aria-label="New terminal" class="new-terminal" type="button"><div class="new-terminal-background m3-layer"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M11 13v3q0 .425.288.713T12 17t.713-.288T13 16v-3h3q.425 0 .713-.288T17 12t-.288-.712T16 11h-3V8q0-.425-.288-.712T12 7t-.712.288T11 8v3H8q-.425 0-.712.288T7 12t.288.713T8 13zm-6 8q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5zM5 5v14z"></path></svg></div></button></header> <!></dialog>`);function Wi(e,t){it(t,!0);let n=F(void 0),r=!1,i=()=>t.terminals.filter(e=>e.kind===`task`),a=()=>t.terminals.filter(e=>e.kind===`terminal`),o=()=>a().find(e=>e.id===t.activeTab),s=e=>Ii(e),c=e=>{let n=o();if(!n||n.kind!==`terminal`)return;let r=Fi(e);r&&(e.preventDefault(),t.onInput(n.id,r))};Un(()=>{Z(n)&&(t.open&&!Z(n).open?(Z(n).showModal(),Z(n).focus({preventScroll:!0})):!t.open&&Z(n).open&&(r=!0,Z(n).close()))});var l=Ui(),u=R(l),d=R(u),f=R(d);let p;ni(z(f,2),17,a,e=>e.id,(e,n)=>{var r=Li();let i;var a=R(r),o=R(a),s=R(o,!0);k(o),k(a),k(r),Yn(()=>{bi(r,`aria-current`,t.activeTab===Z(n).id?`page`:void 0),i=gi(r,1,`terminal-tab`,null,i,{active:t.activeTab===Z(n).id}),Gr(s,Z(n).title)}),Lr(`click`,r,()=>t.onSelectTab(Z(n).id)),$(e,r)}),k(d);var m=z(d,2);k(u);var h=z(u,2),g=e=>{var n=Vi(),r=R(n),a=e=>{$(e,Ri())},o=Qt(()=>i().length===0);Zr(r,e=>{Z(o)&&e(a)}),ni(z(r,2),17,i,e=>e.id,(e,n)=>{var r=Bi();let i;var a=R(r),o=R(a),c=R(o);k(o);var l=z(o,2),u=R(l),d=R(u,!0);k(u);var f=z(u,2),p=e=>{var t=zi();Yn(()=>bi(t,`src`,Ai)),$(e,t)};Zr(f,e=>{Z(n).running&&e(p)}),k(l),k(a);var m=z(a,2),h=e=>{let t=Qt(()=>s(Z(n)));Ni(e,{get id(){return Z(n).id},get text(){return Z(t).text},get ranges(){return Z(t).ranges}})};Zr(m,e=>{Z(n).collapsed||e(h)}),k(r),Yn(()=>{i=gi(r,1,`task-entry`,null,i,{error:Z(n).failed,finished:!Z(n).running}),bi(a,`aria-expanded`,!Z(n).collapsed),Gr(c,`[${Z(n).collapsed?`+`:`-`}]`),Gr(d,Z(n).title)}),Lr(`click`,a,()=>t.onToggleTask(Z(n).id)),$(e,r)}),k(n),$(e,n)},_=e=>{let n=Qt(()=>s(o()));Ni(e,{get id(){return t.activeTab},get text(){return Z(n).text},get ranges(){return Z(n).ranges}})},v=Qt(()=>o()),y=e=>{var n=Hi(),r=R(n);k(n),Lr(`click`,r,function(...e){t.onNewTerminal?.apply(this,e)}),$(e,n)};Zr(h,e=>{t.activeTab===`tasks`?e(g):Z(v)?e(_,1):e(y,-1)}),k(l),ki(l,e=>I(n,e),()=>Z(n)),Yn(()=>{bi(f,`aria-current`,t.activeTab===`tasks`?`page`:void 0),p=gi(f,1,`terminal-tab`,null,p,{active:t.activeTab===`tasks`})}),Ir(`close`,l,()=>{if(r){r=!1;return}t.onClose()}),Lr(`keydown`,l,c),Lr(`click`,f,()=>t.onSelectTab(`tasks`)),Lr(`click`,m,function(...e){t.onNewTerminal?.apply(this,e)}),$(e,l),at()}Rr([`keydown`,`click`]);var Gi=Q(`<button class="app-entry alive m3-layer svelte-1ywbbn9" type="button"><span class="svelte-1ywbbn9"> </span></button>`),Ki=Q(`<button class="app-entry m3-layer svelte-1ywbbn9" type="button"><span class="svelte-1ywbbn9">Launch Firefox</span></button>`),qi=Q(`<div class="screen svelte-1ywbbn9"></div> <!> <div><nav class="bar svelte-1ywbbn9" aria-label="Open windows"><!> <!> <button type="button" title="Terminal"><span class="svelte-1ywbbn9">Terminal</span></button></nav></div> <div><img alt="Loading Cod" class="svelte-1ywbbn9"/></div>`,1);const Ji={hash:`svelte-1ywbbn9`,code:`.screen.svelte-1ywbbn9 {position:absolute;z-index:10;inset:0;overflow:visible;canvas {max-width:none;max-height:none;object-fit:none;}}.bar-anchor.svelte-1ywbbn9 {display:contents;--transition: 220ms cubic-bezier(0.2, 0, 0, 1);}.bar.svelte-1ywbbn9 {position:fixed;z-index:100;bottom:0;left:50%;display:flex;align-items:center;gap:0.25rem;width:max-content;max-width:calc(100vw - 1rem);height:2.25rem;overflow:visible;padding:0.25rem;background:transparent;translate:-50% 0;transition:height var(--transition),
743
+ `)}}}function mt(e){let t=ut.get(e);t&&(d(e,`message`,{value:t.message}),d(e,`stack`,{value:t.stack}))}function N(e,t){e.f=e.f&-7169|t}function ht(e){e.f&512||e.deps===null?N(e,x):N(e,C)}function gt(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=re,gt(t.deps))}function _t(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),gt(e.deps),N(e,x)}let vt=null,P=null,yt=null,bt=null,xt=null,St=!1,Ct=!1,wt=null,Tt=null;var Et=0,Dt=new Set;let Ot=1;var kt=class e{id=Ot++;#e=!1;linked=!0;#t=null;#n=null;async_deriveds=new Map;current=new Map;previous=new Map;unblocked=new Set;#r=new Set;#i=new Set;#a=new Set;#o=0;#s=new Map;#c=null;#l=[];#u=[];#d=new Set;#f=new Set;#p=new Map;#m=new Set;is_fork=!1;#h=!1;#g(){if(this.is_fork)return!0;for(let n of this.#s.keys()){for(var e=n,t=!1;e.parent!==null;){if(this.#p.has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1}skip_effect(e){this.#p.has(e)||this.#p.set(e,{d:[],m:[]}),this.#m.delete(e)}unskip_effect(e,t=e=>this.schedule(e)){var n=this.#p.get(e);if(n){this.#p.delete(e);for(var r of n.d)N(r,S),t(r);for(r of n.m)N(r,C),t(r)}this.#m.add(e)}#_(){if(this.#e=!0,Et++>1e3&&(this.#C(),jt()),o)for(let e of this.current.keys())Dt.add(e);if(!this.#g()){for(let e of this.#d)this.#f.delete(e),N(e,S),this.schedule(e);for(let e of this.#f)N(e,C),this.schedule(e)}let t=this.#l;this.#l=[],this.apply();var n=wt=[],r=[],i=Tt=[];for(let e of t)try{this.#v(e,n,r)}catch(t){throw Rt(e),t}if(P=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(wt=null,Tt=null,this.#g()){this.#x(r),this.#x(n);for(let[e,t]of this.#p)Lt(e,t);i.length>0&&P.#_();return}let s=this.#y();if(s){s.#b(this);return}this.#d.clear(),this.#f.clear();for(let e of this.#r)e(this);this.#r.clear(),yt=this,Nt(r),Nt(n),yt=null,this.#c?.resolve();var c=P;if(this.linked&&this.#o===0&&this.#C(),this.#l.length>0){c===null&&(c=this,this.#S());let e=c;e.#l.push(...this.#l.filter(t=>!e.#l.includes(t)))}c!==null&&c.#_()}#v(e,t,n){e.f^=x;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#p.has(r))&&r.fn!==null){a?r.f^=x:i&4?t.push(r):yr(r)&&(i&16&&this.#f.add(r),wr(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#y(){for(var e=this.#t;e!==null;){if(!e.is_fork){for(let[t,[,n]]of this.current)if(e.current.has(t)&&!n)return e}e=e.#t}return null}#b(e){for(let[t,n]of e.current)!this.previous.has(t)&&e.previous.has(t)&&this.previous.set(t,e.previous.get(t)),this.current.set(t,n);for(let[t,n]of e.async_deriveds){let e=this.async_deriveds.get(t);e&&n.promise.then(e.resolve)}let t=e=>{var n=e.reactions;if(n!==null)for(let e of n){var r=e.f;if(r&2)t(e);else{var i=e;r&4194320&&!this.async_deriveds.has(i)&&(this.#f.delete(i),N(i,S),this.schedule(i))}}};for(let e of this.current.keys())t(e);this.oncommit(()=>e.discard()),e.#C(),P=this,this.#_()}#x(e){for(var t=0;t<e.length;t+=1)_t(e[t],this.#d,this.#f)}capture(e,t,n=!1){e.v!==E&&!this.previous.has(e)&&this.previous.set(e,e.v),e.f&8388608||(this.current.set(e,[t,n]),bt?.set(e,t)),this.is_fork||(e.v=t)}activate(){P=this}deactivate(){P=null,bt=null}flush(){try{o&&Dt.clear(),Ct=!0,P=this,this.#_()}finally{if(Et=0,xt=null,wt=null,Tt=null,Ct=!1,P=null,bt=null,cn.clear(),o)for(let e of Dt)e.updated=null}}discard(){for(let e of this.#i)e(this);this.#i.clear(),this.#a.clear(),this.#C()}register_created_effect(e){this.#u.push(e)}increment(e,t){if(this.#o+=1,e){let e=this.#s.get(t)??0;this.#s.set(t,e+1)}}decrement(e,t){if(--this.#o,e){let e=this.#s.get(t)??0;e===1?this.#s.delete(t):this.#s.set(t,e-1)}this.#h||(this.#h=!0,ct(()=>{this.#h=!1,this.linked&&this.flush()}))}transfer_effects(e,t){for(let t of e)this.#d.add(t);for(let e of t)this.#f.add(e);e.clear(),t.clear()}oncommit(e){this.#r.add(e)}ondiscard(e){this.#i.add(e)}on_fork_commit(e){this.#a.add(e)}run_fork_commit_callbacks(){for(let e of this.#a)e(this);this.#a.clear()}settled(){return(this.#c??=b()).promise}static ensure(){if(P===null){let t=P=new e;t.#S(),!Ct&&!St&&ct(()=>{t.#e||t.flush()})}return P}apply(){bt=null}schedule(e){if(xt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(wt!==null&&t===K&&(U===null||!(U.f&2)))return;if(n&96){if(!(n&1024))return;t.f^=x}}this.#l.push(t)}#S(){vt===null?vt=this:(vt.#n=this,this.#t=vt),vt=this}#C(){var e=this.#t,t=this.#n;e===null||(e.#n=t),t===null?vt=e:t.#t=e,this.linked=!1}};function At(e){var t=St;St=!0;try{var n;for(e&&(P!==null&&!P.is_fork&&P.flush(),n=e());;){if(lt(),P===null)return n;P.flush()}}finally{St=t}}function jt(){if(o){var e=new Map;for(let n of P.current.keys())for(let[r,i]of n.updated??[]){var t=e.get(r);t||(t={error:i.error,count:0},e.set(r,t)),t.count+=i.count}for(let t of e.values())t.error&&console.error(t.error)}try{Ce()}catch(e){o&&d(e,`stack`,{value:``}),ft(e,xt)}}let Mt=null;function Nt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&yr(r)&&(Mt=new Set,wr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&nr(r),Mt?.size>0)){cn.clear();for(let e of Mt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Mt.has(n)&&(Mt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||wr(n)}}Mt.clear()}}Mt=null}}function Pt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Pt(i,t,n,r):e&4194320&&!(e&2048)&&Ft(i,t,r)&&(N(i,S),It(i))}}function Ft(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(l.call(t,r))return!0;if(r.f&2&&Ft(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function It(e){P.schedule(e)}function Lt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),N(e,x);for(var n=e.first;n!==null;)Lt(n,t),n=n.next}}function Rt(e){N(e,x);for(var t=e.first;t!==null;)Rt(t),t=t.next}function zt(e){let t=0,n=fn(0),r;return o&&Je(n,`createSubscriber version`),()=>{Vn()&&(Z(n),Jn(()=>(t===0&&(r=Or(()=>e(()=>gn(n)))),t+=1,()=>{ct(()=>{--t,t===0&&(r?.(),r=void 0,gn(n))})})))}}var Bt=589824;function Vt(e,t,n,r){new Ht(e,t,n,r)}var Ht=class{parent;is_pending=!1;transform_error;#e;#t=O?k:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=zt(()=>(this.#m=fn(this.#l),o&&Je(this.#m,`$effect.pending()`),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=K;t.b=this,t.f|=128,n(e)},this.parent=K.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=Xn(()=>{if(O){let e=this.#t;Ve();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},Bt),O&&(this.#e=k)}#g(){try{this.#a=V(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=V(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=V(()=>e(this.#e)),ct(()=>{var e=this.#c=document.createDocumentFragment(),t=R();e.append(t),this.#a=this.#x(()=>V(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,rr(this.#o,()=>{this.#o=null}),this.#b(P))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=V(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();sr(this.#a,e);let t=this.#n.pending;this.#o=V(()=>t(this.#e))}else this.#b(P)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){_t(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=K,n=U,r=M;dr(this.#i),G(this.#i),Qe(this.#i.ctx);try{return kt.ensure(),e()}catch(e){return dt(e),null}finally{dr(t),G(n),Qe(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&rr(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,ct(()=>{this.#d=!1,this.#m&&mn(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),Z(this.#m)}error(e){if(!this.#n.onerror&&!this.#n.failed)throw e;P?.is_fork?(this.#a&&P.skip_effect(this.#a),this.#o&&P.skip_effect(this.#o),this.#s&&P.skip_effect(this.#s),P.on_fork_commit(()=>{this.#C(e)})):this.#C(e)}#C(e){this.#a&&=(H(this.#a),null),this.#o&&=(H(this.#o),null),this.#s&&=(H(this.#s),null),O&&(A(this.#t),He(),A(Ue()));var t=this.#n.onerror;let n=this.#n.failed;var r=!1,i=!1;let a=()=>{if(r){ze();return}r=!0,i&&Oe(),this.#s!==null&&rr(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){ft(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return V(()=>{var t=K;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return ft(e,this.#i.parent),null}}))};ct(()=>{var t;try{t=this.transform_error(e)}catch(e){ft(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>ft(e,this.#i&&this.#i.parent)):o(t)})}};function Ut(e,t,n,r){let i=at()?Yt:$t;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=K,s=Wt(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){if(!(o.f&16384)){s();try{r(e)}catch(e){ft(e,o)}Gt()}}var u=Kt();if(n.length===0){c.then(()=>l(t.map(i))).finally(u);return}function d(){Promise.all(n.map(e=>Zt(e))).then(e=>l([...t.map(i),...e])).catch(e=>ft(e,o)).finally(u)}c?c.then(()=>{s(),d(),Gt()}):d()}function Wt(){var e=K,t=U,n=M,r=P;if(o)var i=$e;return function(a=!0){dr(e),G(t),Qe(n),a&&!(e.f&16384)&&(r?.activate(),r?.apply()),o&&(qt(null),et(i))}}function Gt(e=!0){dr(null),G(null),Qe(null),e&&P?.deactivate(),o&&(qt(null),et(null))}function Kt(){var e=K,t=e.b,n=P,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),()=>{t.update_pending_count(-1,n),n.decrement(r,e)}}let F=null;function qt(e){F=e}const Jt=new Set;function Yt(e){return K!==null&&(K.f|=524288),{ctx:M,deps:null,effects:null,equals:Ge,f:2050,fn:e,reactions:null,rv:0,v:E,wv:0,parent:K,ac:null}}const Xt=Symbol(`obsolete`);function Zt(e,t,n){let r=K;r===null&&ge();var i=void 0,a=fn(E);o&&(a.label=t??e.toString());var s=!U,c=new Set;return qn(()=>{var t=K;o&&(F={effect:t,effect_deps:new Set,warned:!1});var l=b();i=l.promise;try{Promise.resolve(e()).then(l.resolve,e=>{e!==me&&l.reject(e)}).finally(Gt)}catch(e){l.reject(e),Gt()}if(o){if(F){if(t.deps!==null)for(let e=0;e<Y;e+=1)F.effect_deps.add(t.deps[e]);if(J!==null)for(let e=0;e<J.length;e+=1)F.effect_deps.add(J[e])}F=null}var u=P;if(s){if(t.f&32768)var d=Kt();if(r.b.is_rendered())u.async_deriveds.get(t)?.reject(Xt);else for(let e of c.values())e.reject(Xt);c.add(l),u.async_deriveds.set(t,l)}let f=(e,r=void 0)=>{o&&(F=null),d?.(),c.delete(l),r!==Xt&&(u.activate(),r?(a.f|=ae,mn(a,r)):(a.f&8388608&&(a.f^=ae),mn(a,e),o&&n!==void 0&&(Jt.add(a),setTimeout(()=>{Jt.has(a)&&!(t.f&16384)&&(D(a.label,n),Jt.delete(a))}))),u.deactivate())};l.promise.then(f,e=>f(null,e||`unknown`))}),Hn(()=>{for(let e of c)e.reject(Xt)}),o&&(a.f|=4194304),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function Qt(e){let t=Yt(e);return fr(t),t}function $t(e){let t=Yt(e);return t.equals=qe,t}function en(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)H(t[n])}}let tn=[];function nn(e){var t,n=K,r=e.parent;if(!lr&&r!==null&&e.v!==E&&r.f&24576)return Pe(),e.v;if(dr(r),o){let r=sn;ln(new Set);try{l.call(tn,e)&&_e(),tn.push(e),e.f&=-65537,en(e),t=xr(e)}finally{dr(n),ln(r),tn.pop()}}else try{e.f&=-65537,en(e),t=xr(e)}finally{dr(n)}return t}function rn(e){var t=nn(e);if(!e.equals(t)&&(e.wv=vr(),(!P?.is_fork||e.deps===null)&&(P===null?e.v=t:(P.capture(e,t,!0),yt?.capture(e,t,!0)),e.deps===null))){N(e,x);return}lr||(bt===null?ht(e):(Vn()||P?.is_fork)&&bt.set(e,t))}function an(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(me),t.fn!==null&&(t.teardown=v),t.ac=null,Cr(t,0),$n(t))}function on(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&t.fn!==null&&wr(t)}let sn=new Set;const cn=new Map;function ln(e){sn=e}let un=!1;function dn(){un=!0}function fn(e,t){return{f:0,v:e,reactions:null,equals:Ge,rv:0,wv:0}}function I(e,t){let n=fn(e,t);return fr(n),n}function pn(e,t=!1,n=!0){let r=fn(e);return t||(r.equals=qe),r}function L(e,t,n=!1){U!==null&&(!W||U.f&131072)&&at()&&U.f&4325394&&(q===null||!l.call(q,e))&&De();let r=n?yn(t):t;return o&&Ye(r,e.label),mn(e,r,Tt)}function mn(e,t,n=null){if(!e.equals(t)){cn.set(e,lr?t:e.v);var r=kt.ensure();if(r.capture(e,t),o){if(K!==null){e.updated??=new Map;let t=(e.updated.get(``)?.count??0)+1;if(e.updated.set(``,{error:null,count:t}),t>5){let t=Xe(`updated at`);if(t!==null){let n=e.updated.get(t.stack);n||(n={error:t,count:0},e.updated.set(t.stack,n)),n.count++}}}K!==null&&(e.set_during_effect=!0)}if(e.f&2){let t=e;e.f&2048&&nn(t),bt===null&&ht(t)}e.wv=vr(),_n(e,S,n),at()&&K!==null&&K.f&1024&&!(K.f&96)&&(X===null?pr([e]):X.push(e)),!r.is_fork&&sn.size>0&&!un&&hn()}return t}function hn(){un=!1;for(let e of sn){e.f&1024&&N(e,C);let t;try{t=yr(e)}catch{t=!0}t&&wr(e)}sn.clear()}function gn(e){L(e,e.v+1)}function _n(e,t,n){var r=e.reactions;if(r!==null)for(var i=at(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===K)){var l=(c&S)==0;if(l&&N(s,t),c&131072)sn.add(s);else if(c&2){var u=s;bt?.delete(u),c&65536||(c&512&&(K===null||!(K.f&2097152))&&(s.f|=re),_n(u,C,n))}else if(l){var d=s;c&16&&Mt!==null&&Mt.add(d),n===null?It(d):n.push(d)}}}}const vn=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function yn(e){if(typeof e!=`object`||!e||oe in e)return e;let t=g(e);if(t!==m&&t!==h)return e;var n=new Map,r=s(e),i=I(0),a=null,c=gr,l=e=>{if(gr===c)return e();var t=U,n=gr;G(null),_r(c);var r=e();return G(t),_r(n),r};r&&(n.set(`length`,I(e.length,a)),o&&(e=Cn(e)));var u=``;let d=!1;function p(e){if(!d){d=!0,u=e,Je(i,`${u} version`);for(let[e,t]of n)Je(t,bn(u,e));d=!1}}return new Proxy(e,{defineProperty(e,t,r){(!(`value`in r)||r.configurable===!1||r.enumerable===!1||r.writable===!1)&&Te();var i=n.get(t);return i===void 0?l(()=>{var e=I(r.value,a);return n.set(t,e),o&&typeof t==`string`&&Je(e,bn(u,t)),e}):L(i,r.value,!0),!0},deleteProperty(e,t){var r=n.get(t);if(r===void 0){if(t in e){let e=l(()=>I(E,a));n.set(t,e),gn(i),o&&Je(e,bn(u,t))}}else L(r,E),gn(i);return!0},get(t,r,i){if(r===oe)return e;if(o&&r===ce)return p;var s=n.get(r),c=r in t;if(s===void 0&&(!c||f(t,r)?.writable)&&(s=l(()=>{var e=I(yn(c?t[r]:E),a);return o&&Je(e,bn(u,r)),e}),n.set(r,s)),s!==void 0){var d=Z(s);return d===E?void 0:d}return Reflect.get(t,r,i)},getOwnPropertyDescriptor(e,t){var r=Reflect.getOwnPropertyDescriptor(e,t);if(r&&`value`in r){var i=n.get(t);i&&(r.value=Z(i))}else if(r===void 0){var a=n.get(t),o=a?.v;if(a!==void 0&&o!==E)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return r},has(e,t){if(t===oe)return!0;var r=n.get(t),i=r!==void 0&&r.v!==E||Reflect.has(e,t);return(r!==void 0||K!==null&&(!i||f(e,t)?.writable))&&(r===void 0&&(r=l(()=>{var n=I(i?yn(e[t]):E,a);return o&&Je(n,bn(u,t)),n}),n.set(t,r)),Z(r)===E)?!1:i},set(e,t,s,c){var d=n.get(t),p=t in e;if(r&&t===`length`)for(var m=s;m<d.v;m+=1){var h=n.get(m+``);h===void 0?m in e&&(h=l(()=>I(E,a)),n.set(m+``,h),o&&Je(h,bn(u,m))):L(h,E)}if(d===void 0)(!p||f(e,t)?.writable)&&(d=l(()=>I(void 0,a)),o&&Je(d,bn(u,t)),L(d,yn(s)),n.set(t,d));else{p=d.v!==E;var g=l(()=>yn(s));L(d,g)}var _=Reflect.getOwnPropertyDescriptor(e,t);if(_?.set&&_.set.call(c,s),!p){if(r&&typeof t==`string`){var v=n.get(`length`),y=Number(t);Number.isInteger(y)&&y>=v.v&&L(v,y+1)}gn(i)}return!0},ownKeys(e){Z(i);var t=Reflect.ownKeys(e).filter(e=>{var t=n.get(e);return t===void 0||t.v!==E});for(var[r,a]of n)a.v!==E&&!(r in e)&&t.push(r);return t},setPrototypeOf(){Ee()}})}function bn(e,t){return typeof t==`symbol`?`${e}[Symbol(${t.description??``})]`:vn.test(t)?`${e}.${t}`:/^\d+$/.test(t)?`${e}[${t}]`:`${e}['${t}']`}function xn(e){try{if(typeof e==`object`&&e&&oe in e)return e[oe]}catch{}return e}const Sn=new Set([`copyWithin`,`fill`,`pop`,`push`,`reverse`,`shift`,`sort`,`splice`,`unshift`]);function Cn(e){return new Proxy(e,{get(e,t,n){var r=Reflect.get(e,t,n);return Sn.has(t)?function(...e){dn();var t=r.apply(this,e);return hn(),t}:r}})}function wn(){let e=Array.prototype,t=Array.__svelte_cleanup;t&&t();let{indexOf:n,lastIndexOf:r,includes:i}=e;e.indexOf=function(e,t){let r=n.call(this,e,t);if(r===-1){for(let n=t??0;n<this.length;n+=1)if(xn(this[n])===e){Re(`array.indexOf(...)`);break}}return r},e.lastIndexOf=function(e,t){let n=r.call(this,e,t??this.length-1);if(n===-1){for(let n=0;n<=(t??this.length-1);n+=1)if(xn(this[n])===e){Re(`array.lastIndexOf(...)`);break}}return n},e.includes=function(e,t){let n=i.call(this,e,t);if(!n){for(let t=0;t<this.length;t+=1)if(xn(this[t])===e){Re(`array.includes(...)`);break}}return n},Array.__svelte_cleanup=()=>{e.indexOf=n,e.lastIndexOf=r,e.includes=i}}var Tn,En,Dn,On;function kn(){if(Tn===void 0){Tn=window,En=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Dn=f(t,`firstChild`).get,On=f(t,`nextSibling`).get,_(e)&&(e[ue]=void 0,e[le]=null,e[de]=void 0,e.__e=void 0),_(n)&&(n[fe]=void 0),o&&(e.__svelte_meta=null,wn())}}function R(e=``){return document.createTextNode(e)}function An(e){return Dn.call(e)}function jn(e){return On.call(e)}function z(e,t){if(!O)return An(e);var n=An(k);if(n===null)n=k.appendChild(R());else if(t&&n.nodeType!==3){var r=R();return n?.before(r),A(r),r}return t&&In(n),A(n),n}function Mn(e,t=!1){if(!O){var n=An(e);return n instanceof Comment&&n.data===``?jn(n):n}if(t){if(k?.nodeType!==3){var r=R();return k?.before(r),A(r),r}In(k)}return k}function B(e,t=1,n=!1){let r=O?k:e;for(var i;t--;)i=r,r=jn(r);if(!O)return r;if(n){if(r?.nodeType!==3){var a=R();return r===null?i?.after(a):r.before(a),A(a),a}In(r)}return A(r),r}function Nn(e){e.textContent=``}function Pn(){return!1}function Fn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function In(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Ln(e){var t=U,n=K;G(null),dr(null);try{return e()}finally{G(t),dr(n)}}function Rn(e){K===null&&(U===null&&Se(e),xe()),lr&&be(e)}function zn(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function Bn(e,t){var n=K;if(o)for(;n!==null&&n.f&131072;)n=n.parent;n!==null&&n.f&8192&&(e|=w);var r={ctx:M,deps:null,nodes:null,f:e|2560,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};o&&(r.component_function=tt),P?.register_created_effect(r);var i=r;if(e&4)wt===null?kt.ensure().schedule(r):wt.push(r);else if(t!==null){try{wr(r)}catch(e){throw H(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=ne))}if(i!==null&&(i.parent=n,n!==null&&zn(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function Vn(){return U!==null&&!W}function Hn(e){let t=Bn(8,null);return N(t,x),t.teardown=e,t}function Un(e){Rn(`$effect`),o&&d(e,`name`,{value:`$effect`});var t=K.f;if(!U&&t&32&&!(t&32768)){var n=M;(n.e??=[]).push(e)}else return Wn(e)}function Wn(e){return Bn(1048580,e)}function Gn(e){kt.ensure();let t=Bn(524352,e);return(e={})=>new Promise(n=>{e.outro?rr(t,()=>{H(t),n(void 0)}):(H(t),n(void 0))})}function Kn(e){return Bn(4,e)}function qn(e){return Bn(4718592,e)}function Jn(e,t=0){return Bn(8|t,e)}function Yn(e,t=[],n=[],r=[]){Ut(r,t,n,t=>{Bn(8,()=>e(...t.map(Z)))})}function Xn(e,t=0){var n=Bn(16|t,e);return o&&(n.dev_stack=$e),n}function Zn(e,t=0){var n=Bn(16777216|t,e);return o&&(n.dev_stack=$e),n}function V(e){return Bn(524320,e)}function Qn(e){var t=e.teardown;if(t!==null){let e=lr,n=U;ur(!0),G(null);try{t.call(null)}finally{ur(e),G(n)}}}function $n(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&Ln(()=>{e.abort(me)});var r=n.next;n.f&64?n.parent=null:H(n,t),n=r}}function er(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||H(t),t=n}}function H(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(tr(e.nodes.start,e.nodes.end),n=!0),N(e,te),$n(e,t&&!n),Cr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();Qn(e),e.f^=te,e.f|=16384;var i=e.parent;i!==null&&i.first!==null&&nr(e),o&&(e.component_function=null),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function tr(e,t){for(;e!==null;){var n=e===t?null:jn(e);e.remove(),e=n}}function nr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function rr(e,t,n=!0){var r=[];ir(e,r,!0);var i=()=>{n&&H(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function ir(e,t,n){if(!(e.f&8192)){e.f^=w;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next;if(!(i.f&64)){var o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;ir(i,t,o?n:!1)}i=a}}}function ar(e){or(e,!0)}function or(e,t){if(e.f&8192){e.f^=w,e.f&1024||(N(e,S),kt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;or(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function sr(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:jn(n);t.append(n),n=i}}let cr=!1,lr=!1;function ur(e){lr=e}let U=null,W=!1;function G(e){U=e}let K=null;function dr(e){K=e}let q=null;function fr(e){U!==null&&(q===null?q=[e]:q.push(e))}let J=null,Y=0,X=null;function pr(e){X=e}let mr=1,hr=0,gr=hr;function _r(e){gr=e}function vr(){return++mr}function yr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=-65537),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(yr(a)&&rn(a),a.wv>e.wv)return!0}t&512&&bt===null&&N(e,x)}return!1}function br(e,t,n=!0){var r=e.reactions;if(r!==null&&!(q!==null&&l.call(q,e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?br(a,t,!1):t===a&&(n?N(a,S):a.f&1024&&N(a,C),It(a))}}function xr(e){var t=J,n=Y,r=X,i=U,a=q,o=M,s=W,c=gr,l=e.f;J=null,Y=0,X=null,U=l&96?null:e,q=null,Qe(e.ctx),W=!1,gr=++hr,e.ac!==null&&(Ln(()=>{e.ac.abort(me)}),e.ac=null);try{e.f|=ie;var u=e.fn,d=u();e.f|=ee;var f=e.deps,p=P?.is_fork;if(J!==null){var m;if(p||Cr(e,Y),f!==null&&Y>0)for(f.length=Y+J.length,m=0;m<J.length;m++)f[Y+m]=J[m];else e.deps=f=J;if(Vn()&&e.f&512)for(m=Y;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&Y<f.length&&(Cr(e,Y),f.length=Y);if(at()&&X!==null&&!W&&f!==null&&!(e.f&6146))for(m=0;m<X.length;m++)br(X[m],e);if(i!==null&&i!==e){if(hr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=hr;if(t!==null)for(let e of t)e.rv=hr;X!==null&&(r===null?r=X:r.push(...X))}return e.f&8388608&&(e.f^=ae),d}catch(e){return dt(e)}finally{e.f^=ie,J=t,Y=n,X=r,U=i,q=a,Qe(o),W=s,gr=c}}function Sr(e,t){let n=t.reactions;if(n!==null){var r=c.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(n===null&&t.f&2&&(J===null||!l.call(J,t))){var a=t;a.f&512&&(a.f^=512,a.f&=-65537),a.v!==E&&ht(a),an(a),Cr(a,0)}}function Cr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Sr(e,n[r])}function wr(e){var t=e.f;if(!(t&16384)){N(e,x);var n=K,r=cr;if(K=e,cr=!0,o){var i=tt;nt(e.component_function);var a=$e;et(e.dev_stack??$e)}try{t&16777232?er(e):$n(e),Qn(e);var s=xr(e);e.teardown=typeof s==`function`?s:null,e.wv=mr}finally{cr=r,K=n,o&&(nt(i),et(a))}}}async function Tr(){await Promise.resolve(),At()}function Z(e){var t=(e.f&2)!=0;if(U!==null&&!W&&!(K!==null&&K.f&16384)&&(q===null||!l.call(q,e))){var n=U.deps;if(U.f&2097152)e.rv<hr&&(e.rv=hr,J===null&&n!==null&&n[Y]===e?Y++:J===null?J=[e]:J.push(e));else{U.deps??=[],l.call(U.deps,e)||U.deps.push(e);var r=e.reactions;r===null?e.reactions=[U]:l.call(r,U)||r.push(U)}}if(o){if(!W&&F&&!F.warned&&!(F.effect.f&2097152)&&!F.effect_deps.has(e)){F.warned=!0,Ne(e.label);var i=Xe(`traced at`);i&&console.warn(i)}Jt.delete(e)}if(lr&&cn.has(e))return cn.get(e);if(t){var a=e;if(lr){var s=a.v;return(!(a.f&1024)&&a.reactions!==null||Dr(a))&&(s=nn(a)),cn.set(a,s),s}var c=(a.f&512)==0&&!W&&U!==null&&(cr||(U.f&512)!=0),u=(a.f&ee)==0;yr(a)&&(c&&(a.f|=512),rn(a)),c&&!u&&(on(a),Er(a))}if(bt?.has(e))return bt.get(e);if(e.f&8388608)throw e.v;return e.v}function Er(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(on(t),Er(t))}function Dr(e){if(e.v===E)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(cn.has(t)||t.f&2&&Dr(t))return!0;return!1}function Or(e){var t=W;try{return W=!0,e()}finally{W=t}}const kr=/\r/g;function Ar(e){e=e.replace(kr,``);let t=5381,n=e.length;for(;n--;)t=(t<<5)-t^e.charCodeAt(n);return(t>>>0).toString(36)}[...`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`)];const jr=[`touchstart`,`touchmove`];function Mr(e){return jr.includes(e)}function Nr(e){return e?.replace(/\//g,`/​`)}var Pr=new Map;function Fr(e,t){var n=Pr.get(e);n||(n=new Set,Pr.set(e,n)),n.add(t)}const Ir=Symbol(`events`),Lr=new Set,Rr=new Set;function zr(e,t,n,r={}){function i(e){if(r.capture||Wr.call(t,e),!e.cancelBubble)return Ln(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?ct(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Br(e,t,n,r,i){var a={capture:r,passive:i},o=zr(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Hn(()=>{t.removeEventListener(e,o,a)})}function Vr(e,t,n){(t[Ir]??={})[e]=n}function Hr(e){for(var t=0;t<e.length;t++)Lr.add(e[t]);for(var n of Rr)n(e)}let Ur=null;function Wr(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;Ur=e;var o=0,s=Ur===e&&e[Ir];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[Ir]=t;return}var l=i.indexOf(t);if(l===-1)return;c<=l&&(o=c)}if(a=i[o]||e.target,a!==t){d(e,`currentTarget`,{configurable:!0,get(){return a||n}});var u=U,f=K;G(null),dr(null);try{for(var p,m=[];a!==null;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[Ir]?.[r];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;a=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[Ir]=t,delete e.currentTarget,G(u),dr(f)}}}const Gr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function Kr(e){return Gr?.createHTML(e)??e}function qr(e){var t=Fn(`template`);return t.innerHTML=Kr(e.replaceAll(`<!>`,`<!---->`)),t.content}function Jr(e,t){var n=K;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function Q(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(O)return Jr(k,null),k;i===void 0&&(i=qr(a?e:`<!>`+e),n||(i=An(i)));var t=r||En?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=An(t),s=t.lastChild;Jr(o,s)}else Jr(t,t);return t}}function Yr(){if(O)return Jr(k,null),k;var e=document.createDocumentFragment(),t=document.createComment(``),n=R();return e.append(t,n),Jr(t,n),e}function $(e,t){if(O){var n=K;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=k),Ve();return}e!==null&&e.before(t)}function Xr(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e[fe]??=e.nodeValue)&&(e[fe]=n,e.nodeValue=`${n}`)}function Zr(e,t){return $r(e,t)}const Qr=new Map;function $r(e,{target:t,anchor:n,props:r={},events:i,context:a,intro:o=!0,transformError:s}){kn();var c=void 0,l=Gn(()=>{var o=n??t.appendChild(R());Vt(o,{pending:()=>{}},t=>{rt({});var n=M;if(a&&(n.c=a),i&&(r.$$events=i),O&&Jr(t,null),c=e(t,r)||{},O&&(K.nodes.end=k,k===null||k.nodeType!==8||k.data!==`]`))throw Le(),ke;it()},s);var l=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!l.has(r)){l.add(r);var i=Mr(r);for(let e of[t,document]){var a=Qr.get(e);a===void 0&&(a=new Map,Qr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,Wr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(u(Lr)),Rr.add(d),()=>{for(var e of l)for(let n of[t,document]){var r=Qr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,Wr),r.delete(e),r.size===0&&Qr.delete(n)):r.set(e,i)}Rr.delete(d),o!==n&&o.parentNode?.removeChild(o)}});return ei.set(c,l),c}let ei=new WeakMap;var ti=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)ar(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),o&&(r.fragment.lastChild[pe]=this.anchor),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(H(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();sr(r,t),t.append(R()),this.#n.set(e,{effect:r,fragment:t})}else H(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),rr(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(H(n.effect),this.#n.delete(e))};ensure(e,t){var n=P,r=Pn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=R();i.append(a),this.#n.set(e,{effect:V(()=>t(a)),fragment:i})}else this.#t.set(e,V(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else O&&(this.anchor=k),this.#a(n)}};function ni(e,t,n=!1){var r;O&&(r=k,Ve());var i=new ti(e),a=n?ne:0;function o(e,t){if(O){var n=We(r);if(e!==parseInt(n.substring(1))){var a=Ue();A(a),i.anchor=a,Be(!1),i.ensure(e,t),Be(!0);return}}i.ensure(e,t)}Xn(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function ri(e,t){return t}function ii(e,t,n){for(var r=[],i=t.length,a,o=t.length,s=0;s<i;s++){let n=t[s];rr(n,()=>{if(a){if(a.pending.delete(n),a.done.add(n),a.pending.size===0){var t=e.outrogroups;ai(e,u(a.done)),t.delete(a),t.size===0&&(e.outrogroups=null)}}else --o},!1)}if(o===0){var c=r.length===0&&n!==null;if(c){var l=n,d=l.parentNode;Nn(d),d.append(l),e.items.clear()}ai(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function ai(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=T,sr(a,document.createDocumentFragment())):H(t[i],n)}}var oi;function si(e,t,n,r,i,a=null){var c=e,l=new Map;if(t&4){var d=e;c=O?A(An(d)):d.appendChild(R())}O&&Ve();var f=null,p=$t(()=>{var e=n();return s(e)?e:e==null?[]:u(e)});o&&Je(p,`{#each ...}`);var m,h=new Map,g=!0;function _(e){y.effect.f&16384||(y.pending.delete(e),y.fallback=f,li(y,m,c,t,r),f!==null&&(m.length===0?f.f&33554432?(f.f^=T,di(f,null,c)):ar(f):rr(f,()=>{f=null})))}function v(e){y.pending.delete(e)}var y={effect:Xn(()=>{m=Z(p);var e=m.length;let s=!1;O&&We(c)===`[!`!=(e===0)&&(c=Ue(),A(c),Be(!1),s=!0);for(var u=new Set,d=P,y=Pn(),b=0;b<e;b+=1){O&&k.nodeType===8&&k.data===`]`&&(c=k,s=!0,Be(!1));var x=m[b],S=r(x,b);if(o){var C=r(x,b);S!==C&&ye(String(b),String(S),String(C))}var w=g?null:l.get(S);w?(w.v&&mn(w.v,x),w.i&&mn(w.i,b),y&&d.unskip_effect(w.e)):(w=ui(l,g?c:oi??=R(),x,S,b,i,t,n),g||(w.e.f|=T),l.set(S,w)),u.add(S)}if(e===0&&a&&!f&&(g?f=V(()=>a(c)):(f=V(()=>a(oi??=R())),f.f|=T)),e>u.size&&(o?pi(m,r):ve(``,``,``)),O&&e>0&&A(Ue()),!g)if(h.set(d,u),y){for(let[e,t]of l)u.has(e)||d.skip_effect(t.e);d.oncommit(_),d.ondiscard(v)}else _(d);s&&Be(!0),Z(p)}),flags:t,items:l,pending:h,outrogroups:null,fallback:f};g=!1,O&&(c=k)}function ci(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function li(e,t,n,r,i){var a=(r&8)!=0,o=t.length,s=e.items,c=ci(e.effect.first),l,d=null,f,p=[],m=[],h,g,_,v;if(a)for(v=0;v<o;v+=1)h=t[v],g=i(h,v),_=s.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<o;v+=1){if(h=t[v],g=i(h,v),_=s.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&8192&&(ar(_),a&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_.f&33554432)if(_.f^=T,_===c)di(_,null,n);else{var y=d?d.next:c;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),fi(e,d,_),fi(e,_,y),di(_,y,n),d=_,p=[],m=[],c=ci(d.next);continue}if(_!==c){if(l!==void 0&&l.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var S=p[0],C=p[p.length-1];for(x=0;x<p.length;x+=1)di(p[x],b,n);for(x=0;x<m.length;x+=1)l.delete(m[x]);fi(e,S.prev,C.next),fi(e,d,S),fi(e,C,b),c=b,d=C,--v,p=[],m=[]}else l.delete(_),di(_,c,n),fi(e,_.prev,_.next),fi(e,_,d===null?e.effect.first:d.next),fi(e,d,_),d=_;continue}for(p=[],m=[];c!==null&&c!==_;)(l??=new Set).add(c),m.push(c),c=ci(c.next);if(c===null)continue}_.f&33554432||p.push(_),d=_,c=ci(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(ai(e,u(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||l!==void 0){var w=[];if(l!==void 0)for(_ of l)_.f&8192||w.push(_);for(;c!==null;)!(c.f&8192)&&c!==e.fallback&&w.push(c),c=ci(c.next);var ee=w.length;if(ee>0){var te=r&4&&o===0?n:null;if(a){for(v=0;v<ee;v+=1)w[v].nodes?.a?.measure();for(v=0;v<ee;v+=1)w[v].nodes?.a?.fix()}ii(e,w,te)}}a&&ct(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function ui(e,t,n,r,i,a,s,c){var l=s&1?s&16?fn(n):pn(n,!1,!1):null,u=s&2?fn(i):null;return o&&l&&(l.trace=()=>{c()[u?.v??i]}),{v:l,i:u,e:V(()=>(a(t,l??n,u??i,c),()=>{e.delete(r)}))}}function di(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=jn(r);if(a.before(r),r===i)return;r=o}}function fi(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function pi(e,t){let n=new Map,r=e.length;for(let i=0;i<r;i++){let r=t(e[i],i);if(n.has(r)){let e=String(n.get(r)),t=String(i),a=String(r);a.startsWith(`[object `)&&(a=null),ve(e,t,a)}n.set(r,i)}}function mi(e,t,n){if(!t||t===Ar(String(n??``)))return;let r,i=e.__svelte_meta?.loc;i?r=`near ${i.file}:${i.line}:${i.column}`:tt?.[Ae]&&(r=`in ${tt[Ae]}`),Ie(Nr(r))}function hi(e,t,n=!1,r=!1,i=!1,a=!1){var s=e,c=``;if(n){var l=e;O&&(s=A(An(l)))}Yn(()=>{var e=K;if(c===(c=t()??``)){O&&Ve();return}if(n&&!O){e.nodes=null,l.innerHTML=c,c!==``&&Jr(An(l),l.lastChild);return}if(e.nodes!==null&&(tr(e.nodes.start,e.nodes.end),e.nodes=null),c!==``){if(O){for(var u=k.data,d=Ve(),f=d;d!==null&&(d.nodeType!==8||d.data!==``);)f=d,d=jn(d);if(d===null)throw Le(),ke;o&&!a&&mi(d.parentNode,u,c),Jr(k,f),s=A(d);return}var p=Fn(r?`svg`:i?`math`:`template`,r?`http://www.w3.org/2000/svg`:i?`http://www.w3.org/1998/Math/MathML`:void 0);p.innerHTML=c;var m=r||i?p:p.content;if(Jr(An(m),m.lastChild),r||i)for(;An(m);)s.before(An(m));else s.before(m)}})}function gi(e,t){Kn(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector(`#`+t.hash)){let e=Fn(`style`);e.id=t.hash,e.textContent=t.code,r.appendChild(e),o&&Fr(t.hash,e)}})}function _i(e,t){var n=void 0,r;Zn(()=>{n!==(n=t())&&(r&&=(H(r),null),n&&(r=V(()=>{Kn(()=>n(e))})))})}function vi(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=vi(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function yi(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=vi(e))&&(r&&(r+=` `),r+=t);return r}function bi(e){return typeof e==`object`?yi(e):e??``}const xi=[...`
744
+ \r\f\xA0\v`];function Si(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||xi.includes(r[o-1]))&&(s===r.length||xi.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Ci(e,t,n,r,i,a){var o=e[ue];if(O||o!==n||o===void 0){var s=Si(n,r,a);(!O||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e[ue]=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}const wi=Symbol(`is custom element`),Ti=Symbol(`is html`),Ei=he?`link`:`LINK`;function Di(e,t,n,r){var i=Oi(e);if(O&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Ei)){r||ji(e,t,n??``);return}i[t]!==(i[t]=n)&&(t===`loading`&&(e[se]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Ai(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Oi(e){return e[le]??={[wi]:e.nodeName.includes(`-`),[Ti]:e.namespaceURI===`http://www.w3.org/1999/xhtml`}}var ki=new Map;function Ai(e){var t=e.getAttribute(`is`)||e.nodeName,n=ki.get(t);if(n)return n;ki.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=p(i),r)r[o].set&&o!==`innerHTML`&&o!==`textContent`&&o!==`innerText`&&n.push(o);i=g(i)}return n}function ji(e,t,n){o&&(t===`srcset`&&Pi(e,n)||Mi(e.getAttribute(t)??``,n)||Fe(t,e.outerHTML.replace(e.innerHTML,e.innerHTML&&`...`),String(n)))}function Mi(e,t){return e===t?!0:new URL(e,document.baseURI).href===new URL(t,document.baseURI).href}function Ni(e){return e.split(`,`).map(e=>e.trim().split(` `).filter(Boolean))}function Pi(e,t){var n=Ni(e.srcset),r=Ni(t);return r.length===n.length&&r.every(([e,t],r)=>t===n[r][1]&&(Mi(n[r][0],e)||Mi(e,n[r][0])))}function Fi(e,t){return e===t||e?.[oe]===t}function Ii(e={},t,n,r){var i=M.r,a=K;return Kn(()=>{var o,s;return Jn(()=>{o=s,s=r?.()||[],Or(()=>{Fi(n(...s),e)||(t(e,...s),o&&Fi(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&Fi(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}if(o){function e(e){if(!(e in globalThis)){let t;Object.defineProperty(globalThis,e,{configurable:!0,get:()=>{if(t!==void 0)return t;we(e)},set:e=>{t=e}})}}e(`$state`),e(`$effect`),e(`$derived`),e(`$inspect`),e(`$props`),e(`$bindable`)}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var Li=`data:image/webp;base64,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`,Ri=`<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><defs><radialGradient id="g" cx="210%" cy="-100%" r="290%"><stop offset=".1" stop-color="#ffe226"/><stop offset=".79" stop-color="#ff7139"/></radialGradient><radialGradient id="c" cx="49%" cy="40%" r="128%" gradientTransform="matrix(.82 0 0 1 .088 0)"><stop offset=".3" stop-color="#960e18"/><stop offset=".35" stop-color="#b11927" stop-opacity=".74"/><stop offset=".43" stop-color="#db293d" stop-opacity=".34"/><stop offset=".5" stop-color="#f5334b" stop-opacity=".09"/><stop offset=".53" stop-color="#ff3750" stop-opacity="0"/></radialGradient><radialGradient id="d" cx="48%" cy="-12%" r="140%"><stop offset=".13" stop-color="#fff44f"/><stop offset=".53" stop-color="#ff980e"/></radialGradient><radialGradient id="e" cx="22.76%" cy="110.11%" r="100%"><stop offset=".35" stop-color="#3a8ee6"/><stop offset=".67" stop-color="#9059ff"/><stop offset="1" stop-color="#c139e6"/></radialGradient><radialGradient id="f" cx="52%" cy="33%" r="59%" gradientTransform="scale(.9 1)"><stop offset=".21" stop-color="#9059ff" stop-opacity="0"/><stop offset=".97" stop-color="#6e008b" stop-opacity=".6"/></radialGradient><radialGradient id="b" cx="87.4%" cy="-12.9%" r="128%" gradientTransform="matrix(.8 0 0 1 .178 .129)"><stop offset=".13" stop-color="#ffbd4f"/><stop offset=".28" stop-color="#ff980e"/><stop offset=".47" stop-color="#ff3750"/><stop offset=".78" stop-color="#eb0878"/><stop offset=".86" stop-color="#e50080"/></radialGradient><radialGradient id="h" cx="84%" cy="-41%" r="180%"><stop offset=".11" stop-color="#fff44f"/><stop offset=".46" stop-color="#ff980e"/><stop offset=".72" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="i" cx="16.1%" cy="-18.6%" r="348.8%" gradientTransform="scale(1 .47) rotate(84 .279 -.297)"><stop offset="0" stop-color="#fff44f"/><stop offset=".3" stop-color="#ff980e"/><stop offset=".57" stop-color="#ff3647"/><stop offset=".74" stop-color="#e31587"/></radialGradient><radialGradient id="j" cx="18.9%" cy="-42.5%" r="238.4%"><stop offset=".14" stop-color="#fff44f"/><stop offset=".48" stop-color="#ff980e"/><stop offset=".66" stop-color="#ff3647"/><stop offset=".9" stop-color="#e31587"/></radialGradient><radialGradient id="k" cx="159.3%" cy="-44.72%" r="313.1%"><stop offset=".09" stop-color="#fff44f"/><stop offset=".63" stop-color="#ff980e"/></radialGradient><linearGradient id="a" x1="87.25%" y1="15.5%" x2="9.4%" y2="93.1%"><stop offset=".05" stop-color="#fff44f"/><stop offset=".37" stop-color="#ff980e"/><stop offset=".53" stop-color="#ff3647"/><stop offset=".7" stop-color="#e31587"/></linearGradient><linearGradient id="l" x1="80%" y1="14%" x2="18%" y2="84%"><stop offset=".17" stop-color="#fff44f" stop-opacity=".8"/><stop offset=".6" stop-color="#fff44f" stop-opacity="0"/></linearGradient></defs><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484a120.249 120.249 0 00-66.142 25.488 71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.913c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.08 12.7-2.365 15-.022.177-.032.347-.053.524a229.066 229.066 0 00-3.9 33.157c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zM201.716 354.447c1.124.537 2.18 1.124 3.334 1.639.048.033.114.07.163.1a126.191 126.191 0 01-3.497-1.739zm55.053-144.93zm198.131-30.59l-.032-.233c.012.085.027.174.04.259z" fill="url(#a)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#b)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z" fill="url(#c)"/><path d="M361.922 194.6c.524.368 1 .734 1.493 1.1a130.706 130.706 0 00-22.31-29.112C266.4 91.892 321.516 4.626 330.811.194c.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.051 0 84.289 24.77 105.301 61.487z" fill="url(#d)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" fill="url(#e)"/><path d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z" fill="url(#f)"/><path d="M170.829 151.036a244.042 244.042 0 014.981 3.3 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7 1.155-.033 36.014-.66 53.543 10.732z" fill="url(#g)"/><path d="M18.223 261.41C36.766 370.988 136.1 454.651 248.855 457.844c104.361 2.954 171.037-57.62 198.576-116.716 17.8-38.2 30.154-100.7 7.479-162.175l-.008-.026-.032-.233c-.025-.178-.04-.284-.036-.226 0 .039.015.136.047.4 8.524 55.661-19.79 109.584-64.051 146.044l-.133.313c-86.245 70.223-168.774 42.368-185.484 30.966a144.108 144.108 0 01-3.5-1.743c-50.282-24.029-71.054-69.838-66.6-109.124-42.457 0-56.934-35.809-56.934-35.809s38.119-27.179 88.358-3.541c46.53 21.893 90.228 3.543 90.233 3.541-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 282.929 282.929 0 00-4.981-3.3c-17.528-11.392-52.388-10.765-53.543-10.735h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.919c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-8.65 37.842-4.44 57.199z" fill="url(#h)"/><path d="M341.105 166.587a130.706 130.706 0 0122.31 29.112c1.323.994 2.559 1.985 3.608 2.952 54.482 50.2 25.936 121.2 23.807 126.26 44.261-36.46 72.575-90.383 64.051-146.044C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1-9.291 4.428-64.407 91.694 10.298 166.389z" fill="url(#i)"/><path d="M367.023 198.651c-1.049-.967-2.285-1.958-3.608-2.952-.489-.368-.969-.734-1.493-1.1-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1 16.71 11.4 99.239 39.257 185.484-30.966l.133-.313c2.129-5.054 30.675-76.057-23.807-126.258z" fill="url(#j)"/><path d="M148.439 277.443s11.093-41.335 79.432-41.335c7.388 0 28.509-20.615 28.9-26.593s-43.7 18.352-90.233-3.541c-50.239-23.638-88.358 3.541-88.358 3.541s14.477 35.809 56.934 35.809c-4.453 39.286 16.319 85.1 66.6 109.124 1.124.537 2.18 1.124 3.334 1.639-29.348-15.169-53.582-43.834-56.609-78.644z" fill="url(#k)"/><path d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.053 0 84.291 24.77 105.3 61.484-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1a144.108 144.108 0 01-3.5-1.743c1.124.537 2.18 1.124 3.334 1.639-29.35-15.168-53.584-43.833-56.611-78.643 0 0 11.093-41.335 79.432-41.335 7.388 0 28.509-20.615 28.9-26.593-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.435 26.916c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.486 12.853-2.77 15.156-.022.177.021-.176 0 0a279.565 279.565 0 00-3.544 33.53c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zm-23.841 12.341c.012.085.027.174.04.259l-.008-.026-.032-.233z" fill="url(#l)"/></svg>`,zi=`<svg width="24" height="30" viewBox="0 6 24 30" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
745
+ <path d="M18 30H6V18H18V30Z" fill="#4B4646" />
746
+ <path d="M18 12H6V30H18V12ZM24 36H0V6H24V36Z" fill="#B7B1B1" />
747
+ </svg>
748
+ `,Bi=`<?xml version="1.0" encoding="UTF-8"?>
749
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
750
+ <svg width="48" height="48" version="1.1" viewBox="0 0 12.7 12.7" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
751
+ <title>Prism Launcher Logo</title>
752
+ <g stroke-width=".26458">
753
+ <path d="m6.35 6.35" fill="#99cd61"/>
754
+ <path d="m6.35 0.52917-2.5208 4.3656 2.5208 1.4552 2.5203-1.4552 0.10955-3.0996c-1.1511-0.66459-2.3388-1.2661-2.6298-1.2661z" fill="#df6277"/>
755
+ <path d="m8.9798 1.7952-2.6298 4.5548 2.5203 1.4552 2.5208-4.3656c-0.14552-0.25205-1.2601-0.97975-2.4112-1.6443z" fill="#fb9168"/>
756
+ <path d="m11.391 3.4396-5.041 2.9104 2.5203 1.4552 2.7389-1.4552c0-1.3292-0.072554-2.6584-0.21808-2.9104z" fill="#f3db6c"/>
757
+ <path d="m6.35 6.35v2.9104h5.041c0.14552-0.25205 0.21807-1.5812 0.21808-2.9104h-5.2591z" fill="#7ab392"/>
758
+ <path d="m6.35 6.35v2.9104l2.6298 1.6443c1.1511-0.66459 2.2657-1.3923 2.4112-1.6443l-5.041-2.9104z" fill="#4b7cbc"/>
759
+ <path d="m6.35 6.35-2.5208 1.4552 2.5208 4.3656c0.29104 0 1.4787-0.60148 2.6298-1.2661l-2.6298-4.5548z" fill="#6f488c"/>
760
+ <path d="m3.8292 4.8948-2.5203 4.3656c0.29104 0.5041 4.459 2.9104 5.041 2.9104v-5.8208l-2.5208-1.4552z" fill="#4d3f33"/>
761
+ <path d="m1.309 3.4396c-0.29104 0.5041-0.29104 5.3167 0 5.8208l5.041-2.9104v-2.9104h-5.041z" fill="#7a573b"/>
762
+ <path d="m6.35 0.52917c-0.58208-2e-8 -4.75 2.4063-5.041 2.9104l5.041 2.9104v-5.8208z" fill="#99cd61"/>
763
+ </g>
764
+ <g transform="matrix(.88 0 0 .88 -10.906 -1.2421)">
765
+ <g transform="translate(13.26 2.2776)">
766
+ <path transform="matrix(.96975 0 0 .96975 .1921 .1921)" d="m6.3498 2.9393c-0.34105 0-2.7827 1.4099-2.9532 1.7052l2.9532 5.1157 2.9538-5.1157c-0.17052-0.29535-2.6127-1.7052-2.9538-1.7052z" fill="#fff" stroke-width=".26458"/>
767
+ </g>
768
+ <path d="m16.746 6.9737 2.8639 4.9609c0.33073 0 2.6991-1.3672 2.8644-1.6536 0.16536-0.28642 0.16536-3.0209 0-3.3073l-2.8644 1.6536z" fill="#dfdfdf" stroke-width=".26458"/>
769
+ </g>
770
+ <path d="m3.8299 4.8948c-0.14551 0.25205-0.14553 2.6584 0 2.9104 0.14553 0.25204 2.2292 1.4552 2.5203 1.4552v-2.9104z" fill="#d6d2d2" stroke-width=".26458"/>
771
+ <metadata>
772
+ <rdf:RDF>
773
+ <cc:Work rdf:about="">
774
+ <dc:title>Prism Launcher Logo</dc:title>
775
+ <dc:date>19/10/2022</dc:date>
776
+ <dc:creator>
777
+ <cc:Agent>
778
+ <dc:title>Prism Launcher</dc:title>
779
+ </cc:Agent>
780
+ </dc:creator>
781
+ <dc:contributor>
782
+ <cc:Agent>
783
+ <dc:title>AutiOne, Boba, ely, Fulmine, gon sawa, Pankakes, tobimori, Zeke</dc:title>
784
+ </cc:Agent>
785
+ </dc:contributor>
786
+ <dc:source>https://github.com/PrismLauncher/PrismLauncher</dc:source>
787
+ <dc:publisher>
788
+ <cc:Agent>
789
+ <dc:title>Prism Launcher</dc:title>
790
+ </cc:Agent>
791
+ </dc:publisher>
792
+ <cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/"/>
793
+ </cc:Work>
794
+ <cc:License rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
795
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Reproduction"/>
796
+ <cc:permits rdf:resource="http://creativecommons.org/ns#Distribution"/>
797
+ <cc:requires rdf:resource="http://creativecommons.org/ns#Notice"/>
798
+ <cc:requires rdf:resource="http://creativecommons.org/ns#Attribution"/>
799
+ <cc:permits rdf:resource="http://creativecommons.org/ns#DerivativeWorks"/>
800
+ <cc:requires rdf:resource="http://creativecommons.org/ns#ShareAlike"/>
801
+ </cc:License>
802
+ </rdf:RDF>
803
+ </metadata>
804
+ </svg>
805
+ `,Vi=Q(`<span> </span>`),Hi=Q(`<pre></pre>`);function Ui(e,t){rt(t,!0);let n=(e,t)=>{let n=[],r=e=>{let t=n.at(-1);t&&t.className===e.className?t.text+=e.text:e.text&&n.push(e)},i=0;for(let n of t)n.start>i&&r({text:e.slice(i,n.start)}),r({className:n.name,text:e.slice(n.start,n.end)}),i=n.end;return i<e.length&&r({text:e.slice(i)}),n},r=I(void 0),i=Qt(()=>n(t.text,t.ranges));Un(()=>{t.text,Z(r),Tr().then(()=>{Z(r)&&(Z(r).scrollTop=Z(r).scrollHeight)})});var a=Hi();si(a,21,()=>Z(i),ri,(e,t)=>{var n=Vi(),r=z(n,!0);j(n),Yn(()=>{Ci(n,1,bi(Z(t).className)),Xr(r,Z(t).text)}),$(e,n)}),j(a),Ii(a,e=>L(r,e),()=>Z(r)),Yn(()=>Di(a,`data-terminal-id`,t.id)),$(e,a),it()}const Wi={30:`black`,31:`red`,32:`green`,33:`yellow`,34:`blue`,35:`magenta`,36:`cyan`,37:`white`,90:`bright-black`,91:`bright-red`,92:`bright-green`,93:`bright-yellow`,94:`bright-blue`,95:`bright-magenta`,96:`bright-cyan`,97:`bright-white`},Gi=e=>{let t=e.key.toLowerCase(),n=e.view?.getSelection(),r=n?!n.isCollapsed:!1;if(!(e.ctrlKey&&t===`v`)&&!(e.ctrlKey&&t===`c`&&r)){if(e.ctrlKey&&e.key.length===1){let t=e.key.toUpperCase().charCodeAt(0)-64;if(t>=1&&t<=26)return String.fromCharCode(t)}if(e.key===`Enter`)return`\r`;if(e.key===`Backspace`)return``;if(e.key===`Tab`)return` `;if(e.key===`Escape`)return`\x1B`;if(e.key===`ArrowUp`)return`\x1B[A`;if(e.key===`ArrowDown`)return`\x1B[B`;if(e.key===`ArrowRight`)return`\x1B[C`;if(e.key===`ArrowLeft`)return`\x1B[D`;if(e.key===`Home`)return`\x1B[H`;if(e.key===`End`)return`\x1B[F`;if(e.key===`Delete`)return`\x1B[3~`;if(e.key===`PageUp`)return`\x1B[5~`;if(e.key===`PageDown`)return`\x1B[6~`;if(e.key.length===1&&!e.metaKey&&!e.altKey)return e.key}},Ki=e=>{let t=e.lines.map(e=>e.text).join(``).replace(/\x1b(?!\[)/g,``),n=[],r=[[]],i=0,a=0,o=``,s=!1,c=()=>(r[i]??=[],r[i]),l=e=>{let t=c();for(;t.length<a;)t.push({text:` `,foreground:``,bold:!1});t[a]={text:e,foreground:o,bold:s},a+=1},u=e=>{let t=c();if(e===2)r[i]=[],a=0;else if(e===1)for(let e=0;e<=a;e+=1)t[e]={text:` `,foreground:``,bold:!1};else t.length=a},d=e=>{let t=e?e.split(`;`).map(Number):[0];for(let e of t)e===0?(o=``,s=!1):e===1?s=!0:e===22?s=!1:e===39?o=``:Wi[e]&&(o=Wi[e])};for(let e=0;e<t.length;e+=1){let n=t[e];if(n===`\x1B`&&t[e+1]===`[`){let n=t.slice(e).match(/^\x1b\[([0-9;?]*)([A-Za-z~])/);if(!n)continue;e+=n[0].length-1;let r=n[1],o=n[2],s=Number(r.split(`;`)[0])||0;o===`m`?d(r):o===`K`?u(s):o===`G`?a=Math.max(0,s-1):o===`C`?a+=s||1:o===`D`?a=Math.max(0,a-(s||1)):o===`A`?(i=Math.max(0,i-(s||1)),a=Math.min(a,c().length)):o===`B`&&(i+=s||1,a=Math.min(a,c().length));continue}if(n===`\r`)a=0;else if(n===`
806
+ `)i+=1,a=0,c();else if(n===`\b`||n===``)a=Math.max(0,a-1);else if(n===` `){let e=a+(8-a%8);for(;a<e;)l(` `)}else n>=` `&&l(n)}let f=``;return r.forEach((e,t)=>{t>0&&(f+=`
807
+ `),e.forEach(e=>{let t=f.length;f+=e.text,e.foreground&&n.push({name:`cod-ansi-${e.bold&&!e.foreground.startsWith(`bright-`)?`bright-${e.foreground}`:e.foreground}`,start:t,end:f.length})})}),{text:f,ranges:n}};var qi=Q(`<button type="button"><div class="terminal-tab-background m3-layer"><span> </span></div></button>`),Ji=Q(`<p class="empty">No tasks have started yet</p>`),Yi=Q(`<img aria-label="running" class="task-loader" alt="running"/>`),Xi=Q(`<article><button class="task-summary m3-layer" type="button"><span class="task-chevron" aria-hidden="true"> </span> <span class="task-label"><span class="task-title"> </span> <!></span></button> <!></article>`),Zi=Q(`<div class="task-list"><!> <!></div>`),Qi=Q(`<div class="empty terminal-empty"><button class="m3-layer" type="button">+ bash</button></div>`),$i=Q(`<dialog aria-label="Terminal" class="terminal-app" data-terminal-app="" closedby="any" tabindex="-1"><header class="terminal-header"><nav aria-label="Terminal tabs" class="terminal-tabs"><button type="button"><div class="terminal-tab-background m3-layer"><span>Tasks</span></div></button> <!></nav> <button aria-label="New terminal" class="new-terminal" type="button"><div class="new-terminal-background m3-layer"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24" aria-hidden="true"><path fill="currentColor" d="M11 13v3q0 .425.288.713T12 17t.713-.288T13 16v-3h3q.425 0 .713-.288T17 12t-.288-.712T16 11h-3V8q0-.425-.288-.712T12 7t-.712.288T11 8v3H8q-.425 0-.712.288T7 12t.288.713T8 13zm-6 8q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-2h14V5H5zM5 5v14z"></path></svg></div></button></header> <!></dialog>`);function ea(e,t){rt(t,!0);let n=I(void 0),r=!1,i=()=>t.terminals.filter(e=>e.kind===`task`),a=()=>t.terminals.filter(e=>e.kind===`terminal`),o=()=>a().find(e=>e.id===t.activeTab),s=e=>Ki(e),c=e=>{let n=o();if(!n||n.kind!==`terminal`)return;let r=Gi(e);r&&(e.preventDefault(),t.onInput(n.id,r))},l=e=>{let n=o();if(!n||n.kind!==`terminal`)return;let r=e.clipboardData?.getData(`text`);r&&(e.preventDefault(),t.onInput(n.id,r))};Un(()=>{Z(n)&&(t.open&&!Z(n).open?(Z(n).showModal(),Z(n).focus({preventScroll:!0})):!t.open&&Z(n).open&&(r=!0,Z(n).close()))});var u=$i(),d=z(u),f=z(d),p=z(f);let m;si(B(p,2),17,a,e=>e.id,(e,n)=>{var r=qi();let i;var a=z(r),o=z(a),s=z(o,!0);j(o),j(a),j(r),Yn(()=>{Di(r,`aria-current`,t.activeTab===Z(n).id?`page`:void 0),i=Ci(r,1,`terminal-tab`,null,i,{active:t.activeTab===Z(n).id}),Xr(s,Z(n).title)}),Vr(`click`,r,()=>t.onSelectTab(Z(n).id)),$(e,r)}),j(f);var h=B(f,2);j(d);var g=B(d,2),_=e=>{var n=Zi(),r=z(n),a=e=>{$(e,Ji())},o=Qt(()=>i().length===0);ni(r,e=>{Z(o)&&e(a)}),si(B(r,2),17,i,e=>e.id,(e,n)=>{var r=Xi();let i;var a=z(r),o=z(a),c=z(o);j(o);var l=B(o,2),u=z(l),d=z(u,!0);j(u);var f=B(u,2),p=e=>{var t=Yi();Yn(()=>Di(t,`src`,Li)),$(e,t)};ni(f,e=>{Z(n).running&&e(p)}),j(l),j(a);var m=B(a,2),h=e=>{let t=Qt(()=>s(Z(n)));Ui(e,{get id(){return Z(n).id},get text(){return Z(t).text},get ranges(){return Z(t).ranges}})};ni(m,e=>{Z(n).collapsed||e(h)}),j(r),Yn(()=>{i=Ci(r,1,`task-entry`,null,i,{error:Z(n).failed,finished:!Z(n).running}),Di(a,`aria-expanded`,!Z(n).collapsed),Xr(c,`[${Z(n).collapsed?`+`:`-`}]`),Xr(d,Z(n).title)}),Vr(`click`,a,()=>t.onToggleTask(Z(n).id)),$(e,r)}),j(n),$(e,n)},v=e=>{let n=Qt(()=>s(o()));Ui(e,{get id(){return t.activeTab},get text(){return Z(n).text},get ranges(){return Z(n).ranges}})},y=Qt(()=>o()),b=e=>{var n=Qi(),r=z(n);j(n),Vr(`click`,r,function(...e){t.onNewTerminal?.apply(this,e)}),$(e,n)};ni(g,e=>{t.activeTab===`tasks`?e(_):Z(y)?e(v,1):e(b,-1)}),j(u),Ii(u,e=>L(n,e),()=>Z(n)),Yn(()=>{Di(p,`aria-current`,t.activeTab===`tasks`?`page`:void 0),m=Ci(p,1,`terminal-tab`,null,m,{active:t.activeTab===`tasks`})}),Br(`close`,u,()=>{if(r){r=!1;return}t.onClose()}),Vr(`keydown`,u,c),Br(`paste`,u,l),Vr(`click`,p,()=>t.onSelectTab(`tasks`)),Vr(`click`,h,function(...e){t.onNewTerminal?.apply(this,e)}),$(e,u),it()}Hr([`keydown`,`click`]);var ta=Q(`<div> </div>`),na=Q(`<button class="app-entry alive m3-layer svelte-1ywbbn9" type="button"><span class="svelte-1ywbbn9"> </span></button>`),ra=Q(`<button class="app-entry launcher m3-layer svelte-1ywbbn9" type="button"><!> <span class="svelte-1ywbbn9"> </span></button>`),ia=Q(`<div class="screen svelte-1ywbbn9"></div> <!> <!> <div><nav class="bar svelte-1ywbbn9" aria-label="Open windows"><!> <button type="button" title="Terminal"><span class="svelte-1ywbbn9">Terminal</span></button> <!></nav></div> <div><img alt="Loading Cod" class="svelte-1ywbbn9"/></div>`,1);const aa={hash:`svelte-1ywbbn9`,code:`.screen.svelte-1ywbbn9 {position:absolute;z-index:10;inset:0;overflow:visible;canvas {max-width:none;max-height:none;object-fit:none;}}.mouse-lock-hint.svelte-1ywbbn9 {position:fixed;z-index:120;top:0.75rem;left:50%;max-width:calc(100vw - 1.5rem);border-radius:999px;padding:0.45rem 0.75rem;background:color-mix(in srgb, var(--m3c-surface-container-highest) 88%, transparent);color:var(--m3c-on-surface);font-size:0.8125rem;font-weight:650;opacity:0.9;pointer-events:none;translate:-50% 0;
808
+ animation: svelte-1ywbbn9-mouse-lock-hint-in 180ms ease-out;box-shadow:0 0.375rem 1.5rem rgb(0 0 0 / 0.18);&.active {background:var(--m3c-primary-container);color:var(--m3c-on-primary-container);opacity:1;}}
809
+
810
+ @keyframes svelte-1ywbbn9-mouse-lock-hint-in {
811
+ from {
812
+ opacity: 0;
813
+ transform: translateY(-0.35rem);
814
+ }
815
+
816
+ to {
817
+ opacity: 0.9;
818
+ transform: translateY(0);
819
+ }
820
+ }.bar-anchor.svelte-1ywbbn9 {display:contents;--transition: 220ms cubic-bezier(0.2, 0, 0, 1);}.bar.svelte-1ywbbn9 {position:fixed;z-index:100;bottom:0;left:50%;display:flex;align-items:center;gap:0.25rem;width:max-content;max-width:calc(100vw - 1rem);height:2.25rem;overflow:visible;padding:0.25rem;background:transparent;translate:-50% 0;transition:height var(--transition),
750
821
  width var(--transition),
751
822
  padding var(--transition),
752
823
  border-radius var(--transition);&::after {position:absolute;bottom:0.1875rem;left:50%;width:2.75rem;height:0.25rem;border-radius:999px;background:var(--m3c-primary-container);content:'';translate:-50% 0;transition:opacity var(--transition),
753
824
  visibility var(--transition);}}.bar-anchor.svelte-1ywbbn9:not(:hover, :focus-within, .force-expand) > .bar:where(.svelte-1ywbbn9) {width:3.5rem;height:0.75rem;padding:0;}.bar-anchor.svelte-1ywbbn9:is(:where(.svelte-1ywbbn9):hover, :where(.svelte-1ywbbn9):focus-within, .force-expand:where(.svelte-1ywbbn9)) > .bar:where(.svelte-1ywbbn9)::after {visibility:hidden;opacity:0;}.bar-anchor.svelte-1ywbbn9:not(:hover, :focus-within, .force-expand) > .bar:where(.svelte-1ywbbn9) > button:where(.svelte-1ywbbn9) {width:0;min-width:0;padding-inline:0;visibility:hidden;}.bar.svelte-1ywbbn9 button:where(.svelte-1ywbbn9) {position:relative;display:flex;align-items:center;justify-content:center;min-width:5.25rem;max-width:10rem;height:1.75rem;border:0;border-radius:0.5rem;padding:0 0.625rem;background:var(--m3c-surface-container-low);color:var(--m3c-on-surface);text-align:center;cursor:pointer;transition:width var(--transition),
754
825
  min-width var(--transition),
755
826
  padding var(--transition),
756
- background 120ms;&:hover {background:var(--m3c-surface-container-high);}&.alive::after {position:absolute;bottom:0.2rem;left:50%;width:0.25rem;height:0.25rem;border-radius:999px;background:currentColor;content:'';opacity:0.75;translate:-50% 0;}span:where(.svelte-1ywbbn9) {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;line-height:1.1;}}.loader.svelte-1ywbbn9 {position:absolute;z-index:60;inset:0;display:grid;place-items:center;align-content:center;gap:1rem;background:var(--m3c-surface-container-lowest);transition:opacity 140ms;&.hidden {visibility:hidden;opacity:0;}img:where(.svelte-1ywbbn9) {width:min(50vw, 50vh, 24rem);height:auto;}}`};function Yi(e,t){it(t,!0),li(e,Ji);let n=String.raw`set -euo pipefail
827
+ background 120ms;&:hover {background:var(--m3c-surface-container-high);}&.alive::after {position:absolute;bottom:0.2rem;left:50%;width:0.25rem;height:0.25rem;border-radius:999px;background:currentColor;content:'';opacity:0.75;translate:-50% 0;}span:where(.svelte-1ywbbn9) {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;line-height:1.1;}&.launcher {width:2rem;min-width:2rem;padding:0;svg {width:1.25rem;height:1.25rem;object-fit:contain;pointer-events:none;}span:where(.svelte-1ywbbn9) {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}}}.loader.svelte-1ywbbn9 {position:absolute;z-index:60;inset:0;display:grid;place-items:center;align-content:center;gap:1rem;background:var(--m3c-surface-container-lowest);transition:opacity 140ms;&.hidden {visibility:hidden;opacity:0;}img:where(.svelte-1ywbbn9) {width:min(50vw, 50vh, 24rem);height:auto;}}`};function oa(e,t){rt(t,!0),gi(e,aa);let n=`task-relative-mouse`,r=String.raw`export DISPLAY=:99
828
+ export XDG_RUNTIME_DIR="$HOME/.local/run"
829
+ mkdir -p "$XDG_RUNTIME_DIR"
830
+ chmod 700 "$XDG_RUNTIME_DIR"
831
+ if [ -r "$HOME/.cod-desktop-env" ]; then
832
+ . "$HOME/.cod-desktop-env"
833
+ fi
834
+ export NO_AT_BRIDGE=1
835
+ export GTK_A11Y=none
836
+ export GTK_MODULES=
837
+ export DBUS_SESSION_BUS_ADDRESS="unix:path=$XDG_RUNTIME_DIR/bus"`,i=e=>`${r}\n${e}`,a=String.raw`set -euo pipefail
757
838
  echo "Installing Firefox..."
758
839
  export PATH="$HOME/.local/bin:$PATH"
759
840
  BIN_DIR="$HOME/.local/bin"
760
841
  APP_DIR="$HOME/.local"
761
- mkdir -p "$BIN_DIR" "$APP_DIR"
842
+ APPLICATIONS_DIR="$HOME/.local/share/applications"
843
+ mkdir -p "$BIN_DIR" "$APP_DIR" "$APPLICATIONS_DIR"
762
844
  BROWSER="$APP_DIR/firefox/firefox"
845
+ DESKTOP_FILE="$APPLICATIONS_DIR/firefox.desktop"
763
846
 
764
847
  if [ ! -x "$BROWSER" ]; then
765
- ARCHIVE="/tmp/codehs-firefox.tar.xz"
848
+ ARCHIVE="/tmp/firefox.tar.xz"
766
849
  EXTRACT_DIR="$(mktemp -d "$APP_DIR/firefox-install.XXXXXX")"
767
850
  URL="https://download.mozilla.org/?product=firefox-latest-ssl&os=linux64&lang=en-US"
768
851
  cleanup() {
@@ -782,7 +865,7 @@ with urllib.request.urlopen(url) as response:
782
865
  content_type = response.headers.get('content-type', '')
783
866
  if response.status != 200:
784
867
  raise RuntimeError(f'unexpected Firefox response: {response.status} {content_type}')
785
- with open('/tmp/codehs-firefox.tar.xz', 'wb') as f:
868
+ with open('/tmp/firefox.tar.xz', 'wb') as f:
786
869
  f.write(response.read())
787
870
  PY
788
871
  fi
@@ -792,10 +875,269 @@ PY
792
875
  mv "$EXTRACT_DIR/firefox" "$APP_DIR/firefox"
793
876
  fi
794
877
 
878
+ ln -sfn "$BROWSER" "$BIN_DIR/firefox"
879
+ cat > "$DESKTOP_FILE" <<EOF
880
+ [Desktop Entry]
881
+ Encoding=UTF-8
882
+ Version=1.0
883
+ Type=Application
884
+ NoDisplay=true
885
+ Exec=$BROWSER %u
886
+ Name=Firefox
887
+ Comment=Custom definition for Firefox
888
+ Icon=$APP_DIR/firefox/browser/chrome/icons/default/default128.png
889
+ MimeType=x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/chrome;text/html;application/x-extension-htm;application/x-extension-html;application/x-extension-shtml;application/xhtml+xml;application/x-extension-xhtml;application/x-extension-xht;
890
+ StartupWMClass=firefox
891
+ EOF
892
+ chmod 644 "$DESKTOP_FILE"
893
+ mkdir -p "$HOME/.config"
894
+ python3 - <<'PY'
895
+ import configparser
896
+ import os
897
+
898
+ home = os.environ['HOME']
899
+ path = os.path.join(home, '.config', 'mimeapps.list')
900
+ defaults = {
901
+ 'x-scheme-handler/http': 'firefox.desktop',
902
+ 'x-scheme-handler/https': 'firefox.desktop',
903
+ 'x-scheme-handler/chrome': 'firefox.desktop',
904
+ 'text/html': 'firefox.desktop',
905
+ 'application/x-extension-htm': 'firefox.desktop',
906
+ 'application/x-extension-html': 'firefox.desktop',
907
+ 'application/x-extension-shtml': 'firefox.desktop',
908
+ 'application/xhtml+xml': 'firefox.desktop',
909
+ 'application/x-extension-xhtml': 'firefox.desktop',
910
+ 'application/x-extension-xht': 'firefox.desktop',
911
+ }
912
+ config = configparser.RawConfigParser(strict=False, delimiters=('='))
913
+ config.optionxform = str
914
+ config.read(path)
915
+ for section, suffix in [('Default Applications', ''), ('Added Associations', ';')]:
916
+ if not config.has_section(section):
917
+ config.add_section(section)
918
+ for key, value in defaults.items():
919
+ config.set(section, key, value + suffix)
920
+ with open(path, 'w') as f:
921
+ config.write(f, space_around_delimiters=False)
922
+ PY
923
+
795
924
  "$BROWSER" --version
796
925
  echo "Firefox is ready: $BROWSER"
797
- `,r=String.raw`import json
926
+ `,o=String.raw`set -euo pipefail
927
+ echo "Installing Prism Launcher..."
928
+ python3 - <<'PY'
929
+ import json
798
930
  import os
931
+ import shutil
932
+ import subprocess
933
+ import tarfile
934
+ import urllib.request
935
+
936
+ release_api = 'https://api.github.com/repos/PrismLauncher/PrismLauncher/releases/latest'
937
+ fallback_url = 'https://github.com/PrismLauncher/PrismLauncher/releases/download/11.0.2/PrismLauncher-Linux-Qt6-Portable-11.0.2.tar.gz'
938
+ home = os.environ.get('HOME') or '/tmp'
939
+ app_root = os.path.join(home, '.local', 'prism')
940
+ bin_dir = os.path.join(home, '.local', 'bin')
941
+ extract_dir = os.path.join(app_root, 'portable')
942
+ launcher = os.path.join(bin_dir, 'prismlauncher')
943
+ os.makedirs(app_root, exist_ok=True)
944
+ os.makedirs(bin_dir, exist_ok=True)
945
+
946
+ def download(url, dest, timeout=240):
947
+ curl = shutil.which('curl')
948
+ wget = shutil.which('wget')
949
+ if curl:
950
+ return subprocess.run([curl, '-L', '--fail', '--max-time', str(timeout), '-o', dest, url]).returncode == 0
951
+ if wget:
952
+ return subprocess.run([wget, '-O', dest, url], timeout=timeout + 30).returncode == 0
953
+ req = urllib.request.Request(url, headers={'User-Agent': 'prism-bootstrap/1'})
954
+ with urllib.request.urlopen(req, timeout=timeout) as resp, open(dest, 'wb') as f:
955
+ shutil.copyfileobj(resp, f)
956
+ return True
957
+
958
+ def latest_url():
959
+ override = os.environ.get('PRISM_URL')
960
+ if override:
961
+ return override
962
+ try:
963
+ req = urllib.request.Request(release_api, headers={'User-Agent': 'prism-bootstrap/1'})
964
+ with urllib.request.urlopen(req, timeout=30) as resp:
965
+ release = json.load(resp)
966
+ assets = release.get('assets') or []
967
+ for asset in assets:
968
+ name = asset.get('name') or ''
969
+ if name.startswith('PrismLauncher-Linux-Qt6-Portable-') and name.endswith('.tar.gz'):
970
+ print('Prism release:', release.get('tag_name'), name, flush=True)
971
+ return asset.get('browser_download_url')
972
+ for asset in assets:
973
+ name = asset.get('name') or ''
974
+ if name == 'PrismLauncher-Linux-x86_64.AppImage':
975
+ print('Prism AppImage fallback:', release.get('tag_name'), name, flush=True)
976
+ return asset.get('browser_download_url')
977
+ except Exception as exc:
978
+ print('Could not look up latest Prism release:', type(exc).__name__, str(exc), flush=True)
979
+ return fallback_url
980
+
981
+ def find_prism(root):
982
+ names = {'prismlauncher', 'PrismLauncher', 'prismlauncher.bin'}
983
+ for dirpath, _dirs, files in os.walk(root):
984
+ for name in files:
985
+ if name in names:
986
+ path = os.path.join(dirpath, name)
987
+ os.chmod(path, os.stat(path).st_mode | 0o111)
988
+ return path
989
+ return None
990
+
991
+ url = latest_url()
992
+ archive = os.path.join(app_root, os.path.basename(url.split('?', 1)[0]) or 'prism.tar.gz')
993
+ if not os.path.exists(archive) or os.path.getsize(archive) < 1024 * 1024:
994
+ print('Downloading Prism from', url, flush=True)
995
+ tmp = archive + '.download'
996
+ if os.path.exists(tmp):
997
+ os.remove(tmp)
998
+ if not download(url, tmp):
999
+ raise RuntimeError('failed to download Prism')
1000
+ os.replace(tmp, archive)
1001
+
1002
+ print('Prism archive:', archive, os.path.getsize(archive), flush=True)
1003
+ shutil.rmtree(extract_dir, ignore_errors=True)
1004
+ os.makedirs(extract_dir, exist_ok=True)
1005
+ if archive.endswith('.AppImage'):
1006
+ os.chmod(archive, os.stat(archive).st_mode | 0o111)
1007
+ result = subprocess.run([archive, '--appimage-extract'], cwd=extract_dir)
1008
+ if result.returncode != 0:
1009
+ raise RuntimeError('failed to extract Prism AppImage')
1010
+ else:
1011
+ with tarfile.open(archive, 'r:gz') as tar:
1012
+ tar.extractall(extract_dir)
1013
+
1014
+ prism = find_prism(extract_dir)
1015
+ if not prism:
1016
+ raise RuntimeError('could not find Prism executable after extraction')
1017
+
1018
+ with open(launcher, 'w') as f:
1019
+ f.write('#!/bin/sh\nexec "{}" "$@"\n'.format(prism))
1020
+ os.chmod(launcher, 0o755)
1021
+ subprocess.run([launcher, '--version'], timeout=30, check=True)
1022
+ print('Prism is ready:', launcher, flush=True)
1023
+ PY
1024
+ `,s=String.raw`set -euo pipefail
1025
+ echo "Installing opencode..."
1026
+ URL="https://github.com/anomalyco/opencode/releases/latest/download/opencode-linux-x64.tar.gz"
1027
+ BIN_DIR="$HOME/.local/bin"
1028
+ APP_DIR="$HOME/.local/opencode"
1029
+ TARGET="$BIN_DIR/opencode"
1030
+ ARCHIVE="$(mktemp /tmp/opencode-linux-x64.XXXXXX.tar.gz)"
1031
+ EXTRACT_DIR="$(mktemp -d /tmp/opencode-install.XXXXXX)"
1032
+ mkdir -p "$BIN_DIR" "$APP_DIR"
1033
+ cleanup() {
1034
+ rm -rf "$ARCHIVE" "$EXTRACT_DIR"
1035
+ }
1036
+ trap cleanup EXIT
1037
+
1038
+ echo "Downloading latest opencode from $URL..."
1039
+ if command -v curl >/dev/null 2>&1; then
1040
+ curl -L --fail --retry 2 --max-time 180 -o "$ARCHIVE" "$URL"
1041
+ elif command -v wget >/dev/null 2>&1; then
1042
+ wget -O "$ARCHIVE" "$URL"
1043
+ else
1044
+ OPENCODE_URL="$URL" OPENCODE_ARCHIVE="$ARCHIVE" python3 - <<'PY'
1045
+ import os
1046
+ import shutil
1047
+ import urllib.request
1048
+
1049
+ req = urllib.request.Request(os.environ['OPENCODE_URL'], headers={'User-Agent': 'cod-opencode-bootstrap/1'})
1050
+ with urllib.request.urlopen(req, timeout=180) as response, open(os.environ['OPENCODE_ARCHIVE'], 'wb') as f:
1051
+ if response.status != 200:
1052
+ raise RuntimeError(f'unexpected opencode response: {response.status}')
1053
+ shutil.copyfileobj(response, f)
1054
+ PY
1055
+ fi
1056
+
1057
+ echo "Extracting opencode..."
1058
+ tar -xzf "$ARCHIVE" -C "$EXTRACT_DIR"
1059
+ if [ ! -f "$EXTRACT_DIR/opencode" ]; then
1060
+ echo "Error: opencode archive did not contain a root opencode executable" >&2
1061
+ exit 1
1062
+ fi
1063
+ cp "$EXTRACT_DIR/opencode" "$TARGET"
1064
+ chmod 755 "$TARGET"
1065
+ "$TARGET" --version
1066
+ echo "opencode is ready: $TARGET"
1067
+ `,c=String.raw`set -euo pipefail
1068
+ export DISPLAY=:99
1069
+ for _ in $(seq 1 1200); do
1070
+ if xdpyinfo -display :99 >/dev/null 2>&1; then
1071
+ break
1072
+ fi
1073
+ sleep 0.5
1074
+ done
1075
+ xdpyinfo -display :99 >/dev/null
1076
+ HELPER="$(mktemp /tmp/cod-relative-mouse.XXXXXX.py)"
1077
+ trap 'rm -f "$HELPER"' EXIT
1078
+ cat > "$HELPER" <<'PY'
1079
+ import ctypes
1080
+ import sys
1081
+
1082
+ x11 = ctypes.cdll.LoadLibrary('libX11.so.6')
1083
+ xtst = ctypes.cdll.LoadLibrary('libXtst.so.6')
1084
+
1085
+ XErrorHandler = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.c_void_p)
1086
+ XIOErrorHandler = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_void_p)
1087
+
1088
+ @XErrorHandler
1089
+ def handle_x_error(display, event):
1090
+ print('Relative mouse X error', flush=True)
1091
+ return 0
1092
+
1093
+ @XIOErrorHandler
1094
+ def handle_x_io_error(display):
1095
+ print('Relative mouse X IO error', flush=True)
1096
+ return 0
1097
+
1098
+ x11.XOpenDisplay.restype = ctypes.c_void_p
1099
+ x11.XSync.argtypes = [ctypes.c_void_p, ctypes.c_int]
1100
+ x11.XSetErrorHandler.argtypes = [XErrorHandler]
1101
+ x11.XSetIOErrorHandler.argtypes = [XIOErrorHandler]
1102
+ xtst.XTestFakeRelativeMotionEvent.argtypes = [ctypes.c_void_p, ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.c_ulong]
1103
+ xtst.XTestFakeRelativeMotionEvent.restype = ctypes.c_int
1104
+ xtst.XTestFakeButtonEvent.argtypes = [ctypes.c_void_p, ctypes.c_uint, ctypes.c_int, ctypes.c_ulong]
1105
+ xtst.XTestFakeButtonEvent.restype = ctypes.c_int
1106
+
1107
+ x11.XSetErrorHandler(handle_x_error)
1108
+ x11.XSetIOErrorHandler(handle_x_io_error)
1109
+ display = x11.XOpenDisplay(None)
1110
+ if not display:
1111
+ raise SystemExit('could not open DISPLAY')
1112
+
1113
+ print('Relative mouse helper ready', flush=True)
1114
+
1115
+ def clamp(value):
1116
+ return max(-2000, min(2000, int(value)))
1117
+
1118
+ for line in sys.stdin:
1119
+ parts = line.split()
1120
+ if not parts:
1121
+ continue
1122
+ try:
1123
+ if parts[0] == 'm' and len(parts) == 3:
1124
+ dx = clamp(parts[1])
1125
+ dy = clamp(parts[2])
1126
+ if dx or dy:
1127
+ xtst.XTestFakeRelativeMotionEvent(display, dx, dy, 0, 0)
1128
+ x11.XSync(display, 0)
1129
+ elif parts[0] == 'b' and len(parts) == 3:
1130
+ button = max(1, min(7, int(parts[1])))
1131
+ down = 1 if int(parts[2]) else 0
1132
+ xtst.XTestFakeButtonEvent(display, button, down, 0)
1133
+ x11.XSync(display, 0)
1134
+ except Exception as exc:
1135
+ print('Relative mouse input error:', type(exc).__name__, exc, flush=True)
1136
+ PY
1137
+ exec python3 -u "$HELPER"
1138
+ `,l=String.raw`import json
1139
+ import os
1140
+ import shutil
799
1141
  import subprocess
800
1142
  import sys
801
1143
  import threading
@@ -806,9 +1148,21 @@ import time
806
1148
  HOME = os.environ.get('HOME') or '/home/karel'
807
1149
  BIN_DIR = os.path.join(HOME, '.local', 'bin')
808
1150
  WM_DIR = os.path.join(HOME, '.local', 'codehs-wm')
1151
+ RUNTIME_DIR = os.path.join(HOME, '.local', 'run')
1152
+ DESKTOP_ENV_FILE = os.path.join(HOME, '.cod-desktop-env')
1153
+ DBUS_BUS_PATH = os.path.join(RUNTIME_DIR, 'bus')
1154
+ DBUS_BUS_ADDRESS = 'unix:path=' + DBUS_BUS_PATH
809
1155
  os.makedirs(BIN_DIR, exist_ok=True)
810
1156
  os.makedirs(WM_DIR, exist_ok=True)
1157
+ os.makedirs(RUNTIME_DIR, exist_ok=True)
1158
+ os.chmod(RUNTIME_DIR, 0o700)
811
1159
  os.environ['PATH'] = BIN_DIR + ':' + os.environ.get('PATH', '')
1160
+ os.environ['DISPLAY'] = ':99'
1161
+ os.environ['XDG_RUNTIME_DIR'] = RUNTIME_DIR
1162
+ os.environ['DBUS_SESSION_BUS_ADDRESS'] = DBUS_BUS_ADDRESS
1163
+ os.environ['NO_AT_BRIDGE'] = '1'
1164
+ os.environ['GTK_A11Y'] = 'none'
1165
+ os.environ['GTK_MODULES'] = ''
812
1166
 
813
1167
  GRAPHICS_WIDTH = 1920
814
1168
  GRAPHICS_HEIGHT = 1080
@@ -838,6 +1192,35 @@ def run(cmd, timeout=60, cwd=None, env=None, quiet=False):
838
1192
  say('Command failed:', type(exc).__name__, str(exc))
839
1193
  return False, '', str(exc)
840
1194
 
1195
+ def sh_quote(value):
1196
+ return "'" + value.replace("'", "'\"'\"'") + "'"
1197
+
1198
+ def write_desktop_env():
1199
+ with open(DESKTOP_ENV_FILE, 'w') as f:
1200
+ for key in ['DISPLAY', 'XDG_RUNTIME_DIR', 'DBUS_SESSION_BUS_ADDRESS', 'NO_AT_BRIDGE', 'GTK_A11Y', 'GTK_MODULES']:
1201
+ f.write('export {}={}\n'.format(key, sh_quote(os.environ.get(key, ''))))
1202
+
1203
+ def start_session_bus():
1204
+ run(['pkill', '-f', 'dbus-daemon --session --address=' + DBUS_BUS_ADDRESS], timeout=5, quiet=True)
1205
+ try:
1206
+ os.remove(DBUS_BUS_PATH)
1207
+ except FileNotFoundError:
1208
+ pass
1209
+ except Exception as exc:
1210
+ say('Warning: could not remove stale D-Bus socket', type(exc).__name__, str(exc))
1211
+
1212
+ start_background(
1213
+ ['dbus-daemon', '--session', '--address=' + DBUS_BUS_ADDRESS, '--nofork', '--nopidfile'],
1214
+ '/tmp/cod-dbus.log',
1215
+ )
1216
+ deadline = time.time() + 5
1217
+ while time.time() < deadline:
1218
+ if os.path.exists(DBUS_BUS_PATH):
1219
+ say('Session D-Bus is ready:', DBUS_BUS_ADDRESS)
1220
+ return
1221
+ time.sleep(0.1)
1222
+ say('Warning: session D-Bus socket did not appear')
1223
+
841
1224
  def download(url, path, timeout=120):
842
1225
  return run(['curl', '-L', '--fail', '--max-time', str(timeout - 20), '-o', path, url], timeout=timeout)[0]
843
1226
 
@@ -941,24 +1324,43 @@ def write_jwmrc(path):
941
1324
  <Class>firefox</Class>
942
1325
  <Class>Firefox</Class>
943
1326
  <Option>maximized</Option>
1327
+ <Option>noborder</Option>
1328
+ <Option>notitle</Option>
1329
+ </Group>
1330
+ <Group>
1331
+ <Name>PrismLauncher</Name>
1332
+ <Class>PrismLauncher</Class>
1333
+ <Class>prismlauncher</Class>
1334
+ <Option>maximized</Option>
944
1335
  </Group>
945
1336
  <Group>
946
1337
  <Option>tiled</Option>
947
1338
  <Option>aerosnap</Option>
948
- <Option>noborder</Option>
949
- <Option>notitle</Option>
950
1339
  </Group>
951
1340
  <WindowStyle decorations="motif">
952
1341
  <Font>Sans-10</Font>
953
- <Width>0</Width>
954
- <Height>0</Height>
1342
+ <Width>1</Width>
1343
+ <Height>20</Height>
1344
+ <Corner>0</Corner>
1345
+ <Foreground>#81b69f</Foreground>
1346
+ <Background>#001e14</Background>
1347
+ <Outline>#001e14</Outline>
1348
+ <Active>
1349
+ <Foreground>#daffec</Foreground>
1350
+ <Background>#002c1f</Background>
1351
+ <Outline>#002c1f</Outline>
1352
+ </Active>
955
1353
  </WindowStyle>
1354
+ <TitleButtonOrder>tx</TitleButtonOrder>
956
1355
  <Tray autohide="true" x="0" y="-1" height="1"></Tray>
957
1356
  <FocusModel>click</FocusModel>
958
1357
  <MoveMode>opaque</MoveMode>
959
1358
  <ResizeMode>opaque</ResizeMode>
960
1359
  <DoubleClickSpeed>400</DoubleClickSpeed>
961
1360
  <DoubleClickDelta>2</DoubleClickDelta>
1361
+ <Mouse context="title" button="1">move</Mouse>
1362
+ <Mouse context="title" button="11">maximize</Mouse>
1363
+ <Mouse context="close" button="1">close</Mouse>
962
1364
  <Key key="A-Tab">nextstacked</Key>
963
1365
  <Key key="A-F4">close</Key>
964
1366
  </JWM>
@@ -1000,6 +1402,8 @@ def watch_windows():
1000
1402
  time.sleep(1)
1001
1403
 
1002
1404
  say('Starting desktop services')
1405
+ write_desktop_env()
1406
+ start_session_bus()
1003
1407
  restart_graphics_stack()
1004
1408
  try:
1005
1409
  subprocess.run(['xsetroot', '-solid', '#00120a'], timeout=5)
@@ -1029,7 +1433,7 @@ while True:
1029
1433
  say('Error: window manager stopped with code', wm.returncode)
1030
1434
  sys.exit(4)
1031
1435
  time.sleep(5)
1032
- `,i=F(!0),a,o=0,s=F(!1),c=F(`tasks`),l=F(yn([])),u=F(yn([])),d=F(!1),f,p=(e=Z(c))=>{I(c,e,!0),I(s,!0),t.appWindow.setTimeout(ie)},m=()=>{I(s,!1)},h=(e,t)=>new Promise((n,r)=>{if([...e.scripts].find(e=>e.src===t)){n();return}let i=e.createElement(`script`);i.src=t,i.onload=()=>n(),i.onerror=()=>r(Error(`failed to load ${t}`)),e.head.appendChild(i)}),g=()=>({width:Math.max(1,Math.round(t.appWindow.innerWidth)),height:Math.max(1,Math.round(t.appWindow.innerHeight))}),_=e=>{let n=0,r,i=()=>{n=0;let t=g();r?.width===t.width&&r.height===t.height||(r=t,e(t))},a=()=>{n&&t.appWindow.clearTimeout(n),n=t.appWindow.setTimeout(i)};return t.appWindow.addEventListener(`resize`,a),a(),()=>{t.appWindow.removeEventListener(`resize`,a),n&&t.appWindow.clearTimeout(n)}},v=e=>{let t=e.querySelector(`canvas`);t instanceof HTMLCanvasElement&&(t.style.width=`${t.width}px`,t.style.height=`${t.height}px`,t.style.maxWidth=`none`,t.style.maxHeight=`none`,t.style.objectFit=`fill`)},y=e=>{let t,n=()=>{let n=e.querySelector(`canvas`);if(!(n instanceof HTMLCanvasElement))return!1;t?.disconnect();let r=new MutationObserver(()=>v(e));return t=r,r.observe(n,{attributes:!0,attributeFilter:[`width`,`height`]}),v(e),!0},r=new MutationObserver(()=>{n()&&r.disconnect()});n()||r.observe(e,{childList:!0,subtree:!0})},b=(e,n,r)=>{let i=!1,a,o=0,s=()=>{let c=t.appWindow.RFB;c&&(i=!1,o=0,a=new c(e,n,{}),a.scaleViewport=!1,a.resizeSession=!1,a.clipViewport=!0,a.focusOnClick=!0,a.addEventListener(`disconnect`,e=>{i&&console.warn(`[rfb] disconnected`,e),i=!1,o||=t.appWindow.setTimeout(s,1e3)}),a.addEventListener(`connect`,()=>{i=!0,r()}))};return s(),()=>{o&&t.appWindow.clearTimeout(o),a?.disconnect()}},x=e=>{a={width:Math.min(e.width,1920),height:Math.min(e.height,1080)},o&&t.appWindow.clearTimeout(o),o=t.appWindow.setTimeout(()=>{o=0;let e=a;if(!e)return;let t=`set -euo pipefail
1436
+ `,u=I(!0),d,f=0,p=I(!1),m=I(`tasks`),h=I(yn([])),g=I(yn([])),_=I(!1),v=I(!1),y=I(!1),b=I(!1),x=I(!1),S=I(!1),C,w=!1,ee=0,te=0,ne=0,T=0,re=new Map,ie=(e=Z(m))=>{L(m,e,!0),L(p,!0),t.appWindow.setTimeout(Ee)},ae=()=>{L(p,!1)},oe=(e,t)=>new Promise((n,r)=>{if([...e.scripts].find(e=>e.src===t)){n();return}let i=e.createElement(`script`);i.src=t,i.onload=()=>n(),i.onerror=()=>r(Error(`failed to load ${t}`)),e.head.appendChild(i)}),se=()=>({width:Math.max(1,Math.round(t.appWindow.innerWidth)),height:Math.max(1,Math.round(t.appWindow.innerHeight))}),ce=e=>{let n=0,r,i=()=>{n=0;let t=se();r?.width===t.width&&r.height===t.height||(r=t,e(t))},a=()=>{n&&t.appWindow.clearTimeout(n),n=t.appWindow.setTimeout(i)};return t.appWindow.addEventListener(`resize`,a),a(),()=>{t.appWindow.removeEventListener(`resize`,a),n&&t.appWindow.clearTimeout(n)}},le=e=>{let t=e.querySelector(`canvas`);t instanceof HTMLCanvasElement&&(t.style.width=`${t.width}px`,t.style.height=`${t.height}px`,t.style.maxWidth=`none`,t.style.maxHeight=`none`,t.style.objectFit=`fill`)},ue=e=>{let t,n=()=>{let n=e.querySelector(`canvas`);if(!(n instanceof HTMLCanvasElement))return!1;t?.disconnect();let r=new MutationObserver(()=>le(e));return t=r,r.observe(n,{attributes:!0,attributeFilter:[`width`,`height`]}),le(e),!0},r=new MutationObserver(()=>{n()&&r.disconnect()});n()||r.observe(e,{childList:!0,subtree:!0})},de=()=>{ne=0;let e=Math.round(ee),r=Math.round(te);ee=0,te=0,w&&(!e&&!r||t.session.input(n,`m ${e} ${r}\n`))},fe=(e,n)=>{ee+=e,te+=n,ne||=t.appWindow.setTimeout(de,8)},pe=e=>{if(e.button===0)return 1;if(e.button===1)return 2;if(e.button===2)return 3},me=e=>e.title.toLowerCase().includes(`minecraft`),he=()=>{Z(S)||Z(b)||(L(S,!0),L(x,!0),T&&t.appWindow.clearTimeout(T),T=t.appWindow.setTimeout(()=>{T=0,L(x,!1)},6500))},ge=e=>{let r=t.appWindow.document,i=()=>r.pointerLockElement===e,a=()=>{!i()&&ne&&(t.appWindow.clearTimeout(ne),de()),L(b,i(),!0)},o=t=>{!t.ctrlKey||t.button!==0||i()||(e.requestPointerLock(),t.preventDefault(),t.stopImmediatePropagation())},s=e=>{i()&&(fe(e.movementX,e.movementY),e.preventDefault(),e.stopImmediatePropagation())},c=e=>{if(!i())return;let r=pe(e);r&&t.session.input(n,`b ${r} ${+(e.type===`mousedown`)}\n`),e.preventDefault(),e.stopImmediatePropagation()},l=e=>{i()&&(e.preventDefault(),e.stopImmediatePropagation())};return e.addEventListener(`mousedown`,o,{capture:!0}),r.addEventListener(`mousemove`,s,{capture:!0}),r.addEventListener(`pointermove`,s,{capture:!0}),r.addEventListener(`mousedown`,c,{capture:!0}),r.addEventListener(`mouseup`,c,{capture:!0}),r.addEventListener(`contextmenu`,l,{capture:!0}),r.addEventListener(`pointerlockchange`,a),()=>{e.removeEventListener(`mousedown`,o,{capture:!0}),r.removeEventListener(`mousemove`,s,{capture:!0}),r.removeEventListener(`pointermove`,s,{capture:!0}),r.removeEventListener(`mousedown`,c,{capture:!0}),r.removeEventListener(`mouseup`,c,{capture:!0}),r.removeEventListener(`contextmenu`,l,{capture:!0}),r.removeEventListener(`pointerlockchange`,a),ne&&t.appWindow.clearTimeout(ne),ne=0,L(b,!1)}},_e=(e,n,r)=>{let i=!1,a,o=0,s=()=>{let c=t.appWindow.RFB;c&&(i=!1,o=0,a=new c(e,n,{}),a.scaleViewport=!1,a.resizeSession=!1,a.clipViewport=!0,a.focusOnClick=!0,a.addEventListener(`disconnect`,e=>{i&&console.warn(`[rfb] disconnected`,e),i=!1,o||=t.appWindow.setTimeout(s,1e3)}),a.addEventListener(`connect`,()=>{i=!0,r()}))};return s(),()=>{o&&t.appWindow.clearTimeout(o),a?.disconnect()}},ve=e=>{d={width:Math.min(e.width,1920),height:Math.min(e.height,1080)},f&&t.appWindow.clearTimeout(f),f=t.appWindow.setTimeout(()=>{f=0;let e=d;if(!e)return;let t=`set -euo pipefail
1033
1437
  WIDTH=${e.width}
1034
1438
  HEIGHT=${e.height}
1035
1439
  MODE="\${WIDTH}x\${HEIGHT}"
@@ -1057,13 +1461,13 @@ for _ in $(seq 1 10); do
1057
1461
  sleep 0.5
1058
1462
  done
1059
1463
  xrandr -d :99 --output screen --mode "$MODE" >/dev/null
1060
- `;de({id:`task-display-resize-${Date.now()}`,title:`Resize display to ${e.width}x${e.height}`,command:t})},120)},S=e=>{let t=e.slice(12).trim();try{let e=JSON.parse(t).filter(e=>typeof e.id==`string`&&typeof e.title==`string`);e.length>0&&I(d,!0);let n=new Map(e.map(e=>[e.id,e])),r=Z(u).map(e=>n.get(e.id)).filter(e=>!!e);for(let t of e)r.some(e=>e.id===t.id)||r.push(t);I(u,r,!0)}catch(t){console.warn(`[wm] failed to parse windows`,t,e)}},C=e=>{for(let t of e.split(`
1061
- `))t.startsWith(`COD_WINDOWS `)&&S(t)},w=()=>t.session.transfer({"main.py":r}),ee=()=>{let e=`set -e
1464
+ `;D({id:`task-display-resize-${Date.now()}`,title:`Resize display to ${e.width}x${e.height}`,command:t})},120)},ye=e=>{let t=e.slice(12).trim();try{let e=JSON.parse(t).filter(e=>typeof e.id==`string`&&typeof e.title==`string`),n=new Map(e.map(e=>[e.id,e])),r=Z(g).map(e=>n.get(e.id)).filter(e=>!!e);for(let t of e)r.some(e=>e.id===t.id)||r.push(t);L(g,r,!0),r.some(me)&&he()}catch(t){console.warn(`[wm] failed to parse windows`,t,e)}},be=()=>t.session.transfer({"main.py":l}),xe=e=>{let t=`set -e
1062
1465
  source "./.pyvenv311/bin/activate"
1063
- python -B "$MAIN_FILE"`;de({id:`task-desktop`,title:`Starting desktop`,command:e,args:[`-i`,`-c`,e],type:`echopty`,env:{MAIN_FILE:`main.py`,DEBUG_MODE:0},track:!1})},te=async e=>{let r=`wss://scalinghub.codehs.com/user/${t.uid}/graphics`;if(y(e),t.session.setOutputHandler((e,t,n)=>{let r=String(t??``);n&&Z(l).some(e=>e.id===n)&&le(n,e,r),e===`stderr`&&console.warn(`[spawn]`,r),C(r)}),_(x),await w(),ee(),de({id:`task-firefox-install`,title:`Installing Firefox`,command:n}),oe(),await h(t.appWindow.document,`https://static1.codehs.com/lib/noVNC/noVNC.js`),!t.appWindow.RFB)throw Error(`noVNC RFB global did not load`);b(e,r,()=>{I(i,!1),v(e)})},ne=e=>{f=e,te(e)},re=()=>{let e=f?.querySelector(`canvas`);e instanceof HTMLCanvasElement&&e.focus({preventScroll:!0})},ie=()=>{t.appWindow.document.querySelector(`[data-terminal-app]`)?.focus({preventScroll:!0})},ae=()=>Z(l).filter(e=>e.kind===`terminal`).length,oe=()=>{de({id:`task-firefox-launch-${Date.now()}`,title:`Launching Firefox`,command:`set -euo pipefail
1466
+ python -B "$MAIN_FILE"`;D({id:`task-desktop`,title:`Starting desktop`,command:t,args:[`-i`,`-c`,t],type:`echopty`,env:{MAIN_FILE:`main.py`,DEBUG_MODE:0},track:!1,onOutput:(t,n)=>{for(let t of n.split(`
1467
+ `))t.startsWith(`COD_WINDOWS `)&&ye(t),t.trim()===`COD_WINDOWS []`&&e()}})},Se=()=>{w=!1,D({id:n,title:`Relative mouse helper`,command:c,args:[`-lc`,c],type:`echopty`,track:!1,onOutput:(e,t)=>{t.includes(`Relative mouse helper ready`)&&(w=!0)}})},Ce=async e=>{let n=`wss://scalinghub.codehs.com/user/${t.uid}/graphics`,r=()=>{},i=new Promise(e=>{r=e});if(ue(e),t.session.setOutputHandler((e,t,n)=>{let r=String(t??``);n&&Z(h).some(e=>e.id===n)&&Me(n,e,r),n&&re.get(n)?.(e,r),e===`stderr`&&console.warn(`[spawn]`,r)}),ce(ve),await be(),xe(r),D({id:`task-firefox-install`,title:`Installing Firefox`,command:a,onSuccess:()=>{L(_,!0),ke()}}),D({id:`task-prism-install`,title:`Installing Prism Launcher`,command:o,onSuccess:()=>{L(v,!0)}}),D({id:`task-opencode-install`,title:`Installing opencode`,command:s,onSuccess:()=>{L(y,!0)}}),await oe(t.appWindow.document,`https://static1.codehs.com/lib/noVNC/noVNC.js`),!t.appWindow.RFB)throw Error(`noVNC RFB global did not load`);await i,Se(),_e(e,n,()=>{L(u,!1),le(e)})},we=e=>{C=e;let n=ge(e);return Ce(e),()=>{n(),T&&t.appWindow.clearTimeout(T),T=0,L(x,!1),C=void 0}},Te=()=>{let e=C?.querySelector(`canvas`);e instanceof HTMLCanvasElement&&e.focus({preventScroll:!0})},Ee=()=>{t.appWindow.document.querySelector(`[data-terminal-app]`)?.focus({preventScroll:!0})},De=()=>Z(h).filter(e=>e.kind===`terminal`).length,Oe=e=>Z(g).some(t=>t.title.toLowerCase().includes(e)),ke=()=>{Z(_)&&D({id:`task-firefox-launch-${Date.now()}`,title:`Launching Firefox`,command:`set -euo pipefail
1064
1468
  BROWSER="$HOME/.local/firefox/firefox"
1065
1469
  for _ in $(seq 1 1200); do
1066
- if [ -x "$BROWSER" ] && xdpyinfo -display :99 >/dev/null 2>&1 && xprop -root _NET_SUPPORTING_WM_CHECK >/dev/null 2>&1; then
1470
+ if xdpyinfo -display :99 >/dev/null 2>&1 && xprop -root _NET_SUPPORTING_WM_CHECK >/dev/null 2>&1; then
1067
1471
  break
1068
1472
  fi
1069
1473
  sleep 0.5
@@ -1071,7 +1475,33 @@ done
1071
1475
  [ -x "$BROWSER" ]
1072
1476
  xdpyinfo -display :99 >/dev/null
1073
1477
  xprop -root _NET_SUPPORTING_WM_CHECK >/dev/null
1074
- "$BROWSER" about:blank`})},se=()=>{let e=`terminal-${Date.now()}`;I(l,[...Z(l),{id:e,title:`Bash ${ae()+1}`,kind:`terminal`,running:!0,started:!0,failed:!1,collapsed:!1,lines:[]}],!0),I(c,e),p(e),t.session.spawnCommand(e,`exec bash -l`,{type:`echopty`,args:[`-l`],untracked:!0})},ce=e=>{if(t.session){let t=JSON.stringify(e.id);de({id:`task-focus-${Date.now()}`,title:`Focus ${e.title}`,command:`python -B - <<'PY'
1478
+ "$BROWSER" about:blank`})},E=[{id:`firefox`,name:`Firefox`,icon:Ri,isInstalled:()=>Z(_),isRunning:()=>Oe(`firefox`),launch:ke},{id:`prism`,name:`Prism Launcher`,icon:Bi,isInstalled:()=>Z(v),isRunning:()=>Oe(`prism`),launch:()=>{Z(v)&&D({id:`task-prism-launch-${Date.now()}`,title:`Launching Prism Launcher`,command:`set -euo pipefail
1479
+ PRISM="$HOME/.local/bin/prismlauncher"
1480
+ export QT_XCB_GL_INTEGRATION="\${QT_XCB_GL_INTEGRATION:-none}"
1481
+ export QT_LOGGING_RULES="\${QT_LOGGING_RULES:-qt.qpa.*=true}"
1482
+ export LIBGL_ALWAYS_SOFTWARE="\${LIBGL_ALWAYS_SOFTWARE:-1}"
1483
+ export MESA_LOADER_DRIVER_OVERRIDE="\${MESA_LOADER_DRIVER_OVERRIDE:-llvmpipe}"
1484
+ for _ in $(seq 1 1200); do
1485
+ if xdpyinfo -display :99 >/dev/null 2>&1 && xprop -root _NET_SUPPORTING_WM_CHECK >/dev/null 2>&1; then
1486
+ break
1487
+ fi
1488
+ sleep 0.5
1489
+ done
1490
+ [ -x "$PRISM" ]
1491
+ xdpyinfo -display :99 >/dev/null
1492
+ xprop -root _NET_SUPPORTING_WM_CHECK >/dev/null
1493
+ "$PRISM" \${PRISM_ARGS:-}`})}},{id:`opencode`,name:`opencode`,icon:zi,isInstalled:()=>Z(y),isRunning:()=>Oe(`opencode`),launch:()=>{Z(y)&&D({id:`task-opencode-launch-${Date.now()}`,title:`Launching opencode`,command:`set -euo pipefail
1494
+ OPENCODE="$HOME/.local/bin/opencode"
1495
+ for _ in $(seq 1 1200); do
1496
+ if xdpyinfo -display :99 >/dev/null 2>&1 && xprop -root _NET_SUPPORTING_WM_CHECK >/dev/null 2>&1; then
1497
+ break
1498
+ fi
1499
+ sleep 0.5
1500
+ done
1501
+ [ -x "$OPENCODE" ]
1502
+ xdpyinfo -display :99 >/dev/null
1503
+ xprop -root _NET_SUPPORTING_WM_CHECK >/dev/null
1504
+ "$OPENCODE" web`})}}],Ae=()=>{let e=`terminal-${Date.now()}`;L(h,[...Z(h),{id:e,title:`Bash ${De()+1}`,kind:`terminal`,running:!0,started:!0,failed:!1,collapsed:!1,lines:[]}],!0),L(m,e),ie(e);let n=i(`exec bash -l`);t.session.spawnCommand(e,n,{type:`echopty`,args:[`-lc`,n],untracked:!0})},je=e=>{if(t.session){let t=JSON.stringify(e.id);D({id:`task-focus-${Date.now()}`,title:`Focus ${e.title}`,command:`python -B - <<'PY'
1075
1505
  import ctypes
1076
1506
  import time
1077
1507
 
@@ -1130,6 +1560,6 @@ try:
1130
1560
  x11.XFlush(display)
1131
1561
  finally:
1132
1562
  x11.XCloseDisplay(display)
1133
- PY`})}t.appWindow.setTimeout(re)},le=(e,t,n)=>{I(l,Z(l).map(r=>r.id===e?{...r,running:t===`system`&&n.includes(`exited`)?!1:r.running,lines:[...r.lines,{stream:t,text:n}].slice(-500)}:r),!0)},ue=(e,t,n)=>{I(l,Z(l).map(r=>r.id===e?{...r,running:!1,failed:t,collapsed:!0,lines:[...r.lines,{stream:`system`,text:n}].slice(-500)}:r),!0)},de=({id:e,title:n,command:r,args:i,env:a,type:o,track:s=!0,onSuccess:c,onFailure:u})=>{if(Z(l).some(t=>t.id===e))throw Error(`cannot start ${e}: terminal already exists`);let d=`COD_TASK_EXIT ${e} `,f=`set +e\n(\n${r}\n)\ncode=$?\necho "${d}$code"\nexit 0`,p=s?f:r;I(l,[...Z(l),{id:e,title:n,kind:`task`,running:!0,started:!0,failed:!1,collapsed:!0,lines:[]}],!0);let m;try{m=t.session.spawnCommand(e,p,{type:o??`echopty`,args:i??[`-lc`,p],env:a,untracked:!s,resolveOnOutput:e=>e.includes(`${d}0`),rejectOnOutput:e=>{let t=e.match(RegExp(`${d}(\\d+)`));if(!(!t||t[1]===`0`))return Error(`${n} exited with code ${t[1]}`)}})}catch(t){let n=t instanceof Error?t:Error(String(t));ue(e,!0,`\nTask failed to start: ${n.message}\n`),u?.(n);return}m?.then(()=>{ue(e,!1,`
1563
+ PY`})}t.appWindow.setTimeout(Te)},Me=(e,t,n)=>{L(h,Z(h).map(r=>r.id===e?{...r,running:t===`system`&&n.includes(`exited`)?!1:r.running,lines:[...r.lines,{stream:t,text:n}].slice(-500)}:r),!0)},Ne=(e,t,n)=>{L(h,Z(h).map(r=>r.id===e?{...r,running:!1,failed:t,collapsed:!0,lines:[...r.lines,{stream:`system`,text:n}].slice(-500)}:r),!0)},D=({id:e,title:n,command:r,args:a,env:o,type:s,track:c=!0,onOutput:l,onSuccess:u,onFailure:d})=>{if(Z(h).some(t=>t.id===e))throw Error(`cannot start ${e}: terminal already exists`);let f=`COD_TASK_EXIT ${e} `,p=i(r),m=`set +e\n(\n${p}\n)\ncode=$?\necho "${f}$code"\nexit 0`,g=c?m:p,_=a?a.map(e=>e===r?p:e):[`-lc`,g];L(h,[...Z(h),{id:e,title:n,kind:`task`,running:!0,started:!0,failed:!1,collapsed:!0,lines:[]}],!0),l&&re.set(e,l);let v;try{v=t.session.spawnCommand(e,g,{type:s??`echopty`,args:_,env:o,untracked:!c,resolveOnOutput:e=>e.includes(`${f}0`),rejectOnOutput:e=>{let t=e.match(RegExp(`${f}(\\d+)`));if(!(!t||t[1]===`0`))return Error(`${n} exited with code ${t[1]}`)}})}catch(t){re.delete(e);let n=t instanceof Error?t:Error(String(t));Ne(e,!0,`\nTask failed to start: ${n.message}\n`),d?.(n);return}v?.then(()=>{re.delete(e),Ne(e,!1,`
1134
1564
  Task completed successfully.
1135
- `),c?.()}).catch(t=>{ue(e,!0,`\nTask failed: ${t.message}\n`),u?.(t)})},fe=e=>{I(c,e,!0),p(e)},pe=e=>{I(l,Z(l).map(t=>t.id===e?{...t,collapsed:!t.collapsed}:t),!0)},me=(e,n)=>{t.session?.input(e,n)};var he=qi(),ge=Mn(he);ui(ge,()=>ne);var _e=z(ge,2);Wi(_e,{get terminals(){return Z(l)},get open(){return Z(s)},get activeTab(){return Z(c)},onClose:m,onSelectTab:fe,onToggleTask:pe,onNewTerminal:se,onInput:me});var ve=z(_e,2);let ye;var be=R(ve),xe=R(be);ni(xe,17,()=>Z(u),e=>e.id,(e,t)=>{var n=Gi(),r=R(n),i=R(r,!0);k(r),k(n),Yn(()=>{bi(n,`title`,Z(t).title),Gr(i,Z(t).title)}),Lr(`click`,n,()=>ce(Z(t))),$(e,n)});var Se=z(xe,2),Ce=e=>{var t=Ki();Lr(`click`,t,oe),$(e,t)};Zr(Se,e=>{Z(d)&&Z(u).length===0&&e(Ce)});var we=z(Se,2);let Te;k(be),k(ve);var Ee=z(ve,2);let De;var Oe=R(Ee);k(Ee),Yn(()=>{ye=gi(ve,1,`bar-anchor svelte-1ywbbn9`,null,ye,{"force-expand":Z(i)}),Te=gi(we,1,`app-entry m3-layer svelte-1ywbbn9`,null,Te,{alive:Z(s)||Z(l).length>0}),De=gi(Ee,1,`loader svelte-1ywbbn9`,null,De,{hidden:!Z(i)}),bi(Oe,`src`,Ai)}),Lr(`click`,we,()=>p()),$(e,he),at()}Rr([`click`]);const Xi=e=>{let{document:t,HTMLButtonElement:n,HTMLInputElement:r,HTMLLabelElement:i}=e,a=[],o=[],s=e=>{if(e instanceof n&&e.disabled||e instanceof r&&e.disabled)return!1;if(e instanceof i){let t=e.control;if(t instanceof r&&t.disabled)return!1}return!0},c=(n,r,i,a,o)=>{if(e.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let s=Math.hypot(Math.max(r,a-r),Math.max(i,o-i))*2.5,c=Math.max(Math.min(Math.log(s)*50,600),200),l=t.createElementNS(`http://www.w3.org/2000/svg`,`radialGradient`);l.id=`ripple-${Date.now()}-${Math.random().toString(36).slice(2)}`;for(let{offset:e,opacity:n}of[{offset:`0%`,opacity:`0.12`},{offset:`70%`,opacity:`0.12`},{offset:`100%`,opacity:`0`}]){let r=t.createElementNS(`http://www.w3.org/2000/svg`,`stop`);r.setAttribute(`offset`,e),r.setAttribute(`stop-color`,`currentColor`),r.setAttribute(`stop-opacity`,n),l.appendChild(r)}let u=t.createElementNS(`http://www.w3.org/2000/svg`,`circle`);u.setAttribute(`cx`,`${r}`),u.setAttribute(`cy`,`${i}`),u.setAttribute(`r`,`0`),u.setAttribute(`fill`,`url(#${l.id})`);let d=t.createElementNS(`http://www.w3.org/2000/svg`,`animate`);d.setAttribute(`attributeName`,`r`),d.setAttribute(`from`,`0`),d.setAttribute(`to`,`${s/2}`),d.setAttribute(`dur`,`${c}ms`),d.setAttribute(`fill`,`freeze`),d.setAttribute(`calcMode`,`spline`),d.setAttribute(`keySplines`,`0.4 0, 0.2 1`),u.appendChild(d);let f=t.createElementNS(`http://www.w3.org/2000/svg`,`svg`);return f.classList.add(`active-ripple`),f.style.cssText=[`position: absolute`,`inset: 0`,`width: 100%`,`height: 100%`,`overflow: hidden`,`border-radius: inherit`,`pointer-events: none`].join(`;`),f.appendChild(l),f.appendChild(u),n.appendChild(f),()=>{let n=t.createElementNS(`http://www.w3.org/2000/svg`,`animate`);n.setAttribute(`attributeName`,`opacity`),n.setAttribute(`from`,`1`),n.setAttribute(`to`,`0`),n.setAttribute(`dur`,`800ms`),n.setAttribute(`fill`,`freeze`),n.setAttribute(`calcMode`,`spline`),n.setAttribute(`keySplines`,`0.4 0, 0.2 1`),u.appendChild(n),n.beginElement(),e.setTimeout(()=>f.remove(),800)}};t.documentElement.classList.add(`js`),t.addEventListener(`pointerdown`,e=>{if(e.button!==0)return;let t=e.target?.closest(`.m3-layer`);if(!t||!s(t))return;let n=t.getBoundingClientRect(),r=c(t,e.clientX-n.left,e.clientY-n.top,n.width,n.height);r&&a.push(r)});let l=()=>{for(let e of a)e();a.length=0};t.addEventListener(`pointerup`,l),t.addEventListener(`dragend`,l),t.addEventListener(`keydown`,e=>{if(e.repeat)return;let t=e.target?.closest(`.m3-layer`);if(!t||!s(t)||!(e.key===`Enter`||e.key===` `&&t.tagName===`BUTTON`))return;let n=t.getBoundingClientRect(),r=c(t,n.width/2,n.height/2,n.width,n.height);r&&o.push(r)}),t.addEventListener(`keyup`,()=>{for(let e of o)e();o.length=0})},Zi=(t,n,r)=>{let{document:a}=n;a.title=`New Tab`;let o=a.createElement(`style`);o.textContent=e+i,a.head.appendChild(o),Xi(n),Kr(Yi,{target:a.body,props:{uid:t,appWindow:n,session:r}})},Qi=e=>{let t=new Map;return{start(e,n={}){if(t.has(e))throw Error(`spawn id already running: ${e}`);return new Promise((r,i)=>{t.set(e,{output:``,resolve:r,reject:i,resolveOnOutput:n.resolveOnOutput??(()=>!1),rejectOnOutput:n.rejectOnOutput??(()=>void 0)})})},handleOutput(n,r){let i=r?.id,a=i?t.get(i):void 0;if(!a){e(n,r?.data??r,i);return}let o=String(r?.data??``);a.output+=o,e(n,o,i);let s=a.rejectOnOutput(o);if(s){t.delete(i),a.reject(s);return}a.resolveOnOutput(o)&&(t.delete(i),a.resolve())},handleExit(e){let n=e?.id,r=n?t.get(n):void 0;if(!n||!r)return;t.delete(n);let i=e?.data,a=typeof i==`number`?i:i?.code??i?.exitCode??i?.status,o=typeof i==`number`?null:i?.signal;if(a===0&&!o){r.resolve();return}r.reject(Error(`${n} exited with code ${a??`unknown`} signal ${o??`null`}: ${r.output}`))}}},$i=(e,t,n)=>{let r=new WebSocket(`wss://scalinghub.codehs.com/user/${e}/spawn/?watch=true&EIO=3&transport=websocket`),i=!1,a={width:1100,height:800},o,s=new Promise(e=>{o=e}),c=(e,t)=>{if(!i||r.readyState!==WebSocket.OPEN)throw Error(`spawn socket is not open; cannot send ${e}`);r.send(`42${JSON.stringify([e,t])}`)};return t.setInterval(()=>{i&&r.readyState===WebSocket.OPEN&&c(`keepalive`,null)},2e4),r.addEventListener(`message`,e=>{if(typeof e.data==`string`){if(e.data.startsWith(`0`)){r.send(`40`);return}if(e.data===`40`){i=!0,o();return}if(e.data.startsWith(`42`)){let[t,r]=JSON.parse(e.data.slice(2));t===`stdout`?n.onStdout?.(r):t===`stderr`?n.onStderr?.(r):t===`exit`?n.onExit?.(r):t===`transferComplete`&&n.onTransferComplete?.(r);return}e.data===`2`&&r.send(`3`)}}),r.addEventListener(`close`,()=>{i=!1}),{ready:s,spawn(e){c(`spawn`,e)},kill(e){c(`kill`,{id:e})},input(e,t){c(`stdin`,{id:e,data:t})},resize(e,t){a={width:Math.max(1,Math.round(e)),height:Math.max(1,Math.round(t))},c(`resize`,{w:a.width,h:a.height})},transfer(e){c(`transfer`,e)}}},ea=(e,t,n=()=>{})=>{let r=n,i=Qi((e,t,n)=>{r(e,t,n)}),a=[],o=$i(e,t,{onStdout:e=>i.handleOutput(`stdout`,e),onStderr:e=>i.handleOutput(`stderr`,e),onExit:e=>i.handleExit(e),onTransferComplete:()=>a.shift()?.()});return{ready:o.ready,setOutputHandler(e){r=e},spawnCommand:(e,t,n={})=>{let r=n.untracked?void 0:i.start(e,n);return o.spawn({cmd:`bash`,args:n.args??[`-lc`,t],id:e,options:{type:n.type??`normal`,env:n.env}}),r},kill(e){o.kill(e)},input(e,t){o.input(e,t)},resize(e,t){o.resize(e,t)},transfer(e){let t=new Promise(e=>{a.push(e)});return o.transfer(e),t}}},ta=(Math.random()*1e5).toFixed(0),na=fetch(`https://scalinghub.codehs.com/hub/api/spinup/${ta}/config/default`,{credentials:`include`}),ra=document.createElement(`style`);ra.textContent=e+t,document.head.appendChild(ra);const ia=document.createElement(`button`);ia.innerHTML=n,ia.disabled=!0;const aa=document.createElement(`a`);aa.innerHTML=`Made by <span>${r} Abundance</span>, the makers of <u>0K</u>`,aa.href=`https://cdn.jsdelivr.net/gh/abndnce/b0k@main/jsdelivr/index.svg`,aa.target=`_blank`,document.body.replaceChildren(ia,aa),na.then(async()=>{let e=ea(ta,window);await e.ready,ia.disabled=!1,ia.onclick=()=>{let t=window.open(`about:blank`,`_blank`);if(!t)throw Error(`failed to open`);Zi(ta,t,e)}});
1565
+ `),u?.()}).catch(t=>{re.delete(e),Ne(e,!0,`\nTask failed: ${t.message}\n`),d?.(t)})},Pe=e=>{L(m,e,!0),ie(e)},Fe=e=>{L(h,Z(h).map(t=>t.id===e?{...t,collapsed:!t.collapsed}:t),!0)},Ie=(e,n)=>{t.session?.input(e,n)};var Le=ia(),Re=Mn(Le);_i(Re,()=>we);var ze=B(Re,2),O=e=>{var t=ta();let n;var r=z(t,!0);j(t),Yn(()=>{n=Ci(t,1,`mouse-lock-hint svelte-1ywbbn9`,null,n,{active:Z(b)}),Xr(r,Z(b)?`Relative mouse active. Press Esc to release.`:`Game detected. Ctrl+click the desktop for relative mouse.`)}),$(e,t)};ni(ze,e=>{(Z(x)||Z(b))&&e(O)});var Be=B(ze,2);ea(Be,{get terminals(){return Z(h)},get open(){return Z(p)},get activeTab(){return Z(m)},onClose:ae,onSelectTab:Pe,onToggleTask:Fe,onNewTerminal:Ae,onInput:Ie});var k=B(Be,2);let A;var Ve=z(k),He=z(Ve);si(He,17,()=>Z(g),e=>e.id,(e,t)=>{var n=na(),r=z(n),i=z(r,!0);j(r),j(n),Yn(()=>{Di(n,`title`,Z(t).title),Xr(i,Z(t).title)}),Vr(`click`,n,()=>je(Z(t))),$(e,n)});var Ue=B(He,2);let We;si(B(Ue,2),17,()=>E,e=>e.id,(e,t)=>{var n=Yr(),r=Mn(n),i=e=>{var n=ra(),r=z(n);hi(r,()=>Z(t).icon);var i=B(r,2),a=z(i,!0);j(i),j(n),Yn(()=>{Di(n,`title`,`Launch ${Z(t).name}`),Di(n,`aria-label`,`Launch ${Z(t).name}`),Xr(a,Z(t).name)}),Vr(`click`,n,function(...e){Z(t).launch?.apply(this,e)}),$(e,n)},a=Qt(()=>Z(t).isInstalled()&&!Z(t).isRunning());ni(r,e=>{Z(a)&&e(i)}),$(e,n)}),j(Ve),j(k);var Ge=B(k,2);let Ke;var qe=z(Ge);j(Ge),Yn(()=>{A=Ci(k,1,`bar-anchor svelte-1ywbbn9`,null,A,{"force-expand":Z(u)}),We=Ci(Ue,1,`app-entry m3-layer svelte-1ywbbn9`,null,We,{alive:Z(p)||Z(h).length>0}),Ke=Ci(Ge,1,`loader svelte-1ywbbn9`,null,Ke,{hidden:!Z(u)}),Di(qe,`src`,Li)}),Vr(`click`,Ue,()=>ie()),$(e,Le),it()}Hr([`click`]);const sa=e=>{let{document:t,HTMLButtonElement:n,HTMLInputElement:r,HTMLLabelElement:i}=e,a=[],o=[],s=e=>{if(e instanceof n&&e.disabled||e instanceof r&&e.disabled)return!1;if(e instanceof i){let t=e.control;if(t instanceof r&&t.disabled)return!1}return!0},c=(n,r,i,a,o)=>{if(e.matchMedia(`(prefers-reduced-motion: reduce)`).matches)return;let s=Math.hypot(Math.max(r,a-r),Math.max(i,o-i))*2.5,c=Math.max(Math.min(Math.log(s)*50,600),200),l=t.createElementNS(`http://www.w3.org/2000/svg`,`radialGradient`);l.id=`ripple-${Date.now()}-${Math.random().toString(36).slice(2)}`;for(let{offset:e,opacity:n}of[{offset:`0%`,opacity:`0.12`},{offset:`70%`,opacity:`0.12`},{offset:`100%`,opacity:`0`}]){let r=t.createElementNS(`http://www.w3.org/2000/svg`,`stop`);r.setAttribute(`offset`,e),r.setAttribute(`stop-color`,`currentColor`),r.setAttribute(`stop-opacity`,n),l.appendChild(r)}let u=t.createElementNS(`http://www.w3.org/2000/svg`,`circle`);u.setAttribute(`cx`,`${r}`),u.setAttribute(`cy`,`${i}`),u.setAttribute(`r`,`0`),u.setAttribute(`fill`,`url(#${l.id})`);let d=t.createElementNS(`http://www.w3.org/2000/svg`,`animate`);d.setAttribute(`attributeName`,`r`),d.setAttribute(`from`,`0`),d.setAttribute(`to`,`${s/2}`),d.setAttribute(`dur`,`${c}ms`),d.setAttribute(`fill`,`freeze`),d.setAttribute(`calcMode`,`spline`),d.setAttribute(`keySplines`,`0.4 0, 0.2 1`),u.appendChild(d);let f=t.createElementNS(`http://www.w3.org/2000/svg`,`svg`);return f.classList.add(`active-ripple`),f.style.cssText=[`position: absolute`,`inset: 0`,`width: 100%`,`height: 100%`,`overflow: hidden`,`border-radius: inherit`,`pointer-events: none`].join(`;`),f.appendChild(l),f.appendChild(u),n.appendChild(f),()=>{let n=t.createElementNS(`http://www.w3.org/2000/svg`,`animate`);n.setAttribute(`attributeName`,`opacity`),n.setAttribute(`from`,`1`),n.setAttribute(`to`,`0`),n.setAttribute(`dur`,`800ms`),n.setAttribute(`fill`,`freeze`),n.setAttribute(`calcMode`,`spline`),n.setAttribute(`keySplines`,`0.4 0, 0.2 1`),u.appendChild(n),n.beginElement(),e.setTimeout(()=>f.remove(),800)}};t.documentElement.classList.add(`js`),t.addEventListener(`pointerdown`,e=>{if(e.button!==0)return;let t=e.target?.closest(`.m3-layer`);if(!t||!s(t))return;let n=t.getBoundingClientRect(),r=c(t,e.clientX-n.left,e.clientY-n.top,n.width,n.height);r&&a.push(r)});let l=()=>{for(let e of a)e();a.length=0};t.addEventListener(`pointerup`,l),t.addEventListener(`dragend`,l),t.addEventListener(`keydown`,e=>{if(e.repeat)return;let t=e.target?.closest(`.m3-layer`);if(!t||!s(t)||!(e.key===`Enter`||e.key===` `&&t.tagName===`BUTTON`))return;let n=t.getBoundingClientRect(),r=c(t,n.width/2,n.height/2,n.width,n.height);r&&o.push(r)}),t.addEventListener(`keyup`,()=>{for(let e of o)e();o.length=0})},ca=(t,n,r)=>{let{document:a}=n;a.title=`New Tab`;let o=a.createElement(`style`);o.textContent=e+i,a.head.appendChild(o),sa(n),Zr(oa,{target:a.body,props:{uid:t,appWindow:n,session:r}})},la=e=>{let t=new Map;return{start(e,n={}){if(t.has(e))throw Error(`spawn id already running: ${e}`);return new Promise((r,i)=>{t.set(e,{output:``,resolve:r,reject:i,resolveOnOutput:n.resolveOnOutput??(()=>!1),rejectOnOutput:n.rejectOnOutput??(()=>void 0)})})},handleOutput(n,r){let i=r?.id,a=i?t.get(i):void 0;if(!a){e(n,r?.data??r,i);return}let o=String(r?.data??``);a.output+=o,e(n,o,i);let s=a.rejectOnOutput(o);if(s){t.delete(i),a.reject(s);return}a.resolveOnOutput(o)&&(t.delete(i),a.resolve())},handleExit(e){let n=e?.id,r=n?t.get(n):void 0;if(!n||!r)return;t.delete(n);let i=e?.data,a=typeof i==`number`?i:i?.code??i?.exitCode??i?.status,o=typeof i==`number`?null:i?.signal;if(a===0&&!o){r.resolve();return}r.reject(Error(`${n} exited with code ${a??`unknown`} signal ${o??`null`}: ${r.output}`))}}},ua=(e,t,n)=>{let r=new WebSocket(`wss://scalinghub.codehs.com/user/${e}/spawn/?watch=true&EIO=3&transport=websocket`),i=!1,a={width:1100,height:800},o,s=new Promise(e=>{o=e}),c=(e,t)=>{if(!i||r.readyState!==WebSocket.OPEN)throw Error(`spawn socket is not open; cannot send ${e}`);r.send(`42${JSON.stringify([e,t])}`)};return t.setInterval(()=>{i&&r.readyState===WebSocket.OPEN&&c(`keepalive`,null)},2e4),r.addEventListener(`message`,e=>{if(typeof e.data==`string`){if(e.data.startsWith(`0`)){r.send(`40`);return}if(e.data===`40`){i=!0,o();return}if(e.data.startsWith(`42`)){let[t,r]=JSON.parse(e.data.slice(2));t===`stdout`?n.onStdout?.(r):t===`stderr`?n.onStderr?.(r):t===`exit`?n.onExit?.(r):t===`transferComplete`&&n.onTransferComplete?.(r);return}e.data===`2`&&r.send(`3`)}}),r.addEventListener(`close`,()=>{i=!1}),{ready:s,spawn(e){c(`spawn`,e)},kill(e){c(`kill`,{id:e})},input(e,t){c(`stdin`,{id:e,data:t})},resize(e,t){a={width:Math.max(1,Math.round(e)),height:Math.max(1,Math.round(t))},c(`resize`,{w:a.width,h:a.height})},transfer(e){c(`transfer`,e)}}},da=(e,t,n=()=>{})=>{let r=n,i=la((e,t,n)=>{r(e,t,n)}),a=[],o=ua(e,t,{onStdout:e=>i.handleOutput(`stdout`,e),onStderr:e=>i.handleOutput(`stderr`,e),onExit:e=>i.handleExit(e),onTransferComplete:()=>a.shift()?.()});return{ready:o.ready,setOutputHandler(e){r=e},spawnCommand:(e,t,n={})=>{let r=n.untracked?void 0:i.start(e,n);return o.spawn({cmd:`bash`,args:n.args??[`-lc`,t],id:e,options:{type:n.type??`normal`,env:n.env}}),r},kill(e){o.kill(e)},input(e,t){o.input(e,t)},resize(e,t){o.resize(e,t)},transfer(e){let t=new Promise(e=>{a.push(e)});return o.transfer(e),t}}},fa=(Math.random()*1e5).toFixed(0),pa=fetch(`https://scalinghub.codehs.com/hub/api/spinup/${fa}/config/default`,{credentials:`include`}),ma=document.createElement(`style`);ma.textContent=e+t,document.head.appendChild(ma);const ha=document.createElement(`button`);ha.innerHTML=n,ha.disabled=!0;const ga=document.createElement(`a`);ga.innerHTML=`Made by <span>${r} Abundance</span>, the makers of <u>0K</u>`,ga.href=`https://cdn.jsdelivr.net/gh/abndnce/b0k@main/jsdelivr/index.svg`,ga.target=`_blank`,document.body.replaceChildren(ha,ga),pa.then(async()=>{let e=da(fa,window);await e.ready,ha.disabled=!1,ha.onclick=()=>{let t=window.open(`about:blank`,`_blank`);if(!t)throw Error(`failed to open`);ca(fa,t,e)}});