sh3-server 0.11.2 → 0.11.6

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.
@@ -0,0 +1,18 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const Sf=1,xf=2,zl=4,Ef=8,If=16,Af=1,ql=4,Cf=8,Tf=16,Rf=1,Pf=2,Df=4,_a=1,Bl=2,Mf=4,Of=8,zs="[",qs="[!",Mo="[?",Bs="]",Dn={},Ce=Symbol(),mt=Symbol("filename"),Hn=Symbol("hmr"),Vl="http://www.w3.org/1999/xhtml",Vr="http://www.w3.org/2000/svg",ya="http://www.w3.org/1998/Math/MathML",$l="@attach",Fl=!1;var ur=Array.isArray,Lf=Array.prototype.indexOf,rr=Array.prototype.includes,Vs=Array.from,ws=Object.keys,Mn=Object.defineProperty,Nt=Object.getOwnPropertyDescriptor,Ul=Object.getOwnPropertyDescriptors,Hl=Object.prototype,jf=Array.prototype,$s=Object.getPrototypeOf,Oo=Object.isExtensible,Nf=Object.prototype.hasOwnProperty;function Kn(e){return typeof e=="function"}const gt=()=>{};function Lo(e){return typeof e?.then=="function"}function zf(e){return e()}function Bi(e){for(var t=0;t<e.length;t++)e[t]()}function Kl(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function qf(e,t,n=!1){return e===void 0?n?t():t:e}function Wl(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}function Bf(e,t){var n={};for(var r in e)t.includes(r)||(n[r]=e[r]);for(var s of Object.getOwnPropertySymbols(e))Object.propertyIsEnumerable.call(e,s)&&!t.includes(s)&&(n[s]=e[s]);return n}const Ue=2,On=4,$r=8,wa=1<<24,zt=16,Bt=32,an=64,Vi=128,Ct=512,Ne=1024,Fe=2048,Vt=4096,rt=8192,dt=16384,ln=32768,$i=1<<25,$t=65536,Dr=1<<17,Yl=1<<18,wn=1<<19,Gl=1<<20,Wt=1<<25,Ln=65536,Fi=1<<21,sr=1<<22,hn=1<<23,Je=Symbol("$state"),Fs=Symbol("legacy props"),Vf=Symbol(""),$f=Symbol("proxy path"),Ff=Symbol("hmr anchor"),Ht=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},Fn=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),Xl=1,Fr=3,cn=8,Jl=11;function Zl(e){throw new Error("https://svelte.dev/e/experimental_async_required")}function Uf(){throw new Error("https://svelte.dev/e/invalid_default_snippet")}function jo(){throw new Error("https://svelte.dev/e/invalid_snippet_arguments")}function dr(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Hf(){throw new Error("https://svelte.dev/e/missing_context")}function Kf(){throw new Error("https://svelte.dev/e/snippet_without_render_tag")}function Wf(e){throw new Error("https://svelte.dev/e/store_invalid_shape")}function Yf(){throw new Error("https://svelte.dev/e/svelte_element_invalid_this_value")}function Gf(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Xf(e,t){throw new Error("https://svelte.dev/e/component_api_changed")}function Jf(e,t){throw new Error("https://svelte.dev/e/component_api_invalid_new")}function Zf(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Qf(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function ev(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function tv(e){throw new Error("https://svelte.dev/e/effect_orphan")}function nv(){throw new Error("https://svelte.dev/e/effect_pending_outside_reaction")}function rv(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function sv(){throw new Error("https://svelte.dev/e/fork_discarded")}function iv(){throw new Error("https://svelte.dev/e/fork_timing")}function av(){throw new Error("https://svelte.dev/e/get_abort_signal_outside_reaction")}function ov(){throw new Error("https://svelte.dev/e/hydration_failed")}function Ql(e){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function lv(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function cv(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function uv(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function dv(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function fv(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function vv(e,t){console.warn("https://svelte.dev/e/assignment_value_stale")}function hv(e,t){console.warn("https://svelte.dev/e/binding_property_non_reactive")}function pv(e){console.warn("https://svelte.dev/e/console_log_state")}function mv(){console.warn("https://svelte.dev/e/derived_inert")}function gv(e,t){console.warn("https://svelte.dev/e/event_handler_invalid")}function bv(e){console.warn("https://svelte.dev/e/hydratable_missing_but_expected")}function Ur(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function _v(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_binding")}function yv(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_mutation")}function wv(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ec(e){console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function kv(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let X=!1;function xe(e){X=e}let se;function we(e){if(e===null)throw Ur(),Dn;return se=e}function it(){return we(yt(se))}function v(e){if(X){if(yt(se)!==null)throw Ur(),Dn;se=e}}function Sv(e){X&&(se=e.content)}function sn(e=1){if(X){for(var t=e,n=se;t--;)n=yt(n);se=n}}function jn(e=!0){for(var t=0,n=se;;){if(n.nodeType===cn){var r=n.data;if(r===Bs){if(t===0)return n;t-=1}else(r===zs||r===qs||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=yt(n);e&&n.remove(),n=s}}function ka(e){if(!e||e.nodeType!==cn)throw Ur(),Dn;return e.data}function tc(e){return e===this.v}function nc(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function rc(e){return!nc(e,this.v)}let xv=!1;function Ev(e){console.warn("https://svelte.dev/e/dynamic_void_element_content")}const Iv=[];function Nn(e,t=!1,n=!1){return ls(e,new Map,"",Iv,null,n)}function ls(e,t,n,r,s=null,i=!1){if(typeof e=="object"&&e!==null){var a=t.get(e);if(a!==void 0)return a;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(ur(e)){var l=Array(e.length);t.set(e,l),s!==null&&t.set(s,l);for(var c=0;c<e.length;c+=1){var u=e[c];c in e&&(l[c]=ls(u,t,n,r,null,i))}return l}if($s(e)===Hl){l={},t.set(e,l),s!==null&&t.set(s,l);for(var d of Object.keys(e))l[d]=ls(e[d],t,n,r,null,i);return l}if(e instanceof Date)return structuredClone(e);if(typeof e.toJSON=="function"&&!i)return ls(e.toJSON(),t,n,r,e)}if(e instanceof EventTarget)return e;try{return structuredClone(e)}catch{return e}}let Un=null;function sc(e,t){const n=e.v;if(n===Ce)return;const r=Av(e),s=de,i=e.wv>s.wv||s.wv===0,a=i?"color: CornflowerBlue; font-weight: bold":"color: grey; font-weight: normal";if(console.groupCollapsed(e.label?`%c${r}%c ${e.label}`:`%c${r}%c`,a,i?"font-weight: normal":a,typeof n=="object"&&n!==null&&Je in n?Nn(n,!0):n),r==="$derived"){const c=new Set(e.deps);for(const u of c)sc(u)}if(e.created&&console.log(e.created),i&&e.updated)for(const c of e.updated.values())c.error&&console.log(c.error);if(t)for(var l of t.traces)console.log(l);console.groupEnd()}function Av(e){return e.f&(Ue|sr)?"$derived":e.label?.startsWith("$")?"store":"$state"}function Cv(e,t){var n=Un;try{Un={entries:new Map,reaction:de};var r=performance.now(),s=t(),i=(performance.now()-r).toFixed(2),a=Ee(e);if(!Gr())console.log(`${a} %cran outside of an effect (${i}ms)`,"color: grey");else if(Un.entries.size===0)console.log(`${a} %cno reactive dependencies (${i}ms)`,"color: grey");else{console.group(`${a} %c(${i}ms)`,"color: grey");var l=Un.entries;Ee(()=>{for(const[c,u]of l)sc(c,u)}),Un=null,console.groupEnd()}return s}finally{Un=n}}function Tv(e,t){return e.label=t,ic(e.v,t),e}function ic(e,t){return e?.[$f]?.(t),e}function Rv(e){const t=new Error,n=Pv();return n.length===0?null:(n.unshift(`
2
+ `),Mn(t,"stack",{value:n.join(`
3
+ `)}),Mn(t,"name",{value:e}),t)}function Pv(){const e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;const t=new Error().stack;if(Error.stackTraceLimit=e,!t)return[];const n=t.split(`
4
+ `),r=[];for(let s=0;s<n.length;s++){const i=n[s],a=i.replaceAll("\\","/");if(i.trim()!=="Error"){if(i.includes("validate_each_keys"))return[];a.includes("svelte/src/internal")||a.includes("node_modules/.vite")||r.push(i)}}return r}let _e=null;function ir(e){_e=e}let cs=null;function Dv(e,t,n,r,s,i){const a=cs;cs={type:t,file:n[mt],line:r,column:s,parent:a,...i};try{return e()}finally{cs=a}}let Sa=null;function No(e){Sa=e}function Mv(){const e={};return[()=>(ac(e)||Hf(),xa(e)),t=>Ea(e,t)]}function xa(e){return Us().get(e)}function Ea(e,t){return Us().set(e,t),t}function ac(e){return Us().has(e)}function Ov(){return Us()}function ne(e,t=!1,n){_e={p:_e,i:!1,c:null,e:null,s:e,x:null,r:ie,l:null}}function re(e){var t=_e,n=t.e;if(n!==null){t.e=null;for(var r of n)Oc(r)}return e!==void 0&&(t.x=e),t.i=!0,_e=t.p,e??{}}function oc(){return!0}function Us(e){return _e===null&&dr(),_e.c??=new Map(Lv(_e)||void 0)}function Lv(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}let In=[];function lc(){var e=In;In=[],Bi(e)}function st(e){if(In.length===0&&!er){var t=In;queueMicrotask(()=>{t===In&&lc()})}In.push(e)}function jv(){for(;In.length>0;)lc()}function cc(e){var t=ie;if(t===null)return de.f|=hn,e;if(!(t.f&ln)&&!(t.f&On))throw e;Yt(e,t)}function Yt(e,t){for(;t!==null;){if(t.f&Vi){if(!(t.f&ln))throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Nv=-7169;function Re(e,t){e.f=e.f&Nv|t}function Ia(e){e.f&Ct||e.deps===null?Re(e,Ne):Re(e,Vt)}function uc(e){if(e!==null)for(const t of e)!(t.f&Ue)||!(t.f&Ln)||(t.f^=Ln,uc(t.deps))}function dc(e,t,n){e.f&Fe?t.add(e):e.f&Vt&&n.add(e),uc(e.deps),Re(e,Ne)}function fc(e,t,n){if(e==null)return t(void 0),gt;const r=Ee(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}function zv(e){let t;return fc(e,n=>t=n)(),t}let Ui=!1,Sr=!1,Hi=Symbol();function qv(e,t,n){const r=n[t]??={store:null,source:Ws(void 0),unsubscribe:gt};if(r.store!==e&&!(Hi in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=gt;else{var s=!0;r.unsubscribe=fc(e,i=>{s?r.source.v=i:y(r.source,i)}),s=!1}return e&&Hi in n?zv(e):o(r.source)}function Bv(e,t,n){let r=n[t];return r&&r.store!==e&&(r.unsubscribe(),r.unsubscribe=gt),e}function vc(e,t){return Hs(e,t),t}function Vv(e,t){var n=e[t];n.store!==null&&vc(n.store,n.source.v)}function $v(){const e={};function t(){kt(()=>{for(var n in e)e[n].unsubscribe();Mn(e,Hi,{enumerable:!1,value:!0})})}return[e,t]}function Hs(e,t){Ui=!0;try{e.set(t)}finally{Ui=!1}}function Fv(e,t,n){return Hs(e,n),t}function Uv(e,t,n=1){return Hs(e,t+n),t}function Hv(e,t,n=1){const r=t+n;return Hs(e,r),r}function Kv(){Sr=!0}function hc(e){var t=Sr;try{return Sr=!1,[e(),Sr]}finally{Sr=t}}const nn=new Set;let oe=null,nt=null,Ki=null,er=!1,Ii=!1,Xn=null,us=null;var zo=0;let Wv=1;class Dt{id=Wv++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=new Set;#i=new Map;#s=new Map;#a=null;#r=[];#o=[];#l=new Set;#u=new Set;#c=new Map;#f=new Set;is_fork=!1;#h=!1;#v=new Set;#d(){return this.is_fork||this.#s.size>0}#b(){for(const r of this.#v)for(const s of r.#s.keys()){for(var t=!1,n=s;n.parent!==null;){if(this.#c.has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1}skip_effect(t){this.#c.has(t)||this.#c.set(t,{d:[],m:[]}),this.#f.delete(t)}unskip_effect(t,n=r=>this.schedule(r)){var r=this.#c.get(t);if(r){this.#c.delete(t);for(var s of r.d)Re(s,Fe),n(s);for(s of r.m)Re(s,Vt),n(s)}this.#f.add(t)}#p(){if(zo++>1e3&&(nn.delete(this),Yv()),!this.#d()){for(const l of this.#l)this.#u.delete(l),Re(l,Fe),this.schedule(l);for(const l of this.#u)Re(l,Vt),this.schedule(l)}const t=this.#r;this.#r=[],this.apply();var n=Xn=[],r=[],s=us=[];for(const l of t)try{this.#g(l,n,r)}catch(c){throw bc(l),c}if(oe=null,s.length>0){var i=Dt.ensure();for(const l of s)i.schedule(l)}if(Xn=null,us=null,this.#d()||this.#b()){this.#m(r),this.#m(n);for(const[l,c]of this.#c)gc(l,c)}else{this.#i.size===0&&nn.delete(this),this.#l.clear(),this.#u.clear();for(const l of this.#e)l(this);this.#e.clear(),qo(r),qo(n),this.#a?.resolve()}var a=oe;if(this.#r.length>0){const l=a??=this;l.#r.push(...this.#r.filter(c=>!l.#r.includes(c)))}a!==null&&(nn.add(a),a.#p())}#g(t,n,r){t.f^=Ne;for(var s=t.first;s!==null;){var i=s.f,a=(i&(Bt|an))!==0,l=a&&(i&Ne)!==0,c=l||(i&rt)!==0||this.#c.has(s);if(!c&&s.fn!==null){a?s.f^=Ne:i&On?n.push(s):vr(s)&&(i&zt&&this.#u.add(s),qn(s));var u=s.first;if(u!==null){s=u;continue}}for(;s!==null;){var d=s.next;if(d!==null){s=d;break}s=s.parent}}}#m(t){for(var n=0;n<t.length;n+=1)dc(t[n],this.#l,this.#u)}capture(t,n,r=!1){t.v!==Ce&&!this.previous.has(t)&&this.previous.set(t,t.v),t.f&hn||(this.current.set(t,[n,r]),nt?.set(t,n)),this.is_fork||(t.v=n)}activate(){oe=this}deactivate(){oe=null,nt=null}flush(){try{Ii=!0,oe=this,this.#p()}finally{zo=0,Ki=null,Xn=null,us=null,Ii=!1,oe=null,nt=null,Tn.clear()}}discard(){for(const t of this.#t)t(this);this.#t.clear(),this.#n.clear(),nn.delete(this)}register_created_effect(t){this.#o.push(t)}#_(){for(const d of nn){var t=d.id<this.id,n=[];for(const[f,[p,m]]of this.current){if(d.current.has(f)){var r=d.current.get(f)[0];if(t&&p!==r)d.current.set(f,[p,m]);else continue}n.push(f)}var s=[...d.current.keys()].filter(f=>!this.current.has(f));if(s.length===0)t&&d.discard();else if(n.length>0){if(t)for(const f of this.#f)d.unskip_effect(f,p=>{p.f&(zt|sr)?d.schedule(p):d.#m([p])});d.activate();var i=new Set,a=new Map;for(var l of n)pc(l,s,i,a);a=new Map;var c=[...d.current.keys()].filter(f=>this.current.has(f)?this.current.get(f)[0]!==f:!0);for(const f of this.#o)!(f.f&(dt|rt|Dr))&&Aa(f,c,a)&&(f.f&(sr|zt)?(Re(f,Fe),d.schedule(f)):d.#l.add(f));if(d.#r.length>0){d.apply();for(var u of d.#r)d.#g(u,[],[]);d.#r=[]}d.deactivate()}}for(const d of nn)d.#v.has(this)&&(d.#v.delete(this),d.#v.size===0&&!d.#d()&&(d.activate(),d.#p()))}increment(t,n){let r=this.#i.get(n)??0;if(this.#i.set(n,r+1),t){let s=this.#s.get(n)??0;this.#s.set(n,s+1)}}decrement(t,n,r){let s=this.#i.get(n)??0;if(s===1?this.#i.delete(n):this.#i.set(n,s-1),t){let i=this.#s.get(n)??0;i===1?this.#s.delete(n):this.#s.set(n,i-1)}this.#h||r||(this.#h=!0,st(()=>{this.#h=!1,this.flush()}))}transfer_effects(t,n){for(const r of t)this.#l.add(r);for(const r of n)this.#u.add(r);t.clear(),n.clear()}oncommit(t){this.#e.add(t)}ondiscard(t){this.#t.add(t)}on_fork_commit(t){this.#n.add(t)}run_fork_commit_callbacks(){for(const t of this.#n)t(this);this.#n.clear()}settled(){return(this.#a??=Kl()).promise}static ensure(){if(oe===null){const t=oe=new Dt;Ii||(nn.add(oe),er||st(()=>{oe===t&&t.flush()}))}return oe}apply(){{nt=null;return}}schedule(t){if(Ki=t,t.b?.is_pending&&t.f&(On|$r|wa)&&!(t.f&ln)){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(Xn!==null&&n===ie&&(de===null||!(de.f&Ue))&&!Ui)return;if(r&(an|Bt)){if(!(r&Ne))return;n.f^=Ne}}this.#r.push(n)}}function mn(e){var t=er;er=!0;try{var n;for(e&&(oe!==null&&!oe.is_fork&&oe.flush(),n=e());;){if(jv(),oe===null)return n;oe.flush()}}finally{er=t}}function Yv(){try{rv()}catch(e){Yt(e,Ki)}}let rn=null;function qo(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&(dt|rt))&&vr(r)&&(rn=new Set,qn(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Bc(r),rn?.size>0)){Tn.clear();for(const s of rn){if(s.f&(dt|rt))continue;const i=[s];let a=s.parent;for(;a!==null;)rn.has(a)&&(rn.delete(a),i.push(a)),a=a.parent;for(let l=i.length-1;l>=0;l--){const c=i[l];c.f&(dt|rt)||qn(c)}}rn.clear()}}rn=null}}function pc(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const i=s.f;i&Ue?pc(s,t,n,r):i&(sr|zt)&&!(i&Fe)&&Aa(s,t,r)&&(Re(s,Fe),Ca(s))}}function mc(e,t){if(e.reactions!==null)for(const n of e.reactions){const r=n.f;r&Ue?mc(n,t):r&Dr&&(Re(n,Fe),t.add(n))}}function Aa(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(rr.call(t,s))return!0;if(s.f&Ue&&Aa(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function Ca(e){oe.schedule(e)}let ks=[];function Gv(){mn(()=>{const e=ks;ks=[];for(const t of e)ar(t)})}function Xv(e){var t=_t(0),n=!0,r=void 0;return o(t),jc(()=>{if(n){var s=nt;try{nt=null,r=e()}finally{nt=s}return}ks.length===0&&st(Gv),ks.push(t)}),n=!1,r}function gc(e,t){if(!(e.f&Bt&&e.f&Ne)){e.f&Fe?t.d.push(e):e.f&Vt&&t.m.push(e),Re(e,Ne);for(var n=e.first;n!==null;)gc(n,t),n=n.next}}function bc(e){Re(e,Ne);for(var t=e.first;t!==null;)bc(t),t=t.next}function Jv(e){Zl(),oe!==null&&iv();var t=Dt.ensure();t.is_fork=!0,nt=new Map;var n=!1,r=t.settled();return mn(e),{commit:async()=>{if(n){await r;return}nn.has(t)||sv(),n=!0,t.is_fork=!1;for(var[s,[i]]of t.current)s.v=i,s.wv=xs();t.activate(),t.run_fork_commit_callbacks(),t.deactivate(),mn(()=>{var a=new Set;for(var l of t.current.keys())mc(l,a);lh(a),Ec()}),t.flush(),await r},discard:()=>{for(var s of t.current.keys())s.wv=xs();!n&&nn.has(t)&&t.discard()}}}function Zv(e){let t=0,n=_t(0),r;return()=>{Gr()&&(o(n),Oe(()=>(t===0&&(r=Ee(()=>e(()=>Ar(n)))),t+=1,()=>{st(()=>{t-=1,t===0&&(r?.(),r=void 0,Ar(n))})})))}}var Qv=$t|wn;function _c(e,t,n,r){new eh(e,t,n,r)}class eh{parent;is_pending=!1;transform_error;#e;#t=X?se:null;#n;#i;#s;#a=null;#r=null;#o=null;#l=null;#u=0;#c=0;#f=!1;#h=new Set;#v=new Set;#d=null;#b=Zv(()=>(this.#d=_t(this.#u),()=>{this.#d=null}));constructor(t,n,r,s){this.#e=t,this.#n=n,this.#i=i=>{var a=ie;a.b=this,a.f|=Vi,r(i)},this.parent=ie.b,this.transform_error=s??this.parent?.transform_error??(i=>i),this.#s=en(()=>{if(X){const i=this.#t;it();const a=i.data===qs;if(i.data.startsWith(Mo)){const c=JSON.parse(i.data.slice(Mo.length));this.#g(c)}else a?this.#m():this.#p()}else this.#_()},Qv),X&&(this.#e=se)}#p(){try{this.#a=tt(()=>this.#i(this.#e))}catch(t){this.error(t)}}#g(t){const n=this.#n.failed;n&&(this.#o=tt(()=>{n(this.#e,()=>t,()=>()=>{})}))}#m(){const t=this.#n.pending;t&&(this.is_pending=!0,this.#r=tt(()=>t(this.#e)),st(()=>{var n=this.#l=document.createDocumentFragment(),r=Ke();n.append(r),this.#a=this.#w(()=>tt(()=>this.#i(r))),this.#c===0&&(this.#e.before(n),this.#l=null,Rn(this.#r,()=>{this.#r=null}),this.#y(oe))}))}#_(){try{if(this.is_pending=this.has_pending_snippet(),this.#c=0,this.#u=0,this.#a=tt(()=>{this.#i(this.#e)}),this.#c>0){var t=this.#l=document.createDocumentFragment();ja(this.#a,t);const n=this.#n.pending;this.#r=tt(()=>n(this.#e))}else this.#y(oe)}catch(n){this.error(n)}}#y(t){this.is_pending=!1,t.transfer_effects(this.#h,this.#v)}defer_effect(t){dc(t,this.#h,this.#v)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#w(t){var n=ie,r=de,s=_e;Ze(this.#s),ft(this.#s),ir(this.#s.ctx);try{return Dt.ensure(),t()}catch(i){return cc(i),null}finally{Ze(n),ft(r),ir(s)}}#k(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#k(t,n);return}this.#c+=t,this.#c===0&&(this.#y(n),this.#r&&Rn(this.#r,()=>{this.#r=null}),this.#l&&(this.#e.before(this.#l),this.#l=null))}update_pending_count(t,n){this.#k(t,n),this.#u+=t,!(!this.#d||this.#f)&&(this.#f=!0,st(()=>{this.#f=!1,this.#d&&Gt(this.#d,this.#u)}))}get_effect_pending(){return this.#b(),o(this.#d)}error(t){if(!this.#n.onerror&&!this.#n.failed)throw t;oe?.is_fork?(this.#a&&oe.skip_effect(this.#a),this.#r&&oe.skip_effect(this.#r),this.#o&&oe.skip_effect(this.#o),oe.on_fork_commit(()=>{this.#S(t)})):this.#S(t)}#S(t){this.#a&&(Be(this.#a),this.#a=null),this.#r&&(Be(this.#r),this.#r=null),this.#o&&(Be(this.#o),this.#o=null),X&&(we(this.#t),sn(),we(jn()));var n=this.#n.onerror;let r=this.#n.failed;var s=!1,i=!1;const a=()=>{if(s){kv();return}s=!0,i&&fv(),this.#o!==null&&Rn(this.#o,()=>{this.#o=null}),this.#w(()=>{this.#_()})},l=c=>{try{i=!0,n?.(c,a),i=!1}catch(u){Yt(u,this.#s&&this.#s.parent)}r&&(this.#o=this.#w(()=>{try{return tt(()=>{var u=ie;u.b=this,u.f|=Vi,r(this.#e,()=>c,()=>a)})}catch(u){return Yt(u,this.#s.parent),null}}))};st(()=>{var c;try{c=this.transform_error(t)}catch(u){Yt(u,this.#s&&this.#s.parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(l,u=>Yt(u,this.#s&&this.#s.parent)):l(c)})}}function th(){ie===null&&nv();var e=ie.b;return e===null?0:e.get_effect_pending()}function Hr(e,t,n,r){const s=Wr;var i=e.filter(p=>!p.settled);if(n.length===0&&i.length===0){r(t.map(s));return}var a=ie,l=Ks(),c=i.length===1?i[0].promise:i.length>1?Promise.all(i.map(p=>p.promise)):null;function u(p){l();try{r(p)}catch(m){a.f&dt||Yt(m,a)}zn()}if(n.length===0){c.then(()=>u(t.map(s)));return}var d=Kr();function f(){Promise.all(n.map(p=>wc(p))).then(p=>u([...t.map(s),...p])).catch(p=>Yt(p,a)).finally(()=>d())}c?c.then(()=>{l(),f(),zn()}):f()}function yc(e,t){Hr(e,[],[],t)}function Ks(){var e=ie,t=de,n=_e,r=oe;return function(i=!0){Ze(e),ft(t),ir(n),i&&!(e.f&dt)&&(r?.activate(),r?.apply())}}async function nh(e){var t=Ks(),n=await e;return()=>(t(),n)}async function Wi(e){var t=Ir;queueMicrotask(()=>{Ir===t&&ds(null)});var n=await e;return()=>(ds(t),queueMicrotask(()=>{Ir===t&&ds(null)}),n)}async function*rh(e){const t=e[Symbol.asyncIterator]?.()??e[Symbol.iterator]?.();if(t===void 0)throw new TypeError("value is not async iterable");let n=!1;try{for(;;){const{done:s,value:i}=(await Wi(t.next()))();if(s){n=!0;break}var r=Ir;yield i,ds(r)}}finally{if(!n&&t.return!==void 0)return(await Wi(t.return()))().value}}function zn(e=!0){Ze(null),ft(null),ir(null),e&&oe?.deactivate()}function sh(e){const t=Ks(),n=Kr();var r=ie,s=null;const i=u=>{s={error:u},Xi(r)||Yt(u,r)};var a=Promise.resolve(e[0]()).catch(i),l={promise:a,settled:!1},c=[l];a.finally(()=>{l.settled=!0,zn()});for(const u of e.slice(1)){a=a.then(()=>{if(t(),s)throw s.error;if(Xi(r))throw Ht;return u()}).catch(i);const d={promise:a,settled:!1};c.push(d),a.finally(()=>{d.settled=!0,zn()})}return a.then(()=>Promise.resolve()).finally(()=>n()),c}function ih(e){return Promise.all(e.map(t=>t.promise))}function Kr(){var e=ie,t=e.b,n=oe,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(s=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,s)}}let Ir=null;function ds(e){Ir=e}function Wr(e){var t=Ue|Fe;return ie!==null&&(ie.f|=wn),{ctx:_e,deps:null,effects:null,equals:tc,f:t,fn:e,reactions:null,rv:0,v:Ce,wv:0,parent:ie,ac:null}}function wc(e,t,n){let r=ie;r===null&&Gf();var s=void 0,i=_t(Ce),a=!de,l=new Map;return yh(()=>{var c=ie,u=Kl();s=u.promise;try{Promise.resolve(e()).then(u.resolve,u.reject).finally(zn)}catch(m){u.reject(m),zn()}var d=oe;if(a){if(c.f&ln)var f=Kr();if(r.b.is_rendered())l.get(d)?.reject(Ht),l.delete(d);else{for(const m of l.values())m.reject(Ht);l.clear()}l.set(d,u)}const p=(m,b=void 0)=>{if(f){var g=b===Ht;f(g)}if(!(b===Ht||c.f&dt)){if(d.activate(),b)i.f|=hn,Gt(i,b);else{i.f&hn&&(i.f^=hn),Gt(i,m);for(const[x,k]of l){if(l.delete(x),x===d)break;k.reject(Ht)}}d.deactivate()}};u.promise.then(p,m=>p(null,m||"unknown"))}),kt(()=>{for(const c of l.values())c.reject(Ht)}),new Promise(c=>{function u(d){function f(){d===s?c(i):u(s)}d.then(f,f)}u(s)})}function U(e){const t=Wr(e);return Fc(t),t}function Ta(e){const t=Wr(e);return t.equals=rc,t}function ah(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Be(t[n])}}function Ra(e){var t,n=ie,r=e.parent;if(!on&&r!==null&&r.f&(dt|rt))return mv(),e.v;Ze(r);try{e.f&=~Ln,ah(e),t=Kc(e)}finally{Ze(n)}return t}function kc(e){var t=Ra(e);if(!e.equals(t)&&(e.wv=xs(),(!oe?.is_fork||e.deps===null)&&(oe!==null?oe.capture(e,t,!0):e.v=t,e.deps===null))){Re(e,Ne);return}on||(nt!==null?(Gr()||oe?.is_fork)&&nt.set(e,t):Ia(e))}function oh(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(Ht),t.teardown=gt,t.ac=null,Mr(t,0),Oa(t))}function Sc(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&qn(t)}let Ss=new Set;const Tn=new Map;function lh(e){Ss=e}let xc=!1;function _t(e,t){var n={f:0,v:e,reactions:null,equals:tc,rv:0,wv:0};return n}function q(e,t){const n=_t(e);return Fc(n),n}function Ws(e,t=!1,n=!0){const r=_t(e);return t||(r.equals=rc),r}function ch(e,t){return y(e,Ee(()=>o(e))),t}function y(e,t,n=!1){de!==null&&(!jt||de.f&Dr)&&oc()&&de.f&(Ue|zt|sr|Dr)&&(Tt===null||!rr.call(Tt,e))&&dv();let r=n?le(t):t;return Gt(e,r,us)}function Gt(e,t,n=null){if(!e.equals(t)){Tn.set(e,on?t:e.v);var r=Dt.ensure();if(r.capture(e,t),e.f&Ue){const s=e;e.f&Fe&&Ra(s),nt===null&&Ia(s)}e.wv=xs(),Ic(e,Fe,n),ie!==null&&ie.f&Ne&&!(ie.f&(Bt|an))&&(At===null?Eh([e]):At.push(e)),!r.is_fork&&Ss.size>0&&!xc&&Ec()}return t}function Ec(){xc=!1;for(const e of Ss)e.f&Ne&&Re(e,Vt),vr(e)&&qn(e);Ss.clear()}function ar(e,t=1){var n=o(e),r=t===1?n++:n--;return y(e,n),r}function uh(e,t=1){var n=o(e);return y(e,t===1?++n:--n)}function Ar(e){y(e,e.v+1)}function Ic(e,t,n){var r=e.reactions;if(r!==null)for(var s=r.length,i=0;i<s;i++){var a=r[i],l=a.f,c=(l&Fe)===0;if(c&&Re(a,t),l&Ue){var u=a;nt?.delete(u),l&Ln||(l&Ct&&(a.f|=Ln),Ic(u,Vt,n))}else if(c){var d=a;l&zt&&rn!==null&&rn.add(d),n!==null?n.push(d):Ca(d)}}}function le(e){if(typeof e!="object"||e===null||Je in e)return e;const t=$s(e);if(t!==Hl&&t!==jf)return e;var n=new Map,r=ur(e),s=q(0),i=Pn,a=l=>{if(Pn===i)return l();var c=de,u=Pn;ft(null),$o(i);var d=l();return ft(c),$o(u),d};return r&&n.set("length",q(e.length)),new Proxy(e,{defineProperty(l,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&cv();var d=n.get(c);return d===void 0?a(()=>{var f=q(u.value);return n.set(c,f),f}):y(d,u.value,!0),!0},deleteProperty(l,c){var u=n.get(c);if(u===void 0){if(c in l){const d=a(()=>q(Ce));n.set(c,d),Ar(s)}}else y(u,Ce),Ar(s);return!0},get(l,c,u){if(c===Je)return e;var d=n.get(c),f=c in l;if(d===void 0&&(!f||Nt(l,c)?.writable)&&(d=a(()=>{var m=le(f?l[c]:Ce),b=q(m);return b}),n.set(c,d)),d!==void 0){var p=o(d);return p===Ce?void 0:p}return Reflect.get(l,c,u)},getOwnPropertyDescriptor(l,c){var u=Reflect.getOwnPropertyDescriptor(l,c);if(u&&"value"in u){var d=n.get(c);d&&(u.value=o(d))}else if(u===void 0){var f=n.get(c),p=f?.v;if(f!==void 0&&p!==Ce)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(l,c){if(c===Je)return!0;var u=n.get(c),d=u!==void 0&&u.v!==Ce||Reflect.has(l,c);if(u!==void 0||ie!==null&&(!d||Nt(l,c)?.writable)){u===void 0&&(u=a(()=>{var p=d?le(l[c]):Ce,m=q(p);return m}),n.set(c,u));var f=o(u);if(f===Ce)return!1}return d},set(l,c,u,d){var f=n.get(c),p=c in l;if(r&&c==="length")for(var m=u;m<f.v;m+=1){var b=n.get(m+"");b!==void 0?y(b,Ce):m in l&&(b=a(()=>q(Ce)),n.set(m+"",b))}if(f===void 0)(!p||Nt(l,c)?.writable)&&(f=a(()=>q(void 0)),y(f,le(u)),n.set(c,f));else{p=f.v!==Ce;var g=a(()=>le(u));y(f,g)}var x=Reflect.getOwnPropertyDescriptor(l,c);if(x?.set&&x.set.call(d,u),!p){if(r&&typeof c=="string"){var k=n.get("length"),S=Number(c);Number.isInteger(S)&&S>=k.v&&y(k,S+1)}Ar(s)}return!0},ownKeys(l){o(s);var c=Reflect.ownKeys(l).filter(f=>{var p=n.get(f);return p===void 0||p.v!==Ce});for(var[u,d]of n)d.v!==Ce&&!(u in l)&&c.push(u);return c},setPrototypeOf(){uv()}})}function or(e){try{if(e!==null&&typeof e=="object"&&Je in e)return e[Je]}catch{}return e}function Ac(e,t){return Object.is(or(e),or(t))}function dh(e,t,n=!0){try{e===t!=(or(e)===or(t))&&ec(n?"===":"!==")}catch{}return e===t===n}function fh(e,t,n=!0){return e==t!=(or(e)==or(t))&&ec(),e==t===n}var Yi,Cc,Pa,Tc,Rc;function Gi(){if(Yi===void 0){Yi=window,Cc=document,Pa=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Tc=Nt(t,"firstChild").get,Rc=Nt(t,"nextSibling").get,Oo(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Oo(n)&&(n.__t=void 0)}}function Ke(e=""){return document.createTextNode(e)}function Te(e){return Tc.call(e)}function yt(e){return Rc.call(e)}function h(e,t){if(!X)return Te(e);var n=Te(se);if(n===null)n=se.appendChild(Ke());else if(t&&n.nodeType!==Fr){var r=Ke();return n?.before(r),we(r),r}return t&&Ys(n),we(n),n}function pe(e,t=!1){if(!X){var n=Te(e);return n instanceof Comment&&n.data===""?yt(n):n}if(t){if(se?.nodeType!==Fr){var r=Ke();return se?.before(r),we(r),r}Ys(se)}return se}function E(e,t=1,n=!1){let r=X?se:e;for(var s;t--;)s=r,r=yt(r);if(!X)return r;if(n){if(r?.nodeType!==Fr){var i=Ke();return r===null?s?.after(i):r.before(i),we(i),i}Ys(r)}return we(r),r}function Da(e){e.textContent=""}function Pc(){return!1}function kn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??Vl,e,r)}function vh(){return document.createDocumentFragment()}function Dc(e=""){return document.createComment(e)}function hh(e,t,n=""){if(t.startsWith("xlink:")){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n);return}return e.setAttribute(t,n)}function Ys(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===Fr;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function fr(e,t){if(t){const n=document.body;e.autofocus=!0,st(()=>{document.activeElement===n&&e.focus()})}}function ph(e){X&&Te(e)!==null&&Da(e)}let Bo=!1;function Mc(){Bo||(Bo=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function vt(e,t,n,r=!0){r&&n();for(var s of t)e.addEventListener(s,n);kt(()=>{for(var i of t)e.removeEventListener(i,n)})}function Sn(e){var t=de,n=ie;ft(null),Ze(null);try{return e()}finally{ft(t),Ze(n)}}function Yr(e,t,n,r=n){e.addEventListener(t,()=>Sn(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),Mc()}function Ma(e){ie===null&&(de===null&&tv(),ev()),on&&Qf()}function mh(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function ht(e,t){var n=ie;n!==null&&n.f&rt&&(e|=rt);var r={ctx:_e,deps:null,nodes:null,f:e|Fe|Ct,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};oe?.register_created_effect(r);var s=r;if(e&On)Xn!==null?Xn.push(r):Dt.ensure().schedule(r);else if(t!==null){try{qn(r)}catch(a){throw Be(r),a}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&!(s.f&wn)&&(s=s.first,e&zt&&e&$t&&s!==null&&(s.f|=$t))}if(s!==null&&(s.parent=n,n!==null&&mh(s,n),de!==null&&de.f&Ue&&!(e&an))){var i=de;(i.effects??=[]).push(s)}return r}function Gr(){return de!==null&&!jt}function kt(e){const t=ht($r,null);return Re(t,Ne),t.teardown=e,t}function Ie(e){Ma();var t=ie.f,n=!de&&(t&Bt)!==0&&(t&ln)===0;if(n){var r=_e;(r.e??=[]).push(e)}else return Oc(e)}function Oc(e){return ht(On|Gl,e)}function Lc(e){return Ma(),ht($r|Gl,e)}function jc(e){return ht(Dr,e)}function Gs(e){Dt.ensure();const t=ht(an|wn,e);return()=>{Be(t)}}function gh(e){Dt.ensure();const t=ht(an|wn,e);return(n={})=>new Promise(r=>{n.outro?Rn(t,()=>{Be(t),r(void 0)}):(Be(t),r(void 0))})}function wt(e){return ht(On,e)}function bh(e,t){var n=_e,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=Oe(()=>{if(e(),!r.ran){r.ran=!0;var s=ie;try{Ze(s.parent),Ee(t)}finally{Ze(s)}}})}function _h(){var e=_e;Oe(()=>{for(var t of e.l.$){t.deps();var n=t.effect;n.f&Ne&&n.deps!==null&&Re(n,Vt),vr(n)&&qn(n),t.ran=!1}})}function yh(e){return ht(sr|wn,e)}function Oe(e,t=0){return ht($r|t,e)}function z(e,t=[],n=[],r=[]){Hr(r,t,n,s=>{ht($r,()=>e(...s.map(o)))})}function wh(e,t=[],n=[],r=[]){if(n.length>0||r.length>0)var s=Kr();Hr(r,t,n,i=>{ht(On,()=>e(...i.map(o))),s&&s()})}function en(e,t=0){var n=ht(zt|t,e);return n}function Nc(e,t=0){var n=ht(wa|t,e);return n}function tt(e){return ht(Bt|wn,e)}function zc(e){var t=e.teardown;if(t!==null){const n=on,r=de;Vo(!0),ft(null);try{t.call(null)}finally{Vo(n),ft(r)}}}function Oa(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Sn(()=>{s.abort(Ht)});var r=n.next;n.f&an?n.parent=null:Be(n,t),n=r}}function kh(e){for(var t=e.first;t!==null;){var n=t.next;t.f&Bt||Be(t),t=n}}function Be(e,t=!0){var n=!1;(t||e.f&Yl)&&e.nodes!==null&&e.nodes.end!==null&&(qc(e.nodes.start,e.nodes.end),n=!0),Re(e,$i),Oa(e,t&&!n),Mr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const i of r)i.stop();zc(e),e.f^=$i,e.f|=dt;var s=e.parent;s!==null&&s.first!==null&&Bc(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function qc(e,t){for(;e!==null;){var n=e===t?null:yt(e);e.remove(),e=n}}function Bc(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 Rn(e,t,n=!0){var r=[];Vc(e,r,!0);var s=()=>{n&&Be(e),t&&t()},i=r.length;if(i>0){var a=()=>--i||s();for(var l of r)l.out(a)}else s()}function Vc(e,t,n){if(!(e.f&rt)){e.f^=rt;var r=e.nodes&&e.nodes.t;if(r!==null)for(const l of r)(l.is_global||n)&&t.push(l);for(var s=e.first;s!==null;){var i=s.next;if(!(s.f&an)){var a=(s.f&$t)!==0||(s.f&Bt)!==0&&(e.f&zt)!==0;Vc(s,t,a?n:!1)}s=i}}}function La(e){$c(e,!0)}function $c(e,t){if(e.f&rt){e.f^=rt,e.f&Ne||(Re(e,Fe),Dt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&$t)!==0||(n.f&Bt)!==0;$c(n,s?t:!1),n=r}var i=e.nodes&&e.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&a.in()}}function Xi(e=ie){return(e.f&dt)!==0}function ja(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:yt(n);t.append(n),n=s}}let Wn=null;function Sh(e){var t=Wn;try{if(Wn=new Set,Ee(e),t!==null)for(var n of Wn)t.add(n);return Wn}finally{Wn=t}}function xh(e){for(var t of Sh(e))Gt(t,t.v)}let fs=!1,on=!1;function Vo(e){on=e}let de=null,jt=!1;function ft(e){de=e}let ie=null;function Ze(e){ie=e}let Tt=null;function Fc(e){de!==null&&(Tt===null?Tt=[e]:Tt.push(e))}let lt=null,pt=0,At=null;function Eh(e){At=e}let Uc=1,An=0,Pn=An;function $o(e){Pn=e}function xs(){return++Uc}function vr(e){var t=e.f;if(t&Fe)return!0;if(t&Ue&&(e.f&=~Ln),t&Vt){for(var n=e.deps,r=n.length,s=0;s<r;s++){var i=n[s];if(vr(i)&&kc(i),i.wv>e.wv)return!0}t&Ct&&nt===null&&Re(e,Ne)}return!1}function Hc(e,t,n=!0){var r=e.reactions;if(r!==null&&!(Tt!==null&&rr.call(Tt,e)))for(var s=0;s<r.length;s++){var i=r[s];i.f&Ue?Hc(i,t,!1):t===i&&(n?Re(i,Fe):i.f&Ne&&Re(i,Vt),Ca(i))}}function Kc(e){var t=lt,n=pt,r=At,s=de,i=Tt,a=_e,l=jt,c=Pn,u=e.f;lt=null,pt=0,At=null,de=u&(Bt|an)?null:e,Tt=null,ir(e.ctx),jt=!1,Pn=++An,e.ac!==null&&(Sn(()=>{e.ac.abort(Ht)}),e.ac=null);try{e.f|=Fi;var d=e.fn,f=d();e.f|=ln;var p=e.deps,m=oe?.is_fork;if(lt!==null){var b;if(m||Mr(e,pt),p!==null&&pt>0)for(p.length=pt+lt.length,b=0;b<lt.length;b++)p[pt+b]=lt[b];else e.deps=p=lt;if(Gr()&&e.f&Ct)for(b=pt;b<p.length;b++)(p[b].reactions??=[]).push(e)}else!m&&p!==null&&pt<p.length&&(Mr(e,pt),p.length=pt);if(oc()&&At!==null&&!jt&&p!==null&&!(e.f&(Ue|Vt|Fe)))for(b=0;b<At.length;b++)Hc(At[b],e);if(s!==null&&s!==e){if(An++,s.deps!==null)for(let g=0;g<n;g+=1)s.deps[g].rv=An;if(t!==null)for(const g of t)g.rv=An;At!==null&&(r===null?r=At:r.push(...At))}return e.f&hn&&(e.f^=hn),f}catch(g){return cc(g)}finally{e.f^=Fi,lt=t,pt=n,At=r,de=s,Tt=i,ir(a),jt=l,Pn=c}}function Ih(e,t){let n=t.reactions;if(n!==null){var r=Lf.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&t.f&Ue&&(lt===null||!rr.call(lt,t))){var i=t;i.f&Ct&&(i.f^=Ct,i.f&=~Ln),i.v!==Ce&&Ia(i),oh(i),Mr(i,0)}}function Mr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Ih(e,n[r])}function qn(e){var t=e.f;if(!(t&dt)){Re(e,Ne);var n=ie,r=fs;ie=e,fs=!0;try{t&(zt|wa)?kh(e):Oa(e),zc(e);var s=Kc(e);e.teardown=typeof s=="function"?s:null,e.wv=Uc;var i;Fl&&xv&&e.f&Fe&&e.deps}finally{fs=r,ie=n}}}async function Na(){await Promise.resolve(),mn()}function Ah(){return Dt.ensure().settled()}function o(e){var t=e.f,n=(t&Ue)!==0;if(Wn?.add(e),de!==null&&!jt){var r=ie!==null&&(ie.f&dt)!==0;if(!r&&(Tt===null||!rr.call(Tt,e))){var s=de.deps;if(de.f&Fi)e.rv<An&&(e.rv=An,lt===null&&s!==null&&s[pt]===e?pt++:lt===null?lt=[e]:lt.push(e));else{(de.deps??=[]).push(e);var i=e.reactions;i===null?e.reactions=[de]:rr.call(i,de)||i.push(de)}}}if(on&&Tn.has(e))return Tn.get(e);if(n){var a=e;if(on){var l=a.v;return(!(a.f&Ne)&&a.reactions!==null||Yc(a))&&(l=Ra(a)),Tn.set(a,l),l}var c=(a.f&Ct)===0&&!jt&&de!==null&&(fs||(de.f&Ct)!==0),u=(a.f&ln)===0;vr(a)&&(c&&(a.f|=Ct),kc(a)),c&&!u&&(Sc(a),Wc(a))}if(nt?.has(e))return nt.get(e);if(e.f&hn)throw e.v;return e.v}function Wc(e){if(e.f|=Ct,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),t.f&Ue&&!(t.f&Ct)&&(Sc(t),Wc(t))}function Yc(e){if(e.v===Ce)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Tn.has(t)||t.f&Ue&&Yc(t))return!0;return!1}function Ch(e){return e&&o(e)}function Ee(e){var t=jt;try{return jt=!0,e()}finally{jt=t}}function za(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(Je in e)Es(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&Je in n&&Es(n)}}}function Es(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{Es(e[r],t)}catch{}const n=$s(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=Ul(n);for(let s in r){const i=r[s].get;if(i)try{i.call(e)}catch{}}}}}function Th(e,t){if(Zl(),X){const n=window.__svelte?.h;if(n?.has(e))return n.get(e);bv()}return t()}const xr=Symbol("events"),Gc=new Set,Ji=new Set;function Rh(e){if(!X)return;e.removeAttribute("onload"),e.removeAttribute("onerror");const t=e.__e;t!==void 0&&(e.__e=void 0,queueMicrotask(()=>{e.isConnected&&e.dispatchEvent(t)}))}function Xc(e,t,n,r={}){function s(i){if(r.capture||Zi.call(t,i),!i.cancelBubble)return Sn(()=>n?.call(this,i))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?st(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Qe(e,t,n,r,s){var i={capture:r,passive:s},a=Xc(e,t,n,i);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&kt(()=>{t.removeEventListener(e,a,i)})}function F(e,t,n){(t[xr]??={})[e]=n}function ue(e){for(var t=0;t<e.length;t++)Gc.add(e[t]);for(var n of Ji)n(e)}let Fo=null;function Zi(e){var t=this,n=t.ownerDocument,r=e.type,s=e.composedPath?.()||[],i=s[0]||e.target;Fo=e;var a=0,l=Fo===e&&e[xr];if(l){var c=s.indexOf(l);if(c!==-1&&(t===document||t===window)){e[xr]=t;return}var u=s.indexOf(t);if(u===-1)return;c<=u&&(a=c)}if(i=s[a]||e.target,i!==t){Mn(e,"currentTarget",{configurable:!0,get(){return i||n}});var d=de,f=ie;ft(null),Ze(null);try{for(var p,m=[];i!==null;){var b=i.assignedSlot||i.parentNode||i.host||null;try{var g=i[xr]?.[r];g!=null&&(!i.disabled||e.target===i)&&g.call(i,e)}catch(x){p?m.push(x):p=x}if(e.cancelBubble||b===t||b===null)break;i=b}if(p){for(let x of m)queueMicrotask(()=>{throw x});throw p}}finally{e[xr]=t,delete e.currentTarget,ft(d),Ze(f)}}}function Ph(e,t,n,r,s,i=!1,a=!1){let l,c;try{l=e()}catch(u){c=u}if(typeof l!="function"&&(i||l!=null||c)){const u=r?.[mt];s?`${u}${s[0]}${s[1]}`:`${u}`;const d=n[0]?.eventPhase<Event.BUBBLING_PHASE?"capture":"";if(n[0]?.type+d,gv(),c)throw c}l?.apply(t,n)}const Dh=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function Jc(e){return Dh?.createHTML(e)??e}function qa(e){var t=kn("template");return t.innerHTML=Jc(e.replaceAll("<!>","<!---->")),t.content}const Mh=Fn?"template":"TEMPLATE",Oh=Fn?"script":"SCRIPT";function Ve(e,t){var n=ie;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function C(e,t){var n=(t&_a)!==0,r=(t&Bl)!==0,s,i=!e.startsWith("<!>");return()=>{if(X)return Ve(se,null),se;s===void 0&&(s=qa(i?e:"<!>"+e),n||(s=Te(s)));var a=r||Pa?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=Te(a),c=a.lastChild;Ve(l,c)}else Ve(a,a);return a}}function Zc(e,t,n="svg"){var r=!e.startsWith("<!>"),s=(t&_a)!==0,i=`<${n}>${r?e:"<!>"+e}</${n}>`,a;return()=>{if(X)return Ve(se,null),se;if(!a){var l=qa(i),c=Te(l);if(s)for(a=document.createDocumentFragment();Te(c);)a.appendChild(Te(c));else a=Te(c)}var u=a.cloneNode(!0);if(s){var d=Te(u),f=u.lastChild;Ve(d,f)}else Ve(u,u);return u}}function Qc(e,t){return Zc(e,t,"svg")}function Lh(e,t){return Zc(e,t,"math")}function eu(e,t){var n=vh();for(var r of e){if(typeof r=="string"){n.append(Ke(r));continue}if(r===void 0||r[0][0]==="/"){n.append(Dc(r?r[0].slice(3):""));continue}const[l,c,...u]=r,d=l==="svg"?Vr:l==="math"?ya:t;var s=kn(l,d,c?.is);for(var i in c)hh(s,i,c[i]);if(u.length>0){var a=s.nodeName===Mh?s.content:s;a.append(eu(u,s.nodeName==="foreignObject"?void 0:d))}n.append(s)}return n}function jh(e,t){var n=(t&_a)!==0,r=(t&Bl)!==0,s;return()=>{if(X)return Ve(se,null),se;if(s===void 0){const c=t&Mf?Vr:t&Of?ya:void 0;s=eu(e,c),n||(s=Te(s))}var i=r||Pa?document.importNode(s,!0):s.cloneNode(!0);if(n){var a=Te(i),l=i.lastChild;Ve(a,l)}else Ve(i,i);return i}}function Nh(e){return()=>zh(e())}function zh(e){if(X)return e;const t=e.nodeType===Jl,n=e.nodeName===Oh?[e]:e.querySelectorAll("script"),r=ie;for(const i of n){const a=kn("script");for(var s of i.attributes)a.setAttribute(s.name,s.value);a.textContent=i.textContent,(t?e.firstChild===i:e===i)&&(r.nodes.start=a),(t?e.lastChild===i:e===i)&&(r.nodes.end=a),i.replaceWith(a)}return e}function qt(e=""){if(!X){var t=Ke(e+"");return Ve(t,t),t}var n=se;return n.nodeType!==Fr?(n.before(n=Ke()),we(n)):Ys(n),Ve(n,n),n}function ct(){if(X)return Ve(se,null),se;var e=document.createDocumentFragment(),t=document.createComment(""),n=Ke();return e.append(t,n),Ve(t,n),e}function I(e,t){if(X){var n=ie;(!(n.f&ln)||n.nodes.end===null)&&(n.nodes.end=se),it();return}e!==null&&e.before(t)}function qh(){if(X&&se&&se.nodeType===cn&&se.textContent?.startsWith("$")){const e=se.textContent.substring(1);return it(),e}return(window.__svelte??={}).uid??=1,`c${window.__svelte.uid++}`}const Bh=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function Vh(e){return Bh.includes(e)||e.toLowerCase()==="!doctype"}function $h(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const Fh=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function Uh(e){return Fh.includes(e)}const Hh={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Kh(e){return e=e.toLowerCase(),Hh[e]??e}const Wh=["touchstart","touchmove"];function Yh(e){return Wh.includes(e)}const Gh=["textarea","script","style","title"];function Xh(e){return Gh.includes(e)}function tu(e){return e?.replace(/\//g,"/​")}let Is=!0;function Jn(e){Is=e}function L(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function qe(e,t){return ru(e,t)}function nu(e,t){Gi(),t.intro=t.intro??!1;const n=t.target,r=X,s=se;try{for(var i=Te(n);i&&(i.nodeType!==cn||i.data!==zs);)i=yt(i);if(!i)throw Dn;xe(!0),we(i);const a=ru(e,{...t,anchor:i});return xe(!1),a}catch(a){if(a instanceof Error&&a.message.split(`
5
+ `).some(l=>l.startsWith("https://svelte.dev/e/")))throw a;return a!==Dn&&console.warn("Failed to hydrate: ",a),t.recover===!1&&ov(),Gi(),Da(n),xe(!1),qe(e,t)}finally{xe(r),we(s)}}const is=new Map;function ru(e,{target:t,anchor:n,props:r={},events:s,context:i,intro:a=!0,transformError:l}){Gi();var c=void 0,u=gh(()=>{var d=n??t.appendChild(Ke());_c(d,{pending:()=>{}},m=>{ne({});var b=_e;if(i&&(b.c=i),s&&(r.$$events=s),X&&Ve(m,null),Is=a,c=e(m,r)||{},Is=!0,X&&(ie.nodes.end=se,se===null||se.nodeType!==cn||se.data!==Bs))throw Ur(),Dn;re()},l);var f=new Set,p=m=>{for(var b=0;b<m.length;b++){var g=m[b];if(!f.has(g)){f.add(g);var x=Yh(g);for(const w of[t,document]){var k=is.get(w);k===void 0&&(k=new Map,is.set(w,k));var S=k.get(g);S===void 0?(w.addEventListener(g,Zi,{passive:x}),k.set(g,1)):k.set(g,S+1)}}}};return p(Vs(Gc)),Ji.add(p),()=>{for(var m of f)for(const x of[t,document]){var b=is.get(x),g=b.get(m);--g==0?(x.removeEventListener(m,Zi),b.delete(m),b.size===0&&is.delete(x)):b.set(m,g)}Ji.delete(p),d!==n&&d.parentNode?.removeChild(d)}});return Qi.set(c,u),c}let Qi=new WeakMap;function He(e,t){const n=Qi.get(e);return n?(Qi.delete(e),n(t)):Promise.resolve()}function Jh(e){const t=e();t&&Vh(t)&&Ev()}function Zh(e){const t=e();t&&!(typeof t=="string")&&Yf()}function Qh(e,t){e!=null&&typeof e.subscribe!="function"&&Wf()}function su(e){return e.toString=()=>(Kf(),""),e}class hr{anchor;#e=new Map;#t=new Map;#n=new Map;#i=new Set;#s=!0;constructor(t,n=!0){this.anchor=t,this.#s=n}#a=t=>{if(this.#e.has(t)){var n=this.#e.get(t),r=this.#t.get(n);if(r)La(r),this.#i.delete(n);else{var s=this.#n.get(n);s&&(this.#t.set(n,s.effect),this.#n.delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[i,a]of this.#e){if(this.#e.delete(i),i===t)break;const l=this.#n.get(a);l&&(Be(l.effect),this.#n.delete(a))}for(const[i,a]of this.#t){if(i===n||this.#i.has(i))continue;const l=()=>{if(Array.from(this.#e.values()).includes(i)){var u=document.createDocumentFragment();ja(a,u),u.append(Ke()),this.#n.set(i,{effect:a,fragment:u})}else Be(a);this.#i.delete(i),this.#t.delete(i)};this.#s||!r?(this.#i.add(i),Rn(a,l,!1)):l()}}};#r=t=>{this.#e.delete(t);const n=Array.from(this.#e.values());for(const[r,s]of this.#n)n.includes(r)||(Be(s.effect),this.#n.delete(r))};ensure(t,n){var r=oe,s=Pc();if(n&&!this.#t.has(t)&&!this.#n.has(t))if(s){var i=document.createDocumentFragment(),a=Ke();i.append(a),this.#n.set(t,{effect:tt(()=>n(a)),fragment:i})}else this.#t.set(t,tt(()=>n(this.anchor)));if(this.#e.set(r,t),s){for(const[l,c]of this.#t)l===t?r.unskip_effect(c):r.skip_effect(c);for(const[l,c]of this.#n)l===t?r.unskip_effect(c.effect):r.skip_effect(c.effect);r.oncommit(this.#a),r.ondiscard(this.#r)}else X&&(this.anchor=se),this.#a(r)}}function Xs(e,t,...n){var r=new hr(e);en(()=>{const s=t()??null;r.ensure(s,s&&(i=>s(i,...n)))},$t)}function ep(e,t){const n=(r,...s)=>{var i=Sa;No(e);try{return t(r,...s)}finally{No(i)}};return su(n),n}function tp(e){return(t,...n)=>{var r=e(...n),s;if(X)s=se,it();else{var i=r.render().trim(),a=qa(i);s=Te(a),t.before(s)}const l=r.setup?.(s);Ve(s,s),typeof l=="function"&&kt(l)}}function np(){return de===null&&av(),(de.ac??=new AbortController).signal}function Ba(e){_e===null&&dr(),Ie(()=>{const t=Ee(e);if(typeof t=="function")return t})}function Va(e){_e===null&&dr(),Ba(()=>()=>Ee(e))}function rp(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function sp(){const e=_e;return e===null&&dr(),(t,n,r)=>{const s=e.s.$$events?.[t];if(s){const i=ur(s)?s.slice():[s],a=rp(t,n,r);for(const l of i)l.call(e.x,a);return!a.defaultPrevented}return!0}}function ip(e){_e===null&&dr(),_e.l===null&&Ql(),iu(_e).b.push(e)}function ap(e){_e===null&&dr(),_e.l===null&&Ql(),iu(_e).a.push(e)}function iu(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const au=Object.freeze(Object.defineProperty({__proto__:null,afterUpdate:ap,beforeUpdate:ip,createContext:Mv,createEventDispatcher:sp,createRawSnippet:tp,flushSync:mn,fork:Jv,getAbortSignal:np,getAllContexts:Ov,getContext:xa,hasContext:ac,hydratable:Th,hydrate:nu,mount:qe,onDestroy:Va,onMount:Ba,setContext:Ea,settled:Ah,tick:Na,unmount:He,untrack:Ee},Symbol.toStringTag,{value:"Module"}));function op(){return Symbol($l)}function ou(e,t,n,r){return e!==t&&typeof t=="object"&&Je in t&&vv(n,tu(r)),e}function lp(e,t,n,r,s){return ou(n==="="?e[t]=r:n==="&&="?e[t]&&=r():n==="||="?e[t]||=r():n==="??="?e[t]??=r():null,Ee(()=>e[t]),t,s)}async function cp(e,t,n,r,s){return ou(n==="="?e[t]=await r:n==="&&="?e[t]&&=await r():n==="||="?e[t]||=await r():n==="??="?e[t]??=await r():null,Ee(()=>e[t]),t,s)}var Uo=new Map;function up(e){var t=Uo.get(e);if(t){for(const n of t)n.remove();Uo.delete(e)}}function dp(e,t,n){return(...r)=>{const s=e(...r);var i=X?s:s.nodeType===Jl?s.firstChild:s;return lu(i,t,n),s}}function fp(e,t,n){e.__svelte_meta={parent:cs,loc:{file:t,line:n[0],column:n[1]}},n[2]&&lu(e.firstChild,t,n[2])}function lu(e,t,n){for(var r=0,s=0;e&&r<n.length;){if(X&&e.nodeType===cn){var i=e;i.data[0]===zs?s+=1:i.data[0]===Bs&&(s-=1)}s===0&&e.nodeType===Xl&&fp(e,t,n[r++]),e=e.nextSibling}}function vp(e){const t=_t(e);function n(r,s){let i={},a={},l,c=!1,u=r;return en(()=>{if(i!==(i=o(t))){if(l){for(var d in a)delete a[d];Be(l)}l=tt(()=>{u=u[Ff]??u,c&&Jn(!1);var f=new.target?new i(u,s):i(u,s);f&&Object.defineProperties(a,Object.getOwnPropertyDescriptors(f)),c&&Jn(!0)}),ie.nodes=l.nodes}},$t),c=!0,X&&(u=se),a}return n[mt]=e[mt],n[Hn]={fn:e,current:t,update:r=>{y(n[Hn].current,r[Hn].fn),r[Hn].current=n[Hn].current}},n}function hp(e){const t=_e?.function,n=_e?.p?.function;return{mutation:(r,s,i,a,l)=>{const c=s[0];if(Ho(e,c)||!n)return i;let u=e;for(let f=0;f<s.length-1;f++)if(u=u[s[f]],!u?.[Je])return i;const d=tu(`${t[mt]}:${a}:${l}`);return yv(c,d,r,n[mt]),i},binding:(r,s,i)=>{!Ho(e,r)&&n&&i()?.[Je]&&_v(t[mt],r,s[mt],n[mt])}}}function Ho(e,t){const n=Je in e||Fs in e;return!!Nt(e,t)?.set||n&&t in e||!(t in e)}function pp(e){e&&Jf(e[mt]??"a component",e.name)}function mp(){const e=_e?.function;function t(n){Xf(n,e[mt])}return{$destroy:()=>t("$destroy()"),$on:()=>t("$on(...)"),$set:()=>t("$set(...)")}}function gp(e,t,n=!1){Ma();let r=!0,s=Ce;jc(()=>{try{var i=e()}catch(l){s=l;return}var a=Nn(i,!0,!0);Ee(()=>{if(n){if(t(...a),!r){const l=Rv("$inspect(...)");l&&(console.groupCollapsed("stack trace"),console.log(l),console.groupEnd())}}else t(r?"init":"update",...a)}),r=!1}),Oe(()=>{try{e()}catch{}s!==Ce&&(console.error(s),s=Ce)})}function bp(e,t=[],n=[],r){var s=X,i=null;if(s&&(it(),i=jn(!1)),n.length===0&&t.every(c=>c.settled)){r(e),s&&we(i);return}const a=Kr();if(s){var l=se;we(i)}Hr(t,[],n,c=>{s&&(xe(!0),we(l));try{for(const u of c)o(u);r(e,...c)}finally{s&&xe(!1),a()}})}function _p(e,...t){(typeof e!="object"||!(e instanceof Node))&&jo();for(let n of t)typeof n!="function"&&jo()}const Ko=0,Wo=1,yp=2;function wp(e,t,n,r,s){X&&it();var i=Ce,a=_t(i),l=_t(i),c=new hr(e);en(()=>{var u=oe;u.deactivate();var d=t();u.activate();var f=!1;let p=X&&Lo(d)===(e.data===qs);if(p&&(we(jn()),xe(!1)),Lo(d)){var m=Ks(),b=!1;const g=x=>{if(!f){b=!0,m(!1),Dt.ensure(),X&&xe(!1);try{x()}finally{zn(!1),er||mn()}}};d.then(x=>{g(()=>{Gt(a,x),c.ensure(Wo,r&&(k=>r(k,a)))})},x=>{g(()=>{if(Gt(l,x),c.ensure(yp,s&&(k=>s(k,l))),!s)throw l.v})}),X?c.ensure(Ko,n):st(()=>{b||g(()=>{c.ensure(Ko,n)})})}else Gt(a,d),c.ensure(Wo,r&&(g=>r(g,a)));return p&&xe(!0),()=>{f=!0}})}function $(e,t,n=!1){var r;X&&(r=se,it());var s=new hr(e),i=n?$t:0;function a(l,c){if(X){var u=ka(r);if(l!==parseInt(u.substring(1))){var d=jn();we(d),s.anchor=d,xe(!1),s.ensure(l,c),xe(!0);return}}s.ensure(l,c)}en(()=>{var l=!1;t((c,u=0)=>{l=!0,a(u,c)}),l||a(-1,null)},i)}const kp=Symbol("NaN");function Sp(e,t,n){X&&it();var r=new hr(e);en(()=>{var s=t();s!==s&&(s=kp),r.ensure(s,n)})}function xp(e,t){X&&we(Te(e)),Oe(()=>{var n=t();for(var r in n){var s=n[r];s?e.style.setProperty(r,s):e.style.removeProperty(r)}})}function Bn(e,t){return t}function Ep(e,t,n){for(var r=[],s=t.length,i,a=t.length,l=0;l<s;l++){let f=t[l];Rn(f,()=>{if(i){if(i.pending.delete(f),i.done.add(f),i.pending.size===0){var p=e.outrogroups;ea(e,Vs(i.done)),p.delete(i),p.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var c=r.length===0&&n!==null;if(c){var u=n,d=u.parentNode;Da(d),d.append(u),e.items.clear()}ea(e,t,!c)}else i={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(i)}function ea(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const a of e.pending.values())for(const l of a)r.add(e.items.get(l).e)}for(var s=0;s<t.length;s++){var i=t[s];if(r?.has(i)){i.f|=Wt;const a=document.createDocumentFragment();ja(i,a)}else Be(t[s],n)}}var Yo;function ce(e,t,n,r,s,i=null){var a=e,l=new Map,c=(t&zl)!==0;if(c){var u=e;a=X?we(Te(u)):u.appendChild(Ke())}X&&it();var d=null,f=Ta(()=>{var w=n();return ur(w)?w:w==null?[]:Vs(w)}),p,m=new Map,b=!0;function g(w){S.effect.f&dt||(S.pending.delete(w),S.fallback=d,Ip(S,p,a,t,r),d!==null&&(p.length===0?d.f&Wt?(d.f^=Wt,Er(d,null,a)):La(d):Rn(d,()=>{d=null})))}function x(w){S.pending.delete(w)}var k=en(()=>{p=o(f);var w=p.length;let R=!1;if(X){var M=ka(a)===qs;M!==(w===0)&&(a=jn(),we(a),xe(!1),R=!0)}for(var A=new Set,_=oe,O=Pc(),T=0;T<w;T+=1){X&&se.nodeType===cn&&se.data===Bs&&(a=se,R=!0,xe(!1));var D=p[T],P=r(D,T),N=b?null:l.get(P);N?(N.v&&Gt(N.v,D),N.i&&Gt(N.i,T),O&&_.unskip_effect(N.e)):(N=Ap(l,b?a:Yo??=Ke(),D,P,T,s,t,n),b||(N.e.f|=Wt),l.set(P,N)),A.add(P)}if(w===0&&i&&!d&&(b?d=tt(()=>i(a)):(d=tt(()=>i(Yo??=Ke())),d.f|=Wt)),w>A.size&&Zf(),X&&w>0&&we(jn()),!b)if(m.set(_,A),O){for(const[V,j]of l)A.has(V)||_.skip_effect(j.e);_.oncommit(g),_.ondiscard(x)}else g(_);R&&xe(!0),o(f)}),S={effect:k,items:l,pending:m,outrogroups:null,fallback:d};b=!1,X&&(a=se)}function wr(e){for(;e!==null&&!(e.f&Bt);)e=e.next;return e}function Ip(e,t,n,r,s){var i=(r&Ef)!==0,a=t.length,l=e.items,c=wr(e.effect.first),u,d=null,f,p=[],m=[],b,g,x,k;if(i)for(k=0;k<a;k+=1)b=t[k],g=s(b,k),x=l.get(g).e,x.f&Wt||(x.nodes?.a?.measure(),(f??=new Set).add(x));for(k=0;k<a;k+=1){if(b=t[k],g=s(b,k),x=l.get(g).e,e.outrogroups!==null)for(const D of e.outrogroups)D.pending.delete(x),D.done.delete(x);if(x.f&rt&&(La(x),i&&(x.nodes?.a?.unfix(),(f??=new Set).delete(x))),x.f&Wt)if(x.f^=Wt,x===c)Er(x,null,n);else{var S=d?d.next:c;x===e.effect.last&&(e.effect.last=x.prev),x.prev&&(x.prev.next=x.next),x.next&&(x.next.prev=x.prev),vn(e,d,x),vn(e,x,S),Er(x,S,n),d=x,p=[],m=[],c=wr(d.next);continue}if(x!==c){if(u!==void 0&&u.has(x)){if(p.length<m.length){var w=m[0],R;d=w.prev;var M=p[0],A=p[p.length-1];for(R=0;R<p.length;R+=1)Er(p[R],w,n);for(R=0;R<m.length;R+=1)u.delete(m[R]);vn(e,M.prev,A.next),vn(e,d,M),vn(e,A,w),c=w,d=A,k-=1,p=[],m=[]}else u.delete(x),Er(x,c,n),vn(e,x.prev,x.next),vn(e,x,d===null?e.effect.first:d.next),vn(e,d,x),d=x;continue}for(p=[],m=[];c!==null&&c!==x;)(u??=new Set).add(c),m.push(c),c=wr(c.next);if(c===null)continue}x.f&Wt||p.push(x),d=x,c=wr(x.next)}if(e.outrogroups!==null){for(const D of e.outrogroups)D.pending.size===0&&(ea(e,Vs(D.done)),e.outrogroups?.delete(D));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||u!==void 0){var _=[];if(u!==void 0)for(x of u)x.f&rt||_.push(x);for(;c!==null;)!(c.f&rt)&&c!==e.fallback&&_.push(c),c=wr(c.next);var O=_.length;if(O>0){var T=r&zl&&a===0?n:null;if(i){for(k=0;k<O;k+=1)_[k].nodes?.a?.measure();for(k=0;k<O;k+=1)_[k].nodes?.a?.fix()}Ep(e,_,T)}}i&&st(()=>{if(f!==void 0)for(x of f)x.nodes?.a?.apply()})}function Ap(e,t,n,r,s,i,a,l){var c=a&Sf?a&If?_t(n):Ws(n,!1,!1):null,u=a&xf?_t(s):null;return{v:c,i:u,e:tt(()=>(i(t,c??n,u??s,l),()=>{e.delete(r)}))}}function Er(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,i=t&&!(t.f&Wt)?t.nodes.start:n;r!==null;){var a=yt(r);if(i.before(r),r===s)return;r=a}}function vn(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Cp(e,t,n=!1,r=!1,s=!1,i=!1){var a=e,l="";if(n){var c=e;X&&(a=we(Te(c)))}z(()=>{var u=ie;if(l===(l=t()??"")){X&&it();return}if(n&&!X){u.nodes=null,c.innerHTML=l,l!==""&&Ve(Te(c),c.lastChild);return}if(u.nodes!==null&&(qc(u.nodes.start,u.nodes.end),u.nodes=null),l!==""){if(X){se.data;for(var d=it(),f=d;d!==null&&(d.nodeType!==cn||d.data!=="");)f=d,d=yt(d);if(d===null)throw Ur(),Dn;Ve(se,f),a=we(d);return}var p=r?Vr:s?ya:void 0,m=kn(r?"svg":s?"math":"template",p);m.innerHTML=l;var b=r||s?m:m.content;if(Ve(Te(b),b.lastChild),r||s)for(;Te(b);)a.before(Te(b));else a.before(b)}})}function Tp(e,t,n,r,s){X&&it();var i=t.$$slots?.[n],a=!1;i===!0&&(i=t[n==="default"?"children":n],a=!0),i===void 0?s!==null&&s(e):i(e,a?()=>r:r)}function Rp(e){const t={};e.children&&(t.default=!0);for(const n in e.$$slots)t[n]=!0;return t}function Xr(e,t,n){var r;X&&(r=se,it());var s=new hr(e);en(()=>{var i=t()??null;if(X){var a=ka(r),l=a===zs,c=i!==null;if(l!==c){var u=jn();we(u),s.anchor=u,xe(!1),s.ensure(i,i&&(d=>n(d,i))),xe(!0);return}}s.ensure(i,i&&(d=>n(d,i)))},$t)}const Pp=()=>performance.now(),Kt={tick:e=>requestAnimationFrame(e),now:()=>Pp(),tasks:new Set};function cu(){const e=Kt.now();Kt.tasks.forEach(t=>{t.c(e)||(Kt.tasks.delete(t),t.f())}),Kt.tasks.size!==0&&Kt.tick(cu)}function Dp(e){let t;return Kt.tasks.size===0&&Kt.tick(cu),{promise:new Promise(n=>{Kt.tasks.add(t={c:e,f:n})}),abort(){Kt.tasks.delete(t)}}}function As(e,t){Sn(()=>{e.dispatchEvent(new CustomEvent(t))})}function Mp(e){if(e==="float")return"cssFloat";if(e==="offset")return"cssOffset";if(e.startsWith("--"))return e;const t=e.split("-");return t.length===1?t[0]:t[0]+t.slice(1).map(n=>n[0].toUpperCase()+n.slice(1)).join("")}function Go(e){const t={},n=e.split(";");for(const r of n){const[s,i]=r.split(":");if(!s||i===void 0)break;const a=Mp(s.trim());t[a]=i.trim()}return t}const Op=e=>e;let uu=null;function Xo(e){uu=e}function Lp(e,t,n){var r=uu??ie,s=r.nodes,i,a,l,c=null;s.a??={element:e,measure(){i=this.element.getBoundingClientRect()},apply(){if(l?.abort(),a=this.element.getBoundingClientRect(),i.left!==a.left||i.right!==a.right||i.top!==a.top||i.bottom!==a.bottom){const u=t()(this.element,{from:i,to:a},n?.());l=Cs(this.element,u,void 0,1,()=>{l?.abort(),l=void 0})}},fix(){if(!e.getAnimations().length){var{position:u,width:d,height:f}=getComputedStyle(e);if(u!=="absolute"&&u!=="fixed"){var p=e.style;c={position:p.position,width:p.width,height:p.height,transform:p.transform},p.position="absolute",p.width=d,p.height=f;var m=e.getBoundingClientRect();if(i.left!==m.left||i.top!==m.top){var b=`translate(${i.left-m.left}px, ${i.top-m.top}px)`;p.transform=p.transform?`${p.transform} ${b}`:b}}}},unfix(){if(c){var u=e.style;u.position=c.position,u.width=c.width,u.height=c.height,u.transform=c.transform}}},s.a.element=e}function jp(e,t,n,r){var s=(e&Rf)!==0,i=(e&Pf)!==0,a=s&&i,l=(e&Df)!==0,c=a?"both":s?"in":"out",u,d=t.inert,f=t.style.overflow,p,m;function b(){return Sn(()=>u??=n()(t,r?.()??{},{direction:c}))}var g={is_global:l,in(){if(t.inert=d,!s){m?.abort(),m?.reset?.();return}i||p?.abort(),p=Cs(t,b(),m,1,()=>{As(t,"introend"),p?.abort(),p=u=void 0,t.style.overflow=f})},out(w){if(!i){w?.(),u=void 0;return}t.inert=!0,m=Cs(t,b(),p,0,()=>{As(t,"outroend"),w?.()})},stop:()=>{p?.abort(),m?.abort()}},x=ie;if((x.nodes.t??=[]).push(g),s&&Is){var k=l;if(!k){for(var S=x.parent;S&&S.f&$t;)for(;(S=S.parent)&&!(S.f&zt););k=!S||(S.f&ln)!==0}k&&wt(()=>{Ee(()=>g.in())})}}function Cs(e,t,n,r,s){var i=r===1;if(Kn(t)){var a,l=!1;return st(()=>{if(!l){var x=t({direction:i?"in":"out"});a=Cs(e,x,n,r,s)}}),{abort:()=>{l=!0,a?.abort()},deactivate:()=>a.deactivate(),reset:()=>a.reset(),t:()=>a.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return As(e,i?"introstart":"outrostart"),s(),{abort:gt,deactivate:gt,reset:gt,t:()=>r};const{delay:c=0,css:u,tick:d,easing:f=Op}=t;var p=[];if(i&&n===void 0&&(d&&d(0,1),u)){var m=Go(u(0,1));p.push(m,m)}var b=()=>1-r,g=e.animate(p,{duration:c,fill:"forwards"});return g.onfinish=()=>{g.cancel(),As(e,i?"introstart":"outrostart");var x=n?.t()??1-r;n?.abort();var k=r-x,S=t.duration*Math.abs(k),w=[];if(S>0){var R=!1;if(u)for(var M=Math.ceil(S/16.666666666666668),A=0;A<=M;A+=1){var _=x+k*f(A/M),O=Go(u(_,1-_));w.push(O),R||=O.overflow==="hidden"}R&&(e.style.overflow="hidden"),b=()=>{var T=g.currentTime;return x+k*f(T/S)},d&&Dp(()=>{if(g.playState!=="running")return!1;var T=b();return d(T,1-T),!0})}g=e.animate(w,{duration:S,fill:"forwards"}),g.onfinish=()=>{b=()=>r,d?.(r,1-r),s()}},{abort:()=>{g&&(g.cancel(),g.effect=null,g.onfinish=gt)},deactivate:()=>{s=gt},reset:()=>{r===0&&d?.(1,0)},t:()=>b()}}function Np(e,t,n,r,s,i){let a=X;X&&it();var l=null;X&&se.nodeType===Xl&&(l=se,it());var c=X?se:e,u=ie,d=new hr(c,!1);en(()=>{const f=t()||null;var p=s?s():n||f==="svg"?Vr:void 0;if(f===null){d.ensure(null,null),Jn(!0);return}return d.ensure(f,m=>{if(f){if(l=X?l:kn(f,p),Ve(l,l),r){X&&Xh(f)&&l.append(document.createComment(""));var b=X?Te(l):l.appendChild(Ke());X&&(b===null?xe(!1):we(b)),Xo(u),r(l,b),Xo(null)}ie.nodes.end=l,m.before(l)}X&&we(m)}),Jn(!0),()=>{f&&Jn(!1)}},$t),kt(()=>{Jn(!0)}),a&&(xe(!0),we(c))}function zp(e,t){let n=null,r=X;var s;if(X){n=se;for(var i=Te(document.head);i!==null&&(i.nodeType!==cn||i.data!==e);)i=yt(i);if(i===null)xe(!1);else{var a=yt(i);i.remove(),we(a)}}X||(s=document.head.appendChild(Ke()));try{en(()=>t(s),Yl|wn)}finally{r&&(xe(!0),we(n))}}function qp(e,t){wt(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector("#"+t.hash)){const s=kn("style");s.id=t.hash,s.textContent=t.code,r.appendChild(s)}})}function du(e,t,n){wt(()=>{var r=Ee(()=>t(e,n?.())||{});if(n&&r?.update){var s=!1,i={};Oe(()=>{var a=n();za(a),s&&nc(i,a)&&(i=a,r.update(a))}),s=!0}if(r?.destroy)return()=>r.destroy()})}function $a(e,t){var n=void 0,r;Nc(()=>{n!==(n=t())&&(r&&(Be(r),r=null),n&&(r=tt(()=>{wt(()=>n(e))})))})}const Bp=/[&"<]/g;function Vp(e,t){const n=String(e??""),r=Bp;r.lastIndex=0;let s="",i=0;for(;r.test(n);){const a=r.lastIndex-1,l=n[a];s+=n.substring(i,a)+(l==="&"?"&amp;":l==='"'?"&quot;":"&lt;"),i=a+1}return s+n.substring(i)}function fu(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=fu(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function $p(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=fu(e))&&(r&&(r+=" "),r+=t);return r}const Jo={translate:new Map([[!0,"yes"],[!1,"no"]])};function Fp(e,t,n=!1){if(e==="hidden"&&t!=="until-found"&&(n=!0),t==null||!t&&n)return"";const r=Nf.call(Jo,e)&&Jo[e].get(t)||t,s=n?'=""':`="${Vp(r)}"`;return` ${e}${s}`}function vu(e){return typeof e=="object"?$p(e):e??""}const Zo=[...`
6
+ \r\f \v\uFEFF`];function Up(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var i=s.length,a=0;(a=r.indexOf(s,a))>=0;){var l=a+i;(a===0||Zo.includes(r[a-1]))&&(l===r.length||Zo.includes(r[l]))?r=(a===0?"":r.substring(0,a))+r.substring(l+1):a=l}}return r===""?null:r}function Qo(e,t=!1){var n=t?" !important;":";",r="";for(var s of Object.keys(e)){var i=e[s];i!=null&&i!==""&&(r+=" "+s+": "+i+n)}return r}function Ai(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function Hp(e,t){if(t){var n="",r,s;if(Array.isArray(t)?(r=t[0],s=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var i=!1,a=0,l=!1,c=[];r&&c.push(...Object.keys(r).map(Ai)),s&&c.push(...Object.keys(s).map(Ai));var u=0,d=-1;const g=e.length;for(var f=0;f<g;f++){var p=e[f];if(l?p==="/"&&e[f-1]==="*"&&(l=!1):i?i===p&&(i=!1):p==="/"&&e[f+1]==="*"?l=!0:p==='"'||p==="'"?i=p:p==="("?a++:p===")"&&a--,!l&&i===!1&&a===0){if(p===":"&&d===-1)d=f;else if(p===";"||f===g-1){if(d!==-1){var m=Ai(e.substring(u,d).trim());if(!c.includes(m)){p!==";"&&f++;var b=e.substring(u,f).trim();n+=" "+b+";"}}u=f+1,d=-1}}}}return r&&(n+=Qo(r)),s&&(n+=Qo(s,!0)),n=n.trim(),n===""?null:n}return e==null?null:String(e)}function ye(e,t,n,r,s,i){var a=e.__className;if(X||a!==n||a===void 0){var l=Up(n,r,i);(!X||l!==e.getAttribute("class"))&&(l==null?e.removeAttribute("class"):t?e.className=l:e.setAttribute("class",l)),e.__className=n}else if(i&&s!==i)for(var c in i){var u=!!i[c];(s==null||u!==!!s[c])&&e.classList.toggle(c,u)}return i}function Ci(e,t={},n,r){for(var s in n){var i=n[s];t[s]!==i&&(n[s]==null?e.style.removeProperty(s):e.style.setProperty(s,i,r))}}function tn(e,t,n,r){var s=e.__style;if(X||s!==t){var i=Hp(t,r);(!X||i!==e.getAttribute("style"))&&(i==null?e.removeAttribute("style"):e.style.cssText=i),e.__style=t}else r&&(Array.isArray(r)?(Ci(e,n?.[0],r[0]),Ci(e,n?.[1],r[1],"important")):Ci(e,n,r));return r}function Or(e,t,n=!1){if(e.multiple){if(t==null)return;if(!ur(t))return wv();for(var r of e.options)r.selected=t.includes(Cr(r));return}for(r of e.options){var s=Cr(r);if(Ac(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function Fa(e){var t=new MutationObserver(()=>{Or(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),kt(()=>{t.disconnect()})}function Lr(e,t,n=t){var r=new WeakSet,s=!0;Yr(e,"change",i=>{var a=i?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(a),Cr);else{var c=e.querySelector(a)??e.querySelector("option:not([disabled])");l=c&&Cr(c)}n(l),e.__value=l,oe!==null&&r.add(oe)}),wt(()=>{var i=t();if(e===document.activeElement){var a=oe;if(r.has(a))return}if(Or(e,i,s),s&&i===void 0){var l=e.querySelector(":checked");l!==null&&(i=Cr(l),n(i))}e.__value=i,s=!1}),Fa(e)}function Cr(e){return"__value"in e?e.__value:e.value}const Yn=Symbol("class"),Gn=Symbol("style"),hu=Symbol("is custom element"),pu=Symbol("is html"),Kp=Fn?"link":"LINK",Wp=Fn?"input":"INPUT",Yp=Fn?"option":"OPTION",Gp=Fn?"select":"SELECT",Xp=Fn?"progress":"PROGRESS";function Se(e){if(X){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;be(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var s=e.checked;be(e,"checked",null),e.checked=s}}};e.__on_r=n,st(n),Mc()}}function mu(e,t){var n=Js(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Xp)||(e.value=t??"")}function gu(e,t){var n=Js(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function bu(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function Jp(e,t){const n=e.checked;e.defaultChecked=t,e.checked=n}function Zp(e,t){const n=e.value;e.defaultValue=t,e.value=n}function be(e,t,n,r){var s=Js(e);X&&(s[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName===Kp)||s[t]!==(s[t]=n)&&(t==="loading"&&(e[Vf]=n),n==null?e.removeAttribute(t):typeof n!="string"&&Ua(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Qp(e,t,n){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n)}function em(e,t,n){var r=de,s=ie;let i=X;X&&xe(!1),ft(null),Ze(null);try{t!=="style"&&(ta.has(e.getAttribute("is")||e.nodeName)||!customElements||customElements.get(e.getAttribute("is")||e.nodeName.toLowerCase())?Ua(e).includes(t):n&&typeof n=="object")?e[t]=n:be(e,t,n==null?n:String(n))}finally{ft(r),Ze(s),i&&xe(!0)}}function tm(e,t,n,r,s=!1,i=!1){if(X&&s&&e.nodeName===Wp){var a=e,l=a.type==="checkbox"?"defaultChecked":"defaultValue";l in n||Se(a)}var c=Js(e),u=c[hu],d=!c[pu];let f=X&&u;f&&xe(!1);var p=t||{},m=e.nodeName===Yp;for(var b in t)b in n||(n[b]=null);n.class?n.class=vu(n.class):(r||n[Yn])&&(n.class=null),n[Gn]&&(n.style??=null);var g=Ua(e);for(const A in n){let _=n[A];if(m&&A==="value"&&_==null){e.value=e.__value="",p[A]=_;continue}if(A==="class"){var x=e.namespaceURI==="http://www.w3.org/1999/xhtml";ye(e,x,_,r,t?.[Yn],n[Yn]),p[A]=_,p[Yn]=n[Yn];continue}if(A==="style"){tn(e,_,t?.[Gn],n[Gn]),p[A]=_,p[Gn]=n[Gn];continue}var k=p[A];if(!(_===k&&!(_===void 0&&e.hasAttribute(A)))){p[A]=_;var S=A[0]+A[1];if(S!=="$$")if(S==="on"){const O={},T="$$"+A;let D=A.slice(2);var w=Uh(D);if($h(D)&&(D=D.slice(0,-7),O.capture=!0),!w&&k){if(_!=null)continue;e.removeEventListener(D,p[T],O),p[T]=null}if(w)F(D,e,_),ue([D]);else if(_!=null){let P=function(N){p[A].call(this,N)};p[T]=Xc(D,e,P,O)}}else if(A==="style")be(e,A,_);else if(A==="autofocus")fr(e,!!_);else if(!u&&(A==="__value"||A==="value"&&_!=null))e.value=e.__value=_;else if(A==="selected"&&m)bu(e,_);else{var R=A;d||(R=Kh(R));var M=R==="defaultValue"||R==="defaultChecked";if(_==null&&!u&&!M)if(c[A]=null,R==="value"||R==="checked"){let O=e;const T=t===void 0;if(R==="value"){let D=O.defaultValue;O.removeAttribute(R),O.defaultValue=D,O.value=O.__value=T?D:null}else{let D=O.defaultChecked;O.removeAttribute(R),O.defaultChecked=D,O.checked=T?D:!1}}else e.removeAttribute(A);else M||g.includes(R)&&(u||typeof _!="string")?(e[R]=_,R in c&&(c[R]=Ce)):typeof _!="function"&&be(e,R,_)}}}return f&&xe(!0),p}function nm(e,t,n=[],r=[],s=[],i,a=!1,l=!1){Hr(s,n,r,c=>{var u=void 0,d={},f=e.nodeName===Gp,p=!1;if(Nc(()=>{var b=t(...c.map(o)),g=tm(e,u,b,i,a,l);p&&f&&"value"in b&&Or(e,b.value);for(let k of Object.getOwnPropertySymbols(d))b[k]||Be(d[k]);for(let k of Object.getOwnPropertySymbols(b)){var x=b[k];k.description===$l&&(!u||x!==u[k])&&(d[k]&&Be(d[k]),d[k]=tt(()=>$a(e,()=>x))),g[k]=x}u=g}),f){var m=e;wt(()=>{Or(m,u.value,!0),Fa(m)})}p=!0})}function Js(e){return e.__attributes??={[hu]:e.nodeName.includes("-"),[pu]:e.namespaceURI===Vl}}var ta=new Map;function Ua(e){var t=e.getAttribute("is")||e.nodeName,n=ta.get(t);if(n)return n;ta.set(t,n=[]);for(var r,s=e,i=Element.prototype;i!==s;){r=Ul(s);for(var a in r)r[a].set&&n.push(a);s=$s(s)}return n}let Ti=null;function _u(){if(Ti===null){var e=kn("select");e.innerHTML=Jc("<option><span>t</span></option>"),Ti=e.firstChild?.firstChild?.nodeType===1}return Ti}function rm(e,t){_u()&&$a(e,()=>()=>{const n=e.closest("select");if(!n)return;const r=new MutationObserver(s=>{var i=!1;for(const a of s){if(a.target===e)return;i||=!!a.target.parentElement?.closest("option")?.selected}i&&(e.replaceWith(e=e.cloneNode(!0)),t(e))});return r.observe(n,{childList:!0,characterData:!0,subtree:!0}),()=>{r.disconnect()}})}function sm(e,t){var n=X;_u()||(xe(!1),e.textContent="",e.append(Dc("")));try{t()}finally{n&&(X?v(e):(xe(!0),we(e)))}}function im(e){vt(document,["focusin","focusout"],t=>{t&&t.type==="focusout"&&t.relatedTarget||e(document.activeElement)})}function Me(e,t,n=t){var r=new WeakSet;Yr(e,"input",async s=>{var i=s?e.defaultValue:e.value;if(i=Pi(e)?Di(i):i,n(i),oe!==null&&r.add(oe),await Na(),i!==(i=t())){var a=e.selectionStart,l=e.selectionEnd,c=e.value.length;if(e.value=i??"",l!==null){var u=e.value.length;a===l&&l===c&&u>c?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=a,e.selectionEnd=Math.min(l,u))}}}),(X&&e.defaultValue!==e.value||Ee(t)==null&&e.value)&&(n(Pi(e)?Di(e.value):e.value),oe!==null&&r.add(oe)),Oe(()=>{var s=t();if(e===document.activeElement){var i=oe;if(r.has(i))return}Pi(e)&&s===Di(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}const Ri=new Set;function am(e,t,n,r,s=r){var i=n.getAttribute("type")==="checkbox",a=e;let l=!1;if(t!==null)for(var c of t)a=a[c]??=[];a.push(n),Yr(n,"change",()=>{var u=n.__value;i&&(u=el(a,u,n.checked)),s(u)},()=>s(i?[]:null)),Oe(()=>{var u=r();if(X&&n.defaultChecked!==n.checked){l=!0;return}i?(u=u||[],n.checked=u.includes(n.__value)):n.checked=Ac(n.__value,u)}),kt(()=>{var u=a.indexOf(n);u!==-1&&a.splice(u,1)}),Ri.has(a)||(Ri.add(a),st(()=>{a.sort((u,d)=>u.compareDocumentPosition(d)===4?-1:1),Ri.delete(a)})),st(()=>{if(l){var u;if(i)u=el(a,u,n.checked);else{var d=a.find(f=>f.checked);u=d?.__value}s(u)}})}function vs(e,t,n=t){Yr(e,"change",r=>{var s=r?e.defaultChecked:e.checked;n(s)}),(X&&e.defaultChecked!==e.checked||Ee(t)==null)&&n(e.checked),Oe(()=>{var r=t();e.checked=!!r})}function el(e,t,n){for(var r=new Set,s=0;s<e.length;s+=1)e[s].checked&&r.add(e[s].__value);return n||r.delete(t),Array.from(r)}function Pi(e){var t=e.type;return t==="number"||t==="range"}function Di(e){return e===""?null:+e}function om(e,t,n=t){Yr(e,"change",()=>{n(e.files)}),X&&e.files&&n(e.files),Oe(()=>{e.files=t()})}function Ha(e){for(var t=[],n=0;n<e.length;n+=1)t.push({start:e.start(n),end:e.end(n)});return t}function lm(e,t,n=t){var r,s,i=()=>{cancelAnimationFrame(r),e.paused||(r=requestAnimationFrame(i));var a=e.currentTime;s!==a&&n(s=a)};r=requestAnimationFrame(i),e.addEventListener("timeupdate",i),Oe(()=>{var a=Number(t());s!==a&&!isNaN(a)&&(e.currentTime=s=a)}),kt(()=>{cancelAnimationFrame(r),e.removeEventListener("timeupdate",i)})}function cm(e,t){var n;vt(e,["loadedmetadata","progress","timeupdate","seeking"],()=>{var r=e.buffered;(!n||n.length!==r.length||n.some((s,i)=>r.start(i)!==s.start||r.end(i)!==s.end))&&(n=Ha(r),t(n))})}function um(e,t){vt(e,["loadedmetadata"],()=>t(Ha(e.seekable)))}function dm(e,t){vt(e,["timeupdate"],()=>t(Ha(e.played)))}function fm(e,t){vt(e,["seeking","seeked"],()=>t(e.seeking))}function vm(e,t){vt(e,["timeupdate","ended"],()=>t(e.ended))}function hm(e,t){vt(e,["loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","emptied"],()=>t(e.readyState))}function pm(e,t,n=t){wt(()=>{var r=Number(t());r!==e.playbackRate&&!isNaN(r)&&(e.playbackRate=r)}),wt(()=>{vt(e,["ratechange"],()=>{n(e.playbackRate)})})}function mm(e,t,n=t){var r=t(),s=()=>{r!==e.paused&&n(r=e.paused)};vt(e,["play","pause","canplay"],s,r==null),wt(()=>{(r=!!t())!==e.paused&&(r?e.pause():e.play().catch(i=>{throw n(r=!0),i}))})}function gm(e,t,n=t){var r=()=>{n(e.volume)};t()==null&&r(),vt(e,["volumechange"],r,!1),Oe(()=>{var s=Number(t());s!==e.volume&&!isNaN(s)&&(e.volume=s)})}function bm(e,t,n=t){var r=()=>{n(e.muted)};t()==null&&r(),vt(e,["volumechange"],r,!1),Oe(()=>{var s=!!t();e.muted!==s&&(e.muted=s)})}function _m(e){vt(window,["online","offline"],()=>{e(navigator.onLine)})}function ym(e,t,n){var r=Nt(e,t);r&&r.set&&(e[t]=n,kt(()=>{e[t]=null}))}class Jr{#e=new WeakMap;#t;#n;static entries=new WeakMap;constructor(t){this.#n=t}observe(t,n){var r=this.#e.get(t)||new Set;return r.add(n),this.#e.set(t,r),this.#i().observe(t,this.#n),()=>{var s=this.#e.get(t);s.delete(n),s.size===0&&(this.#e.delete(t),this.#t.unobserve(t))}}#i(){return this.#t??(this.#t=new ResizeObserver(t=>{for(var n of t){Jr.entries.set(n.target,n);for(var r of this.#e.get(n.target)||[])r(n)}}))}}var wm=new Jr({box:"content-box"}),yu=new Jr({box:"border-box"}),km=new Jr({box:"device-pixel-content-box"});function Sm(e,t,n){var r=t==="contentRect"||t==="contentBoxSize"?wm:t==="borderBoxSize"?yu:km,s=r.observe(e,i=>n(i[t]));kt(s)}function xm(e,t,n){var r=yu.observe(e,()=>n(e[t]));wt(()=>(Ee(()=>n(e[t])),r))}function tl(e,t){return e===t||e?.[Je]===t}function et(e={},t,n,r){var s=_e.r,i=ie;return wt(()=>{var a,l;return Oe(()=>{a=l,l=r?.()||[],Ee(()=>{e!==n(...l)&&(t(e,...l),a&&tl(n(...a),e)&&t(null,...a))})}),()=>{let c=i;for(;c!==s&&c.parent!==null&&c.parent.f&$i;)c=c.parent;const u=()=>{l&&tl(n(...l),e)&&t(null,...l)},d=c.teardown;c.teardown=()=>{u(),d?.()}}}),e}function Em(e,t,n,r=n){t.addEventListener("input",()=>{r(t[e])}),Oe(()=>{var s=n();if(t[e]!==s)if(s==null){var i=t[e];r(i)}else t[e]=s+""})}function Im(e,t,n,r,s){var i=()=>{r(n[e])};n.addEventListener(t,i),s?Oe(()=>{n[e]=s()}):i(),(n===document.body||n===window||n===document)&&kt(()=>{n.removeEventListener(t,i)})}function Am(e,t){vt(e,["focus","blur"],()=>{t(e===document.activeElement)})}function Cm(e,t,n=t){var r=e==="x",s=()=>Sn(()=>{i=!0,clearTimeout(a),a=setTimeout(l,100),n(window[r?"scrollX":"scrollY"])});addEventListener("scroll",s,{passive:!0});var i=!1,a,l=()=>{i=!1},c=!0;Oe(()=>{var u=t();c?c=!1:!i&&u!=null&&(i=!0,clearTimeout(a),r?scrollTo(u,window.scrollY):scrollTo(window.scrollX,u),a=setTimeout(l,100))}),wt(s),kt(()=>{removeEventListener("scroll",s)})}function Tm(e,t){vt(window,["resize"],()=>Sn(()=>t(window[e])))}function Rm(e){return function(...t){var n=t[0];n.isTrusted&&e?.apply(this,t)}}function Pm(e){return function(...t){var n=t[0];n.target===this&&e?.apply(this,t)}}function Dm(e){return function(...t){var n=t[0];return n.stopPropagation(),e?.apply(this,t)}}function Mm(e){var t=!1;return function(...n){if(!t)return t=!0,e?.apply(this,n)}}function Om(e){return function(...t){var n=t[0];return n.stopImmediatePropagation(),e?.apply(this,t)}}function Lm(e){return function(...t){var n=t[0];return n.preventDefault(),e?.apply(this,t)}}function jm(e=!1){const t=_e,n=t.l.u;if(!n)return;let r=()=>za(t.s);if(e){let s=0,i={};const a=Wr(()=>{let l=!1;const c=t.s;for(const u in c)c[u]!==i[u]&&(i[u]=c[u],l=!0);return l&&s++,s});r=()=>o(a)}n.b.length&&Lc(()=>{nl(t,r),Bi(n.b)}),Ie(()=>{const s=Ee(()=>n.m.map(zf));return()=>{for(const i of s)typeof i=="function"&&i()}}),n.a.length&&Ie(()=>{nl(t,r),Bi(n.a)})}function nl(e,t){if(e.l.s)for(const n of e.l.s)o(n);t()}function Nm(e){var t=_t(0);return function(){return arguments.length===1?(y(t,o(t)+1),arguments[0]):(o(t),e())}}function zm(e,t){var n=e.$$events?.[t.type],r=ur(n)?n.slice():n==null?[]:[n];for(var s of r)s.call(this,t)}function qm(e,t,n){e.$$events||={},e.$$events[t]||=[],e.$$events[t].push(n)}function Bm(e){for(var t in e)t in this&&(this[t]=e[t])}function Vm(e,t=1){const n=e();return e(n+t),n}function $m(e,t=1){const n=e()+t;return e(n),n}const Fm={get(e,t){if(!e.exclude.includes(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function Um(e,t,n){return new Proxy({props:e,exclude:t},Fm)}const Hm={get(e,t){if(!e.exclude.includes(t))return o(e.version),t in e.special?e.special[t]():e.props[t]},set(e,t,n){if(!(t in e.special)){var r=ie;try{Ze(e.parent_effect),e.special[t]=We({get[t](){return e.props[t]}},t,ql)}finally{Ze(r)}}return e.special[t](n),ar(e.version),!0},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},deleteProperty(e,t){return e.exclude.includes(t)||(e.exclude.push(t),ar(e.version)),!0},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function Km(e,t){return new Proxy({props:e,exclude:t,special:{},version:_t(0),parent_effect:ie},Hm)}const Wm={get(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(Kn(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r)return r[t]}},set(e,t,n){let r=e.props.length;for(;r--;){let s=e.props[r];Kn(s)&&(s=s());const i=Nt(s,t);if(i&&i.set)return i.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(Kn(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r){const s=Nt(r,t);return s&&!s.configurable&&(s.configurable=!0),s}}},has(e,t){if(t===Je||t===Fs)return!1;for(let n of e.props)if(Kn(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){const t=[];for(let n of e.props)if(Kn(n)&&(n=n()),!!n){for(const r in n)t.includes(r)||t.push(r);for(const r of Object.getOwnPropertySymbols(n))t.includes(r)||t.push(r)}return t}};function Zr(...e){return new Proxy({props:e},Wm)}function We(e,t,n,r){var s=(n&Cf)!==0,i=(n&Tf)!==0,a=r,l=!0,c=()=>(l&&(l=!1,a=i?Ee(r):r),a);let u;if(s){var d=Je in e||Fs in e;u=Nt(e,t)?.set??(d&&t in e?S=>e[t]=S:void 0)}var f,p=!1;s?[f,p]=hc(()=>e[t]):f=e[t],f===void 0&&r!==void 0&&(f=c(),u&&(lv(),u(f)));var m;if(m=()=>{var S=e[t];return S===void 0?c():(l=!0,S)},!(n&ql))return m;if(u){var b=e.$$legacy;return function(S,w){return arguments.length>0?((!w||b||p)&&u(w?m():S),S):m()}}var g=!1,x=(n&Af?Wr:Ta)(()=>(g=!1,m()));s&&o(x);var k=ie;return function(S,w){if(arguments.length>0){const R=w?o(x):s?le(S):S;return y(x,R),g=!0,a!==void 0&&(a=R),S}return on&&g||k.f&dt?x.v:o(x)}}function Ym(e,t,n,r,s,i){yc(t,()=>{var a=!1;Sa?.[mt],Oe(()=>{if(!a){var[l,c]=hc(n);if(!c){var u=r(),d=!1,f=Oe(()=>{d||l[u]});d=!0,f.deps===null&&(hv(),a=!0)}}})})}function Gm(e){return new Xm(e)}class Xm{#e;#t;constructor(t){var n=new Map,r=(i,a)=>{var l=Ws(a,!1,!1);return n.set(i,l),l};const s=new Proxy({...t.props||{},$$events:{}},{get(i,a){return o(n.get(a)??r(a,Reflect.get(i,a)))},has(i,a){return a===Fs?!0:(o(n.get(a)??r(a,Reflect.get(i,a))),Reflect.has(i,a))},set(i,a,l){return y(n.get(a)??r(a,l),l),Reflect.set(i,a,l)}});this.#t=(t.hydrate?nu:qe)(t.component,{target:t.target,anchor:t.anchor,props:s,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError}),(!t?.props?.$$host||t.sync===!1)&&mn(),this.#e=s.$$events;for(const i of Object.keys(this.#t))i==="$set"||i==="$destroy"||i==="$on"||Mn(this,i,{get(){return this.#t[i]},set(a){this.#t[i]=a},enumerable:!0});this.#t.$set=i=>{Object.assign(s,i)},this.#t.$destroy=()=>{He(this.#t)}}$set(t){this.#t.$set(t)}$on(t,n){this.#e[t]=this.#e[t]||[];const r=(...s)=>n.call(this,...s);return this.#e[t].push(r),()=>{this.#e[t]=this.#e[t].filter(s=>s!==r)}}$destroy(){this.#t.$destroy()}}let wu;typeof HTMLElement=="function"&&(wu=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){const r=this.$$c.$on(e,t);this.$$l_u.set(t,r)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){const r=this.$$l_u.get(t);r&&(r(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(r){return s=>{const i=kn("slot");r!=="default"&&(i.name=r),I(s,i)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},n=Jm(this);for(const r of this.$$s)r in n&&(r==="default"&&!this.$$d.children?(this.$$d.children=e(r),t.default=!0):t[r]=e(r));for(const r of this.attributes){const s=this.$$g_p(r.name);s in this.$$d||(this.$$d[s]=hs(s,r.value,this.$$p_d,"toProp"))}for(const r in this.$$p_d)!(r in this.$$d)&&this[r]!==void 0&&(this.$$d[r]=this[r],delete this[r]);this.$$c=Gm({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=Gs(()=>{Oe(()=>{this.$$r=!0;for(const r of ws(this.$$c)){if(!this.$$p_d[r]?.reflect)continue;this.$$d[r]=this.$$c[r];const s=hs(r,this.$$d[r],this.$$p_d,"toAttribute");s==null?this.removeAttribute(this.$$p_d[r].attribute||r):this.setAttribute(this.$$p_d[r].attribute||r,s)}this.$$r=!1})});for(const r in this.$$l)for(const s of this.$$l[r]){const i=this.$$c.$on(r,s);this.$$l_u.set(s,i)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=hs(e,n,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return ws(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function hs(e,t,n,r){const s=n[e]?.type;if(t=s==="Boolean"&&typeof t!="boolean"?t!=null:t,!r||!n[e])return t;if(r==="toAttribute")switch(s){case"Object":case"Array":return t==null?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(s){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":return t;case"Number":return t!=null?+t:t;default:return t}}function Jm(e){const t={};return e.childNodes.forEach(n=>{t[n.slot||"default"]=!0}),t}function Zm(e,t,n,r,s,i){let a=class extends wu{constructor(){super(e,n,s),this.$$p_d=t}static get observedAttributes(){return ws(t).map(l=>(t[l].attribute||l).toLowerCase())}};return ws(t).forEach(l=>{Mn(a.prototype,l,{get(){return this.$$c&&l in this.$$c?this.$$c[l]:this.$$d[l]},set(c){c=hs(l,c,t),this.$$d[l]=c;var u=this.$$c;if(u){var d=Nt(u,l)?.get;d?u[l]=c:u.$set({[l]:c})}}})}),r.forEach(l=>{Mn(a.prototype,l,{get(){return this.$$c?.[l]}})}),i&&(a=i(a)),e.element=a,a}function Qm(e,...t){return Ee(()=>{try{let n=!1;const r=[];for(const s of t)s&&typeof s=="object"&&Je in s?(r.push(Nn(s,!0)),n=!0):r.push(s);n&&(pv(e),console.log("%c[snapshot]","color: grey",...r))}catch{}}),t}const ku=Object.freeze(Object.defineProperty({__proto__:null,CLASS:Yn,FILENAME:mt,HMR:Hn,NAMESPACE_SVG:Vr,STYLE:Gn,aborted:Xi,action:du,get active_effect(){return ie},add_legacy_event_listener:qm,add_locations:dp,add_svelte_meta:Dv,animation:Lp,append:I,append_styles:qp,apply:Ph,assign:lp,assign_async:cp,async:bp,async_derived:wc,attach:$a,attachment:op,attr:Fp,attribute_effect:nm,autofocus:fr,await:wp,bind_active_element:im,bind_buffered:cm,bind_checked:vs,bind_content_editable:Em,bind_current_time:lm,bind_element_size:xm,bind_ended:vm,bind_files:om,bind_focused:Am,bind_group:am,bind_muted:bm,bind_online:_m,bind_paused:mm,bind_playback_rate:pm,bind_played:dm,bind_prop:ym,bind_property:Im,bind_ready_state:hm,bind_resize_observer:Sm,bind_seekable:um,bind_seeking:fm,bind_select_value:Lr,bind_this:et,bind_value:Me,bind_volume:gm,bind_window_scroll:Cm,bind_window_size:Tm,boundary:_c,bubble_event:zm,check_target:pp,child:h,cleanup_styles:up,clsx:vu,comment:ct,component:Xr,create_custom_element:Zm,create_ownership_validator:hp,css_props:xp,customizable_select:sm,deep_read:Es,deep_read_state:za,deferred_template_effect:wh,delegate:ue,delegated:F,derived:U,derived_safe_equal:Ta,get document(){return Cc},each:ce,eager:Xv,effect:wt,effect_root:Gs,effect_tracking:Gr,element:Np,equals:fh,event:Qe,exclude_from_object:Bf,fallback:qf,first_child:pe,flush:mn,for_await_track_reactivity_loss:rh,from_html:C,from_mathml:Lh,from_svg:Qc,from_tree:jh,get:o,head:zp,hmr:vp,html:Cp,hydrate_template:Sv,if:$,index:Bn,init:jm,init_select:Fa,inspect:gp,invalid_default_snippet:Uf,invalidate_inner_signals:xh,invalidate_store:Vv,invoke_error_boundary:Yt,key:Sp,legacy_api:mp,legacy_pre_effect:bh,legacy_pre_effect_reset:_h,legacy_rest_props:Km,log_if_contains_state:Qm,mark_store_binding:Kv,mutable_source:Ws,mutate:ch,next:sn,noop:gt,once:Mm,pending:th,pop:re,preventDefault:Lm,prevent_snippet_stringification:su,prop:We,props_id:qh,proxy:le,push:ne,raf:Kt,reactive_import:Nm,remove_input_defaults:Se,remove_textarea_child:ph,render_effect:Oe,replay_events:Rh,reset:v,rest_props:Um,run:sh,run_after_blockers:yc,safe_get:Ch,sanitize_slots:Rp,save:nh,select_option:Or,selectedcontent:rm,self:Pm,set:y,set_attribute:be,set_checked:gu,set_class:ye,set_custom_element_data:em,set_default_checked:Jp,set_default_value:Zp,set_selected:bu,set_style:tn,set_text:L,set_value:mu,set_xlink_attribute:Qp,setup_stores:$v,sibling:E,slot:Tp,snapshot:Nn,snippet:Xs,spread_props:Zr,state:q,stopImmediatePropagation:Om,stopPropagation:Dm,store_get:qv,store_mutate:Fv,store_set:vc,store_unsub:Bv,strict_equals:dh,tag:Tv,tag_proxy:ic,template_effect:z,text:qt,tick:Na,to_array:Wl,trace:Cv,track_reactivity_loss:Wi,transition:jp,trusted:Rm,untrack:Ee,update:ar,update_legacy_props:Bm,update_pre:uh,update_pre_prop:$m,update_pre_store:Hv,update_prop:Vm,update_store:Uv,user_effect:Ie,user_pre_effect:Lc,validate_binding:Ym,validate_dynamic_element_tag:Zh,validate_snippet_args:_p,validate_store:Qh,validate_void_dynamic_element:Jh,wait:ih,get window(){return Yi},with_script:Nh,wrap_snippet:ep},Symbol.toStringTag,{value:"Module"}));class rl{#e=new Map;read(t){return this.#e.get(t)}write(t,n){this.#e.set(t,n)}delete(t){this.#e.delete(t)}list(){return[...this.#e.keys()]}}class sl{#e;constructor(t){this.#e=t}read(t){if(typeof localStorage>"u")return;const n=localStorage.getItem(this.#e+t);if(n!=null)try{return JSON.parse(n)}catch{return}}write(t,n){if(!(typeof localStorage>"u"))try{localStorage.setItem(this.#e+t,JSON.stringify(n))}catch{}}delete(t){typeof localStorage>"u"||localStorage.removeItem(this.#e+t)}list(){if(typeof localStorage>"u")return[];const t=[];for(let n=0;n<localStorage.length;n++){const r=localStorage.key(n);r&&r.startsWith(this.#e)&&t.push(r.slice(this.#e.length))}return t}}const eg=["workspace","user"],Ka="state:manage",Ft={ephemeral:new rl,session:new rl,workspace:new sl("sh3:workspace:"),user:new sl("sh3:user:")},Mi=new Map;let Oi=!1;function tg(e,t,n){Mi.set(`${e}:${t}`,{zone:e,shardId:t,value:n}),!Oi&&(Oi=!0,queueMicrotask(()=>{Oi=!1;for(const{zone:r,shardId:s,value:i}of Mi.values())Ft[r].write(s,i);Mi.clear()}))}function Zs(e,t){const n={};for(const r of Object.keys(t)){const s=t[r],a=Ft[r].read(e),l={...s,...a??{}},c=le(l);n[r]=c,eg.includes(r)&&Gs(()=>{let u=!0;Ie(()=>{const d=Nn(c);if(u){u=!1;return}tg(r,e,d)})})}return n}function il(e,t){Ft[e]=t}function ng(e,t){return Ft[e].read(t)}function na(e,t){Ft[e].delete(t)}const rg="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(rg);const sg=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function ig(e){const t=document.activeElement;function n(){return Array.from(e.querySelectorAll(sg))}function r(s){if(s.key!=="Tab")return;const i=n();if(i.length===0){s.preventDefault();return}const a=i[0],l=i[i.length-1],c=document.activeElement;s.shiftKey&&(c===a||!e.contains(c))?(s.preventDefault(),l.focus()):!s.shiftKey&&(c===l||!e.contains(c))&&(s.preventDefault(),a.focus())}return e.addEventListener("keydown",r),queueMicrotask(()=>{(n()[0]??e).focus()}),()=>{e.removeEventListener("keydown",r),t&&document.contains(t)&&t.focus()}}var ag=C('<div class="modal-frame svelte-2tcvcm" role="presentation"><div class="modal-box svelte-2tcvcm" role="dialog" aria-modal="true" tabindex="-1"><!></div></div>');function og(e,t){ne(t,!0);let n;Ie(()=>{if(n)return ig(n)});function r(l){t.onBackdropClick&&l.target===l.currentTarget&&t.onBackdropClick()}var s=ag(),i=h(s),a=h(i);Xr(a,()=>t.Content,(l,c)=>{c(l,Zr(()=>t.contentProps,{get close(){return t.close}}))}),v(i),et(i,l=>n=l,()=>n),v(s),z(()=>tn(i,t.boxStyle)),F("click",s,r),I(e,s),re()}ue(["click"]);const Wa={};function lg(e,t){Wa[e]=t}function cg(e){delete Wa[e]}function Qs(e){const t=Wa[e];if(!t)throw new Error(`Overlay layer "${e}" root is not registered — Shell.svelte must mount before opening overlays on this layer.`);return t}const bt=[];let Ts=!1,It=null;const ug=.5;function Su(){const e=Qs("modal");if(bt.length===0){It&&(It.remove(),It=null);return}It||(It=document.createElement("div"),It.className="sh3-modal-backdrop",It.style.position="absolute",It.style.inset="0",It.style.pointerEvents="auto",It.style.transition="background-color 120ms ease",It.style.background=`rgba(0, 0, 0, ${ug})`);const t=bt[bt.length-1].host;e.insertBefore(It,t)}function xu(e){e.key==="Escape"&&bt.length!==0&&(e.stopPropagation(),e.preventDefault(),bt[bt.length-1].handle.close())}function dg(){Ts||(Ts=!0,document.addEventListener("keydown",xu,!0))}function fg(){bt.length>0||Ts&&(Ts=!1,document.removeEventListener("keydown",xu,!0))}function Eu(e){const t=bt.indexOf(e);t<0||(bt.splice(t,1),He(e.frame),e.host.remove(),Su(),fg())}function vg(e,t,n){const r=Qs("modal"),s=document.createElement("div");s.className="sh3-modal-host",s.style.position="absolute",s.style.inset="0",s.style.pointerEvents="auto",r.appendChild(s);const i={},a={close:()=>Eu(i)},l=qe(og,{target:s,props:{Content:e,contentProps:t??{},close:a.close,boxStyle:n?.boxStyle,onBackdropClick:n?.dismissOnBackdrop?a.close:void 0}});return i.host=s,i.frame=l,i.handle=a,bt.push(i),Su(),dg(),a}function hg(){for(;bt.length>0;)Eu(bt[bt.length-1])}const Ya={open:vg,closeAll:hg};var pg=C('<div class="popup-frame svelte-mp81cl" role="menu" tabindex="-1"><!></div>');function mg(e,t){ne(t,!0);let n,r=q(-9999),s=q(-9999);Ie(()=>{if(!n)return;const l=n.getBoundingClientRect(),c=4,u=window.innerWidth,d=window.innerHeight;let f=t.anchorRect.bottom+c,p=t.anchorRect.left;if(p+l.width>u-c&&(p=Math.max(c,u-l.width-c)),f+l.height>d-c){const m=t.anchorRect.top-l.height-c;f=m>=c?m:Math.max(c,d-l.height-c)}y(r,f,!0),y(s,p,!0)});var i=pg(),a=h(i);Xr(a,()=>t.Content,(l,c)=>{c(l,Zr(()=>t.contentProps,{get close(){return t.close}}))}),v(i),et(i,l=>n=l,()=>n),z(()=>tn(i,`top: ${o(r)??""}px; left: ${o(s)??""}px;`)),I(e,i),re()}function gg(e){return e instanceof HTMLElement?e.getBoundingClientRect():new DOMRect(e.x,e.y,0,0)}let Rt=null;function Iu(e){if(!Rt)return;const t=e.target;t&&Rt.host.contains(t)||Rt.handle.close()}function Au(e){Rt&&e.key==="Escape"&&(e.stopPropagation(),e.preventDefault(),Rt.handle.close())}function bg(){document.addEventListener("pointerdown",Iu,!0),document.addEventListener("keydown",Au,!0)}function _g(){document.removeEventListener("pointerdown",Iu,!0),document.removeEventListener("keydown",Au,!0)}function ra(e){Rt===e&&(Rt=null,_g(),He(e.frame),e.host.remove())}function yg(e,t,n){Rt&&ra(Rt);const r=Qs("popup"),s=document.createElement("div");s.className="sh3-popup-host",s.style.position="absolute",s.style.inset="0",s.style.pointerEvents="none",r.appendChild(s);const i=gg(t.anchor),a={},l={close:()=>ra(a)},c=qe(mg,{target:s,props:{Content:e,contentProps:n??{},anchorRect:i,close:l.close}});return a.host=s,a.frame=c,a.handle=l,Rt=a,queueMicrotask(bg),l}function wg(){Rt&&ra(Rt)}const sa={show:yg,close:wg};var kg=C('<div role="status" aria-live="polite"><span class="toast-level svelte-12gwnj0"> </span> <span class="toast-message svelte-12gwnj0"> </span></div>');function Sg(e,t){var n=kg(),r=h(n),s=h(r,!0);v(r);var i=E(r,2),a=h(i,!0);v(i),v(n),z(()=>{ye(n,1,`toast toast-${t.level??""}`,"svelte-12gwnj0"),L(s,t.level),L(a,t.message)}),F("click",n,function(...l){t.close?.apply(this,l)}),I(e,n)}ue(["click"]);const Rs=new Set;let ot=null;function xg(){if(ot&&ot.isConnected)return ot;const e=Qs("toast");return ot=document.createElement("div"),ot.className="sh3-toast-stack",ot.style.position="absolute",ot.style.right="16px",ot.style.bottom="16px",ot.style.display="flex",ot.style.flexDirection="column-reverse",ot.style.gap="6px",ot.style.pointerEvents="none",e.appendChild(ot),ot}function ia(e){Rs.has(e)&&(Rs.delete(e),e.timer!==null&&(clearTimeout(e.timer),e.timer=null),He(e.instance),e.host.remove())}function Eg(e,t={}){const n=t.level??"info",r=t.duration??3e3,s=xg(),i=document.createElement("div");i.className="sh3-toast-host",s.appendChild(i);const a={},l={close:()=>ia(a)},c=qe(Sg,{target:i,props:{message:e,level:n,close:l.close}});return a.host=i,a.instance=c,a.handle=l,a.timer=Number.isFinite(r)&&r>0?setTimeout(()=>ia(a),r):null,Rs.add(a),l}function Ig(){for(const e of[...Rs])ia(e)}const Ag={notify:Eg,clear:Ig},al={w:120,h:80};function Cu(e){if(e.type==="slot")return{...al};if(e.type==="tabs")return{...al};const t=e.children.map(Cu);return e.direction==="horizontal"?{w:t.reduce((n,r)=>n+r.w,0),h:t.reduce((n,r)=>Math.max(n,r.h),0)}:{w:t.reduce((n,r)=>Math.max(n,r.w),0),h:t.reduce((n,r)=>n+r.h,0)}}const ol=32,ll={x:48,y:48};function Cg(e,t){if(e.length===0)return{...ll};const n=e[e.length-1],r={x:n.position.x+ol,y:n.position.y+ol};return r.x+120>t.w||r.y+32>t.h?{...ll}:r}let cl=0;function Tg(){return cl+=1,`float-${Date.now().toString(36)}-${cl.toString(36)}`}function Tu(e){return e.type==="slot"?e.viewId==null:e.type==="tabs"?e.tabs.every(t=>t.viewId==null):e.children.every(Tu)}let Rg=[],Ga=null,Xa=()=>({w:1600,h:900});function Pg(e,t){Ga=e,Xa=t}function Dg(){Ga=null,Xa=()=>({w:1600,h:900})}function ei(){return Ga??Rg}let ul=0;function Mg(e){return ul+=1,`float:${e}:${ul}`}const Og={w:600,h:400};function Lg(e,t){return{w:Math.max(e.w,t.w),h:Math.max(e.h,t.h)}}function jg(e,t={}){const n=ei(),r=Tg(),s=Mg(e);let i;if(t.dismissable)i={type:"slot",slotId:s,viewId:e};else{const d=t.title??e,f={slotId:s,viewId:e,label:d};t.meta&&(f.meta=t.meta),i={type:"tabs",tabs:[f],activeTab:0}}const a=Cu(i),l=t.size??Lg(Og,a),c=t.position??Cg(n,Xa()),u={id:r,content:i,position:c,size:l,title:t.title};return t.dismissable&&(u.dismissable=!0),n.push(u),r}function Ng(e){const t=ei(),n=t.findIndex(r=>r.id===e);n<0||t.splice(n,1)}function zg(){return ei().slice()}function qg(e){const t=ei(),n=t.findIndex(s=>s.id===e);if(n<0||n===t.length-1)return;const[r]=t.splice(n,1);t.push(r)}const Pt={open:jg,close:Ng,list:zg,focus:qg};let Ps=null;function Bg(e){Ps=e}function Vg(){Ps=null}function Ja(){if(!Ps)throw new Error("presetManager: no app attached — bind an AppLayoutBlob first");return Ps}function $g(){return Object.keys(Ja().presets)}function Fg(){return Ja().activePreset}function Ug(e){const t=Ja();if(!(e in t.presets))throw new Error(`presetManager.switch: unknown preset "${e}"`);t.activePreset=e}const Hg={list:$g,active:Fg,switch:Ug},Zn=new Map,ps=new Map;function dl(e){const t=ps.get(e);if(t)for(const n of t)n()}function Ru(e,t){const n=Symbol();let r=Zn.get(e);r||(r=new Map,Zn.set(e,r)),r.set(n,t),dl(e);let s=!1;return()=>{if(s)return;s=!0;const i=Zn.get(e);i&&i.delete(n)&&(i.size===0&&Zn.delete(e),dl(e))}}function ti(e){const t=Zn.get(e);return t?Array.from(t.values()):[]}function Kg(){return Array.from(Zn.keys())}function Pu(e,t){let n=ps.get(e);n||(n=new Set,ps.set(e,n)),n.add(t);let r=!1;return()=>{r||(r=!0,n.delete(t),n.size===0&&ps.delete(e))}}const Wg=Object.freeze([".md",".txt",".json",".guml",".css",".js",".ts",".tsx",".jsx",".html",".svg",".csv",".yaml",".yml",".xml",".log",".ini",".toml"]);function Yg(e){return e.kind?e.kind:e.extension&&Wg.includes(e.extension.toLowerCase())?"text":"binary"}const ms=[];function fl(e){return ms.push(e),()=>{const t=ms.indexOf(e);t>=0&&ms.splice(t,1)}}function Gg(e,t=[]){return[...ms,...t].filter(r=>{try{return r.appliesTo(e)}catch{return!1}}).sort((r,s)=>(s.priority??0)-(r.priority??0))[0]??null}var Xg=C("<span> </span>"),Jg=C('<div class="sh3-conflict-text-dual svelte-iwgja4"><div role="button" tabindex="0"><header class="sh3-conflict-text-head svelte-iwgja4"> </header> <pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre></div> <div role="button" tabindex="0"><header class="sh3-conflict-text-head svelte-iwgja4"> </header> <pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre></div></div> <details class="sh3-conflict-text-diff svelte-iwgja4"><summary> </summary> <pre class="svelte-iwgja4"><code></code></pre></details>',1),Zg=C("<option> </option>"),Qg=C("<button> </button>"),eb=C('<pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre>'),tb=C('<div class="sh3-conflict-text-tabs svelte-iwgja4"><div class="sh3-conflict-text-picker svelte-iwgja4"><label>Reference: <select class="svelte-iwgja4"></select></label></div> <div class="sh3-conflict-text-tablist svelte-iwgja4"></div> <!></div>'),nb=C('<div class="sh3-conflict-text svelte-iwgja4"><!></div>');function rb(e,t){ne(t,!0);let n=q("");Ie(()=>{(!o(n)||!t.item.branches.find(m=>m.origin===o(n)))&&y(n,t.item.branches[0]?.origin??"local",!0)});const r=U(()=>t.item.branches.length===2),s=U(()=>o(r)?t.item.branches[0]:t.item.branches.find(m=>m.origin===o(n))??t.item.branches[0]),i=U(()=>o(r)?t.item.branches[1]:t.item.branches.find(m=>m.origin===t.selectedOrigin)??t.item.branches[1]??t.item.branches[0]);function a(m,b){const g=(m??"").split(/\r?\n/),x=(b??"").split(/\r?\n/),k=[],S=Math.max(g.length,x.length);for(let w=0;w<S;w++){const R=g[w],M=x[w];R===M?typeof R=="string"&&k.push({kind:"same",text:R}):(typeof R=="string"&&k.push({kind:"left",text:R}),typeof M=="string"&&k.push({kind:"right",text:M}))}return k}const l=U(()=>!o(s)||!o(i)?[]:a(o(s).content??"",o(i).content??"")),c=U(()=>o(l).filter(m=>m.kind!=="same").length);var u=nb(),d=h(u);{var f=m=>{var b=Jg(),g=pe(b),x=h(g);let k;var S=h(x),w=h(S);v(S);var R=E(S,2),M=h(R),A=h(M,!0);v(M),v(R),v(x);var _=E(x,2);let O;var T=h(_),D=h(T);v(T);var P=E(T,2),N=h(P),V=h(N,!0);v(N),v(P),v(_),v(g);var j=E(g,2),B=h(j),Y=h(B);v(B);var G=E(B,2),Z=h(G);ce(Z,21,()=>o(l),Bn,(J,te)=>{var ee=Xg(),Q=h(ee);v(ee),z(()=>{ye(ee,1,`diff-${o(te).kind}`,"svelte-iwgja4"),L(Q,`${o(te).kind==="same"?" ":o(te).kind==="left"?"- ":"+ "}${o(te).text??""}
7
+ `)}),I(J,ee)}),v(Z),v(G),v(j),z(()=>{k=ye(x,1,"sh3-conflict-text-pane svelte-iwgja4",null,k,{selected:o(s).origin===t.selectedOrigin}),L(w,`${o(s).origin??""} · v${o(s).version??""}`),L(A,o(s).content??""),O=ye(_,1,"sh3-conflict-text-pane svelte-iwgja4",null,O,{selected:o(i).origin===t.selectedOrigin}),L(D,`${o(i).origin??""} · v${o(i).version??""}`),L(V,o(i).content??""),L(Y,`Line diff (${o(c)??""} difference${o(c)===1?"":"s"})`)}),F("click",x,()=>t.onSelect(o(s).origin)),F("keydown",x,J=>{(J.key==="Enter"||J.key===" ")&&t.onSelect(o(s).origin)}),F("click",_,()=>t.onSelect(o(i).origin)),F("keydown",_,J=>{(J.key==="Enter"||J.key===" ")&&t.onSelect(o(i).origin)}),I(m,b)},p=m=>{var b=tb(),g=h(b),x=h(g),k=E(h(x));ce(k,21,()=>t.item.branches,M=>M.origin,(M,A)=>{var _=Zg(),O=h(_,!0);v(_);var T={};z(()=>{L(O,o(A).origin),T!==(T=o(A).origin)&&(_.value=(_.__value=o(A).origin)??"")}),I(M,_)}),v(k),v(x),v(g);var S=E(g,2);ce(S,21,()=>t.item.branches,M=>M.origin,(M,A)=>{var _=Qg();let O;var T=h(_);v(_),z(()=>{O=ye(_,1,"sh3-conflict-text-tab svelte-iwgja4",null,O,{selected:o(A).origin===t.selectedOrigin}),L(T,`${o(A).origin??""} · v${o(A).version??""}`)}),F("click",_,()=>t.onSelect(o(A).origin)),I(M,_)}),v(S);var w=E(S,2);{var R=M=>{var A=eb(),_=h(A),O=h(_,!0);v(_),v(A),z(()=>L(O,o(i).content??"")),I(M,A)};$(w,M=>{o(i)&&M(R)})}v(b),Lr(k,()=>o(n),M=>y(n,M)),I(m,b)};$(d,m=>{o(r)&&o(s)&&o(i)?m(f):m(p,-1)})}v(u),I(e,u),re()}ue(["click","keydown"]);var sb=C("· <code> </code>",1),ib=C('<li class="sh3-conflict-meta-li svelte-1nz3djn"><button type="button"><div class="sh3-conflict-meta-origin svelte-1nz3djn"> </div> <div class="sh3-conflict-meta-detail svelte-1nz3djn"> <!></div></button></li>'),ab=C('<div class="sh3-conflict-meta svelte-1nz3djn"><div class="sh3-conflict-meta-note svelte-1nz3djn">No preview available for this content. Pick the branch you want to keep.</div> <ul class="sh3-conflict-meta-list svelte-1nz3djn"></ul></div>');function ob(e,t){ne(t,!0);function n(a){return typeof a!="number"?"—":a<1024?`${a} B`:a<1024*1024?`${(a/1024).toFixed(1)} KiB`:`${(a/(1024*1024)).toFixed(2)} MiB`}function r(a){const l=Date.now()-a;return l<6e4?"just now":l<36e5?`${Math.floor(l/6e4)}m ago`:l<864e5?`${Math.floor(l/36e5)}h ago`:new Date(a).toLocaleString()}var s=ab(),i=E(h(s),2);ce(i,21,()=>t.item.branches,a=>a.origin,(a,l)=>{var c=ib(),u=h(c);let d;var f=h(u),p=h(f,!0);v(f);var m=E(f,2),b=h(m),g=E(b);{var x=k=>{var S=sb(),w=E(pe(S)),R=h(w,!0);v(w),z(()=>L(R,o(l).hashPreview)),I(k,S)};$(g,k=>{o(l).hashPreview&&k(x)})}v(m),v(u),v(c),z((k,S)=>{d=ye(u,1,"sh3-conflict-meta-row svelte-1nz3djn",null,d,{selected:o(l).origin===t.selectedOrigin}),L(p,o(l).origin),L(b,`v${o(l).version??""} · ${k??""} · ${S??""} `)},[()=>r(o(l).at),()=>n(o(l).sizeBytes)]),F("click",u,()=>t.onSelect(o(l).origin)),I(a,c)}),v(i),v(s),I(e,s),re()}ue(["click"]);const lb=1048576;function cb(e){return typeof e=="number"&&e>lb}const ub={id:"sh3-core.text",priority:1,appliesTo:e=>Yg(e)!=="text"?!1:!e.branches.some(t=>cb(t.sizeBytes)),mount(e,t){const n=qe(rb,{target:e,props:t});return()=>{He(n)}}},db={id:"sh3-core.meta",priority:0,appliesTo:()=>!0,mount(e,t){const n=qe(ob,{target:e,props:t});return()=>{He(n)}}};let vl=!1;function fb(){vl||(vl=!0,fl(ub),fl(db))}var vb=C('<div class="sh3-conflict-prompt svelte-1jvtzud"><h3 class="sh3-conflict-prompt-title svelte-1jvtzud"> </h3> <p class="sh3-conflict-prompt-intro svelte-1jvtzud">Pick one option for the whole batch, or resolve each conflict individually.</p> <div class="sh3-conflict-prompt-actions svelte-1jvtzud"><button type="button" class="sh3-conflict-prompt-primary svelte-1jvtzud">Overwrite with most recent</button> <button type="button" class="sh3-conflict-prompt-secondary svelte-1jvtzud">Resolve individually</button> <button type="button" class="sh3-conflict-prompt-cancel svelte-1jvtzud">Cancel</button></div></div>');function hb(e,t){var n=vb(),r=h(n),s=h(r);v(r);var i=E(r,4),a=h(i);fr(a,!0);var l=E(a,2),c=E(l,2);v(i),v(n),z(()=>L(s,`${t.count??""} conflict${t.count===1?"":"s"} to resolve`)),F("click",a,function(...u){t.onOverwriteMostRecent?.apply(this,u)}),F("click",l,function(...u){t.onResolveIndividually?.apply(this,u)}),F("click",c,function(...u){t.onCancel?.apply(this,u)}),I(e,n)}ue(["click"]);var pb=C('<span class="sh3-conflict-detail-counter svelte-pw8iv6"> </span>'),mb=C('<button type="button"><span><!></span> <span class="sh3-conflict-detail-rail-label svelte-pw8iv6"> </span></button>'),gb=C('<aside class="sh3-conflict-detail-rail svelte-pw8iv6"></aside>'),bb=C('<label class="sh3-conflict-detail-branch svelte-pw8iv6"><input type="radio"/> <span> </span></label>'),_b=C('<div class="sh3-conflict-detail-branches svelte-pw8iv6"></div> <div class="sh3-conflict-detail-renderer svelte-pw8iv6"></div>',1),yb=C('<div class="sh3-conflict-detail svelte-pw8iv6"><header class="sh3-conflict-detail-head svelte-pw8iv6"><h3 class="svelte-pw8iv6"> </h3> <!></header> <div class="sh3-conflict-detail-body svelte-pw8iv6"><!> <section class="sh3-conflict-detail-main svelte-pw8iv6"><!></section></div> <footer class="sh3-conflict-detail-foot svelte-pw8iv6"><div class="sh3-conflict-detail-nav svelte-pw8iv6"><button type="button" class="svelte-pw8iv6">← Prev</button> <button type="button" class="svelte-pw8iv6"> </button> <button type="button" class="svelte-pw8iv6">Next →</button></div> <div class="sh3-conflict-detail-actions svelte-pw8iv6"><button type="button" class="sh3-conflict-detail-cancel svelte-pw8iv6">Cancel</button> <button type="button" class="sh3-conflict-detail-done svelte-pw8iv6">Done</button></div></footer></div>');function wb(e,t){ne(t,!0);const n=U(()=>t.items[t.currentIndex]),r=U(()=>o(n)?t.selections[o(n).id]??o(n).branches[0]?.origin??"":""),s=U(()=>o(n)?Gg(o(n),t.contributed):null);let i=q(void 0),a=null;Ie(()=>{if(o(n),o(s),o(r),a&&(a(),a=null),!o(i)||!o(n)||!o(s))return;const B={item:o(n),selectedOrigin:o(r),onSelect:Y=>t.onSelect(o(n).id,Y)};return a=o(s).mount(o(i),B),()=>{a&&(a(),a=null)}});function l(){t.currentIndex>0&&t.onNavigate(t.currentIndex-1)}function c(){t.currentIndex<t.items.length-1&&t.onNavigate(t.currentIndex+1)}const u=U(()=>t.items.map(B=>t.skipped[B.id]?"skipped":t.selections[B.id]?"resolved":"pending"));var d=yb(),f=h(d),p=h(f),m=h(p,!0);v(p);var b=E(p,2);{var g=B=>{var Y=pb(),G=h(Y);v(Y),z(()=>L(G,`${t.currentIndex+1} / ${t.items.length??""}`)),I(B,Y)};$(b,B=>{t.items.length>1&&B(g)})}v(f);var x=E(f,2),k=h(x);{var S=B=>{var Y=gb();ce(Y,23,()=>t.items,G=>G.id,(G,Z,J)=>{var te=mb();let ee;var Q=h(te),fe=h(Q);{var ve=Ae=>{var at=qt("✓");I(Ae,at)},W=Ae=>{var at=qt("⟶");I(Ae,at)},ae=Ae=>{var at=qt("·");I(Ae,at)};$(fe,Ae=>{o(u)[o(J)]==="resolved"?Ae(ve):o(u)[o(J)]==="skipped"?Ae(W,1):Ae(ae,-1)})}v(Q);var me=E(Q,2),Ye=h(me,!0);v(me),v(te),z(()=>{ee=ye(te,1,"sh3-conflict-detail-rail-item svelte-pw8iv6",null,ee,{selected:o(J)===t.currentIndex}),ye(Q,1,`sh3-conflict-detail-rail-state ${o(u)[o(J)]??""}`,"svelte-pw8iv6"),L(Ye,o(Z).label)}),F("click",te,()=>t.onNavigate(o(J))),I(G,te)}),v(Y),I(B,Y)};$(k,B=>{t.items.length>1&&B(S)})}var w=E(k,2),R=h(w);{var M=B=>{var Y=_b(),G=pe(Y);ce(G,21,()=>o(n).branches,J=>J.origin,(J,te)=>{var ee=bb(),Q=h(ee);Se(Q);var fe=E(Q,2),ve=h(fe);v(fe),v(ee),z(()=>{be(Q,"name",`branch-${o(n).id??""}`),mu(Q,o(te).origin),gu(Q,o(r)===o(te).origin),L(ve,`${o(te).origin??""} · v${o(te).version??""}`)}),F("change",Q,()=>t.onSelect(o(n).id,o(te).origin)),I(J,ee)}),v(G);var Z=E(G,2);et(Z,J=>y(i,J),()=>o(i)),I(B,Y)};$(R,B=>{o(n)&&B(M)})}v(w),v(x);var A=E(x,2),_=h(A),O=h(_),T=E(O,2),D=h(T,!0);v(T);var P=E(T,2);v(_);var N=E(_,2),V=h(N),j=E(V,2);v(N),v(A),v(d),z(()=>{L(m,t.title),O.disabled=t.currentIndex===0,L(D,o(n)&&t.skipped[o(n).id]?"Unskip":"Skip"),P.disabled=t.currentIndex>=t.items.length-1}),F("click",O,l),F("click",T,()=>o(n)&&t.onToggleSkip(o(n).id)),F("click",P,c),F("click",V,function(...B){t.onCancel?.apply(this,B)}),F("click",j,function(...B){t.onDone?.apply(this,B)}),I(e,d),re()}ue(["click","change"]);function Du(e,t){return t.at-e.at}function kb(e,t){if(e.length===0)return null;try{return[...e].sort(t)[0]}catch(n){return console.warn("[sh3-core] mostRecentBy comparator threw; falling back to default",n),[...e].sort(Du)[0]}}function Sb(e,t){ne(t,!0);const n=t.items.length>=2||t.requirePrompt;let r=q(le(n?"prompt":"detail")),s=q(le(Object.fromEntries(t.items.map(w=>{const R=kb(w.branches,t.mostRecentBy)?.origin??w.branches[0]?.origin??"";return[w.id,R]})))),i=q(le({})),a=q(0),l=!1;Va(()=>{l||(l=!0,t.onCancel())});function c(){if(l)return;l=!0;const w=[],R=[];for(const M of t.items){if(o(i)[M.id]){R.push(M.id);continue}const A=o(s)[M.id],_=M.branches.find(O=>O.origin===A);_&&w.push({itemId:M.id,chosen:_,meta:M.meta})}t.onResolve(w,R),t.close()}function u(){l||(l=!0,t.onCancel(),t.close())}function d(){c()}function f(){y(r,"detail")}function p(w,R){if(y(s,{...o(s),[w]:R},!0),o(i)[w]){const M={...o(i)};delete M[w],y(i,M,!0)}}function m(w){y(i,{...o(i),[w]:!o(i)[w]},!0)}function b(w){y(a,w,!0)}var g=ct(),x=pe(g);{var k=w=>{hb(w,{get count(){return t.items.length},onOverwriteMostRecent:d,onResolveIndividually:f,onCancel:u})},S=w=>{wb(w,{get items(){return t.items},get selections(){return o(s)},get skipped(){return o(i)},get currentIndex(){return o(a)},get title(){return t.title},get contributed(){return t.contributed},onSelect:p,onNavigate:b,onToggleSkip:m,onDone:c,onCancel:u})};$(x,w=>{o(r)==="prompt"?w(k):w(S,-1)})}I(e,g),re()}const Mu="sh3-core.conflictRenderer";class Ou extends Error{constructor(t){super(t),this.name="ConflictPermissionError"}}class xb extends Error{constructor(){super("Caller shard deactivated while conflict session was active"),this.name="ConflictSessionOrphanedError"}}function Eb(){try{return ti(Mu)}catch{return[]}}function Lu(e,t={}){return fb(),e.length===0?Promise.resolve({status:"resolved",choices:[],skipped:[]}):new Promise(n=>{const r=t.title??(e.length===1?"Resolve conflict":"Resolve conflicts"),s=t.mostRecentBy??Du,i=t.requirePrompt??!1,a=Eb();let l=!1;const d={items:e,title:r,mostRecentBy:s,requirePrompt:i,contributed:a,onResolve:(f,p)=>{l||(l=!0,n({status:"resolved",choices:f,skipped:p}))},onCancel:()=>{l||(l=!0,n({status:"cancelled"}))}};Ya.open(Sb,d,{boxStyle:"max-width: none; min-width: 360px; padding: 0;"})})}function Ib(e){const t=e.documents({format:"text"});return{status:n=>t.status(n),readBranch:(n,r)=>t.readBranch(n,r),resolveConflict:(n,r)=>t.resolveConflict(n,r)}}function Ab(e,t){const n=e.browse;if(!n?.statusFrom||!n?.readBranchFrom||!n?.resolveConflictFrom)throw new Ou(`Cross-shard resolveDocuments requires documents:browse + documents:read + documents:write (shardId=${t})`);return{status:r=>n.statusFrom(t,r),readBranch:(r,s)=>n.readBranchFrom(t,r,s),resolveConflict:(r,s)=>n.resolveConflictFrom(t,r,s)}}function Cb(e){const t=e.lastIndexOf(".");if(t<0)return;const n=e.lastIndexOf("/");if(!(t<n))return e.slice(t)}async function Tb(e,t,n={}){const r=e.shardId,s=t.shardId===r?Ib(e):Ab(e,t.shardId),i=[];for(const d of t.paths){const f=await s.status(d);f&&f.syncState==="conflict"&&f.branches&&f.branches.length>0&&i.push({path:d,status:f})}if(i.length===0)return{status:"resolved",resolved:[],failed:[],skipped:[]};const a=[];for(const{path:d,status:f}of i){const p=Cb(d),m=[];for(const b of f.branches??[]){const g=await s.readBranch(d,b.origin).catch(()=>null);m.push({origin:b.origin,version:b.version,at:b.at,content:g??void 0,sizeBytes:g?new TextEncoder().encode(g).length:void 0})}a.push({id:d,label:d,extension:p,branches:m,meta:{shardId:t.shardId,path:d,docVersion:f.version}})}const l=await Lu(a,n);if(l.status==="cancelled")return{status:"cancelled"};const c=[],u=[];for(const d of l.choices)try{await s.resolveConflict(d.itemId,{origin:d.chosen.origin});const f=await s.status(d.itemId).catch(()=>null);c.push({path:d.itemId,chosen:d.chosen,appliedVersion:f?.version??-1})}catch(f){u.push({path:d.itemId,error:f instanceof Error?f.message:String(f)})}return{status:"resolved",resolved:c,failed:u,skipped:l.skipped}}const Rb={resolve:Lu,resolveDocuments:Tb},ju="sh3.color-picker",Pb={id:"sh3.color-picker.native",priority:0,open:({initial:e})=>new Promise(t=>{const n=document.createElement("input");n.type="color",e&&/^#[0-9a-f]{6}$/i.test(e)&&(n.value=e);let r=!1;const s=i=>{r||(r=!0,n.remove(),t(i))};n.addEventListener("change",()=>s(n.value)),n.addEventListener("cancel",()=>s(null)),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.click()})};function Db(e={}){return[...ti(ju),Pb].sort((r,s)=>(s.priority??0)-(r.priority??0))[0].open(e)}const Mb={pick:Db};let Cn=null;function Ob(e){Cn=e}async function tr(e){return Cn?{...Cn.bindings[e]??{}}:{}}async function hl(e,t,n){if(!Cn)return;const r={...Cn.bindings[e]??{}};n===void 0?delete r[t]:r[t]=n,Cn.bindings={...Cn.bindings,[e]:r}}const Za="sh3.actions",Li=new Set;function Lb(e,t){Li.has(e.id)&&console.warn(`[sh3] Duplicate action id "${e.id}" registered by "${t}". First registration wins; second registration still stored but shortcut conflicts may occur.`),Li.add(e.id);const r=Ru(Za,{action:e,ownerShardId:t});let s=!1;return()=>{s||(s=!0,r(),Li.delete(e.id))}}function Jt(){return ti(Za)}function jb(e){return Pu(Za,e)}const Nb=["Ctrl","Alt","Shift","Meta"],pl={control:"Ctrl",ctrl:"Ctrl",alt:"Alt",option:"Alt",shift:"Shift",meta:"Meta",cmd:"Meta",command:"Meta",super:"Meta",win:"Meta"},zb=new Set(["Control","Alt","Shift","Meta"]);function Nu(e){return e.length===1?e.toUpperCase():e}function Qa(e){if(!e)throw new Error("Empty shortcut");const t=e.split("+");if(t.some(a=>a.trim()===""))throw new Error(`Malformed shortcut: "${e}"`);const n=t.map(a=>a.trim());if(n.length===0)throw new Error(`Malformed shortcut: "${e}"`);const r=new Set;let s;for(const a of n){const l=a.toLowerCase();if(l in pl)r.add(pl[l]);else{if(s!==void 0)throw new Error(`Multiple keys in shortcut: "${e}"`);s=Nu(a)}}if(s===void 0)throw new Error(`No key in shortcut: "${e}"`);return[...Nb.filter(a=>r.has(a)),s].join("+")}function zu(e,t){if(!e.toLowerCase().includes("mod"))return e;const n=e.split("+").map(r=>r.toLowerCase()==="mod"?t==="mac"?"Meta":"Ctrl":r);return Qa(n.join("+"))}function qb(e){if(zb.has(e.key))return"";const t=[];e.ctrlKey&&t.push("Ctrl"),e.altKey&&t.push("Alt"),e.shiftKey&&t.push("Shift"),e.metaKey&&t.push("Meta");const n=Nu(e.key);return[...t,n].join("+")}function Bb(){return typeof navigator>"u"?"other":/Mac|iPhone|iPad|iPod/i.test(navigator.platform)?"mac":"other"}function ni(e,t,n="other"){if(e.id in t){const r=t[e.id];return r===null?null:Qa(r)}return e.defaultShortcut?zu(e.defaultShortcut,n):null}function Vb(e,t,n="other"){if(e.id in t){const r=t[e.id];return r===null?{shortcut:null,source:"disabled"}:{shortcut:Qa(r),source:"user"}}return e.defaultShortcut?{shortcut:zu(e.defaultShortcut,n),source:"default"}:{shortcut:null,source:"none"}}function ri(e){return e==="home"?"home":e==="app"?"app":typeof e=="string"&&e.startsWith("view:")?"view":typeof e=="string"&&e.startsWith("focus:")?"focus":"element"}function qu(e){return Array.isArray(e)?e:[e]}function Bu(e){return e==="home"||e==="app"?null:typeof e=="string"?e:e.element}function si(e,t,n){const r=qu(e),s={};for(const i of r){const a=ri(i);(s[a]??=[]).push(i)}for(const i of ii){const a=s[i];if(a){for(const l of a)if(Vu(l,t,n))return l}}return null}const ii=["element","focus","view","app","home"];function Vu(e,t,n){if(e==="home")return t.activeAppId===null;if(e==="app")return t.activeAppId===null||!n?!1:t.activeAppRequiredShards.has(n)||t.autostartShards.has(n);if(typeof e=="string"){if(e.startsWith("view:"))return t.mountedViewIds.has(e.slice(5));if(e.startsWith("focus:"))return t.focusedViewId===e.slice(6)}return typeof e=="object"&&"element"in e?t.selection!==null&&t.selection.type===e.element:!1}function $b(e,t){const n={element:new Map,focus:new Map,view:new Map,app:new Map,home:new Map};for(const r of e){const s=ni(r.action,t.bindings,t.platform);if(s)for(const i of qu(r.action.scope)){if(!Vu(i,t,r.ownerShardId))continue;const a=ri(i),l=n[a].get(s);if(l&&l!==r.action.id){console.warn(`[sh3] Shortcut "${s}" in tier "${a}" is bound to both "${l}" and "${r.action.id}"; first-registered wins. Users can rebind to resolve.`);continue}n[a].set(s,r.action.id)}}return n}function Fb(e){if(!(e instanceof Element))return!1;const t=e.tagName;if(t==="INPUT"||t==="TEXTAREA")return!0;const n=e.contentEditable;if(n==="true"||n==="plaintext-only")return!0;const r=e.getAttribute("contenteditable");return r==="true"||r===""||r==="plaintext-only"}function Ub(e){const t=$b(e.entries,e.state),n=new Map(e.entries.map(r=>[r.action.id,r]));for(const r of ii){const s=t[r].get(e.shortcut);if(!s)continue;const i=n.get(s);if(i)return Fb(e.target)&&!i.action.allowInInputs?null:(e.runAction(s,{action:{id:i.action.id,label:i.action.label},appId:e.state.activeAppId,viewId:e.state.focusedViewId??void 0,selection:e.state.selection??void 0,invokedVia:"keyboard",dispatch:e.dispatch??(()=>{})}),s)}return null}let Mt=q(null);function Hb(){return o(Mt)}function Kb(e){return{get(){return o(Mt)},set(t){y(Mt,{type:t.type,ref:t.ref,ownerShardId:e},!0)},clear(){if(o(Mt)){if(o(Mt).ownerShardId!==e){console.warn(`[sh3] Shard "${e}" tried to clear selection owned by "${o(Mt).ownerShardId}". Ignoring.`);return}y(Mt,null)}}}}function Wb(e){o(Mt)&&o(Mt).ownerShardId===e&&y(Mt,null)}function Yb(){y(Mt,null)}const Ds=new Map,$u=new Set;function Gb(e){$u.add(e)}function Xb(e,t){if(Ds.has(e))throw new Error(`View "${e}" is already registered`);Ds.set(e,t);for(const n of $u)n(e,t)}function Fu(e){return Ds.get(e)}function Jb(e){Ds.delete(e)}const jr=new Map;function Zb(e,t){if(jr.has(e))throw new Error(`Verb "${e}" is already registered`);jr.set(e,t)}function ml(e){return jr.get(e)}function Qb(e){jr.delete(e)}function eo(){return Array.from(jr.values()).sort((e,t)=>e.name.localeCompare(t.name))}function lr(e,t){const n=(r,s)=>{if(r.type==="tabs"){const i=r.tabs.findIndex(a=>a.slotId===t);if(i>=0)return{tabsNode:r,tabsPath:s,tabIndex:i,entry:r.tabs[i]}}else if(r.type==="split")for(let i=0;i<r.children.length;i++){const a=n(r.children[i],[...s,i]);if(a)return a}return null};return n(e,[])}function to(e,t){if(aa(e.docked,t))return{kind:"docked"};for(const n of e.floats)if(aa(n.content,t))return{kind:"float",floatId:n.id};return null}function aa(e,t){if(e.type==="slot")return e.slotId===t;if(e.type==="tabs")return e.tabs.some(n=>n.slotId===t);for(const n of e.children)if(aa(n,t))return!0;return!1}function ai(e,t){const n=lr(e,t);if(!n)return null;const{tabsNode:r,tabIndex:s,entry:i}=n;return r.tabs.splice(s,1),r.tabs.length===0?r.activeTab=0:s<r.activeTab?r.activeTab-=1:r.activeTab>=r.tabs.length&&(r.activeTab=r.tabs.length-1),i}function e_(e,t,n){const r=Math.max(0,Math.min(n,e.tabs.length));e.tabs.splice(r,0,t),e.activeTab=r}function t_(e,t,n){const r=e.tabs.slice(),[s]=r.splice(t,1),i=Math.max(0,Math.min(n,r.length));r.splice(i,0,s),e.tabs=r,e.activeTab=i}function gl(e,t,n){const r=n==="left"||n==="right"?"horizontal":"vertical",s={type:"tabs",activeTab:0,tabs:[t]};return{type:"split",direction:r,sizes:[1,1],children:n==="left"||n==="top"?[s,e]:[e,s]}}function n_(e){if(e.type==="tabs")return{...e,tabs:[...e.tabs]};if(e.type==="split"){const t={...e,children:[...e.children],sizes:[...e.sizes]};return e.pinned&&(t.pinned=[...e.pinned]),e.collapsed&&(t.collapsed=[...e.collapsed]),t}return{...e}}function Uu(e,t,n,r){const s=Ms(e,t);if(!s)return;if(t.length===0){const u=n_(s),d=gl(u,n,r),f=e;delete f.tabs,delete f.activeTab,delete f.slotId,delete f.viewId,delete f.direction,delete f.sizes,delete f.pinned,delete f.collapsed,delete f.children,Object.assign(f,d);return}const i=gl(s,n,r),a=t.slice(0,-1),l=t[t.length-1],c=Ms(e,a);!c||c.type!=="split"||(c.children[l]=i)}function Ms(e,t){let n=e;for(const r of t){if(n.type!=="split"||r<0||r>=n.children.length)return null;n=n.children[r]}return n}function Qn(e){let t=!0;for(;t;)t=Hu(e,null,0)}function Hu(e,t,n){if(e.type==="split"){let r=!1;for(let s=0;s<e.children.length;s++)Hu(e.children[s],e,s)&&(r=!0);for(let s=e.children.length-1;s>=0;s--){const i=e.children[s];i.type==="tabs"&&i.tabs.length===0&&!i.persistent&&(e.children.splice(s,1),e.sizes.splice(s,1),e.pinned&&e.pinned.splice(s,1),e.collapsed&&e.collapsed.splice(s,1),r=!0)}if(e.children.length<=1&&t)return e.children.length===1?t.children[n]=e.children[0]:(t.children.splice(n,1),t.sizes.splice(n,1),t.pinned&&t.pinned.splice(n,1),t.collapsed&&t.collapsed.splice(n,1)),!0;if(e.children.length===1&&!t){const s=e.children[0],i=e;return delete i.direction,delete i.sizes,delete i.pinned,delete i.collapsed,delete i.children,Object.assign(i,s),!0}return r}return e.type==="tabs",!1}const pn=new Map,gs=new Set;function r_(e,t){for(const[n,r]of pn.entries()){if(r.viewId!==e||r.handle!==void 0)continue;const s={slotId:n,viewId:e,label:r.label,meta:r.meta,setDirty(i){oi[n]=i},location(){return to(St(),n)}};queueMicrotask(()=>{if(pn.has(n)&&r.handle===void 0&&(r.handle=t.mount(r.host,s),(r.handle?.closable||n.startsWith("float:"))&&(li[n]=!0),r.handle?.onResize)){const i=r.handle.onResize.bind(r.handle);r.resizeObserver=new ResizeObserver(a=>{for(const l of a){const c=l.contentRect;i(Math.round(c.width),Math.round(c.height))}}),r.resizeObserver.observe(r.host)}})}}Gb(r_);const oi=le({}),li=le({});function s_(e,t,n,r){const s=document.createElement("div");s.className="slot-host",s.dataset.slotId=e,t&&s.setAttribute("data-sh3-view",t),s.style.position="absolute",s.style.inset="0",s.style.minWidth="0",s.style.minHeight="0";let i=!1;const a={host:s,handle:void 0,viewId:t,label:n,meta:r,refcount:0,resizeObserver:void 0,cancelPendingMount:()=>{i=!0}};return queueMicrotask(()=>{if(i)return;const l=t?Fu(t):void 0,c={slotId:e,viewId:t??"",label:n,meta:r,setDirty(u){oi[e]=u},location(){return to(St(),e)}};if(a.handle=l?.mount(s,c),(a.handle?.closable||e.startsWith("float:"))&&(li[e]=!0),a.handle?.onResize){const u=a.handle.onResize.bind(a.handle);a.resizeObserver=new ResizeObserver(d=>{for(const f of d){const p=f.contentRect;u(Math.round(p.width),Math.round(p.height))}}),a.resizeObserver.observe(s)}}),a}function no(e,t,n,r){gs.delete(e);let s=pn.get(e);return s?s.viewId!==t&&(console.warn(`[sh3] acquireSlotHost("${e}") called with viewId "${t}" but existing pooled entry has viewId "${s.viewId}". Attribute synced; view handle unchanged.`),s.viewId=t,t?s.host.setAttribute("data-sh3-view",t):s.host.removeAttribute("data-sh3-view")):(s=s_(e,t,n,r),pn.set(e,s)),s.refcount++,s.host}function ro(e){const t=pn.get(e);if(t){if(t.refcount--,t.refcount>0){t.host.remove();return}gs.add(e),queueMicrotask(()=>{if(!gs.has(e))return;gs.delete(e);const n=pn.get(e);!n||n.refcount>0||(n.resizeObserver?.disconnect(),n.handle?.unmount(),n.cancelPendingMount(),n.host.remove(),pn.delete(e),delete oi[e],delete li[e])})}}function Ku(e){const t=oa.get(e);return t||pn.get(e)?.handle}function i_(e){return oi[e]??!1}function a_(e){return oa.has(e)?!!oa.get(e).closable:li[e]??!1}const oa=new Map;function Wu(e){if(!e||typeof e!="object")return!1;const t=e.type;return t==="split"||t==="tabs"||t==="slot"}function o_(e){if(!e||typeof e!="object")return!1;const t=e;return Wu(t.docked)&&Array.isArray(t.floats)}function l_(e){return{docked:e,floats:[]}}function c_(e){const t={};if(e.tree&&(t.default=e.tree),e.variants)for(const n of Object.keys(e.variants))t[n]=e.variants[n];if(!t.default)throw new Error(`LayoutPreset "${e.name}" must provide either 'tree' or 'variants.default'`);return{name:e.name,variants:t}}function Yu(e){if(Array.isArray(e))return e.map(c_);if(o_(e))return[{name:"default",variants:{default:e}}];if(Wu(e))return[{name:"default",variants:{default:l_(e)}}];throw new Error("normalizeInitialLayout: input is not a LayoutNode, LayoutTree, or LayoutPreset[]")}function bl(e){const t=[],n=r=>{if(r.type==="slot"){t.push({slotId:r.slotId,viewId:r.viewId,label:r.viewId||r.slotId});return}if(r.type==="tabs"){for(const s of r.tabs)t.push({slotId:s.slotId,viewId:s.viewId,label:s.label,meta:s.meta});return}for(const s of r.children)n(s)};return n(e),t}function so(e){const t=bl(e.docked);for(const n of e.floats)t.push(...bl(n.content));return t}const gn=le(new Map),Lt=le({id:null}),la=le({id:null});function u_(){return la.id}function io(e){gn.set(e.manifest.id,e)}function ao(){return Array.from(gn.values()).map(e=>e.manifest)}function Gu(){const e=Lt.id;return e?gn.get(e)?.manifest??null:null}function bn(e){return gn.get(e)}na("workspace","__shell__");const d_={type:"slot",slotId:"sh3core.home",viewId:"sh3core:home"},f_=le({docked:d_,floats:[]});let je=q(null),ci=q("home");function v_(e){if(!e||typeof e!="object")return null;const t=e;if(t.presets&&typeof t.presets=="object"&&typeof t.activePreset=="string")return t;if(t.root&&typeof t.layoutVersion=="number"){const n={docked:t.root,floats:[]};return{layoutVersion:t.layoutVersion,activePreset:"default",presets:{default:{default:n}}}}return null}function h_(e){const t=e.presets[e.activePreset];if(!t)throw new Error(`AppLayoutBlob active preset "${e.activePreset}" not found in presets map`);return t.default}function p_(e){if(o(je))throw new Error(`Layout manager cannot attach app "${e.manifest.id}": app "${o(je).appId}" is still attached`);const t=`__sh3core__:app:${e.manifest.id}`,n=Yu(e.initialLayout);if(n.length===0)throw new Error(`App "${e.manifest.id}" normalized to zero presets`);const r={layoutVersion:e.manifest.layoutVersion,activePreset:n[0].name,presets:Object.fromEntries(n.map(c=>[c.name,{...c.variants}]))},s=ng("workspace",t),i=v_(s);(i&&i.layoutVersion!==e.manifest.layoutVersion||s&&!i)&&na("workspace",t);const l=Zs(t,{workspace:r}).workspace;y(je,{appId:e.manifest.id,proxy:l,heldSlotIds:[]},!0),Bg(l)}function m_(){if(!o(je))throw new Error("acquireAppSlotHolds: no app attached");if(o(je).heldSlotIds.length>0)return;const e=h_(o(je).proxy),t=so(e);for(const{slotId:n,viewId:r,label:s,meta:i}of t)no(n,r,s,i),o(je).heldSlotIds.push(n)}function g_(){if(!o(je))throw new Error("resetActivePresetToDefault: no app attached");const e=bn(o(je).appId);if(!e)throw new Error(`resetActivePresetToDefault: attached app "${o(je).appId}" not in registry`);const t=Yu(e.initialLayout),n=o(je).proxy,r=n.activePreset;let s=t.find(l=>l.name===r);s||(s=t[0],n.activePreset=s.name);for(const l of o(je).heldSlotIds)ro(l);o(je).heldSlotIds=[];const i=structuredClone(s.variants.default);n.presets[n.activePreset].default=i;const a=so(i);for(const{slotId:l,viewId:c,label:u,meta:d}of a)no(l,c,u,d),o(je).heldSlotIds.push(l)}function Xu(){if(o(je)){Vg();for(const e of o(je).heldSlotIds)ro(e);y(je,null)}}function Ju(){y(ci,"home")}function _l(){if(!o(je))throw new Error("Cannot switchToApp: no app is attached");y(ci,"app")}const bs=U(()=>{if(o(ci)==="app"&&o(je)){const e=o(je).proxy,t=e.activePreset,n=e.presets[t];if(!n)throw new Error(`AppLayoutBlob active preset "${t}" not found in presets map`);return n.default}return f_});function St(){return o(bs)}function Zu(){return o(ci)}const _n={get root(){return o(bs).docked},get tree(){return o(bs)},get floats(){return o(bs).floats}};let Qu=q(null),ed=q(le(new Set)),_s=q(le(new Set)),td=q(le(new Set)),nd=q(null),rd=q(le({}));const b_=Bb(),ca=new Set;function pr(){for(const e of ca)try{e()}catch(t){console.error("[sh3] onActiveChange listener threw",t)}}function __(e){return ca.add(e),()=>{ca.delete(e)}}function y_(){pr()}function Os(e,t){y(Qu,e,!0),y(ed,new Set(t),!0),pr()}function w_(){const e=so(_n.tree),t=new Set;for(const n of e)n.viewId!==null&&t.add(n.viewId);y(td,t,!0),pr()}function sd(e){y(nd,e,!0),pr()}function Nr(e){y(rd,{...e},!0),pr()}function Xt(){return{activeAppId:o(Qu),activeAppRequiredShards:o(ed),autostartShards:o(_s),mountedViewIds:o(td),focusedViewId:o(nd),selection:Hb(),bindings:o(rd),platform:b_}}function k_(e){o(_s).has(e)||(y(_s,new Set([...o(_s),e]),!0),pr())}var S_=C('<div class="sh3-ctx-sep svelte-1667pfa" role="separator"></div>'),x_=C('<span class="sh3-ctx-shortcut svelte-1667pfa"> </span>'),E_=C('<button role="menuitem"><span class="sh3-ctx-label svelte-1667pfa"> </span> <!></button>'),I_=C("<!> <!>",1),A_=C('<div class="sh3-context-menu svelte-1667pfa" role="menu" tabindex="0"></div>');function id(e,t){ne(t,!0);const n=U(()=>t.sections.flatMap(a=>a.items));let r=q(0);function s(a){if(a.key==="ArrowDown")y(r,(o(r)+1)%o(n).length),a.preventDefault();else if(a.key==="ArrowUp")y(r,(o(r)-1+o(n).length)%o(n).length),a.preventDefault();else if(a.key==="Enter")o(n)[o(r)]&&(t.onInvoke(o(n)[o(r)].id),t.onDismiss()),a.preventDefault();else if(a.key==="Escape")t.onDismiss(),a.preventDefault();else if(a.key.length===1){const l=a.key.toLowerCase(),c=(o(r)+1)%o(n).length;for(let u=0;u<o(n).length;u++){const d=(c+u)%o(n).length;if(o(n)[d].label.toLowerCase().startsWith(l)){y(r,d);break}}}}var i=A_();fr(i,!0),ce(i,23,()=>t.sections,a=>a.id,(a,l,c)=>{var u=I_(),d=pe(u);{var f=m=>{var b=S_();I(m,b)};$(d,m=>{o(c)>0&&m(f)})}var p=E(d,2);ce(p,17,()=>o(l).items,m=>m.id,(m,b)=>{const g=U(()=>o(n).indexOf(o(b)));var x=E_();let k;var S=h(x),w=h(S,!0);v(S);var R=E(S,2);{var M=A=>{var _=x_(),O=h(_,!0);v(_),z(()=>L(O,o(b).shortcut)),I(A,_)};$(R,A=>{o(b).shortcut&&A(M)})}v(x),z(()=>{k=ye(x,1,"sh3-ctx-item svelte-1667pfa",null,k,{"sh3-ctx-active":o(g)===o(r)}),L(w,o(b).label)}),Qe("pointerenter",x,()=>{y(r,o(g),!0)}),F("click",x,()=>{t.onInvoke(o(b).id),t.onDismiss()}),I(m,x)}),I(a,u)}),v(i),F("keydown",i,s),I(e,i),re()}ue(["keydown","click"]);function C_(e,t){ne(t,!0);const n=U(()=>t.model.tiers.map(r=>({id:`tier:${r.tier}`,items:r.items.map(s=>({...s,icon:void 0}))})));id(e,{get sections(){return o(n)},get onInvoke(){return t.onInvoke},get onDismiss(){return t.onClose}}),re()}function T_(e,t){const n={element:[],focus:[],view:[],app:[],home:[]},r=new Set;for(const s of e){if(!s.action.contextItem||r.has(s.action.id))continue;const i=si(s.action.scope,t,s.ownerShardId);i&&(r.add(s.action.id),n[ri(i)].push({id:s.action.id,label:s.action.label,shortcut:ni(s.action,t.bindings,t.platform),group:s.action.group??""}))}return{tiers:ii.map(s=>({tier:s,items:n[s]})).filter(s=>s.items.length>0)}}function R_(e,t){if(!t)return 0;const n=e.toLowerCase(),r=t.toLowerCase();let s=0,i=0,a=0,l=0,c=-2;for(;s<n.length&&i<r.length;){if(n[s]===r[i]){const u=s===0?5:0,d=s===c+1?++l:l=1;a+=1+u+d,c=s,i++}else l=0;s++}return i===r.length?a:null}function P_(e,t,n){const r=[];for(const i of e){const a=R_(i.label,t);a!==null&&r.push({...i,score:a})}const s=new Map;return n.forEach((i,a)=>s.set(i,n.length-a)),r.sort((i,a)=>{if(i.score!==a.score)return a.score-i.score;const l=s.get(i.id)??0;return(s.get(a.id)??0)-l}),r}var D_=C('<span class="sh3-palette-badge svelte-1qdcgk6"> </span>'),M_=C('<span class="sh3-palette-shortcut svelte-1qdcgk6"> </span>'),O_=C('<button role="option"><span class="sh3-palette-label svelte-1qdcgk6"> </span> <!> <!></button>'),L_=C('<div class="sh3-palette svelte-1qdcgk6" role="dialog" aria-label="Command palette" aria-modal="true" tabindex="-1"><input class="sh3-palette-input hell-base-input svelte-1qdcgk6" placeholder="Command…"/> <div class="sh3-palette-list svelte-1qdcgk6" role="listbox"></div></div>');function j_(e,t){ne(t,!0);let n=We(t,"prefill",3,""),r=q(le(n())),s=q(0);const i=U(()=>P_(t.candidates,o(r),t.recency));Ie(()=>{o(s)>=o(i).length&&y(s,0)});function a(d){d.key==="ArrowDown"?(y(s,Math.min(o(s)+1,Math.max(0,o(i).length-1)),!0),d.preventDefault()):d.key==="ArrowUp"?(y(s,Math.max(o(s)-1,0),!0),d.preventDefault()):d.key==="Enter"?(o(i)[o(s)]&&(t.onInvoke(o(i)[o(s)].id),t.onClose()),d.preventDefault()):d.key==="Escape"&&(t.onClose(),d.preventDefault())}var l=L_(),c=h(l);Se(c),fr(c,!0);var u=E(c,2);ce(u,23,()=>o(i),d=>d.id,(d,f,p)=>{var m=O_();let b;var g=h(m),x=h(g,!0);v(g);var k=E(g,2);{var S=M=>{var A=D_(),_=h(A);v(A),z(()=>L(_,`[${o(f).scopeBadge??""}]`)),I(M,A)};$(k,M=>{o(f).scopeBadge&&M(S)})}var w=E(k,2);{var R=M=>{var A=M_(),_=h(A,!0);v(A),z(()=>L(_,o(f).shortcut)),I(M,A)};$(w,M=>{o(f).shortcut&&M(R)})}v(m),z(()=>{b=ye(m,1,"sh3-palette-item svelte-1qdcgk6",null,b,{"sh3-palette-active":o(p)===o(s)}),be(m,"aria-selected",o(p)===o(s)),L(x,o(f).label)}),Qe("pointerenter",m,()=>y(s,o(p),!0)),F("click",m,()=>{t.onInvoke(o(f).id),t.onClose()}),I(d,m)}),v(u),v(l),F("keydown",l,a),Me(c,()=>o(r),d=>y(r,d)),I(e,l),re()}ue(["keydown","click"]);function N_(e,t){const n=[],r=new Set;for(const s of e){if(s.action.paletteItem===!1||r.has(s.action.id))continue;const i=si(s.action.scope,t,s.ownerShardId);i&&(r.add(s.action.id),n.push({id:s.action.id,label:s.action.label,shortcut:ni(s.action,t.bindings,t.platform),scopeBadge:Bu(i)}))}return n}let yl=!1;function ad(e){return e?e.closest("[data-sh3-view]")?.getAttribute("data-sh3-view")??null:null}function od(e,t){const n=Jt().find(r=>r.action.id===e);if(n)try{n.action.run(t)}catch(r){console.error(`[sh3] action "${e}" threw:`,r)}}function ui(e){const t=Jt().find(r=>r.action.id===e);if(!t){console.warn(`[sh3] ctx.dispatch("${e}") — no action registered with that id.`);return}const n=Xt();od(e,{action:{id:t.action.id,label:t.action.label},appId:n.activeAppId,viewId:n.focusedViewId??void 0,selection:n.selection??void 0,invokedVia:"programmatic",dispatch:ui})}function z_(e){const t=ad(e.target);sd(t)}function q_(e){queueMicrotask(()=>{const t=ad(document.activeElement);sd(t)})}function B_(e){return e instanceof Element?e.closest('[data-sh3-context-menu="native"]')!==null:!1}function ld(e){if(B_(e.target))return;const t=Jt(),n=Xt(),r=T_(t,n);if(r.tiers.length===0)return;e.preventDefault();const s=di.popup.show(C_,{anchor:{x:e.clientX,y:e.clientY}},{model:r,onInvoke:i=>{const a=Jt().find(l=>l.action.id===i);if(a)try{a.action.run({action:{id:i,label:a.action.label},appId:n.activeAppId,viewId:n.focusedViewId??void 0,selection:n.selection??void 0,invokedVia:"context-menu",dispatch:ui})}catch(l){console.error(`[sh3] context-menu action "${i}" threw:`,l)}},onClose:()=>s.close()})}function V_(e){const t=qb(e);if(!t)return;const n=Jt(),r=Xt();Ub({target:e.target,shortcut:t,state:r,entries:n,runAction:od,dispatch:ui})&&e.preventDefault()}function cd(){yl||(yl=!0,document.addEventListener("keydown",V_),document.addEventListener("focusin",z_),document.addEventListener("focusout",q_),document.addEventListener("contextmenu",ld))}function oo(e){const t={target:null,clientX:e.x,clientY:e.y,preventDefault:()=>{}};ld(t)}const $_=20;let ua=[];function F_(e){ua=[e,...ua.filter(t=>t!==e)].slice(0,$_)}function lo(e){const t=Jt(),n=Xt(),r=N_(t,n),s=di.modal.open(j_,{candidates:r,recency:ua,prefill:e?.prefill??"",onInvoke:i=>{const a=Jt().find(l=>l.action.id===i);if(a){F_(i);try{a.action.run({action:{id:i,label:a.action.label},appId:n.activeAppId,viewId:n.focusedViewId??void 0,selection:n.selection??void 0,invokedVia:"palette",dispatch:ui})}catch(l){console.error(`[sh3] palette action "${i}" threw:`,l)}}},onClose:()=>s.close()},{dismissOnBackdrop:!0})}const U_=Object.freeze(Object.defineProperty({__proto__:null,attachGlobalListeners:cd,openContextMenu:oo,openPalette:lo},Symbol.toStringTag,{value:"Module"}));function H_(e,t){const n={element:[],focus:[],view:[],app:[],home:[]},r=new Set;for(const s of e){if(r.has(s.action.id))continue;const i=si(s.action.scope,t,s.ownerShardId);if(!i)continue;r.add(s.action.id);const{shortcut:a,source:l}=Vb(s.action,t.bindings,t.platform);n[ri(i)].push({id:s.action.id,label:s.action.label,effectiveShortcut:a,bindingSource:l,scope:i,scopeBadge:Bu(i),group:s.action.group,icon:s.action.icon,ownerShardId:s.ownerShardId,paletteItem:s.action.paletteItem!==!1,contextItem:s.action.contextItem!==!1})}return ii.flatMap(s=>n[s])}const K_={async rebind(e,t,n){await hl(e,t,n),Xt().activeAppId===e&&Nr(await tr(e))},async resetBinding(e,t){await hl(e,t,void 0),Xt().activeAppId===e&&Nr(await tr(e))},async bindingsFor(e){const t=await tr(e),n={};for(const[r,s]of Object.entries(t))s!==null&&(n[r]=s);return n},openContextMenu:oo,openPalette:lo,listActive(){return H_(Jt(),Xt())},onActiveChange(e){const t=__(e),n=jb(()=>{y_()});return()=>{t(),n()}}},di={state:Zs,modal:Ya,popup:sa,toast:Ag,float:Pt,presets:Hg,conflicts:Rb,color:Mb,actions:K_};function as(e,t,n){return`${e}/${t}/${n}`}function W_(e,t){return`${e}/${t}/`}const Y_="sh3-documents",Ut="docs",G_=2;class X_{#e=null;#t(){return this.#e||(this.#e=new Promise((t,n)=>{const r=indexedDB.open(Y_,G_);r.onupgradeneeded=()=>{const s=r.result;s.objectStoreNames.contains(Ut)||s.createObjectStore(Ut)},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})),this.#e}async#n(t,n){const r=await this.#t();return new Promise((s,i)=>{const l=r.transaction(Ut,t).objectStore(Ut),c=n(l);c.onsuccess=()=>s(c.result),c.onerror=()=>i(c.error)})}async read(t,n,r){const s=as(t,n,r),i=await this.#n("readonly",a=>a.get(s));return i?i.content:null}async write(t,n,r,s){const i=as(t,n,r),a=typeof s=="string"?new Blob([s]).size:s.byteLength,l={content:s,size:a,lastModified:Date.now()};await this.#n("readwrite",c=>c.put(l,i))}async delete(t,n,r){const s=as(t,n,r);await this.#n("readwrite",i=>i.delete(s))}async list(t,n){const r=W_(t,n),s=await this.#t();return new Promise((i,a)=>{const c=s.transaction(Ut,"readonly").objectStore(Ut),u=IDBKeyRange.bound(r,r+"￿",!1,!1),d=c.openCursor(u),f=[];d.onsuccess=()=>{const p=d.result;if(p){const m=p.value;f.push({path:p.key.slice(r.length),size:m.size,lastModified:m.lastModified}),p.continue()}else i(f)},d.onerror=()=>a(d.error)})}async exists(t,n,r){const s=as(t,n,r);return await this.#n("readonly",a=>a.getKey(s))!==void 0}async listAllShards(t){const n=`${t}/`,r=await this.#t();return new Promise((s,i)=>{const l=r.transaction(Ut,"readonly").objectStore(Ut),c=IDBKeyRange.bound(n,n+"￿",!1,!1),u=l.openKeyCursor(c),d=new Set;u.onsuccess=()=>{const f=u.result;if(f){const p=f.key.slice(n.length),m=p.indexOf("/");m>=0&&d.add(p.slice(0,m)),f.continue()}else s([...d])},u.onerror=()=>i(u.error)})}async listAllDocuments(t){const n=`${t}/`,r=await this.#t();return new Promise((s,i)=>{const l=r.transaction(Ut,"readonly").objectStore(Ut),c=IDBKeyRange.bound(n,n+"￿",!1,!1),u=l.openCursor(c),d=[];u.onsuccess=()=>{const f=u.result;if(f){const p=f.key.slice(n.length),m=p.indexOf("/");if(m>=0){const b=f.value;d.push({shardId:p.slice(0,m),path:p.slice(m+1),size:b.size,lastModified:b.lastModified})}f.continue()}else s(d)},u.onerror=()=>i(u.error)})}}class J_{#e;#t;constructor(t,n){this.#e=t.replace(/\/$/,""),this.#t=n}async read(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`,i=await fetch(s,{credentials:"include"});if(i.status===404)return null;if(!i.ok)throw new Error(`Document read failed: ${i.status}`);return(i.headers.get("content-type")??"").includes("application/octet-stream")?i.arrayBuffer():i.text()}async write(t,n,r,s){const i=`${this.#e}/api/docs/${t}/${n}/${r}`,a={...this.#n(),"Content-Type":typeof s=="string"?"text/plain":"application/octet-stream"},l=await fetch(i,{method:"PUT",headers:a,body:s,credentials:"include"});if(!l.ok)throw new Error(`Document write failed: ${l.status}`)}async delete(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`,i=await fetch(s,{method:"DELETE",headers:this.#n(),credentials:"include"});if(!i.ok)throw new Error(`Document delete failed: ${i.status}`)}async list(t,n){const r=`${this.#e}/api/docs/${t}/${n}`,s=await fetch(r,{credentials:"include"});if(!s.ok)throw new Error(`Document list failed: ${s.status}`);return s.json()}async exists(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`;return(await fetch(s,{method:"HEAD",credentials:"include"})).ok}async listAllShards(t){const n=`${this.#e}/api/docs/${t}/_shards`,r=await fetch(n,{credentials:"include"});if(!r.ok)throw new Error(`listAllShards failed: ${r.status}`);return r.json()}async listAllDocuments(t){const n=`${this.#e}/api/docs/${t}/_all`,r=await fetch(n,{credentials:"include"});if(!r.ok)throw new Error(`listAllDocuments failed: ${r.status}`);return r.json()}async readMeta(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}?meta=1`,i=await fetch(s,{credentials:"include"});if(!i.ok)throw new Error(`readMeta failed: ${i.status}`);const a=await i.json();return a.exists?a:null}async resolve(t,n,r,s){const i=`${this.#e}/api/docs/${t}/${n}/${r}/resolve`,a=typeof s=="string"?{choice:s}:{choice:s.origin},l=await fetch(i,{method:"POST",credentials:"include",headers:{...this.#n(),"Content-Type":"application/json"},body:JSON.stringify(a)});if(!l.ok)throw new Error(`resolve failed: ${l.status}`)}async readBranch(t,n,r,s){const i=`${this.#e}/api/docs/${t}/${n}/${r}/branch?origin=${encodeURIComponent(s)}`,a=await fetch(i,{credentials:"include"});if(a.status===404)return null;if(!a.ok)throw new Error(`readBranch failed: ${a.status}`);return a.text()}#n(){return this.#t?{Authorization:`Bearer ${this.#t}`}:{}}}class Z_{#e=new Set;subscribe(t){return this.#e.add(t),()=>{this.#e.delete(t)}}emit(t){for(const n of this.#e)try{n(t)}catch(r){console.error("SH3: document change listener threw",r)}}}const Tr=new Z_,Q_=1e3;function ey(e,t,n,r){const s=new Set,i=new Set;function a(u){return!r.extensions||r.extensions.length===0?!0:r.extensions.some(d=>u.endsWith(d))}function l(u,d){Tr.emit({type:u,path:d,tenantId:e,shardId:t})}const c={async list(){const u=await n.list(e,t);return!r.extensions||r.extensions.length===0?u:u.filter(d=>a(d.path))},async read(u){const d=await n.read(e,t,u);return d===null?null:typeof d=="string"?d:new TextDecoder().decode(d)},async write(u,d){const f=await n.exists(e,t,u);await n.write(e,t,u,d),l(f?"update":"create",u)},async delete(u){await n.delete(e,t,u),l("delete",u)},async exists(u){return n.exists(e,t,u)},async status(u){if(!n.readMeta)throw new Error("Backend does not support status()");return n.readMeta(e,t,u)},async resolveConflict(u,d){if(!n.resolve)throw new Error("Backend does not support resolveConflict()");if(typeof d!="string"&&!(typeof d=="object"&&"origin"in d))throw new Error("choice must be a string or { origin } object");return n.resolve(e,t,u,d)},async readBranch(u,d){if(!n.readBranch)throw new Error("Backend does not support readBranch()");return n.readBranch(e,t,u,d)},watch(u){const d=Tr.subscribe(f=>{f.tenantId===e&&f.shardId===t&&a(f.path)&&u(f)});return i.add(d),()=>{d(),i.delete(d)}},autosave(u,d){const f=new ty(c,u,d?.debounceMs??Q_);return s.add(f),f},async dispose(){const u=[...s].map(d=>d.dispose());await Promise.all(u),s.clear();for(const d of i)d();i.clear()}};return c}class ty{#e;#t;#n;#i=null;#s=null;#a=!1;#r=!1;constructor(t,n,r){this.#e=t,this.#t=n,this.#n=r}get dirty(){return this.#a}update(t){this.#r||(this.#i=t,this.#a=!0,this.#o())}async flush(){if(this.#l(),this.#i!==null){const t=this.#i;this.#i=null,this.#a=!1,await this.#e.write(this.#t,t)}}async dispose(){this.#r||(this.#r=!0,await this.flush())}#o(){this.#l(),this.#s=setTimeout(()=>{this.#s=null,this.flush()},this.#n)}#l(){this.#s!==null&&(clearTimeout(this.#s),this.#s=null)}}const ny="local";let ud=ny,dd=new X_;function ji(){return ud}function wl(){return dd}function Ni(e){ud=e}function ry(e){dd=e}const sy="sync:peer",iy="sync:policy";let mr=q(null),Zt=q(null),gr=q(!1),fi="",da=null;function kl(e,t){fi=e,da=t.auth,y(mr,t.user,!0),y(Zt,t.session,!0),y(gr,!t.session&&!t.user,!0)}async function fd(e,t){try{const n=await fetch(`${fi}/api/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:e,password:t})});if(!n.ok)return{ok:!1,error:(await n.json().catch(()=>({}))).error||"Login failed"};const r=await n.json();return y(mr,r.user,!0),y(Zt,r.session,!0),y(gr,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function ay(e,t,n){try{const r=await fetch(`${fi}/api/auth/register`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:e,password:t,displayName:n})});if(!r.ok)return{ok:!1,error:(await r.json().catch(()=>({}))).error||"Registration failed"};const s=await r.json();return y(mr,s.user,!0),y(Zt,s.session,!0),y(gr,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function oy(){try{await fetch(`${fi}/api/auth/logout`,{method:"POST",credentials:"include"})}catch{}if(da?.required&&!da.guestAllowed){window.location.reload();return}y(mr,null),y(Zt,null),y(gr,!0)}function ly(){y(mr,{id:"local",username:"local",displayName:"Local Owner",role:"admin",createdAt:"",updatedAt:""},!0),y(Zt,{token:"local",userId:"local",role:"admin",expiresAt:1/0},!0),y(gr,!1)}function cy(){return o(Zt)?.token==="local"}function un(){return o(Zt)?.role==="admin"}function fa(){return o(Zt)!==null}function vd(){return o(gr)}function vi(){return o(mr)}function hi(){return o(Zt)?`Bearer ${o(Zt).token}`:null}let br="";function hd(e){br=e}async function uy(e){const t=await fetch(`${br}/api/env-state/${encodeURIComponent(e)}`);return t.ok?await t.json():(console.warn(`[sh3] Failed to fetch env state for "${e}": HTTP ${t.status}`),{})}async function dy(e,t){if(!un())throw new Error("Cannot update env state: not elevated to admin");const n=hi(),r={"Content-Type":"application/json"};n&&(r.Authorization=n);const s=await fetch(`${br}/api/env-state/${encodeURIComponent(e)}`,{method:"PUT",headers:r,body:JSON.stringify(t)});if(!s.ok){const i=await s.json().catch(()=>({}));throw new Error(`Env state update failed: HTTP ${s.status} — ${i.error??"unknown"}`)}}async function co(e,t,n){if(!un())throw new Error("Cannot install: not elevated to admin");const r=hi(),s=new FormData;s.append("manifest",new Blob([JSON.stringify(e)],{type:"application/json"}),"manifest.json"),s.append("client",new Blob([t],{type:"application/javascript"}),"client.js"),n!==void 0&&s.append("server",new Blob([n],{type:"application/javascript"}),"server.js");const i={};r&&(i.Authorization=r);const a=await fetch(`${br}/api/packages/install`,{method:"POST",headers:i,body:s});if(!a.ok){let l={};try{l=await a.json()}catch{}return{ok:!1,error:typeof l.error=="string"?l.error:`HTTP ${a.status}`,code:typeof l.code=="string"?l.code:void 0,missing:Array.isArray(l.missing)?l.missing:void 0}}return{ok:!0}}async function pd(e){if(!un())throw new Error("Cannot uninstall: not elevated to admin");const t=hi(),n={"Content-Type":"application/json"};t&&(n.Authorization=t);const r=await fetch(`${br}/api/packages/uninstall`,{method:"POST",headers:n,body:JSON.stringify({id:e})});if(!r.ok){const s=await r.json().catch(()=>({}));throw new Error(`Uninstall failed: HTTP ${r.status} — ${s.error??"unknown"}`)}}async function fy(){const e=await fetch(`${br}/api/packages`);return e.ok?await e.json():[]}function vy(e){return Ft[e].list()}function hy(e,t){return Ft[e].read(t)}function py(e,t){Ft[e].delete(t)}function my(e){for(const t of Ft[e].list())Ft[e].delete(t)}function md(){return{list:vy,peek:hy,clear:py,clearAll:my}}const gd="documents:browse",bd="documents:read",_d="documents:write";function gy(e,t,n={canRead:!1,canWrite:!1}){const r={listDocuments:()=>t.listAllDocuments(e),listShards:()=>t.listAllShards(e),watchDocuments:s=>Tr.subscribe(i=>{i.tenantId===e&&s(i)})};return n.canRead&&(r.readFrom=(s,i)=>t.read(e,s,i),r.statusFrom=async(s,i)=>t.readMeta?t.readMeta(e,s,i):null,r.readBranchFrom=async(s,i,a)=>t.readBranch?t.readBranch(e,s,i,a):null),n.canWrite&&(r.writeTo=async(s,i,a)=>{const l=await t.exists(e,s,i);await t.write(e,s,i,a),Tr.emit({type:l?"update":"create",path:i,tenantId:e,shardId:s})},r.resolveConflictFrom=async(s,i,a)=>{if(!t.resolve)throw new Error("Backend does not support resolveConflict");await t.resolve(e,s,i,a),Tr.emit({type:"update",path:i,tenantId:e,shardId:s})}),r}const yd="keys:mint";class wd extends Error{constructor(t){super(`Shard may not mint a key with scope '${t}' — not declared in manifest.`),this.name="ScopeEscalationError"}}class kd extends Error{constructor(){super("User denied key creation."),this.name="ConsentDeniedError"}}const va=new Map;let Rr=null;function Sd(e){return Rr=e,()=>{Rr===e&&(Rr=null)}}async function by(e,t){if(!Rr)throw new Error("No consent listener registered — the shell must mount ConsentDialog.");const n=`c_${Math.random().toString(36).slice(2)}${Date.now()}`;return new Promise(r=>{va.set(n,{resolve:r}),Rr({...t,shardId:e,requestId:n})})}function ha(e,t){const n=va.get(e);n&&(va.delete(e),n.resolve(t))}const Ls=new Map,ys=new Map,_y=5e3;function yy(e,t){let n=ys.get(e);n||(n=new Set,ys.set(e,n)),n.add(t),setTimeout(()=>{n.delete(t),n.size===0&&ys.delete(e)},_y)}function wy(e,t){return ys.get(e)?.has(t)??!1}function uo(e,t){const n=Ls.get(e)??new Set;return n.add(t),Ls.set(e,n),()=>{n.delete(t)}}function xd(e,t){if(!e||wy(e,t))return;yy(e,t);const n=Ls.get(e);if(n)for(const s of n)s(t);const r=Ls.get("*");if(r)for(const s of r)s(t)}function ky(){if(typeof EventSource>"u")return()=>{};const e=new EventSource("/api/keys/events",{withCredentials:!0});return e.onmessage=t=>{try{const n=JSON.parse(t.data);xd(n.shardId,n.id)}catch{}},()=>e.close()}function Sy(e){const{shardId:t,shardPermissions:n}=e,r=s=>{for(const i of s)if(!n.includes(i)&&!n.includes("admin:*"))throw new wd(i)};return{async mint(s){if(r(s.scopes),!await by(t,s))throw new kd;const a=await fetch("/api/keys/consent",{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({shardId:t,...s})});if(!a.ok)throw new Error(`Consent ticket failed: ${a.status}`);const{ticket:l}=await a.json(),c=await fetch("/api/keys",{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({ticket:l})});if(!c.ok)throw new Error(`Mint failed: ${c.status}`);return c.json()},async list(){const s=await fetch("/api/keys",{credentials:"include"});if(!s.ok)throw new Error(`List failed: ${s.status}`);return(await s.json()).filter(a=>a.mintedByShardId===t)},async revoke(s){const i=await fetch(`/api/keys/${encodeURIComponent(s)}`,{method:"DELETE",credentials:"include"});if(!i.ok&&i.status!==404)throw new Error(`Revoke failed: ${i.status}`);xd(t,s)}}}const Qt=le(new Map),zr=new Map,Qr=le(new Map);function fo(e){const t=e.manifest.id;Qt.has(t)&&Qr.has(t)&&pi(t),Qt.set(t,e)}async function Ed(e){const t=Qt.get(e);if(!t)throw new Error(`Cannot activate shard "${e}": not registered`);if(zr.has(e))return;const n={shard:t,ctx:void 0,viewIds:new Set,verbNames:new Set,cleanupFns:[]},r=le({proxy:null,defaults:null}),s={register(a,l){const c=Ru(a,l);return n.cleanupFns.push(async()=>c()),c},list(a){return ti(a)},listPoints(){return Kg()},onChange(a,l){const c=Pu(a,l);return n.cleanupFns.push(async()=>c()),c}},i={state:a=>di.state(e,a),registerView:(a,l)=>{Xb(a,l),n.viewIds.add(a)},registerVerb:a=>{const l=e==="shell"?a.name:`${e}:${a.name}`;Zb(l,{...a,name:l}),n.verbNames.add(l)},documents:a=>{const l=ey(ji(),e,wl(),a);return n.cleanupFns.push(()=>l.dispose()),l},env(a){return r.proxy?(console.warn(`[sh3] Shard "${e}" called ctx.env() more than once; extra calls are ignored.`),r.proxy):(r.defaults=a,r.proxy={...a},r.proxy)},async envUpdate(a){if(!r.proxy||!r.defaults)throw new Error(`Shard "${e}" called envUpdate() without declaring env state`);const l=Nn(r.proxy);Object.assign(r.proxy,a);try{const c=Nn(r.proxy);await dy(e,c)}catch(c){throw Object.assign(r.proxy,l),c}},get isAdmin(){return un()},get tenantId(){return ji()},zones:t.manifest.permissions?.includes(Ka)?md():void 0,browse:t.manifest.permissions?.includes(gd)?gy(ji(),wl(),{canRead:t.manifest.permissions.includes(bd),canWrite:t.manifest.permissions.includes(_d)}):void 0,keys:t.manifest.permissions?.includes(yd)?Sy({shardId:e,shardPermissions:t.manifest.permissions??[]}):void 0,contributions:s,actions:{register(a){const l=Lb(a,e);return n.cleanupFns.push(async()=>l()),l},selection:Kb(e),openContextMenu(a){oo(a)},openPalette(a){lo(a)}}};if(n.ctx=i,t.onKeyRevoked){const a=uo(e,async l=>{try{await t.onKeyRevoked(l)}catch(c){console.error(`[sh3] onKeyRevoked failed in "${e}":`,c)}});n.cleanupFns.push(async()=>a())}zr.set(e,n),Qr.set(e,t),await t.activate(i);for(const a of t.manifest.views)if(!n.viewIds.has(a.id))throw new Error(`Shard "${e}" declared view "${a.id}" in its manifest but registered no factory for it.`);if(r.proxy&&r.defaults)try{const a=await uy(e),l=Object.assign({},r.defaults,a);Object.assign(r.proxy,l)}catch(a){console.warn(`[sh3] Failed to hydrate env state for shard "${e}":`,a instanceof Error?a.message:a)}t.autostart?.(i)}function pi(e){const t=zr.get(e);if(t){t.shard.deactivate?.();for(const n of t.cleanupFns)n();for(const n of t.verbNames)Qb(n);for(const n of t.viewIds)Jb(n);Wb(e),zr.delete(e),Qr.delete(e)}}function xy(e){return zr.get(e)?.ctx}function Sl(){const e=[];for(const t of Qr.values())for(const n of t.manifest.views)n.standalone&&e.push({shardId:t.manifest.id,viewId:n.id,label:n.label});return e}const Id=Zs("__sh3core__:last-app",{user:{id:null}});function Ey(){return Id.user.id}function js(e){Id.user.id=e}const pa=new Map;function os(e){let t=pa.get(e);if(!t){const n=bn(e);t={state:r=>Zs(`__app__:${e}`,r),zones:n?.manifest.permissions?.includes(Ka)?md():void 0},pa.set(e,t)}return t}async function Vn(e){const t=bn(e);if(!t)throw new Error(`Cannot launch app "${e}": not registered`);if(Lt.id&&Lt.id!==e)Ad(Lt.id);else if(Lt.id===e){for(const n of t.manifest.requiredShards){const r=Qt.get(n),s=xy(n);r&&s&&r.resume?.(s)}t.resume?.(os(e)),_l(),t.onAppReady?.(os(e)),js(e),la.id=e,Os(e,new Set(t.manifest.requiredShards??[])),tr(e).then(Nr);return}for(const n of t.manifest.requiredShards)if(!Qt.has(n))throw new Error(`App "${e}" requires shard "${n}" which is not registered`);p_(t);try{for(const n of t.manifest.requiredShards)await Ed(n)}catch(n){throw Xu(),n}m_(),t.activate?.(os(e)),Lt.id=e,Os(e,new Set(t.manifest.requiredShards??[])),tr(e).then(Nr),_l(),t.onAppReady?.(os(e)),js(e),la.id=e}function Ad(e){if(Lt.id!==e)return;const t=bn(e);if(t){t.deactivate?.(),Ju(),Xu();for(const n of t.manifest.requiredShards){const r=Qt.get(n);r&&(r.autostart||pi(n))}Lt.id=null,Os(null,new Set),Yb(),tr("sh3.home").then(Nr),pa.delete(e)}}function vo(e){gn.has(e)&&(Lt.id===e&&(Ad(e),js(null)),gn.delete(e))}async function Cd(){const e=Lt.id?bn(Lt.id):null;if(e){for(const t of e.manifest.requiredShards){const n=Qt.get(t);if(n?.suspend&&await n.suspend()===!1)return!1}if(e.suspend&&await e.suspend()===!1)return!1}return Ju(),Os(null,new Set),js(null),!0}const Iy="modulepreload",Ay=function(e){return"/"+e},xl={},Td=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),l=a?.nonce||a?.getAttribute("nonce");s=Promise.allSettled(n.map(c=>{if(c=Ay(c),c in xl)return;xl[c]=!0;const u=c.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":Iy,u||(f.as="script"),f.crossOrigin="",f.href=c,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((p,m)=>{f.addEventListener("load",p),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(a){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=a,window.dispatchEvent(l),!l.defaultPrevented)throw a}return s.then(a=>{for(const l of a||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})};function Rd(){return{root:St(),source:Zu()}}function Cy(e){const t=St().docked,n=po(t);if(!n)throw new Error("spliceIntoActiveLayout: no tabs group found in the active layout; phase 8 only supports splicing into an existing tab group.");n.tabs.push(e),n.activeTab=n.tabs.length-1}function Ty(e){const t=St();return gi(t.docked,n=>n.slotId===e)?!0:Pd(t,n=>n.slotId===e)}function mi(e){const t=St();return gi(t.docked,n=>n.viewId===e)?!0:Pd(t,n=>n.viewId===e)}function gi(e,t){if(e.type==="tabs"){const n=e.tabs.findIndex(t);return n>=0?(e.activeTab=n,!0):!1}if(e.type==="split"){for(const n of e.children)if(gi(n,t))return!0}return!1}function Pd(e,t){for(const n of e.floats)if(gi(n.content,t))return Pt.focus(n.id),!0;return!1}function Ry(e,t){return Dd(e,t,!0)}function Py(e,t){return Dd(e,t,!1)}function Dd(e,t,n){const r=St().docked,s=Ms(r,e);if(!s||s.type!=="split")return!1;const i=s;return t<0||t>=i.children.length?!1:(i.collapsed||(i.collapsed=i.children.map(()=>!1)),i.collapsed[t]=n,!0)}async function ho(e){const t=St(),n=t.docked;if(!lr(n,e))return Dy(t,e);const i=Ku(e)?.closable;return!i||typeof i=="object"&&(!await i.canClose()||!lr(n,e))?!1:(ai(n,e),Qn(n),!0)}async function Dy(e,t){for(const n of e.floats){if(!lr(n.content,t))continue;const i=Ku(t)?.closable;if(typeof i=="object"&&(!await i.canClose()||!lr(n.content,t)))return!1;ai(n.content,t);const a=n.content.type==="tabs"?n.content:null;return(!a||a.tabs.length===0)&&Pt.close(n.id),!0}return!1}function Md(e){const t=St(),n=lr(t.docked,e);if(!n)return null;const r=n.entry,s=r.viewId;if(!s)return null;const i=r.label,a=r.meta;return ai(t.docked,e),Qn(t.docked),Pt.open(s,{title:i,meta:a})}function Od(e){const n=St().floats.find(l=>l.id===e);if(!n)return!1;const r=n.content,s=r.type==="tabs"?r:null;if(!s||s.tabs.length===0)return Pt.close(e),!1;const i=s.tabs[s.activeTab??0]??s.tabs[0],a=mo({slotId:i.slotId,viewId:i.viewId,label:i.label,meta:i.meta});return a&&Pt.close(e),a}function po(e){if(e.type==="tabs")return e;if(e.type==="split")for(const t of e.children){const n=po(t);if(n)return n}return null}function Ld(e,t=[]){if(e.type==="slot")return e.viewId!==null?t:null;if(e.type==="split")for(let n=0;n<e.children.length;n++){const r=Ld(e.children[n],[...t,n]);if(r)return r}return null}function mo(e){const t=St().docked;if(mi(e.viewId??""))return!0;const n=po(t);if(n)return n.tabs.push(e),n.activeTab=n.tabs.length-1,!0;const r=Ld(t);return r?(Uu(t,r,e,"right"),!0):!1}function jd(e){return to(St(),e)}class ut extends Error{constructor(t,n){super(`Registry validation error at ${t}: ${n}`),this.name="RegistryValidationError",this.path=t}}function Nd(e){if(!e||typeof e!="object"||Array.isArray(e))throw new ut("$","expected an object");const t=e;if(t.version!==1)throw new ut("$.version",`expected 1, got ${JSON.stringify(t.version)}`);if(!Array.isArray(t.packages))throw new ut("$.packages","expected an array");return{version:1,packages:t.packages.map((r,s)=>My(r,`$.packages[${s}]`))}}function My(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new ut(t,"expected an object");const n=e;Ot(n,"id",t),jy(n,"type",["shard","app","combo"],t),Ot(n,"label",t),Ot(n,"description",t);const r=`${t}.author`;if(!n.author||typeof n.author!="object"||Array.isArray(n.author))throw new ut(r,"expected an object");const s=n.author;if(typeof s.name!="string"||s.name.length===0)throw new ut(`${r}.name`,"expected a non-empty string");if(!Array.isArray(n.versions)||n.versions.length===0)throw new ut(`${t}.versions`,"expected a non-empty array");const i=n.versions.map((a,l)=>Oy(a,`${t}.versions[${l}]`));return{id:n.id,type:n.type,label:n.label,description:n.description,author:{name:s.name},icon:typeof n.icon=="string"?n.icon:void 0,versions:i}}function Oy(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new ut(t,"expected an object");const n=e;Ot(n,"version",t),Ot(n,"contractVersion",t);const r="bundleUrl"in n&&n.bundleUrl!==void 0,s="integrity"in n&&n.integrity!==void 0;if(r&&Ot(n,"bundleUrl",t),s&&Ot(n,"integrity",t),r!==s)throw new ut(t,"bundleUrl and integrity must be provided together");const i="serverBundleUrl"in n&&n.serverBundleUrl!==void 0;if(i&&Ot(n,"serverBundleUrl",t),"serverIntegrity"in n&&n.serverIntegrity!==void 0&&Ot(n,"serverIntegrity",t),!r&&!i)throw new ut(t,"expected at least one of bundleUrl+integrity or serverBundleUrl");let a;if(n.requires!==void 0){if(!Array.isArray(n.requires))throw new ut(`${t}.requires`,"expected an array");a=n.requires.map((l,c)=>Ly(l,`${t}.requires[${c}]`))}return{version:n.version,contractVersion:n.contractVersion,bundleUrl:typeof n.bundleUrl=="string"?n.bundleUrl:void 0,integrity:typeof n.integrity=="string"?n.integrity:void 0,serverBundleUrl:typeof n.serverBundleUrl=="string"?n.serverBundleUrl:void 0,serverIntegrity:typeof n.serverIntegrity=="string"?n.serverIntegrity:void 0,requires:a}}function Ly(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new ut(t,"expected an object");const n=e;return Ot(n,"id",t),Ot(n,"versionRange",t),{id:n.id,versionRange:n.versionRange}}function Ot(e,t,n){const r=e[t];if(typeof r!="string"||r.length===0)throw new ut(`${n}.${t}`,"expected a non-empty string")}function jy(e,t,n,r){if(!n.includes(e[t]))throw new ut(`${r}.${t}`,`expected one of: ${n.join(", ")}`)}const El=["sha256","sha384","sha512"];function Ny(e){const t=e.indexOf("-");if(t===-1)throw new Error(`Invalid SRI format: ${e}`);const n=e.slice(0,t),r=e.slice(t+1);if(!El.includes(n))throw new Error(`Unsupported SRI algorithm: ${n}. Supported: ${El.join(", ")}`);if(!r)throw new Error(`Empty hash in SRI: ${e}`);return{algorithm:n,hash:r}}function zy(e){return`SHA-${e.slice(3)}`}function qy(e){const t=new Uint8Array(e);let n="";for(let r=0;r<t.length;r++)n+=String.fromCharCode(t[r]);return btoa(n)}async function go(e,t){const{algorithm:n,hash:r}=Ny(t),s=zy(n),i=await crypto.subtle.digest(s,e),a=qy(i);if(a!==r)throw new Error(`Integrity check failed for ${n}. Expected: ${r}, got: ${a}`)}async function zd(e){const t=new Set,n=[];for(const r of e){let s;try{const a=await fetch(r);if(!a.ok){console.warn(`[sh3] Registry fetch failed for ${r}: HTTP ${a.status}`);continue}s=await a.json()}catch(a){console.warn(`[sh3] Registry ${r}: ${a instanceof Error?a.message:String(a)}`);continue}let i;try{i=Nd(s)}catch(a){console.warn(`[sh3] Registry ${r} failed validation: ${a instanceof Error?a.message:String(a)}`);continue}for(const a of i.packages)t.has(a.id)||(t.add(a.id),n.push({entry:a,latest:a.versions[0],sourceRegistry:r}))}return n}async function bi(e,t){if(!e.bundleUrl||!e.integrity)throw new Error("fetchBundle called on a version with no client bundle");let n=e.bundleUrl;t&&!/^https?:\/\//i.test(n)&&(n=new URL(n,t).href);const r=await fetch(n);if(!r.ok)throw new Error(`Bundle fetch failed: HTTP ${r.status} ${r.statusText} from ${n}`);const s=await r.arrayBuffer();return await go(s,e.integrity),s}async function bo(e,t){if(!e.serverBundleUrl)throw new Error("fetchServerBundle called on a version with no serverBundleUrl");let n=e.serverBundleUrl;t&&!/^https?:\/\//i.test(n)&&(n=new URL(n,t).href);const r=await fetch(n);if(!r.ok)throw new Error(`Server bundle fetch failed: HTTP ${r.status} ${r.statusText} from ${n}`);const s=await r.arrayBuffer();return e.serverIntegrity?await go(s,e.serverIntegrity):console.warn(`[sh3] Server bundle at ${n} has no serverIntegrity declared — skipping SRI check. This will become an error once the formal registry spec (ADR-015) lands.`),s}function _i(e,t){return{id:e.entry.id,type:e.entry.type,version:t.version,contractVersion:t.contractVersion,sourceRegistry:e.sourceRegistry,integrity:t.integrity,requires:t.requires,hasServerBundle:!!t.serverBundleUrl,serverIntegrity:t.serverIntegrity}}const xn="0.11.6",_o="sh3:user:__sh3core__:theme";let qr=[];function By(e){const t=Object.keys(e);for(const n of qr)t.includes(n)||document.documentElement.style.removeProperty(`--${n}`);for(const[n,r]of Object.entries(e))document.documentElement.style.setProperty(`--${n}`,r);qr=t;try{localStorage.setItem(_o,JSON.stringify(e))}catch{}}function Vy(){for(const e of qr)document.documentElement.style.removeProperty(`--${e}`);qr=[];try{localStorage.removeItem(_o)}catch{}}function qd(){try{const e=localStorage.getItem(_o);if(!e)return{};const t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{}}catch{return{}}}function $y(){const e=qd();if(Object.keys(e).length!==0){for(const[t,n]of Object.entries(e))document.documentElement.style.setProperty(`--${t}`,n);qr=Object.keys(e)}}const ma="/assets/icons-CnAqUqbR.svg",Bd=Symbol("sh3.icon-sprite");function Fy(e){Ea(Bd,e)}function Vd(){return xa(Bd)}var Uy=Qc('<svg class="sh3-btn__icon svelte-t4hi97" aria-hidden="true"><use></use></svg>'),Hy=C('<span class="sh3-btn__label svelte-t4hi97"><!></span>'),Ky=C("<button><!> <!></button>");function Wy(e,t){ne(t,!0);let n=We(t,"variant",3,"default"),r=We(t,"disabled",3,!1),s=We(t,"type",3,"button");const i=Vd();function a(g){return g.includes("/")||g.endsWith(".svg")}const l=U(()=>t.icon?a(t.icon)?t.icon:`${t.sprite??i??ma}#${t.icon}`:void 0),c=U(()=>n()==="icon"||!!t.icon&&!t.children);var u=Ky();let d;var f=h(u);{var p=g=>{var x=Uy(),k=h(x);v(x),z(()=>be(k,"href",o(l))),I(g,x)};$(f,g=>{o(l)&&g(p)})}var m=E(f,2);{var b=g=>{var x=Hy(),k=h(x);Xs(k,()=>t.children),v(x),I(g,x)};$(m,g=>{t.children&&g(b)})}v(u),z(()=>{be(u,"type",s()),d=ye(u,1,`sh3-btn sh3-btn--${n()??""}`,"svelte-t4hi97",d,{"sh3-btn--icon-only":o(c)}),u.disabled=r(),be(u,"title",t.title),be(u,"aria-label",t.ariaLabel??(o(c)?t.title:void 0))}),F("click",u,function(...g){t.onclick?.apply(this,g)}),I(e,u),re()}ue(["click"]);const Yy={hotInstall:typeof Blob<"u"&&typeof URL.createObjectURL=="function"},$d=["__sh3core__","shell","sh3-store","sh3-admin"],Fd=Object.freeze(Object.defineProperty({__proto__:null,Button:Wy,COLOR_PICKER_POINT:ju,CONFLICT_RENDERER_POINT:Mu,ConflictPermissionError:Ou,ConflictSessionOrphanedError:xb,ConsentDeniedError:kd,FRAMEWORK_SHARD_IDS:$d,PERMISSION_DOCUMENTS_BROWSE:gd,PERMISSION_DOCUMENTS_READ:bd,PERMISSION_DOCUMENTS_WRITE:_d,PERMISSION_KEYS_MINT:yd,PERMISSION_STATE_MANAGE:Ka,PERMISSION_SYNC_PEER:sy,PERMISSION_SYNC_POLICY:iy,ScopeEscalationError:wd,VERSION:xn,activeShards:Qr,buildPackageMeta:_i,capabilities:Yy,clearTokenOverrides:Vy,closeTab:ho,collapseChild:Ry,dockFloat:Od,dockIntoActiveLayout:mo,expandChild:Py,fetchBundle:bi,fetchRegistries:zd,focusTab:Ty,focusView:mi,getActiveApp:Gu,getAuthHeader:hi,getIconSprite:Vd,getTokenOverrides:qd,getUser:vi,inspectActiveLayout:Rd,isAdmin:un,isAuthenticated:fa,isGuest:vd,launchApp:Vn,listRegisteredApps:ao,listVerbs:eo,locateSlot:jd,popoutView:Md,provideIcons:Fy,registerConsentListener:Sd,registeredShards:Qt,resolveConsent:ha,returnToHome:Cd,setTokenOverrides:By,shell:di,spliceIntoActiveLayout:Cy,subscribeKeyRevocation:uo,unregisterApp:vo,validateRegistryIndex:Nd},Symbol.toStringTag,{value:"Module"})),Gy="/assets/SH3-BG5NVpSD.png",Xy="https://cdn.jsdelivr.net/npm/p5@1.11.13/lib/p5.min.js";let kr=null;function Jy(){return kr||(kr=new Promise((e,t)=>{const n=window.p5;if(n){e(n);return}const r=document.createElement("script");r.src=Xy,r.async=!0,r.onload=()=>e(window.p5),r.onerror=s=>{kr=null,t(s)},document.head.appendChild(r)}),kr)}var Zy=C('<h1 class="shell-title-fallback svelte-1ifjvh5">SH3</h1>'),Qy=C('<div class="shell-title svelte-1ifjvh5"></div>');function ew(e,t){ne(t,!0);const n="`.-':;,^\"~=+<>*?!/\\|()[]{}x1ltzrcvunsXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$",r=64,s=Math.floor(64/(442/193)),i=8,a=7,l=80,c=r*i,u=s*a,d=l/u;let f=q(void 0),p=null,m=q(!1);const b=()=>w=>{const M=getComputedStyle(document.documentElement).getPropertyValue("--shell-accent").trim();let A,_,O=!1;w.setup=()=>{w.createCanvas(c,u),w.noSmooth(),w.noStroke(),w.textAlign(w.CENTER,w.CENTER),w.textFont("monospace"),w.textSize(10),w.textStyle(w.BOLD),_=w.loadImage(Gy,()=>{A=w.createGraphics(r,s),A.pixelDensity(1),A.image(_,0,0,r,s),A.loadPixels(),O=!0},()=>{y(m,!0)})},w.draw=()=>{if(!O)return;const T=w.millis()*.001;let D;w.clear(),w.background(0,0),w.fill(M);for(let P=0;P<s;P++)for(let N=0;N<r;N++){const V=(P*r+N)*4;if(A.pixels[V]<64){if(D=w.noise(N/r*2,P/s*2,T*.15),D>.33)continue;w.text(n[Math.floor(D*n.length*.25)],(N+.5)*i,(P+.5)*a);continue}D=w.noise(N/r*4,P/s*4,T*.5),w.text(n[Math.floor(D*n.length)],(N+.5)*i,(P+.5)*a)}}};Ie(()=>{if(o(m))return;let w=!1;return Jy().then(R=>{if(!(w||!o(f)))try{p=new R(b(),o(f))}catch(M){console.error("[ShellTitle] p5 sketch failed to start",M),y(m,!0)}}).catch(R=>{console.error("[ShellTitle] failed to load p5 from CDN",R),y(m,!0)}),()=>{w=!0,p&&(p.remove(),p=null)}});var g=ct(),x=pe(g);{var k=w=>{var R=Zy();I(w,R)},S=w=>{var R=Qy();tn(R,"",{},{width:"216.7195767195767px",height:"80px","--shell-title-scale":d}),et(R,M=>y(f,M),()=>o(f)),I(w,R)};$(x,w=>{o(m)?w(k):w(S,-1)})}I(e,g),re()}var tw=C('<button type="button" class="shell-home-card svelte-cpn2x2"><div class="shell-home-card-label svelte-cpn2x2"> </div> <div class="shell-home-card-meta svelte-cpn2x2"><span class="shell-home-card-id svelte-cpn2x2"> </span> <span class="shell-home-card-version svelte-cpn2x2"> </span></div></button>'),nw=C('<section class="shell-home-section svelte-cpn2x2"><h2 class="shell-home-section-title svelte-cpn2x2">Apps</h2> <div class="shell-home-grid svelte-cpn2x2"></div></section>'),rw=C('<button type="button" class="shell-home-card svelte-cpn2x2"><div class="shell-home-card-label svelte-cpn2x2"> </div> <div class="shell-home-card-meta svelte-cpn2x2"><span class="shell-home-card-id svelte-cpn2x2"> </span> <span class="shell-home-card-version svelte-cpn2x2"> </span></div></button>'),sw=C('<section class="shell-home-section svelte-cpn2x2"><h2 class="shell-home-section-title svelte-cpn2x2">Admin</h2> <div class="shell-home-grid svelte-cpn2x2"></div></section>'),iw=C('<p class="shell-home-empty svelte-cpn2x2"><!></p>'),aw=C('<div class="shell-home svelte-cpn2x2"><header class="shell-home-header svelte-cpn2x2"><div class="shell-home-title-row svelte-cpn2x2"><!> <span class="shell-home-version svelte-cpn2x2"> </span> <span class="shell-home-alpha svelte-cpn2x2">alpha</span></div> <div class="shell-home-credit svelte-cpn2x2">Art: by <a href="https://www.andbc.co/" target="_blank" rel="noopener noreferrer" class="svelte-cpn2x2">andbc</a></div></header> <div class="shell-home-filter svelte-cpn2x2"><input type="search" placeholder="Filter apps…" aria-label="Filter apps by name" class="shell-home-filter-input svelte-cpn2x2"/></div> <!> <!> <!></div>');function ow(e,t){ne(t,!0);let n=q("");const r=U(ao),s=U(un);function i(_,O){if(!O)return!0;const T=O.toLowerCase();return _.label.toLowerCase().includes(T)||_.id.toLowerCase().includes(T)}const a=U(()=>o(r).filter(_=>!_.admin&&i(_,o(n)))),l=U(()=>o(r).filter(_=>_.admin&&i(_,o(n)))),c=U(()=>o(a).length+(o(s)?o(l).length:0));var u=aw(),d=h(u),f=h(d),p=h(f);ew(p,{});var m=E(p,2),b=h(m);v(m),sn(2),v(f),sn(2),v(d);var g=E(d,2),x=h(g);Se(x),v(g);var k=E(g,2);{var S=_=>{var O=nw(),T=E(h(O),2);ce(T,21,()=>o(a),D=>D.id,(D,P)=>{var N=tw(),V=h(N),j=h(V,!0);v(V);var B=E(V,2),Y=h(B),G=h(Y,!0);v(Y);var Z=E(Y,2),J=h(Z);v(Z),v(B),v(N),z(()=>{be(N,"title",`Launch ${o(P).label??""}`),L(j,o(P).label),L(G,o(P).id),L(J,`v${o(P).version??""}`)}),F("click",N,()=>Vn(o(P).id)),I(D,N)}),v(T),v(O),I(_,O)};$(k,_=>{o(a).length>0&&_(S)})}var w=E(k,2);{var R=_=>{var O=sw(),T=E(h(O),2);ce(T,21,()=>o(l),D=>D.id,(D,P)=>{var N=rw(),V=h(N),j=h(V,!0);v(V);var B=E(V,2),Y=h(B),G=h(Y,!0);v(Y);var Z=E(Y,2),J=h(Z);v(Z),v(B),v(N),z(()=>{be(N,"title",`Launch ${o(P).label??""}`),L(j,o(P).label),L(G,o(P).id),L(J,`v${o(P).version??""}`)}),F("click",N,()=>Vn(o(P).id)),I(D,N)}),v(T),v(O),I(_,O)};$(w,_=>{o(s)&&o(l).length>0&&_(R)})}var M=E(w,2);{var A=_=>{var O=iw(),T=h(O);{var D=N=>{var V=qt("No apps registered.");I(N,V)},P=N=>{var V=qt();z(()=>L(V,`No apps match “${o(n)??""}”.`)),I(N,V)};$(T,N=>{o(r).length===0?N(D):N(P,-1)})}v(O),I(_,O)};$(M,_=>{o(c)===0&&_(A)})}v(u),z(()=>L(b,`v${xn}`)),Me(x,()=>o(n),_=>y(n,_)),I(e,u),re()}ue(["click"]);var lw=C('<p class="keys-peers-muted svelte-19l5m7c">Loading...</p>'),cw=C('<p class="keys-peers-error svelte-19l5m7c"> </p>'),uw=C('<p class="keys-peers-muted svelte-19l5m7c">No keys yet. Shards will ask your permission before creating one.</p>'),dw=C('<button type="button" class="keys-peers-btn-danger svelte-19l5m7c">Confirm</button> <button type="button" class="keys-peers-btn-secondary svelte-19l5m7c">Cancel</button>',1),fw=C('<button type="button" class="keys-peers-btn-danger svelte-19l5m7c">Revoke</button>'),vw=C('<li class="keys-peers-item svelte-19l5m7c"><div class="keys-peers-info svelte-19l5m7c"><span class="keys-peers-label svelte-19l5m7c"> </span> <span class="keys-peers-meta svelte-19l5m7c"> </span> <span class="keys-peers-meta svelte-19l5m7c"> </span> <span class="keys-peers-meta svelte-19l5m7c"> </span></div> <div class="keys-peers-actions svelte-19l5m7c"><!></div></li>'),hw=C('<ul class="keys-peers-list svelte-19l5m7c"></ul>'),pw=C('<div class="keys-peers svelte-19l5m7c"><div class="keys-peers-header svelte-19l5m7c"><h2 class="svelte-19l5m7c">Keys &amp; Peers</h2></div> <!></div>');function mw(e,t){ne(t,!0);let n=q(le([])),r=q(null),s=q(!0),i=q(null);async function a(){y(r,null),y(s,!0);try{const g=await fetch("/api/keys",{credentials:"include"});if(!g.ok)throw new Error(`HTTP ${g.status}`);y(n,await g.json(),!0)}catch(g){y(r,g instanceof Error?g.message:String(g),!0)}finally{y(s,!1)}}async function l(g){y(i,null);const x=await fetch(`/api/keys/${encodeURIComponent(g)}`,{method:"DELETE",credentials:"include"});(x.ok||x.status===404)&&y(n,o(n).filter(k=>k.id!==g),!0)}function c(g){return new Date(g).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}Ie(()=>{a()}),Ie(()=>uo("*",()=>{a()}));var u=pw(),d=E(h(u),2);{var f=g=>{var x=lw();I(g,x)},p=g=>{var x=cw(),k=h(x);v(x),z(()=>L(k,`Failed to load: ${o(r)??""}`)),I(g,x)},m=g=>{var x=uw();I(g,x)},b=g=>{var x=hw();ce(x,21,()=>o(n),k=>k.id,(k,S)=>{var w=vw(),R=h(w),M=h(R),A=h(M,!0);v(M);var _=E(M,2),O=h(_);v(_);var T=E(_,2),D=h(T);v(T);var P=E(T,2),N=h(P);v(P),v(R);var V=E(R,2),j=h(V);{var B=G=>{var Z=dw(),J=pe(Z),te=E(J,2);F("click",J,()=>l(o(S).id)),F("click",te,()=>{y(i,null)}),I(G,Z)},Y=G=>{var Z=fw();F("click",Z,()=>{y(i,o(S).id,!0)}),I(G,Z)};$(j,G=>{o(i)===o(S).id?G(B):G(Y,-1)})}v(V),v(w),z((G,Z,J)=>{L(A,o(S).label),L(O,`Minted by: ${o(S).mintedByShardId??"system"??""}${o(S).peerRole||o(S).peerId?` · Peer: ${o(S).peerRole??"—"}${o(S).peerId?` (${o(S).peerId})`:""}`:""}`),L(D,`Scopes: ${G??""}`),L(N,`Created: ${Z??""} · Expires: ${J??""}`)},[()=>o(S).scopes.join(", "),()=>c(o(S).createdAt),()=>o(S).expiresAt?c(o(S).expiresAt):"never"]),I(k,w)}),v(x),I(g,x)};$(d,g=>{o(s)?g(f):o(r)?g(p,1):o(n).length===0?g(m,2):g(b,-1)})}v(u),I(e,u),re()}ue(["click"]);var gw=C('<div class="confirm-dialog svelte-1k1962w"><div class="confirm-dialog-title svelte-1k1962w"> </div> <div class="confirm-dialog-body svelte-1k1962w"> </div> <div class="confirm-dialog-actions svelte-1k1962w"><button type="button" class="confirm-dialog-btn confirm-dialog-btn-cancel svelte-1k1962w" data-confirm-dialog-cancel=""> </button> <button type="button" data-confirm-dialog-confirm=""> </button></div></div>');function bw(e,t){ne(t,!0);let n=We(t,"confirmLabel",3,"Confirm"),r=We(t,"cancelLabel",3,"Cancel"),s=We(t,"confirmTone",3,"default"),i=q(void 0),a=q(!1);Ie(()=>{o(i)?.focus()});async function l(){if(!o(a)){y(a,!0);try{await t.onConfirm()}finally{t.close()}}}function c(){o(a)||(t.onCancel?.(),t.close())}var u=gw(),d=h(u),f=h(d,!0);v(d);var p=E(d,2),m=h(p,!0);v(p);var b=E(p,2),g=h(b),x=h(g,!0);v(g),et(g,R=>y(i,R),()=>o(i));var k=E(g,2);let S;var w=h(k,!0);v(k),v(b),v(u),z(()=>{L(f,t.title),L(m,t.body),g.disabled=o(a),L(x,r()),S=ye(k,1,"confirm-dialog-btn svelte-1k1962w",null,S,{"confirm-dialog-btn-danger":s()==="danger","confirm-dialog-btn-default":s()==="default"}),k.disabled=o(a),L(w,n())}),F("click",g,c),F("click",k,l),I(e,u),re()}ue(["click"]);const _w={manifest:{id:"__sh3core__",label:"SH3 Core",version:xn,views:[{id:"sh3core:home",label:"Home"},{id:"shell:keys-and-peers",label:"Keys & Peers"}]},activate(e){const t=e.state({user:{bindings:{}}});Ob(t.user),e.actions.register({id:"sh3.palette.open",label:"Command Palette…",scope:["home","app"],defaultShortcut:"Mod+K",contextItem:!1,paletteItem:!1,run(i){Td(async()=>{const{openPalette:a}=await Promise.resolve().then(()=>U_);return{openPalette:a}},void 0).then(({openPalette:a})=>a())}}),e.actions.register({id:"sh3.app.reset-layout",label:"Reset Current Layout",scope:["app"],paletteItem:!0,contextItem:!1,run(){Ya.open(bw,{title:"Reset layout?",body:"This discards the current arrangement of the active preset and rebuilds it from the app default. Floats will be removed.",confirmLabel:"Reset",confirmTone:"danger",onConfirm:()=>g_()})}});const n={mount(i,a){const l=qe(ow,{target:i});return{unmount(){He(l)}}}},r={mount(i,a){const l=qe(mw,{target:i});return{unmount(){He(l)}}}};e.registerView("sh3core:home",n),e.registerView("shell:keys-and-peers",r);const s=new Map;Gs(()=>{Ie(()=>{const i=new Set;for(const[a,l]of gn){if(i.add(a),s.has(a))continue;const c=e.actions.register({id:`sh3.app.launch:${a}`,label:`Launch ${l.manifest.label}`,scope:["home","app"],run(){Vn(a)}});s.set(a,c)}for(const a of[...s.keys()])i.has(a)||(s.get(a)(),s.delete(a))})})},autostart(){}},yw={id:"shell",label:"Shell",version:xn,views:[{id:"shell:terminal",label:"Shell",standalone:!0}],permissions:[]},ww=2e3;let kw=0;function Sw(){return`e${++kw}`}class xw{#e;get entries(){return o(this.#e)}set entries(t){y(this.#e,t,!0)}constructor(t=ww){this.#e=q(le([])),this.cap=t}push(t){const n=this.entries[this.entries.length-1];if(n&&n.kind==="text"&&t.kind==="text"&&n.stream===t.stream){n.chunks.push(...t.chunks);return}const r={...t,id:Sw()};this.entries.push(r),this.entries.length>this.cap&&this.entries.splice(0,this.entries.length-this.cap)}clear(){this.entries.length=0}}var Ew=C("<pre> </pre>");function Iw(e,t){ne(t,!0);const n=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,r=U(()=>t.chunks.join("").replace(n,""));var s=Ew();let i;var a=h(s,!0);v(s),z(()=>{i=ye(s,1,"shell-text svelte-ypr8s",null,i,{stderr:t.stream==="stderr"}),L(a,o(r))}),I(e,s),re()}var Aw=C('<div class="shell-prompt svelte-u0gb59"><span class="shell-prompt-cwd svelte-u0gb59"> </span> <span class="shell-prompt-arrow svelte-u0gb59">❯</span> <span class="shell-prompt-line svelte-u0gb59"> </span></div>');function Cw(e,t){var n=Aw(),r=h(n),s=h(r,!0);v(r);var i=E(r,4),a=h(i,!0);v(i),v(n),z(()=>{L(s,t.cwd),L(a,t.line)}),I(e,n)}var Tw=C("<div> </div>");function Rw(e,t){var n=Tw();let r;var s=h(n,!0);v(n),z(()=>{r=ye(n,1,"shell-status svelte-nfxdpt",null,r,{info:t.level==="info",warn:t.level==="warn",error:t.level==="error"}),L(s,t.text)}),I(e,n)}var Pw=C('<div class="shell-rich svelte-1rnhl05"><!></div>');function Dw(e,t){var n=Pw(),r=h(n);Xr(r,()=>t.component,(s,i)=>{i(s,Zr(()=>t.componentProps))}),v(n),I(e,n)}var Mw=C('<div class="shell-scrollback svelte-isy3jt"></div>');function Ow(e,t){ne(t,!0);let n=q(null);Ie(()=>{t.scrollback.entries.length,o(n)&&(o(n).scrollTop=o(n).scrollHeight)});var r=Mw();ce(r,21,()=>t.scrollback.entries,s=>s.id,(s,i)=>{var a=ct(),l=pe(a);{var c=p=>{Iw(p,{get stream(){return o(i).stream},get chunks(){return o(i).chunks}})},u=p=>{Cw(p,{get cwd(){return o(i).cwd},get line(){return o(i).line}})},d=p=>{Rw(p,{get text(){return o(i).text},get level(){return o(i).level}})},f=p=>{Dw(p,{get component(){return o(i).component},get componentProps(){return o(i).props}})};$(l,p=>{o(i).kind==="text"?p(c):o(i).kind==="prompt"?p(u,1):o(i).kind==="status"?p(d,2):o(i).kind==="rich"&&p(f,3)})}I(s,a)}),v(r),et(r,s=>y(n,s),()=>o(n)),I(e,r),re()}var Lw=C('<div><span class="shell-input-cwd svelte-1dfv2gk"> </span> <span class="shell-input-arrow svelte-1dfv2gk">❯</span> <input type="text" spellcheck="false" autocomplete="off" autocapitalize="off" class="shell-input-field svelte-1dfv2gk"/></div>');function jw(e,t){ne(t,!0);let n=q(""),r=q(null),s=q(""),i=q(null);function a(){if(t.locked)return;const g=o(n);g.trim()&&(y(n,""),y(r,null),t.onSubmit(g))}function l(){t.history.length!==0&&(o(r)===null?(y(s,o(n),!0),y(r,t.history.length-1)):o(r)>0&&ar(r,-1),y(n,t.history[o(r)]??"",!0))}function c(){o(r)!==null&&(o(r)<t.history.length-1?(ar(r),y(n,t.history[o(r)],!0)):(y(r,null),y(n,o(s),!0)))}function u(g){if(t.locked){if(g.ctrlKey&&g.key==="c"){g.preventDefault(),t.session.send({t:"signal",sig:"SIGINT"});return}if(g.ctrlKey&&g.key==="d"){g.preventDefault(),t.session.send({t:"signal",sig:"EOF"});return}g.preventDefault();return}g.key==="Enter"?(g.preventDefault(),a()):g.key==="ArrowUp"?(g.preventDefault(),l()):g.key==="ArrowDown"?(g.preventDefault(),c()):g.ctrlKey&&g.key==="c"?(g.preventDefault(),y(n,""),y(r,null)):g.ctrlKey&&g.key==="l"&&(g.preventDefault(),y(n,"clear"),a())}Ie(()=>{!t.locked&&o(i)&&o(i).focus()});var d=Lw();let f;var p=h(d),m=h(p,!0);v(p);var b=E(p,4);Se(b),et(b,g=>y(i,g),()=>o(i)),v(d),z(()=>{f=ye(d,1,"shell-input svelte-1dfv2gk",null,f,{locked:t.locked}),L(m,t.cwd),b.disabled=t.locked}),F("keydown",b,u),Me(b,()=>o(n),g=>y(n,g)),I(e,d),re()}ue(["keydown"]);const Il=[1e3,2e3,5e3,1e4];class Nw{#e;get connected(){return o(this.#e)}set connected(t){y(this.#e,t,!0)}#t;get cwd(){return o(this.#t)}set cwd(t){y(this.#t,t,!0)}#n;get env(){return o(this.#n)}set env(t){y(this.#n,t,!0)}#i;get history(){return o(this.#i)}set history(t){y(this.#i,t,!0)}constructor(t){this.url=t,this.ws=null,this.handlers=new Set,this.pendingHistoryLogs=[],this.lastSeq=0,this.backoffIndex=0,this.closed=!1,this.#e=q(!1),this.#t=q(""),this.#n=q(le({})),this.#i=q(le([]))}connect(){if(!this.closed){try{this.ws=new WebSocket(this.url)}catch{this.scheduleReconnect();return}this.ws.addEventListener("open",()=>{this.backoffIndex=0,this.connected=!0;const t=this.lastSeq>0?{t:"hello",replayFrom:this.lastSeq}:{t:"hello"};this.sendRaw(t);for(const n of this.pendingHistoryLogs)this.sendRaw(n);this.pendingHistoryLogs=[]}),this.ws.addEventListener("message",t=>{let n;try{n=JSON.parse(t.data)}catch{return}n.t==="event"&&typeof n.event.seq=="number"&&(this.lastSeq=n.event.seq),n.t==="welcome"&&(this.cwd=n.cwd,this.env=n.env,this.lastSeq=n.seq),n.t==="cwd"&&(this.cwd=n.cwd),n.t==="history"&&(this.history=n.lines);for(const r of this.handlers)r(n)}),this.ws.addEventListener("close",()=>{this.connected=!1,this.ws=null,this.scheduleReconnect()}),this.ws.addEventListener("error",()=>{})}}scheduleReconnect(){if(this.closed)return;const t=Il[Math.min(this.backoffIndex,Il.length-1)];this.backoffIndex++,setTimeout(()=>this.connect(),t)}send(t){if(t.t==="history-log"&&!this.connected){this.pendingHistoryLogs.push(t);return}this.sendRaw(t)}sendRaw(t){!this.ws||this.ws.readyState!==WebSocket.OPEN||this.ws.send(JSON.stringify(t))}onMessage(t){return this.handlers.add(t),()=>this.handlers.delete(t)}close(){this.closed=!0,this.ws?.close(),this.ws=null}}class zw{list(){return eo()}get(t){return ml(t)}resolve(t){const n=t.trim();if(!n)return{kind:"forward",line:t};if(n.startsWith("$ "))return{kind:"forward",line:n.slice(2)};if(n==="$")return{kind:"forward",line:""};const r=n.indexOf(" "),s=r===-1?n:n.slice(0,r),i=r===-1?"":n.slice(r+1),a=ml(s);if(!a)return{kind:"forward",line:t};const l=i.length?i.split(/\s+/):[];return{kind:"local",verb:a,args:l,line:t}}}class qw{constructor(t=""){this.base=t}async list(t){return(await(await this.#e("/api/fs/list",t)).json()).entries}async stat(t){return await(await this.#e("/api/fs/stat",t)).json()}async read(t){return await(await this.#e("/api/fs/read",t)).text()}async#e(t,n){const r=`${this.base}${t}?path=${encodeURIComponent(n)}`,s=await fetch(r,{credentials:"include"});if(!s.ok){let i=`HTTP ${s.status}`;try{const a=await s.json();a.error&&(i=a.error)}catch{}throw new Error(i)}return s}}class Bw{#e=new Map;register(t){this.#e.set(t.id,t)}get(t){return this.#e.get(t)}list(t){const n=[];for(const r of this.#e.values())r.requiresRole&&r.requiresRole!==t||n.push(r);return n}}const Vw={id:"dev",label:"Dev",requiresRole:"admin",transport:"ws",autoRelocate:!1},$w={id:"user",label:"User",transport:"none",autoRelocate:!0};function Fw(e){e.register(Vw),e.register($w)}function Ud(e){return`sh3.shell.lastMode.${e}`}function Uw(e){try{return globalThis.localStorage?.getItem(Ud(e))??null}catch{return null}}function Hw(e,t){try{globalThis.localStorage?.setItem(Ud(e),t)}catch{}}function Kw(e,t,n){const r=Uw(t);if(r){const i=e.get(r);if(i&&(!i.requiresRole||i.requiresRole===n))return i}const s=n==="admin"?"dev":"user";return e.get(s)}function Ww(e){return async function t(n){const r=e.mode();if(e.session.history.push(n),r.transport==="none"&&n.trimStart().startsWith("$ ")){e.scrollback.push({kind:"prompt",cwd:e.cwd(),line:n,ts:Date.now()}),e.scrollback.push({kind:"status",text:"shell: server shell not available in user mode",level:"error",ts:Date.now()});return}const s=e.resolver.resolve(n);if(s.kind==="local"){r.transport==="ws"&&e.session.send({t:"history-log",line:n}),e.scrollback.push({kind:"prompt",cwd:e.cwd(),line:n,ts:Date.now()});try{await s.verb.run({shell:e.shell,scrollback:e.scrollback,session:e.session,cwd:e.cwd(),dispatch:t,fs:e.fs},s.args)}catch(i){e.scrollback.push({kind:"status",text:`shell: verb ${s.verb.name} threw — ${i.message}`,level:"error",ts:Date.now()})}return}if(r.transport==="ws")e.session.send({t:"submit",line:s.line});else{const i=s.line.split(/\s+/)[0]??"";e.scrollback.push({kind:"prompt",cwd:e.cwd(),line:s.line,ts:Date.now()}),e.scrollback.push({kind:"status",text:`unknown verb: ${i}`,level:"error",ts:Date.now()})}}}async function Yw(e,t){if(!e.modeAutoRelocate)return{kind:"noop"};if(e.focusLocked)return{kind:"noop"};if(e.focusedShardId===null)return{kind:"noop"};if(e.focusedShardId===e.currentShardId)return{kind:"noop"};const n=e.focusedShardId;try{if((await t.stat(n)).kind!=="dir")return{kind:"noop"}}catch{return{kind:"noop"}}return{kind:"relocate",path:n}}var Gw=C('<div class="toolbar svelte-gnowwz"><div class="toolbar-slots svelte-gnowwz"></div></div>');function Xw(e,t){ne(t,!0);let n=We(t,"slotProps",19,()=>({})),r=U(()=>t.registry.list(t.ctx));var s=Gw(),i=h(s);ce(i,21,()=>o(r),a=>a.id,(a,l)=>{const c=U(()=>o(l).component);var u=ct(),d=pe(u);Xr(d,()=>o(c),(f,p)=>{p(f,Zr(()=>n()[o(l).id]??{}))}),I(a,u)}),v(i),v(s),I(e,s),re()}class Jw{#e=[];register(t){this.#e=this.#e.filter(n=>n.id!==t.id).concat(t)}list(t){return this.#e.filter(n=>n.visible(t)).sort((n,r)=>n.order-r.order)}}var Zw=C('<button type="button"> </button>'),Qw=C('<div class="mode-bar svelte-1i4cqlj" role="toolbar" aria-label="Shell mode"></div>'),ek=C('<span class="mode-label svelte-1i4cqlj"> </span>');function tk(e,t){ne(t,!0);let n=U(()=>t.registry.list(t.role));var r=ct(),s=pe(r);{var i=l=>{var c=Qw();ce(c,21,()=>o(n),u=>u.id,(u,d)=>{var f=Zw();let p;var m=h(f,!0);v(f),z(()=>{p=ye(f,1,"mode-btn svelte-1i4cqlj",null,p,{active:o(d).id===t.mode.id}),be(f,"aria-pressed",o(d).id===t.mode.id),L(m,o(d).label)}),F("click",f,()=>t.onSelect(o(d).id)),I(u,f)}),v(c),I(l,c)},a=l=>{var c=ek(),u=h(c,!0);v(c),z(()=>L(u,t.mode.label)),I(l,c)};$(s,l=>{t.role==="admin"?l(i):l(a,-1)})}I(e,r),re()}ue(["click"]);var nk=C('<button class="focus-lock-btn svelte-1q6gbap"> </button>');function rk(e,t){var n=nk(),r=h(n,!0);v(n),z(()=>{be(n,"title",t.locked?"Unlock focus":"Lock focus"),L(r,t.locked?"🔒":"🔓")}),F("click",n,function(...s){t.onToggle?.apply(this,s)}),I(e,n)}ue(["click"]);var sk=C('<span class="target-shard svelte-1nn2m6x" title="Target shard"> </span>');function ik(e,t){var n=sk(),r=h(n);v(n),z(()=>L(r,`→ ${t.target??"—"??""}`)),I(e,n)}var ak=C('<div class="shell-terminal svelte-13komre"><!> <!> <!></div>');function ok(e,t){ne(t,!0);const n=new xw,r=new zw,s=new qw,i=new Bw;Fw(i);let a=q(le(Ee(()=>Kw(i,t.userId,t.role))));function l(A){const _=i.get(A);_&&(_.requiresRole&&_.requiresRole!==t.role||(y(a,_,!0),Hw(t.userId,A),_.transport!=="ws"&&n.push({kind:"status",text:"mode switch: reload to take effect for server-shell changes",level:"info",ts:Date.now()})))}const c=Ee(()=>new Nw(t.wsUrl)),u=Ee(()=>Ww({mode:()=>o(a),resolver:r,scrollback:n,session:c,shell:t.shell,fs:s,cwd:()=>c.cwd}));let d=q(!1),f=q(!1),p=q(null);const m=new Jw;m.register({id:"mode",order:10,visible:()=>!0,component:tk}),m.register({id:"focus-lock",order:20,visible:A=>A.mode.id==="user",component:rk}),m.register({id:"target-shard",order:30,visible:A=>A.mode.id==="user",component:ik});function b(A){if(A.type==="tabs")return A.tabs[A.activeTab]?.viewId??null;if(A.type==="split")for(const _ of A.children){const O=b(_);if(O!==null)return O}return A.viewId??null}function g(){try{const A=St(),_=b(A.docked);if(!_)return null;const O=_.indexOf(":");return O>=0?_.slice(0,O):_}catch{return null}}Ie(()=>{const A=g(),_=o(a).autoRelocate,O=o(f);(async()=>{const T=await Yw({modeAutoRelocate:_,focusLocked:O,focusedShardId:A,currentShardId:"shell"},s);T.kind==="relocate"&&T.path!==void 0&&(c.cwd=T.path),A&&A!=="shell"?y(p,A,!0):A||y(p,null)})()});function x(A){if(A.t!=="event")return;const _=A.event;switch(_.kind){case"prompt":n.push({kind:"prompt",cwd:_.cwd,line:_.line,ts:_.ts}),y(d,!0);break;case"stdout":n.push({kind:"text",stream:"stdout",chunks:[_.data],ts:_.ts});break;case"stderr":n.push({kind:"text",stream:"stderr",chunks:[_.data],ts:_.ts});break;case"exit":(_.signal||_.code!==null&&_.code!==0)&&n.push({kind:"status",text:_.signal?`shell: process exited (${_.signal})`:`shell: process exited (${_.code})`,level:"error",ts:_.ts}),y(d,!1);break;case"status":n.push({kind:"status",text:_.text,level:_.level,ts:_.ts});break}}let k=null;Ba(()=>{k=c.onMessage(x),o(a).transport==="ws"&&c.connect()}),Va(()=>{k?.(),c.close()});var S=ak(),w=h(S);{let A=U(()=>({mode:o(a),role:t.role})),_=U(()=>({mode:{mode:o(a),role:t.role,registry:i,onSelect:l},"focus-lock":{locked:o(f),onToggle:()=>y(f,!o(f))},"target-shard":{target:o(p)}}));Xw(w,{get registry(){return m},get ctx(){return o(A)},get slotProps(){return o(_)}})}var R=E(w,2);Ow(R,{get scrollback(){return n}});var M=E(R,2);jw(M,{get cwd(){return c.cwd},get locked(){return o(d)},get history(){return c.history},get session(){return c},get onSubmit(){return u}}),v(S),I(e,S),re()}var lk=C('<tr><td class="svelte-m248jy"><button type="button" class="svelte-m248jy"> </button></td><td class="svelte-m248jy"> </td></tr>'),ck=C('<div class="shell-rich-help svelte-m248jy"><table class="svelte-m248jy"><thead><tr><th class="svelte-m248jy">Name</th><th class="svelte-m248jy">Summary</th></tr></thead><tbody></tbody></table></div>');function uk(e,t){ne(t,!0);var n=ck(),r=h(n),s=E(h(r));ce(s,21,()=>t.data.rows,i=>i.name,(i,a)=>{var l=lk(),c=h(l),u=h(c),d=h(u,!0);v(u),v(c);var f=E(c),p=h(f,!0);v(f),v(l),z(()=>{L(d,o(a).name),L(p,o(a).summary)}),F("click",u,()=>t.data.onClickName(o(a).name)),I(i,l)}),v(s),v(r),v(n),I(e,n),re()}ue(["click"]);function dk(){return{name:"help",summary:"List verbs or show detail for one.",async run(e){const t=eo().map(n=>({name:n.name,summary:n.summary}));e.scrollback.push({kind:"rich",component:uk,props:{data:{rows:t,onClickName:n=>e.dispatch(n)}},ts:Date.now()})}}}const fk={name:"clear",summary:"Clear the scrollback (local only — other views are unaffected).",async run(e){e.scrollback.clear()}};var vk=C('<li class="svelte-o8m437"><button type="button" class="svelte-o8m437"> </button></li>'),hk=C('<div class="shell-rich-history svelte-o8m437"><ol class="svelte-o8m437"></ol></div>');function pk(e,t){ne(t,!0);var n=hk(),r=h(n);ce(r,21,()=>t.data.lines,Bn,(s,i)=>{var a=vk(),l=h(a),c=h(l,!0);v(l),v(a),z(()=>L(c,o(i))),F("click",l,()=>t.data.onClickLine(o(i))),I(s,a)}),v(r),v(n),I(e,n),re()}ue(["click"]);const mk={name:"history",summary:"Show the last N history lines. Default 50.",async run(e,t){const n=t[0]?Math.max(1,parseInt(t[0],10)||50):50,r=e.session.history.slice(-n);e.scrollback.push({kind:"rich",component:pk,props:{data:{lines:r,onClickLine:s=>e.dispatch(s)}},ts:Date.now()})}};var gk=C('<tr><td class="svelte-1u5krjz"><button type="button" class="svelte-1u5krjz"> </button></td><td class="svelte-1u5krjz"> </td></tr>'),bk=C('<div class="shell-rich-apps svelte-1u5krjz"><table class="svelte-1u5krjz"><thead><tr><th class="svelte-1u5krjz">ID</th><th class="svelte-1u5krjz">Label</th></tr></thead><tbody></tbody></table></div>');function _k(e,t){ne(t,!0);var n=bk(),r=h(n),s=E(h(r));ce(s,21,()=>t.data.apps,i=>i.id,(i,a)=>{var l=gk(),c=h(l),u=h(c),d=h(u,!0);v(u),v(c);var f=E(c),p=h(f,!0);v(f),v(l),z(()=>{L(d,o(a).id),L(p,o(a).label)}),F("click",u,()=>t.data.onClickApp(o(a).id)),I(i,l)}),v(s),v(r),v(n),I(e,n),re()}ue(["click"]);var yk=C('<div class="shell-rich-appcard svelte-npcp8i"><h3 class="svelte-npcp8i"> </h3> <p class="svelte-npcp8i"><strong>ID:</strong> </p> <p class="svelte-npcp8i"><strong>Shards:</strong> </p></div>');function wk(e,t){ne(t,!0);var n=yk(),r=h(n),s=h(r,!0);v(r);var i=E(r,2),a=E(h(i));v(i);var l=E(i,2),c=E(h(l));v(l),v(n),z(u=>{L(s,t.data.label),L(a,` ${t.data.id??""}`),L(c,` ${u??""}`)},[()=>t.data.shards.join(", ")]),I(e,n),re()}const kk={name:"apps",summary:"List installed apps. Click a row to launch.",async run(e){const t=e.shell.listApps();e.scrollback.push({kind:"rich",component:_k,props:{data:{apps:t,onClickApp:n=>{e.shell.launchApp(n),e.scrollback.push({kind:"status",text:`shell: launched app ${n}`,level:"info",ts:Date.now()})}}},ts:Date.now()})}},Sk={name:"app",summary:"Show the currently active app.",async run(e){const t=e.shell.getActiveApp();if(!t){e.scrollback.push({kind:"status",text:"shell: no active app",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"rich",component:wk,props:{data:{id:t.id,label:t.label,shards:[]}},ts:Date.now()})}};var xk=C('<tr><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td></tr>'),Ek=C('<div class="shell-rich-shards svelte-sc3ux4"><table class="svelte-sc3ux4"><thead><tr><th class="svelte-sc3ux4">ID</th><th class="svelte-sc3ux4">Label</th><th class="svelte-sc3ux4">Version</th></tr></thead><tbody></tbody></table></div>');function Ik(e,t){ne(t,!0);var n=Ek(),r=h(n),s=E(h(r));ce(s,21,()=>t.data.shards,i=>i.id,(i,a)=>{var l=xk(),c=h(l),u=h(c,!0);v(c);var d=E(c),f=h(d,!0);v(d);var p=E(d),m=h(p,!0);v(p),v(l),z(()=>{L(u,o(a).id),L(f,o(a).label),L(m,o(a).version)}),I(i,l)}),v(s),v(r),v(n),I(e,n),re()}const Ak={name:"shards",summary:"List active shards.",async run(e){const t=e.shell.listShards();e.scrollback.push({kind:"rich",component:Ik,props:{data:{shards:t}},ts:Date.now()})}};var Ck=C('<tr><td class="svelte-15elbr1"> </td><td class="svelte-15elbr1"> </td><td class="svelte-15elbr1"> </td><td class="svelte-15elbr1"><button type="button" class="svelte-15elbr1">Close</button></td></tr>'),Tk=C('<div class="shell-rich-views svelte-15elbr1"><table class="svelte-15elbr1"><thead><tr><th class="svelte-15elbr1">Slot ID</th><th class="svelte-15elbr1">View ID</th><th class="svelte-15elbr1">Label</th><th class="svelte-15elbr1">Action</th></tr></thead><tbody></tbody></table></div>');function Rk(e,t){ne(t,!0);var n=Tk(),r=h(n),s=E(h(r));ce(s,21,()=>t.data.views,i=>i.slotId,(i,a)=>{var l=Ck(),c=h(l),u=h(c,!0);v(c);var d=E(c),f=h(d,!0);v(d);var p=E(d),m=h(p,!0);v(p);var b=E(p),g=h(b);v(b),v(l),z(()=>{L(u,o(a).slotId),L(f,o(a).viewId),L(m,o(a).label)}),F("click",g,()=>t.data.onClose(o(a).slotId)),I(i,l)}),v(s),v(r),v(n),I(e,n),re()}ue(["click"]);const Pk={name:"views",summary:"List views currently mounted. Pass --standalone to list summonable views instead.",async run(e,t){if(t.includes("--standalone")){const r=e.shell.listStandaloneViews();if(r.length===0){e.scrollback.push({kind:"status",text:"shell: no standalone views are currently available.",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"status",text:r.map(s=>` ${s.viewId.padEnd(32)} ${s.label}`).join(`
8
+ `),level:"info",ts:Date.now()});return}const n=e.shell.listViewsInCurrentLayout();e.scrollback.push({kind:"rich",component:Rk,props:{data:{views:n,onClose:r=>{const s=e.shell.closeSlot(r);s.ok||e.scrollback.push({kind:"status",text:`shell: close failed — ${s.error??"unknown"}`,level:"error",ts:Date.now()})}}},ts:Date.now()})}},Dk={name:"open",summary:"Open a view from any active shard into the current layout.",async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: open <viewId>",level:"warn",ts:Date.now()});return}const r=e.shell.openViewInCurrentLayout(n);r.ok?e.scrollback.push({kind:"status",text:`shell: opened ${n}`,level:"info",ts:Date.now()}):e.scrollback.push({kind:"status",text:`shell: open failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}},Mk={name:"popout",summary:"Pop a docked view out into a float by slot id.",async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: popout <slotId>",level:"warn",ts:Date.now()});return}const r=e.shell.popoutSlot(n);r.ok?e.scrollback.push({kind:"status",text:`shell: popped out ${n} → ${r.floatId}`,level:"info",ts:Date.now()}):e.scrollback.push({kind:"status",text:`shell: popout failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}},Ok={name:"dock",summary:"Dock a float back into the current layout by float id. Run with no args to list floats.",async run(e,t){const n=t[0];if(!n){const s=e.shell.listFloats();if(s.length===0){e.scrollback.push({kind:"status",text:"shell: no active floats.",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"status",text:s.map(i=>` ${i.floatId.padEnd(24)} ${i.viewId??"-"} ${i.label}`).join(`
9
+ `),level:"info",ts:Date.now()});return}const r=e.shell.dockFloat(n);r.ok?e.scrollback.push({kind:"status",text:`shell: docked ${n}`,level:"info",ts:Date.now()}):e.scrollback.push({kind:"status",text:`shell: dock failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}},Lk={name:"close",summary:"Close a view by slot id.",async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: close <slotId>",level:"warn",ts:Date.now()});return}const r=e.shell.closeSlot(n);r.ok||e.scrollback.push({kind:"status",text:`shell: close failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}};var jk=C('<tr><td class="svelte-1w7onag"> </td><td class="svelte-1w7onag"> </td></tr>'),Nk=C('<div class="shell-rich-zones svelte-1w7onag"><table class="svelte-1w7onag"><thead><tr><th class="svelte-1w7onag">Shard ID</th><th class="svelte-1w7onag">Zones</th></tr></thead><tbody></tbody></table></div>');function zk(e,t){ne(t,!0);var n=Nk(),r=h(n),s=E(h(r));ce(s,21,()=>t.data.rows,i=>i.shardId,(i,a)=>{var l=jk(),c=h(l),u=h(c,!0);v(c);var d=E(c),f=h(d,!0);v(d),v(l),z(p=>{L(u,o(a).shardId),L(f,p)},[()=>o(a).zones.join(", ")]),I(i,l)}),v(s),v(r),v(n),I(e,n),re()}var qk=C('<div class="shell-rich-zonetree svelte-13iiyr1"><pre class="svelte-13iiyr1"> </pre></div>');function Bk(e,t){ne(t,!0);var n=qk(),r=h(n),s=h(r,!0);v(r),v(n),z(i=>L(s,i),[()=>JSON.stringify(t.data.value,null,2)]),I(e,n),re()}const Vk={name:"zones",summary:"List zones for the current user (optionally scoped to a shard).",async run(e,t){const n=e.shell.listZones(t[0]);e.scrollback.push({kind:"rich",component:zk,props:{data:{rows:n}},ts:Date.now()})}},$k={name:"zone",summary:"Dump the contents of a zone as a collapsible JSON tree.",async run(e,t){const[n,r]=t;if(!n||!r){e.scrollback.push({kind:"status",text:"usage: zone <shardId> <zoneName>",level:"warn",ts:Date.now()});return}const s=e.shell.readZone(n,r);e.scrollback.push({kind:"rich",component:Bk,props:{data:{value:s}},ts:Date.now()})}};function Fk(e,t){if(t.startsWith("/"))return Uk(t.slice(1));const n=[...e.split("/").filter(Boolean),...t.split("/")],r=[];for(const s of n)if(!(s===""||s===".")){if(s===".."){r.pop();continue}r.push(s)}return r.join("/")}function Uk(e){return e.split("/").filter(t=>t&&t!==".").join("/")}const Hk={name:"pwd",summary:"Show the current working directory.",async run(e){const t=e.session.cwd||"",n=t.startsWith("/")?t:`/${t}`;e.scrollback.push({kind:"text",stream:"stdout",chunks:[n+`
10
+ `],ts:Date.now()})}},Kk={name:"cd",summary:"Change the session working directory.",async run(e,t){const n=t[0]??"";if(n===""){e.session.cwd="";return}const r=e.session.cwd,s=Fk(r,n);try{if((await e.fs.stat(s)).kind!=="dir"){e.scrollback.push({kind:"status",text:`cd: not a directory: ${n}`,level:"error",ts:Date.now()});return}}catch(i){e.scrollback.push({kind:"status",text:`cd: ${i.message}`,level:"error",ts:Date.now()});return}e.session.cwd=s}},Wk={name:"whoami",summary:"Show the current admin user and session info.",async run(e){const t=e.shell.whoAmI();e.scrollback.push({kind:"text",stream:"stdout",chunks:[`${t.userId}${t.admin?" (admin)":""}
11
+ `],ts:Date.now()})}};var Yk=C('<tr><td class="svelte-1ox8vog"> </td><td class="svelte-1ox8vog"> </td></tr>'),Gk=C('<div class="shell-rich-env svelte-1ox8vog"><table class="svelte-1ox8vog"><thead><tr><th class="svelte-1ox8vog">Key</th><th class="svelte-1ox8vog">Value</th></tr></thead><tbody></tbody></table></div>');function Xk(e,t){ne(t,!0);var n=Gk(),r=h(n),s=E(h(r));ce(s,21,()=>Object.entries(t.data.env),([i,a])=>i,(i,a)=>{var l=U(()=>Wl(o(a),2));let c=()=>o(l)[0],u=()=>o(l)[1];var d=Yk(),f=h(d),p=h(f,!0);v(f);var m=E(f),b=h(m,!0);v(m),v(d),z(()=>{L(p,c()),L(b,u())}),I(i,d)}),v(s),v(r),v(n),I(e,n),re()}const Jk={name:"env",summary:"Show the session environment.",async run(e){const t=e.session.env;e.scrollback.push({kind:"rich",component:Xk,props:{data:{env:t}},ts:Date.now()})}},Zk={name:"ls",summary:"List the current directory.",async run(e){let t;try{t=await e.fs.list(e.session.cwd)}catch(r){e.scrollback.push({kind:"status",text:`ls: ${r.message}`,level:"error",ts:Date.now()});return}const n=t.sort((r,s)=>r.name.localeCompare(s.name)).map(r=>r.kind==="dir"?`${r.name}/`:r.name).join(`
12
+ `);e.scrollback.push({kind:"text",stream:"stdout",chunks:[n||"(empty)"],ts:Date.now()})}},Qk={name:"cat",summary:"Read a file into the scrollback.",async run(e,t){if(t.length===0){e.scrollback.push({kind:"status",text:"cat: missing file argument",level:"error",ts:Date.now()});return}const n=t[0],r=e.session.cwd?`${e.session.cwd}/${n}`:n;try{const s=await e.fs.read(r);e.scrollback.push({kind:"text",stream:"stdout",chunks:[s],ts:Date.now()})}catch(s){e.scrollback.push({kind:"status",text:`cat: ${s.message}`,level:"error",ts:Date.now()})}}};function e1(e){e.registerVerb(dk()),e.registerVerb(fk),e.registerVerb(mk),e.registerVerb(kk),e.registerVerb(Sk),e.registerVerb(Ak),e.registerVerb(Pk),e.registerVerb(Dk),e.registerVerb(Lk),e.registerVerb(Mk),e.registerVerb(Ok),e.registerVerb(Vk),e.registerVerb($k),e.registerVerb(Hk),e.registerVerb(Kk),e.registerVerb(Jk),e.registerVerb(Wk),e.registerVerb(Zk),e.registerVerb(Qk)}function Hd(e){return e.type==="tabs"?e.tabs.filter(t=>t.viewId!==null):e.type==="split"?e.children.flatMap(Hd):e.viewId!==null?[{slotId:e.slotId,viewId:e.viewId,label:e.viewId}]:[]}function t1(e){return{listApps(){return ao().map(t=>({id:t.id,label:t.label}))},getActiveApp(){const t=Gu();return t?{id:t.id,label:t.label}:null},launchApp(t){Vn(t)},listShards(){return Array.from(Qt.values()).map(t=>({id:t.manifest.id,label:t.manifest.label,version:t.manifest.version}))},listViewsInCurrentLayout(){try{const{root:t}=Rd();return Hd(t.docked).map(n=>({slotId:n.slotId,viewId:n.viewId??"",label:n.label}))}catch{return[]}},openViewInCurrentLayout(t){try{if(mi(t))return{ok:!0};const n=Sl().find(r=>r.viewId===t);if(n){const r=`standalone:${t}:${Date.now()}`;return mo({slotId:r,viewId:t,label:n.label})?{ok:!0}:{ok:!1,error:`could not dock "${t}" — no available slot`}}return{ok:!1,error:`view "${t}" not found in current layout`}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}},listStandaloneViews(){return Sl()},popoutSlot(t){try{const n=Md(t);return n?{ok:!0,floatId:n}:{ok:!1,error:`slot "${t}" not found in docked tree`}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}},dockFloat(t){try{return Od(t)?{ok:!0}:{ok:!1,error:`float "${t}" not found or has no dockable content`}}catch(n){return{ok:!1,error:n instanceof Error?n.message:String(n)}}},locateSlot(t){try{return jd(t)}catch{return null}},listFloats(){return Pt.list().map(t=>{const n=t.content.type==="tabs"?t.content:null,r=n?n.tabs[n.activeTab??0]??n.tabs[0]:null;return{floatId:t.id,viewId:r?.viewId??null,label:t.title??r?.label??t.id}})},closeSlot(t){return ho(t),{ok:!0}},listZones(t){return[]},readZone(t,n){return null},whoAmI(){return{userId:vi()?.id??"guest",admin:un()}}}}const n1={manifest:yw,activate(e){e1(e);const t=t1();e.actions.register({id:"shell.terminal.toggle",label:"Open Terminal",scope:["home","app"],defaultShortcut:"²",allowInInputs:!1,run(){mi("shell:terminal")||Pt.open("shell:terminal",{title:"Shell"})}});const n={mount(r,s){const i=typeof location<"u"&&location.protocol==="https:"?"wss":"ws",a=typeof location<"u"?location.host:"localhost",l=`${i}://${a}/api/shell/session`,u=vi()?.id??"guest",d=un()?"admin":"user",f=qe(ok,{target:r,props:{shell:t,wsUrl:l,userId:u,role:d}});return{unmount(){He(f)},closable:!0}}};e.registerView("shell:terminal",n)},autostart(){}},Al=new Set(["await","break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","let","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","yield"]);function zi(e,t){const n=Object.keys(t),r=n.filter(a=>!Al.has(a)),s=n.filter(a=>Al.has(a)),i=[`const __m__ = globalThis.${e};`];r.length>0&&i.push(`export const { ${r.join(", ")} } = __m__;`);for(const a of s)i.push(`const __r_${a}__ = __m__['${a}']; export { __r_${a}__ as ${a} };`);return i.push("export default __m__.default;"),URL.createObjectURL(new Blob([i.join(`
13
+ `)],{type:"application/javascript"}))}const yo=globalThis;yo.__sh3__=Fd;yo.__sh3_svelte__=au;yo.__sh3_svelte_internal_client__=ku;const wo={"sh3-core":zi("__sh3__",Fd),svelte:zi("__sh3_svelte__",au),"svelte/internal/client":zi("__sh3_svelte_internal_client__",ku)};wo["svelte/internal/disclose-version"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));wo["sh3-core/tokens.css"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));const r1=/(?:from|import)\s*(['"])(sh3-core(?:\/[^'"]*)?|svelte(?:\/[^'"]*)?)\1/g;function s1(e){return e.replace(r1,(t,n,r)=>{const s=wo[r];return s?`${t.startsWith("from")?"from":"import"} '${s}'`:t})}async function es(e){const t=new TextDecoder().decode(e),n=s1(t),r=new Blob([n],{type:"application/javascript"}),s=URL.createObjectURL(r);try{const i=await import(s),a={shards:[],apps:[]};for(const l of Object.values(i)){if(!l||typeof l!="object"||!("manifest"in l))continue;const c=l;i1(c)?a.shards.push(c):a1(c)&&a.apps.push(c)}if(a.shards.length===0&&a.apps.length===0)throw new Error('Bundle has no exports with a "manifest" property — expected at least one shard or app');return a}finally{URL.revokeObjectURL(s)}}function i1(e){return"activate"in e&&typeof e.activate=="function"&&Array.isArray(e.manifest.views)}function a1(e){return"initialLayout"in e&&Array.isArray(e.manifest.requiredShards)}const o1="sh3-packages",l1=1,Br="bundles",cr="meta";function ts(){return new Promise((e,t)=>{const n=indexedDB.open(o1,l1);n.onupgradeneeded=()=>{const r=n.result;r.objectStoreNames.contains(Br)||r.createObjectStore(Br),r.objectStoreNames.contains(cr)||r.createObjectStore(cr)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function $n(e,t,n,r){return new Promise((s,i)=>{const l=e.transaction(t,n).objectStore(t),c=r(l);c.onsuccess=()=>s(c.result),c.onerror=()=>i(c.error)})}async function Kd(e,t,n){const r=await ts();await $n(r,Br,"readwrite",s=>s.put(t,e)),await $n(r,cr,"readwrite",s=>s.put(n,e)),r.close()}async function Wd(e){const t=await ts(),n=await $n(t,Br,"readonly",r=>r.get(e));return t.close(),n??null}async function c1(e){const t=await ts(),n=await $n(t,cr,"readonly",r=>r.get(e));return t.close(),n??null}async function Yd(){const e=await ts(),t=await $n(e,cr,"readonly",n=>n.getAll());return e.close(),t??[]}async function u1(e){const t=await ts();await $n(t,Br,"readwrite",n=>n.delete(e)),await $n(t,cr,"readwrite",n=>n.delete(e)),t.close()}function ko(e,t){for(const n of e.shards)n.manifest={...n.manifest,version:t.version},fo(n);for(const n of e.apps)n.manifest={...n.manifest,version:t.version},io(n)}const d1={"state:manage":{title:"Manage shell state zones",description:"Read and write state zones belonging to other shards."},"documents:browse":{title:"Browse tenant documents",description:"Observe all documents stored by the current tenant."},"documents:read":{title:"Read tenant documents",description:"Read the content of any document in the current tenant, across all shards. Required for backup connectors that need to pull document bodies (not just metadata) out of other shards."},"documents:write":{title:"Write tenant documents",description:"Create and overwrite documents in any shard's namespace within the current tenant. Required for restore-class connectors that re-import documents back into their owning shards."},"documents:sync":{title:"Sync documents with peers",description:"Participate in cross-peer document synchronization."},"sync:peer":{title:"Act as a sync peer",description:"Exchange document updates with remote peers."},"sync:policy":{title:"Define sync policy",description:"Configure which documents sync and with whom."},"keys:mint":{title:"Mint API keys",description:"Issue long-lived access tokens for this shell."}};function qi(e){return d1[e]??{title:e,description:"Unknown permission."}}function So(e){const t=new Set;for(const n of e.shards)for(const r of n.manifest.permissions??[])t.add(r);for(const n of e.apps)for(const r of n.manifest.permissions??[])t.add(r);return[...t]}async function xo(e,t,n){if(!t.integrity)return{success:!1,hotLoaded:!1,error:"Missing integrity hash — refusing to install unverified bundle"};try{await go(e,t.integrity)}catch(a){return{success:!1,hotLoaded:!1,error:`Integrity check failed: ${a instanceof Error?a.message:String(a)}`}}let r;if(n?.loaded)r=n.loaded;else try{r=await es(e)}catch(a){return{success:!1,hotLoaded:!1,error:`Failed to load bundle: ${a instanceof Error?a.message:String(a)}`}}if(t.type==="shard"&&r.shards.length===0)return{success:!1,hotLoaded:!1,error:`Package "${t.id}" declared type "shard" but bundle contains no valid shard`};if(t.type==="app"&&r.apps.length===0)return{success:!1,hotLoaded:!1,error:`Package "${t.id}" declared type "app" but bundle contains no valid app`};const s={id:t.id,type:t.type,version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion,installedAt:new Date().toISOString(),permissions:So(r)};try{await Kd(t.id,e,s)}catch(a){return{success:!1,hotLoaded:!1,error:`Failed to persist package: ${a instanceof Error?a.message:String(a)}`}}if(t.type==="shard"||t.type==="combo")try{pi(t.id)}catch{}(t.type==="app"||t.type==="combo")&&vo(t.id);let i=!0;try{ko(r,{version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion})}catch(a){console.warn(`[sh3] Package "${t.id}" installed but registration failed (will retry on next boot):`,a instanceof Error?a.message:a),i=!1}return{success:!0,package:s,hotLoaded:i}}async function Gd(e){try{pi(e)}catch{}vo(e),await u1(e)}async function f1(){return Yd()}async function v1(){let e;try{e=await Yd()}catch(t){console.warn("[sh3] Failed to read installed packages from storage:",t instanceof Error?t.message:t);return}for(const t of e)try{const n=await Wd(t.id);if(!n){console.warn(`[sh3] No bundle found for installed package "${t.id}", skipping`);continue}const r=await es(n);ko(r,{version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion}),r.shards.length===0&&r.apps.length===0&&console.warn(`[sh3] Package "${t.id}" contains no valid shards or apps, skipping`)}catch(n){console.warn(`[sh3] Failed to load installed package "${t.id}":`,n instanceof Error?n.message:n)}}const Cl={version:1};var h1=C('<span class="perm-modal-author svelte-1ipp1r6"> </span>'),p1=C('<p class="perm-modal-empty svelte-1ipp1r6">This package requires no special permissions.</p>'),m1=C('<li class="perm-modal-item svelte-1ipp1r6"><div class="perm-modal-item-title svelte-1ipp1r6"> </div> <div class="perm-modal-item-desc svelte-1ipp1r6"> </div></li>'),g1=C('<p class="perm-modal-intro svelte-1ipp1r6">This package requests the following permissions:</p> <ul class="perm-modal-list svelte-1ipp1r6"></ul>',1),b1=C('<li class="perm-modal-item svelte-1ipp1r6"><div class="perm-modal-item-title svelte-1ipp1r6"> </div> <div class="perm-modal-item-desc svelte-1ipp1r6"> </div></li>'),_1=C('<p class="perm-modal-intro svelte-1ipp1r6">New permissions in this update:</p> <ul class="perm-modal-list perm-modal-added svelte-1ipp1r6"></ul>',1),y1=C('<li class="perm-modal-item svelte-1ipp1r6"><div class="perm-modal-item-title svelte-1ipp1r6"> </div> <div class="perm-modal-item-desc svelte-1ipp1r6"> </div></li>'),w1=C('<p class="perm-modal-intro svelte-1ipp1r6">Permissions no longer requested:</p> <ul class="perm-modal-list perm-modal-removed svelte-1ipp1r6"></ul>',1),k1=C("<!> <!>",1),S1=C('<div class="perm-modal-backdrop svelte-1ipp1r6" role="dialog" aria-modal="true" tabindex="-1"><div class="perm-modal-panel svelte-1ipp1r6" role="document"><header class="perm-modal-header svelte-1ipp1r6"><h3 class="svelte-1ipp1r6"> </h3> <div class="perm-modal-subtitle svelte-1ipp1r6"><!> <!></div></header> <div class="perm-modal-body svelte-1ipp1r6"><!></div> <footer class="perm-modal-footer svelte-1ipp1r6"><button class="perm-modal-cancel svelte-1ipp1r6">Cancel</button> <button class="perm-modal-confirm svelte-1ipp1r6"> </button></footer></div></div>');function ga(e,t){ne(t,!0);const n=We(t,"permissions",19,()=>[]),r=We(t,"added",19,()=>[]),s=We(t,"removed",19,()=>[]),i=U(()=>t.mode==="install"?"Install":"Update");var a=S1(),l=h(a),c=h(l),u=h(c),d=h(u);v(u);var f=E(u,2),p=h(f);{var m=T=>{var D=qt();z(()=>L(D,`${t.fromVersion??""} → ${t.pkg.version??""}`)),I(T,D)},b=T=>{var D=qt();z(()=>L(D,`v${t.pkg.version??""}`)),I(T,D)};$(p,T=>{t.mode==="update"&&t.fromVersion?T(m):T(b,-1)})}var g=E(p,2);{var x=T=>{var D=h1(),P=h(D);v(D),z(()=>L(P,`by ${t.pkg.author??""}`)),I(T,D)};$(g,T=>{t.pkg.author&&T(x)})}v(f),v(c);var k=E(c,2),S=h(k);{var w=T=>{var D=ct(),P=pe(D);{var N=j=>{var B=p1();I(j,B)},V=j=>{var B=g1(),Y=E(pe(B),2);ce(Y,20,n,G=>G,(G,Z)=>{const J=U(()=>qi(Z));var te=m1(),ee=h(te),Q=h(ee,!0);v(ee);var fe=E(ee,2),ve=h(fe,!0);v(fe),v(te),z(()=>{L(Q,o(J).title),L(ve,o(J).description)}),I(G,te)}),v(Y),I(j,B)};$(P,j=>{n().length===0?j(N):j(V,-1)})}I(T,D)},R=T=>{var D=k1(),P=pe(D);{var N=B=>{var Y=_1(),G=E(pe(Y),2);ce(G,20,r,Z=>Z,(Z,J)=>{const te=U(()=>qi(J));var ee=b1(),Q=h(ee),fe=h(Q,!0);v(Q);var ve=E(Q,2),W=h(ve,!0);v(ve),v(ee),z(()=>{L(fe,o(te).title),L(W,o(te).description)}),I(Z,ee)}),v(G),I(B,Y)};$(P,B=>{r().length>0&&B(N)})}var V=E(P,2);{var j=B=>{var Y=w1(),G=E(pe(Y),2);ce(G,20,s,Z=>Z,(Z,J)=>{const te=U(()=>qi(J));var ee=y1(),Q=h(ee),fe=h(Q,!0);v(Q);var ve=E(Q,2),W=h(ve,!0);v(ve),v(ee),z(()=>{L(fe,o(te).title),L(W,o(te).description)}),I(Z,ee)}),v(G),I(B,Y)};$(V,B=>{s().length>0&&B(j)})}I(T,D)};$(S,T=>{t.mode==="install"?T(w):T(R,-1)})}v(k);var M=E(k,2),A=h(M),_=E(A,2),O=h(_,!0);v(_),v(M),v(l),v(a),z(()=>{be(a,"aria-label",`${o(i)??""} ${t.pkg.label??""}`),L(d,`${o(i)??""} ${t.pkg.label??""}`),L(O,o(i))}),F("click",a,function(...T){t.onCancel?.apply(this,T)}),F("keydown",a,T=>{T.key==="Escape"&&t.onCancel()}),F("click",l,T=>T.stopPropagation()),F("click",A,function(...T){t.onCancel?.apply(this,T)}),F("click",_,function(...T){t.onConfirm?.apply(this,T)}),I(e,a),re()}ue(["click","keydown"]);var x1=C('<div class="store-registry-entry svelte-1aafzt0"><span class="store-registry-url svelte-1aafzt0"> </span> <button class="store-registry-remove svelte-1aafzt0">Remove</button></div>'),E1=C('<div class="store-registries svelte-1aafzt0"></div>'),I1=C('<form class="store-add-registry svelte-1aafzt0"><input class="store-registry-input svelte-1aafzt0" type="url" placeholder="Registry URL (e.g. https://sh3.example.com/registry.json)"/> <button type="submit" class="store-add-btn svelte-1aafzt0">Add</button></form>'),A1=C('<div class="store-error svelte-1aafzt0"> </div>'),C1=C('<div class="store-error svelte-1aafzt0"> </div>'),T1=C('<img alt="" class="store-icon-img svelte-1aafzt0"/>'),R1=C('<span class="store-icon-placeholder svelte-1aafzt0"> </span>'),P1=C('<div class="store-card-warning svelte-1aafzt0"> </div>'),D1=C('<button class="store-update-btn svelte-1aafzt0"> </button>'),M1=C('<span class="store-installed-label svelte-1aafzt0">Installed</span>'),O1=C('<span class="store-card-missing svelte-1aafzt0"> </span>'),L1=C('<div class="store-install-wrap svelte-1aafzt0"><button class="store-install-btn svelte-1aafzt0"> </button> <!></div>'),j1=C('<div class="store-card svelte-1aafzt0"><div class="store-card-header svelte-1aafzt0"><div class="store-card-icon svelte-1aafzt0"><!></div> <div class="store-card-title svelte-1aafzt0"><span class="store-card-label svelte-1aafzt0"> </span> <span> </span> <span class="store-card-version svelte-1aafzt0"> </span></div></div> <p class="store-card-desc svelte-1aafzt0"> </p> <div class="store-card-author svelte-1aafzt0"> </div> <!> <div class="store-card-actions svelte-1aafzt0"><!></div></div>'),N1=C("No packages found. <!>",1),z1=C('<div class="store-empty svelte-1aafzt0"><!></div>'),q1=C('<div class="store-view svelte-1aafzt0"><header class="store-header svelte-1aafzt0"><h2 class="svelte-1aafzt0">Package Store</h2> <div class="store-controls svelte-1aafzt0"><input class="store-search svelte-1aafzt0" type="text" placeholder="Search packages..."/> <select class="store-filter svelte-1aafzt0"><option>All</option><option>Shards</option><option>Apps</option></select> <button class="store-refresh svelte-1aafzt0"> </button></div></header> <!> <!> <!> <!> <div class="store-grid svelte-1aafzt0"></div> <!></div> <!> <!>',1);function B1(e,t){ne(t,!0);let n=q(""),r=q("all"),s=q(le(new Set)),i=q(le(new Set)),a=q(null),l=q(""),c=q(null),u=q(null);const d=yn;async function f(){const H=o(l).trim();if(H&&!d.env.registries.includes(H))try{await d.addRegistry(H),y(l,""),d.refreshCatalog(),d.refreshInstalled()}catch(K){y(a,K instanceof Error?K.message:String(K),!0)}}async function p(H){try{await d.removeRegistry(H),d.refreshCatalog()}catch(K){y(a,K instanceof Error?K.message:String(K),!0)}}const m=U(()=>{const H=o(n).toLowerCase().trim();return d.state.ephemeral.catalog.filter(K=>o(r)!=="all"&&K.entry.type!==o(r)?!1:H?K.entry.id.toLowerCase().includes(H)||K.entry.label.toLowerCase().includes(H)||K.entry.description.toLowerCase().includes(H):!0)});function b(H){return d.state.ephemeral.installed.some(K=>K.id===H)}function g(H){return String(H.latest.contractVersion)!==String(Cl.version)}function x(H){return H in d.state.ephemeral.updatable}function k(H){return d.state.ephemeral.installed.find(K=>K.id===H)?.version??""}function S(H,K){const ke=H.latest.requires?.map(ge=>ge.id)??[];if(ke.length===0)return[];const Pe=new Set($d);for(const ge of K)(ge.type==="shard"||ge.type==="combo")&&Pe.add(ge.id);return ke.filter(ge=>!Pe.has(ge))}async function w(H){if(!o(i).has(H)){y(i,new Set([...o(i),H]),!0),y(a,null);try{await d.updatePackage(H,(K,ke)=>new Promise(Pe=>{const ge=d.state.ephemeral.updatable[H],ze=d.state.ephemeral.installed.find(Xe=>Xe.id===H);if(!ge||!ze){Pe(!0);return}y(u,{pkg:ge,fromVersion:ze.version,added:K,removed:ke,resolve:Pe},!0)}))}catch(K){y(a,K instanceof Error?K.message:String(K),!0)}finally{const K=new Set(o(i));K.delete(H),y(i,K,!0)}}}function R(){const H=o(u);H&&(y(u,null),H.resolve(!0))}function M(){const H=o(u);H&&(y(u,null),H.resolve(!1))}async function A(H){const K=H.entry.id;if(!o(s).has(K)){y(s,new Set([...o(s),K]),!0),y(a,null);try{const ke=await bi(H.latest,H.sourceRegistry),Pe=_i(H,H.latest),ge=await es(ke),ze=So(ge);let Xe;H.latest.serverBundleUrl&&(Xe=await bo(H.latest,H.sourceRegistry)),y(c,{pkg:H,permissions:ze,loaded:ge,bundle:ke,meta:Pe,serverBundle:Xe},!0)}catch(ke){y(a,ke instanceof Error?ke.message:String(ke),!0);const Pe=new Set(o(s));Pe.delete(K),y(s,Pe,!0)}}}async function _(){const H=o(c);if(!H)return;y(c,null);const{pkg:K,loaded:ke,bundle:Pe,meta:ge,serverBundle:ze}=H,Xe=K.entry.id;try{const $e={id:ge.id,type:ge.type,label:K.entry.label,version:ge.version,contractVersion:ge.contractVersion,sourceRegistry:ge.sourceRegistry,requiredShards:K.latest.requires?.map(xt=>xt.id)??[],installedAt:new Date().toISOString()},dn=await co($e,Pe,ze);if(!dn.ok){y(a,dn.error??"Server install failed",!0);return}const fn=await xo(Pe,ge,{loaded:ke});fn.success||console.warn(`[sh3-store] Server install ok but local hot-load failed: ${fn.error}`),await d.refreshInstalled()}catch($e){y(a,$e instanceof Error?$e.message:String($e),!0)}finally{const $e=new Set(o(s));$e.delete(Xe),y(s,$e,!0)}}function O(){if(!o(c))return;const H=o(c).pkg.entry.id;y(c,null);const K=new Set(o(s));K.delete(H),y(s,K,!0)}function T(){d.refreshCatalog(),d.refreshInstalled()}var D=q1(),P=pe(D),N=h(P),V=E(h(N),2),j=h(V);Se(j);var B=E(j,2),Y=h(B);Y.value=Y.__value="all";var G=E(Y);G.value=G.__value="shard";var Z=E(G);Z.value=Z.__value="app",v(B);var J=E(B,2),te=h(J,!0);v(J),v(V),v(N);var ee=E(N,2);{var Q=H=>{var K=E1();ce(K,21,()=>d.env.registries,Bn,(ke,Pe)=>{var ge=x1(),ze=h(ge),Xe=h(ze,!0);v(ze);var $e=E(ze,2);v(ge),z(()=>L(Xe,o(Pe))),F("click",$e,()=>p(o(Pe))),I(ke,ge)}),v(K),I(H,K)};$(ee,H=>{d.isAdmin&&d.env.registries.length>0&&H(Q)})}var fe=E(ee,2);{var ve=H=>{var K=I1(),ke=h(K);Se(ke);var Pe=E(ke,2);v(K),z(ge=>Pe.disabled=ge,[()=>!o(l).trim()]),Qe("submit",K,ge=>{ge.preventDefault(),f()}),Me(ke,()=>o(l),ge=>y(l,ge)),I(H,K)};$(fe,H=>{d.isAdmin&&H(ve)})}var W=E(fe,2);{var ae=H=>{var K=A1(),ke=h(K,!0);v(K),z(()=>L(ke,d.state.ephemeral.error)),I(H,K)};$(W,H=>{d.state.ephemeral.error&&H(ae)})}var me=E(W,2);{var Ye=H=>{var K=C1(),ke=h(K,!0);v(K),z(()=>L(ke,o(a))),I(H,K)};$(me,H=>{o(a)&&H(Ye)})}var Ae=E(me,2);ce(Ae,21,()=>o(m),H=>H.entry.id,(H,K)=>{const ke=U(()=>b(o(K).entry.id)),Pe=U(()=>g(o(K))),ge=U(()=>o(s).has(o(K).entry.id)),ze=U(()=>x(o(K).entry.id)),Xe=U(()=>o(i).has(o(K).entry.id)),$e=U(()=>S(o(K),d.state.ephemeral.installed));var dn=j1(),fn=h(dn),xt=h(fn),_r=h(xt);{var of=Le=>{var De=T1();z(()=>be(De,"src",o(K).entry.icon)),I(Le,De)},lf=Le=>{var De=R1(),Et=h(De,!0);v(De),z(()=>L(Et,o(K).entry.type==="shard"?"S":"A")),I(Le,De)};$(_r,Le=>{o(K).entry.icon?Le(of):Le(lf,-1)})}v(xt);var Co=E(xt,2),wi=h(Co),cf=h(wi,!0);v(wi);var ss=E(wi,2);let To;var uf=h(ss,!0);v(ss);var Ro=E(ss,2),df=h(Ro,!0);v(Ro),v(Co),v(fn);var ki=E(fn,2),ff=h(ki,!0);v(ki);var Si=E(ki,2),vf=h(Si,!0);v(Si);var Po=E(Si,2);{var hf=Le=>{var De=P1(),Et=h(De);v(De),z(()=>L(Et,`Contract mismatch: package targets v${o(K).latest.contractVersion??""}, running v${Cl.version}`)),I(Le,De)};$(Po,Le=>{o(Pe)&&Le(hf)})}var Do=E(Po,2),pf=h(Do);{var mf=Le=>{var De=D1(),Et=h(De,!0);v(De),z(xi=>{De.disabled=o(Xe),L(Et,xi)},[()=>o(Xe)?"Updating...":`Update ${k(o(K).entry.id)} -> ${o(K).latest.version}`]),F("click",De,()=>w(o(K).entry.id)),I(Le,De)},gf=Le=>{var De=M1();I(Le,De)},bf=Le=>{var De=L1(),Et=h(De),xi=h(Et,!0);v(Et);var _f=E(Et,2);{var yf=yr=>{var Ei=O1(),wf=h(Ei);v(Ei),z(kf=>L(wf,`requires: ${kf??""}`),[()=>o($e).join(", ")]),I(yr,Ei)};$(_f,yr=>{o($e).length>0&&yr(yf)})}v(De),z(yr=>{Et.disabled=o(ge)||o($e).length>0,be(Et,"title",yr),L(xi,o(ge)?"Installing...":"Install")},[()=>o($e).length>0?`Missing required shards: ${o($e).join(", ")}`:void 0]),F("click",Et,()=>A(o(K))),I(Le,De)};$(pf,Le=>{o(ke)&&o(ze)?Le(mf):o(ke)?Le(gf,1):Le(bf,-1)})}v(Do),v(dn),z(()=>{L(cf,o(K).entry.label),To=ye(ss,1,"store-card-badge svelte-1aafzt0",null,To,{"badge-shard":o(K).entry.type==="shard","badge-app":o(K).entry.type==="app"}),L(uf,o(K).entry.type),L(df,o(K).latest.version),L(ff,o(K).entry.description),L(vf,o(K).entry.author.name)}),I(H,dn)}),v(Ae);var at=E(Ae,2);{var Ge=H=>{var K=z1(),ke=h(K);{var Pe=ze=>{var Xe=N1(),$e=E(pe(Xe));{var dn=xt=>{var _r=qt("Add a registry URL above to get started.");I(xt,_r)},fn=xt=>{var _r=qt("No registries configured.");I(xt,_r)};$($e,xt=>{d.isAdmin?xt(dn):xt(fn,-1)})}I(ze,Xe)},ge=ze=>{var Xe=qt("No packages match the current filter.");I(ze,Xe)};$(ke,ze=>{d.env.registries.length===0?ze(Pe):ze(ge,-1)})}v(K),I(H,K)};$(at,H=>{!d.state.ephemeral.loading&&o(m).length===0&&H(Ge)})}v(P);var ns=E(P,2);{var En=H=>{{let K=U(()=>({label:o(c).pkg.entry.label,version:o(c).pkg.latest.version,author:o(c).pkg.entry.author.name}));ga(H,{mode:"install",get pkg(){return o(K)},get permissions(){return o(c).permissions},onConfirm:_,onCancel:O})}};$(ns,H=>{o(c)&&H(En)})}var yi=E(ns,2);{var rs=H=>{{let K=U(()=>({label:o(u).pkg.entry.label,version:o(u).pkg.latest.version,author:o(u).pkg.entry.author.name}));ga(H,{mode:"update",get pkg(){return o(K)},get fromVersion(){return o(u).fromVersion},get added(){return o(u).added},get removed(){return o(u).removed},onConfirm:R,onCancel:M})}};$(yi,H=>{o(u)&&H(rs)})}z(()=>{J.disabled=d.state.ephemeral.loading,L(te,d.state.ephemeral.loading?"Loading...":"Refresh")}),Me(j,()=>o(n),H=>y(n,H)),Lr(B,()=>o(r),H=>y(r,H)),F("click",J,T),I(e,D),re()}ue(["click"]);var V1=C('<div class="installed-error svelte-1hqclkp"> </div>'),$1=C('<div class="installed-empty svelte-1hqclkp">No packages installed.</div>'),F1=C('<button class="installed-update-btn svelte-1hqclkp"> </button>'),U1=C('<li class="installed-item svelte-1hqclkp"><div class="installed-item-main svelte-1hqclkp"><span class="installed-item-id svelte-1hqclkp"> </span> <span> </span> <span class="installed-item-version svelte-1hqclkp"> </span></div> <div class="installed-item-meta svelte-1hqclkp"><span> </span> <span> </span> <span> </span></div> <div class="installed-item-actions svelte-1hqclkp"><!> <button class="installed-uninstall-btn svelte-1hqclkp"> </button></div></li>'),H1=C('<ul class="installed-list svelte-1hqclkp"></ul>'),K1=C('<div class="installed-view svelte-1hqclkp"><header class="installed-header svelte-1hqclkp"><h2 class="svelte-1hqclkp">Installed Packages</h2> <button>Refresh</button></header> <!> <!> <!></div>');function W1(e,t){ne(t,!0);const n=yn;let r=q(le(new Set)),s=q(le(new Set)),i=q(null),a=q(null);async function l(_){if(!o(r).has(_)){y(r,new Set([...o(r),_]),!0);try{await pd(_),await Gd(_),await n.refreshInstalled()}catch(O){console.warn("[sh3-store] Uninstall failed:",O instanceof Error?O.message:O)}finally{const O=new Set(o(r));O.delete(_),y(r,O,!0)}}}async function c(_){if(!o(s).has(_)){y(s,new Set([...o(s),_]),!0),y(i,null);try{await n.updatePackage(_,(O,T)=>new Promise(D=>{const P=n.state.ephemeral.installed.find(V=>V.id===_),N=n.state.ephemeral.updatable[_];if(!P||!N){D(!0);return}y(a,{pkg:P,toVersion:N.latest.version,added:O,removed:T,resolve:D},!0)}))}catch(O){y(i,O instanceof Error?O.message:String(O),!0)}finally{const O=new Set(o(s));O.delete(_),y(s,O,!0)}}}function u(){const _=o(a);_&&(y(a,null),_.resolve(!0))}function d(){const _=o(a);_&&(y(a,null),_.resolve(!1))}function f(){n.refreshInstalled()}function p(_){try{return new Date(_).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return _}}var m=K1(),b=h(m),g=E(h(b),2);v(b);var x=E(b,2);{var k=_=>{var O=V1(),T=h(O,!0);v(O),z(()=>L(T,o(i))),I(_,O)};$(x,_=>{o(i)&&_(k)})}var S=E(x,2);{var w=_=>{var O=$1();I(_,O)},R=_=>{var O=H1();ce(O,21,()=>n.state.ephemeral.installed,T=>T.id,(T,D)=>{const P=U(()=>o(r).has(o(D).id));var N=U1(),V=h(N),j=h(V),B=h(j,!0);v(j);var Y=E(j,2);let G;var Z=h(Y,!0);v(Y);var J=E(Y,2),te=h(J,!0);v(J),v(V);var ee=E(V,2),Q=h(ee),fe=h(Q);v(Q);var ve=E(Q,2),W=h(ve);v(ve);var ae=E(ve,2),me=h(ae);v(ae),v(ee);var Ye=E(ee,2),Ae=h(Ye);{var at=En=>{const yi=U(()=>n.state.ephemeral.updatable[o(D).id]),rs=U(()=>o(s).has(o(D).id));var H=F1(),K=h(H,!0);v(H),z(()=>{H.disabled=o(rs)||o(P),L(K,o(rs)?"Updating...":`Update -> ${o(yi).latest.version}`)}),F("click",H,()=>c(o(D).id)),I(En,H)};$(Ae,En=>{o(D).id in n.state.ephemeral.updatable&&En(at)})}var Ge=E(Ae,2),ns=h(Ge,!0);v(Ge),v(Ye),v(N),z(En=>{L(B,o(D).id),G=ye(Y,1,"installed-item-badge svelte-1hqclkp",null,G,{"badge-shard":o(D).type==="shard","badge-app":o(D).type==="app"}),L(Z,o(D).type),L(te,o(D).version),L(fe,`Contract: v${o(D).contractVersion??""}`),L(W,`Source: ${o(D).sourceRegistry??""}`),L(me,`Installed: ${En??""}`),Ge.disabled=o(P),L(ns,o(P)?"Removing...":"Uninstall")},[()=>p(o(D).installedAt)]),F("click",Ge,()=>l(o(D).id)),I(T,N)}),v(O),I(_,O)};$(S,_=>{n.state.ephemeral.installed.length===0?_(w):_(R,-1)})}var M=E(S,2);{var A=_=>{{let O=U(()=>({label:o(a).pkg.id,version:o(a).toVersion}));ga(_,{mode:"update",get pkg(){return o(O)},get fromVersion(){return o(a).pkg.version},get added(){return o(a).added},get removed(){return o(a).removed},onConfirm:u,onCancel:d})}};$(M,_=>{o(a)&&_(A)})}v(m),F("click",g,f),I(e,m),re()}ue(["click"]);function Xd(e){return yn.state.ephemeral.catalog.find(t=>t.entry.id===e)}function Eo(e){return yn.state.ephemeral.installed.find(t=>t.id===e)}const Y1={name:"install",summary:"Install a package by id from the catalog.",async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:install <package-id>",level:"warn",ts:Date.now()});return}const r=Eo(n);if(r){e.scrollback.push({kind:"status",text:`${n} is already installed (v${r.version})`,level:"warn",ts:Date.now()});return}const s=Xd(n);if(!s){e.scrollback.push({kind:"status",text:`package "${n}" not found in catalog — try refreshing the store`,level:"error",ts:Date.now()});return}e.scrollback.push({kind:"status",text:`installing ${n} v${s.latest.version}...`,level:"info",ts:Date.now()});try{const i=await bi(s.latest,s.sourceRegistry),a=_i(s,s.latest);let l;s.latest.serverBundleUrl&&(l=await bo(s.latest,s.sourceRegistry));const c={id:a.id,type:a.type,label:s.entry.label,version:a.version,contractVersion:a.contractVersion,sourceRegistry:a.sourceRegistry,installedAt:new Date().toISOString(),requiredShards:s.latest.requires?.map(f=>f.id)??[]},u=await co(c,i,l);if(!u.ok){let f=`install failed: ${u.error??"server error"}`;u.code==="missing-shards"&&u.missing&&(f=`install failed: missing required shard(s): ${u.missing.map(m=>m.id).join(", ")}`),e.scrollback.push({kind:"status",text:f,level:"error",ts:Date.now()});return}const d=await xo(i,a);d.success||e.scrollback.push({kind:"status",text:`server ok but local hot-load failed: ${d.error}`,level:"warn",ts:Date.now()}),await yn.refreshInstalled(),e.scrollback.push({kind:"status",text:`installed ${n} v${s.latest.version}`,level:"info",ts:Date.now()})}catch(i){e.scrollback.push({kind:"status",text:`install failed: ${i instanceof Error?i.message:String(i)}`,level:"error",ts:Date.now()})}}},G1={name:"uninstall",summary:"Uninstall an installed package by id.",async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:uninstall <package-id>",level:"warn",ts:Date.now()});return}if(!Eo(n)){e.scrollback.push({kind:"status",text:`package "${n}" is not installed`,level:"error",ts:Date.now()});return}e.scrollback.push({kind:"status",text:`uninstalling ${n}...`,level:"info",ts:Date.now()});try{await pd(n),await Gd(n),await yn.refreshInstalled(),e.scrollback.push({kind:"status",text:`uninstalled ${n}`,level:"info",ts:Date.now()})}catch(s){e.scrollback.push({kind:"status",text:`uninstall failed: ${s instanceof Error?s.message:String(s)}`,level:"error",ts:Date.now()})}}},X1={name:"appinfo",summary:"Show info about a package (installed status, version, catalog details).",async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:appinfo <package-id>",level:"warn",ts:Date.now()});return}const r=Eo(n),s=Xd(n);if(!r&&!s){e.scrollback.push({kind:"status",text:`package "${n}" not found in catalog or installed list`,level:"error",ts:Date.now()});return}const i=[];i.push(`--- ${n} ---`),r?(i.push(" installed: yes"),i.push(` version: ${r.version}`),i.push(` type: ${r.type}`),i.push(` contract: v${r.contractVersion}`),i.push(` source: ${r.sourceRegistry}`),r.installedAt&&i.push(` installed: ${r.installedAt}`)):i.push(" installed: no"),s?(i.push(" catalog: yes"),i.push(` latest: ${s.latest.version}`),i.push(` label: ${s.entry.label}`),i.push(` author: ${s.entry.author.name}`),i.push(` desc: ${s.entry.description}`)):i.push(" catalog: no (not in any configured registry)"),e.scrollback.push({kind:"text",stream:"stdout",chunks:[i.join(`
14
+ `)+`
15
+ `],ts:Date.now()})}};function J1(e,t){const n=e.split(".").map(i=>parseInt(i,10)||0),r=t.split(".").map(i=>parseInt(i,10)||0),s=Math.max(n.length,r.length);for(let i=0;i<s;i++){const a=n[i]??0,l=r[i]??0;if(a>l)return!0;if(a<l)return!1}return!1}function Z1(e,t){const n=new Set(e),r=new Set(t);return{added:t.filter(s=>!n.has(s)),removed:e.filter(s=>!r.has(s))}}let yn;const Q1={manifest:{id:"sh3-store",label:"Package Store",version:xn,views:[{id:"sh3-store:browse",label:"Store"},{id:"sh3-store:installed",label:"Installed"}]},activate(e){const t=e.env({registries:[]}),n=e.state({ephemeral:{catalog:[],installed:[],updatable:{},loading:!1,error:null}});function r(){const f={};for(const p of n.ephemeral.installed){const m=n.ephemeral.catalog.find(b=>b.entry.id===p.id);m&&J1(m.latest.version,p.version)&&(f[p.id]=m)}n.ephemeral.updatable=f}async function s(){n.ephemeral.loading=!0,n.ephemeral.error=null;try{const f=await zd(t.registries);n.ephemeral.catalog=f,r()}catch(f){n.ephemeral.error=f instanceof Error?f.message:String(f)}finally{n.ephemeral.loading=!1}}async function i(){try{const f=await fy();n.ephemeral.installed=f.map(p=>({id:p.id,type:p.type,version:p.version,sourceRegistry:p.sourceRegistry??"",contractVersion:p.contractVersion??"",installedAt:p.installedAt??"",permissions:[]})),r()}catch(f){console.warn("[sh3-store] Failed to list installed packages:",f instanceof Error?f.message:f);try{const p=await f1();n.ephemeral.installed=p,r()}catch{}}}async function a(f){const p=[...t.registries];p.includes(f)||(p.push(f),await e.envUpdate({registries:p}))}async function l(f){const p=t.registries.filter(m=>m!==f);await e.envUpdate({registries:p})}async function c(f,p){const m=n.ephemeral.updatable[f];if(!m)return;const b=n.ephemeral.installed.find(N=>N.id===f);if(!b)return;const g=await bi(m.latest,m.sourceRegistry);let x;m.latest.serverBundleUrl&&(x=await bo(m.latest,m.sourceRegistry));const k=_i(m,m.latest),S=await es(g),w=So(S);let R=[];try{const N=await c1(f);N?.permissions&&(R=N.permissions)}catch{}const{added:M,removed:A}=Z1(R,w);if((M.length>0||A.length>0)&&p&&!await p(M,A))return;const _=await Wd(f),O={...b,permissions:R},T={id:k.id,type:k.type,label:m.entry.label,version:k.version,contractVersion:k.contractVersion,sourceRegistry:k.sourceRegistry,installedAt:new Date().toISOString(),requiredShards:m.latest.requires?.map(N=>N.id)??[]},D=await co(T,g,x);if(!D.ok){let N=D.error??"Server update failed";throw D.code==="missing-shards"&&D.missing&&(N=`missing required shard(s): ${D.missing.map(j=>j.id).join(", ")}`),new Error(N)}const P=await xo(g,k,{loaded:S});if(!P.success){if(_)try{await Kd(f,_,O)}catch(N){console.warn(`[sh3-store] Rollback failed for "${f}":`,N instanceof Error?N.message:N)}throw new Error(P.error??"Local install failed during update")}await i()}yn={env:t,state:n,get isAdmin(){return e.isAdmin},refreshCatalog:s,refreshInstalled:i,updatePackage:c,addRegistry:a,removeRegistry:l};const u={mount(f,p){const m=qe(B1,{target:f});return{unmount(){He(m)}}}},d={mount(f,p){const m=qe(W1,{target:f});return{unmount(){He(m)}}}};e.registerView("sh3-store:browse",u),e.registerView("sh3-store:installed",d),e.registerVerb(Y1),e.registerVerb(G1),e.registerVerb(X1),i()},autostart(){yn.refreshCatalog()}},e0={manifest:{id:"sh3-store-app",label:"Package Store",version:xn,requiredShards:["sh3-store"],layoutVersion:1,admin:!0},initialLayout:{type:"tabs",activeTab:0,tabs:[{slotId:"store.browse",viewId:"sh3-store:browse",label:"Browse"},{slotId:"store.installed",viewId:"sh3-store:installed",label:"Installed"}]}};var t0=C('<div class="admin-error svelte-4q792t"> </div>'),n0=C('<form class="admin-create-form svelte-4q792t"><input class="admin-input svelte-4q792t" type="text" placeholder="Username"/> <input class="admin-input svelte-4q792t" type="text" placeholder="Display name"/> <input class="admin-input svelte-4q792t" type="password" placeholder="Password"/> <select class="admin-input svelte-4q792t"><option>User</option><option>Admin</option></select> <button type="submit" class="admin-btn svelte-4q792t">Create</button> <!></form>'),r0=C('<p class="admin-muted svelte-4q792t">Loading...</p>'),s0=C('<p class="admin-error svelte-4q792t"> </p>'),i0=C('<form class="admin-edit-form svelte-4q792t"><input class="admin-input svelte-4q792t" type="text"/> <input class="admin-input svelte-4q792t" type="password" placeholder="New password (leave empty to keep)"/> <select class="admin-input svelte-4q792t"><option>User</option><option>Admin</option></select> <div class="admin-edit-actions svelte-4q792t"><button type="submit" class="admin-btn svelte-4q792t">Save</button> <button type="button" class="admin-btn-secondary svelte-4q792t">Cancel</button></div></form>'),a0=C('<div class="admin-user-info svelte-4q792t"><span class="admin-user-name svelte-4q792t"> </span> <span class="admin-user-meta svelte-4q792t"> </span></div> <div class="admin-user-actions svelte-4q792t"><button type="button" class="admin-btn-secondary svelte-4q792t">Edit</button> <button type="button" class="admin-btn-danger svelte-4q792t">Delete</button></div>',1),o0=C('<li class="admin-user-item svelte-4q792t"><!></li>'),l0=C('<ul class="admin-user-list svelte-4q792t"></ul>'),c0=C('<div class="admin-users svelte-4q792t"><div class="admin-users-header svelte-4q792t"><h2 class="svelte-4q792t">Users</h2> <button type="button" class="admin-btn svelte-4q792t"> </button></div> <!> <!></div>');function u0(e,t){ne(t,!0);let n=q(le([])),r=q(!0),s=q(null),i=q(!1),a=q(""),l=q(""),c=q(""),u=q("user"),d=q(null),f=q(null),p=q(""),m=q("user"),b=q("");async function g(){y(r,!0),y(s,null);try{const j=await fetch("/api/admin/users",{credentials:"include"});if(!j.ok)throw new Error("Failed to fetch users");y(n,await j.json(),!0)}catch(j){y(s,j instanceof Error?j.message:"Failed to load users",!0)}finally{y(r,!1)}}async function x(){y(d,null);try{const j=await fetch("/api/admin/users",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:o(a),displayName:o(l)||o(a),password:o(c),role:o(u)})});if(!j.ok){const B=await j.json().catch(()=>({}));y(d,B.error||"Failed to create user",!0);return}y(a,""),y(l,""),y(c,""),y(u,"user"),y(i,!1),await g()}catch{y(d,"Network error")}}function k(j){y(f,j.id,!0),y(p,j.displayName,!0),y(m,j.role,!0),y(b,"")}async function S(){if(!o(f))return;const j={displayName:o(p),role:o(m)};o(b).trim()&&(j.password=o(b));try{if(!(await fetch(`/api/admin/users/${o(f)}`,{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(j)})).ok)return;y(f,null),await g()}catch{}}async function w(j){try{await fetch(`/api/admin/users/${j}`,{method:"DELETE",credentials:"include"}),await g()}catch{}}g();var R=c0(),M=h(R),A=E(h(M),2),_=h(A,!0);v(A),v(M);var O=E(M,2);{var T=j=>{var B=n0(),Y=h(B);Se(Y);var G=E(Y,2);Se(G);var Z=E(G,2);Se(Z);var J=E(Z,2),te=h(J);te.value=te.__value="user";var ee=E(te);ee.value=ee.__value="admin",v(J);var Q=E(J,2),fe=E(Q,2);{var ve=W=>{var ae=t0(),me=h(ae,!0);v(ae),z(()=>L(me,o(d))),I(W,ae)};$(fe,W=>{o(d)&&W(ve)})}v(B),z(W=>Q.disabled=W,[()=>!o(a).trim()||!o(c).trim()]),Qe("submit",B,W=>{W.preventDefault(),x()}),Me(Y,()=>o(a),W=>y(a,W)),Me(G,()=>o(l),W=>y(l,W)),Me(Z,()=>o(c),W=>y(c,W)),Lr(J,()=>o(u),W=>y(u,W)),I(j,B)};$(O,j=>{o(i)&&j(T)})}var D=E(O,2);{var P=j=>{var B=r0();I(j,B)},N=j=>{var B=s0(),Y=h(B,!0);v(B),z(()=>L(Y,o(s))),I(j,B)},V=j=>{var B=l0();ce(B,21,()=>o(n),Y=>Y.id,(Y,G)=>{var Z=o0(),J=h(Z);{var te=Q=>{var fe=i0(),ve=h(fe);Se(ve);var W=E(ve,2);Se(W);var ae=E(W,2),me=h(ae);me.value=me.__value="user";var Ye=E(me);Ye.value=Ye.__value="admin",v(ae);var Ae=E(ae,2),at=E(h(Ae),2);v(Ae),v(fe),Qe("submit",fe,Ge=>{Ge.preventDefault(),S()}),Me(ve,()=>o(p),Ge=>y(p,Ge)),Me(W,()=>o(b),Ge=>y(b,Ge)),Lr(ae,()=>o(m),Ge=>y(m,Ge)),F("click",at,()=>{y(f,null)}),I(Q,fe)},ee=Q=>{var fe=a0(),ve=pe(fe),W=h(ve),ae=h(W,!0);v(W);var me=E(W,2),Ye=h(me);v(me),v(ve);var Ae=E(ve,2),at=h(Ae),Ge=E(at,2);v(Ae),z(()=>{L(ae,o(G).displayName),L(Ye,`${o(G).username??""} · ${o(G).role??""}`)}),F("click",at,()=>k(o(G))),F("click",Ge,()=>w(o(G).id)),I(Q,fe)};$(J,Q=>{o(f)===o(G).id?Q(te):Q(ee,-1)})}v(Z),I(Y,Z)}),v(B),I(j,B)};$(D,j=>{o(r)?j(P):o(s)?j(N,1):j(V,-1)})}v(R),z(()=>L(_,o(i)?"Cancel":"New user")),F("click",A,()=>{y(i,!o(i))}),I(e,R),re()}ue(["click"]);var d0=C('<p class="admin-muted svelte-1hsgdb4">Loading...</p>'),f0=C('<div class="admin-error svelte-1hsgdb4"> </div>'),v0=C('<div class="admin-auth-fields svelte-1hsgdb4"><label class="admin-toggle svelte-1hsgdb4"><input type="checkbox" class="svelte-1hsgdb4"/> <span>Require sign-in</span> <span class="admin-hint svelte-1hsgdb4">When enabled, unauthenticated visitors see a sign-in wall.</span></label> <label class="admin-toggle svelte-1hsgdb4"><input type="checkbox" class="svelte-1hsgdb4"/> <span>Allow guest browsing</span> <span class="admin-hint svelte-1hsgdb4">When sign-in is required, guests can still browse with session-only data.</span></label> <label class="admin-toggle svelte-1hsgdb4"><input type="checkbox" class="svelte-1hsgdb4"/> <span>Self-registration</span> <span class="admin-hint svelte-1hsgdb4">Visitors can create their own accounts from the sign-in screen.</span></label> <label class="admin-field svelte-1hsgdb4"><span class="svelte-1hsgdb4">Session lifetime (hours)</span> <input type="number" class="admin-input admin-input-sm svelte-1hsgdb4" min="1" max="8760"/></label> <button type="button" class="admin-btn svelte-1hsgdb4"> </button></div> <!>',1),h0=C('<div class="admin-auth svelte-1hsgdb4"><h2 class="svelte-1hsgdb4">Auth Settings</h2> <!></div>');function p0(e,t){ne(t,!0);let n=q(null),r=q(!0),s=q(!1),i=q(null);async function a(){y(r,!0);try{const p=await fetch("/api/admin/settings",{credentials:"include"});if(!p.ok)throw new Error("Failed to fetch settings");y(n,await p.json(),!0)}catch(p){y(i,p instanceof Error?p.message:"Failed to load settings",!0)}finally{y(r,!1)}}async function l(){if(o(n)){y(s,!0),y(i,null);try{const p=await fetch("/api/admin/settings",{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(o(n))});if(!p.ok)throw new Error("Failed to save settings");y(n,await p.json(),!0)}catch(p){y(i,p instanceof Error?p.message:"Failed to save",!0)}finally{y(s,!1)}}}a();var c=h0(),u=E(h(c),2);{var d=p=>{var m=d0();I(p,m)},f=p=>{var m=v0(),b=pe(m),g=h(b),x=h(g);Se(x),sn(4),v(g);var k=E(g,2),S=h(k);Se(S),sn(4),v(k);var w=E(k,2),R=h(w);Se(R),sn(4),v(w);var M=E(w,2),A=E(h(M),2);Se(A),v(M);var _=E(M,2),O=h(_,!0);v(_),v(b);var T=E(b,2);{var D=P=>{var N=f0(),V=h(N,!0);v(N),z(()=>L(V,o(i))),I(P,N)};$(T,P=>{o(i)&&P(D)})}z(()=>{_.disabled=o(s),L(O,o(s)?"Saving...":"Save")}),vs(x,()=>o(n).auth.required,P=>o(n).auth.required=P),vs(S,()=>o(n).auth.guestAllowed,P=>o(n).auth.guestAllowed=P),vs(R,()=>o(n).auth.selfRegistration,P=>o(n).auth.selfRegistration=P),Me(A,()=>o(n).auth.sessionTTL,P=>o(n).auth.sessionTTL=P),F("click",_,l),I(p,m)};$(u,p=>{o(r)?p(d):o(n)&&p(f,1)})}v(c),I(e,c),re()}ue(["click"]);var m0=C('<button type="button"> </button>'),g0=C('<div class="admin-error svelte-1gkiloq"> </div>'),b0=C('<div class="admin-error svelte-1gkiloq"> </div>'),_0=C(`<div class="admin-system svelte-1gkiloq"><h2 class="svelte-1gkiloq">System</h2> <div class="admin-system-info svelte-1gkiloq"><div class="admin-system-row svelte-1gkiloq"><span class="admin-system-label svelte-1gkiloq">Server version</span> <span> </span></div></div> <section class="admin-system-section svelte-1gkiloq"><h3 class="svelte-1gkiloq">Package bundle cache</h3> <p class="admin-system-hint svelte-1gkiloq">Controls the <code>Cache-Control</code> header on <code>/packages/:id/client.js</code>.
16
+ Set to <strong>0</strong> during development so drop-in bundle replacements take effect on F5.
17
+ Use a long value in production.</p> <input type="range" min="0" max="31536000" step="1" class="svelte-1gkiloq"/> <div class="admin-system-readout svelte-1gkiloq"><code> </code> </div> <div class="admin-system-snaps svelte-1gkiloq"></div> <div class="admin-system-actions svelte-1gkiloq"><button type="button" class="admin-btn svelte-1gkiloq"> </button> <button type="button" class="admin-btn-ghost svelte-1gkiloq">Reset</button> <!></div></section> <section class="admin-system-section svelte-1gkiloq"><h3 class="svelte-1gkiloq">Server control</h3> <div class="admin-system-actions svelte-1gkiloq"><button type="button" class="admin-btn-danger svelte-1gkiloq"> </button> <!></div></section></div>`);function y0(e,t){ne(t,!0);const n=[{value:0,label:"Off (no-store)"},{value:5,label:"5s (dev)"},{value:60,label:"1 min"},{value:3600,label:"1 hour"},{value:86400,label:"1 day"},{value:31536e3,label:"1 year"}];let r=q("..."),s=q(!1),i=q(null),a=q(31536e3),l=q(31536e3),c=q(!1),u=q(null);const d=U(()=>o(a)!==o(l)),f=U(()=>p(o(a)));function p(W){return W===0?"0 seconds (off — browsers never cache)":W<60?`${W} seconds`:W<3600?`${Math.round(W/60)} minutes`:W<86400?`${Math.round(W/3600)} hours`:W<31536e3?`${Math.round(W/86400)} days`:`${Math.round(W/31536e3)} years`}async function m(){try{const W=await fetch("/api/version");if(W.ok){const ae=await W.json();y(r,ae.version,!0)}}catch{}}async function b(){try{const W=await fetch("/api/admin/settings",{credentials:"include"});if(W.ok){const me=(await W.json()).packages?.cacheMaxAge??31536e3;y(a,me,!0),y(l,me,!0)}}catch{}}async function g(){y(c,!0),y(u,null);try{const W=await fetch("/api/admin/settings",{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({packages:{cacheMaxAge:o(a)}})});if(W.ok){const ae=await W.json();y(l,ae.packages?.cacheMaxAge??o(a),!0),y(a,o(l),!0)}else{const ae=await W.json().catch(()=>({}));y(u,ae.error||"Save failed",!0)}}catch{y(u,"Network error")}finally{y(c,!1)}}async function x(){y(s,!0),y(i,null);try{const W=await fetch("/api/admin/restart",{method:"POST",credentials:"include"});if(!W.ok){const ae=await W.json().catch(()=>({}));y(i,ae.error||"Restart failed",!0),y(s,!1)}}catch{y(i,"Network error"),y(s,!1)}}m(),b();var k=_0(),S=E(h(k),2),w=h(S),R=E(h(w),2),M=h(R,!0);v(R),v(w),v(S);var A=E(S,2),_=E(h(A),4);Se(_);var O=E(_,2),T=h(O),D=h(T,!0);v(T);var P=E(T);v(O);var N=E(O,2);ce(N,21,()=>n,W=>W.value,(W,ae)=>{var me=m0();let Ye;var Ae=h(me,!0);v(me),z(()=>{Ye=ye(me,1,"admin-snap svelte-1gkiloq",null,Ye,{active:o(a)===o(ae).value}),me.disabled=o(c),L(Ae,o(ae).label)}),F("click",me,()=>y(a,o(ae).value,!0)),I(W,me)}),v(N);var V=E(N,2),j=h(V),B=h(j,!0);v(j);var Y=E(j,2),G=E(Y,2);{var Z=W=>{var ae=g0(),me=h(ae,!0);v(ae),z(()=>L(me,o(u))),I(W,ae)};$(G,W=>{o(u)&&W(Z)})}v(V),v(A);var J=E(A,2),te=E(h(J),2),ee=h(te),Q=h(ee,!0);v(ee);var fe=E(ee,2);{var ve=W=>{var ae=b0(),me=h(ae,!0);v(ae),z(()=>L(me,o(i))),I(W,ae)};$(fe,W=>{o(i)&&W(ve)})}v(te),v(J),v(k),z(()=>{L(M,o(r)),_.disabled=o(c),L(D,o(a)),L(P,` — ${o(f)??""}`),j.disabled=!o(d)||o(c),L(B,o(c)?"Saving...":"Save"),Y.disabled=!o(d)||o(c),ee.disabled=o(s),L(Q,o(s)?"Restarting...":"Restart server")}),Me(_,()=>o(a),W=>y(a,W)),F("click",j,g),F("click",Y,()=>y(a,o(l),!0)),F("click",ee,x),I(e,k),re()}ue(["click"]);var w0=C(`<div class="admin-key-created"><div class="admin-key-created-label">New key — copy now, it won't be shown again:</div> <code class="admin-key-value svelte-1afg5z5"> </code> <button type="button" class="admin-btn-secondary svelte-1afg5z5">Dismiss</button></div>`),k0=C('<div class="admin-error svelte-1afg5z5"> </div>'),S0=C('<form class="admin-create-form svelte-1afg5z5"><input class="admin-input svelte-1afg5z5" type="text" placeholder="Key label"/> <button type="submit" class="admin-btn svelte-1afg5z5">Create</button> <!></form>'),x0=C('<p class="admin-muted svelte-1afg5z5">Loading...</p>'),E0=C('<p class="admin-error svelte-1afg5z5"> </p>'),I0=C('<p class="admin-muted svelte-1afg5z5">No API keys. Create one to enable external access.</p>'),A0=C('<button type="button" class="admin-btn-danger svelte-1afg5z5">Confirm</button> <button type="button" class="admin-btn-secondary svelte-1afg5z5">Cancel</button>',1),C0=C('<button type="button" class="admin-btn-danger svelte-1afg5z5">Revoke</button>'),T0=C('<li class="admin-key-item svelte-1afg5z5"><div class="admin-key-info svelte-1afg5z5"><span class="admin-key-label svelte-1afg5z5"> </span> <span class="admin-key-meta svelte-1afg5z5"> </span></div> <div class="admin-key-actions svelte-1afg5z5"><!></div></li>'),R0=C('<ul class="admin-key-list svelte-1afg5z5"></ul>'),P0=C('<div class="admin-keys svelte-1afg5z5"><div class="admin-keys-header svelte-1afg5z5"><h2 class="svelte-1afg5z5">API Keys</h2> <button type="button" class="admin-btn svelte-1afg5z5"> </button></div> <!> <!> <!></div>');function D0(e,t){ne(t,!0);let n=q(le([])),r=q(!0),s=q(null),i=q(!1),a=q(""),l=q(null),c=q(null),u=q(null);async function d(){y(r,!0),y(s,null);try{const P=await fetch("/api/admin/keys",{credentials:"include"});if(!P.ok)throw new Error("Failed to fetch keys");y(n,await P.json(),!0)}catch(P){y(s,P instanceof Error?P.message:"Failed to load keys",!0)}finally{y(r,!1)}}async function f(){y(l,null);try{const P=await fetch("/api/admin/keys",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({label:o(a)})});if(!P.ok){const V=await P.json().catch(()=>({}));y(l,V.error||"Failed to create key",!0);return}const N=await P.json();y(c,{id:N.id,key:N.key},!0),y(a,""),y(i,!1),await d()}catch{y(l,"Network error")}}async function p(P){y(u,null);try{await fetch(`/api/admin/keys/${P}`,{method:"DELETE",credentials:"include"}),o(c)?.id===P&&y(c,null),await d()}catch{}}function m(P){return new Date(P).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}d();var b=P0(),g=h(b),x=E(h(g),2),k=h(x,!0);v(x),v(g);var S=E(g,2);{var w=P=>{var N=w0(),V=E(h(N),2),j=h(V,!0);v(V);var B=E(V,2);v(N),z(()=>L(j,o(c).key)),F("click",B,()=>{y(c,null)}),I(P,N)};$(S,P=>{o(c)&&P(w)})}var R=E(S,2);{var M=P=>{var N=S0(),V=h(N);Se(V);var j=E(V,2),B=E(j,2);{var Y=G=>{var Z=k0(),J=h(Z,!0);v(Z),z(()=>L(J,o(l))),I(G,Z)};$(B,G=>{o(l)&&G(Y)})}v(N),z(G=>j.disabled=G,[()=>!o(a).trim()]),Qe("submit",N,G=>{G.preventDefault(),f()}),Me(V,()=>o(a),G=>y(a,G)),I(P,N)};$(R,P=>{o(i)&&P(M)})}var A=E(R,2);{var _=P=>{var N=x0();I(P,N)},O=P=>{var N=E0(),V=h(N,!0);v(N),z(()=>L(V,o(s))),I(P,N)},T=P=>{var N=I0();I(P,N)},D=P=>{var N=R0();ce(N,21,()=>o(n),V=>V.id,(V,j)=>{var B=T0(),Y=h(B),G=h(Y),Z=h(G,!0);v(G);var J=E(G,2),te=h(J);v(J),v(Y);var ee=E(Y,2),Q=h(ee);{var fe=W=>{var ae=A0(),me=pe(ae),Ye=E(me,2);F("click",me,()=>p(o(j).id)),F("click",Ye,()=>{y(u,null)}),I(W,ae)},ve=W=>{var ae=C0();F("click",ae,()=>{y(u,o(j).id,!0)}),I(W,ae)};$(Q,W=>{o(u)===o(j).id?W(fe):W(ve,-1)})}v(ee),v(B),z(W=>{L(Z,o(j).label),L(te,`${o(j).id??""} · ${W??""}`)},[()=>m(o(j).createdAt)]),I(V,B)}),v(N),I(P,N)};$(A,P=>{o(r)?P(_):o(s)?P(O,1):o(n).length===0?P(T,2):P(D,-1)})}v(b),z(()=>L(k,o(i)?"Cancel":"New key")),F("click",x,()=>{y(i,!o(i))}),I(e,b),re()}ue(["click"]);const M0={manifest:{id:"sh3-admin",label:"Admin",version:xn,views:[{id:"sh3-admin:users",label:"Users"},{id:"sh3-admin:auth",label:"Auth Settings"},{id:"sh3-admin:system",label:"System"},{id:"sh3-admin:keys",label:"API Keys"}]},activate(e){const t={mount(i,a){const l=qe(u0,{target:i});return{unmount(){He(l)}}}},n={mount(i,a){const l=qe(p0,{target:i});return{unmount(){He(l)}}}},r={mount(i,a){const l=qe(y0,{target:i});return{unmount(){He(l)}}}},s={mount(i,a){const l=qe(D0,{target:i});return{unmount(){He(l)}}}};e.registerView("sh3-admin:users",t),e.registerView("sh3-admin:auth",n),e.registerView("sh3-admin:system",r),e.registerView("sh3-admin:keys",s)}},O0={manifest:{id:"sh3-admin-app",label:"Admin",version:xn,requiredShards:["sh3-admin"],layoutVersion:1,admin:!0},initialLayout:{type:"tabs",activeTab:0,tabs:[{slotId:"admin.users",viewId:"sh3-admin:users",label:"Users"},{slotId:"admin.auth",viewId:"sh3-admin:auth",label:"Auth"},{slotId:"admin.system",viewId:"sh3-admin:system",label:"System"},{slotId:"admin.keys",viewId:"sh3-admin:keys",label:"Keys"}]}},Tl="sh3:migrations:shell-rename:done",Rl="__shell__:",L0="__sh3core__:",Pl="sh3:user:__shell__:theme",Dl="sh3:user:__sh3core__:theme";function j0(e,t){if(t.getItem(Tl))return;const n=t.getItem(Pl);n!==null&&t.getItem(Dl)===null&&(t.setItem(Dl,n),t.removeItem(Pl));for(const r of e.keys()){if(!r.startsWith(Rl))continue;const s=L0+r.slice(Rl.length),i=e.read(r);e.write(s,i),e.delete(r)}t.setItem(Tl,"1")}function N0(e){fo(e)}function z0(){const e=Ft.workspace;return{keys:()=>e.list(),read:t=>e.read(t),write:(t,n)=>e.write(t,n),delete:t=>e.delete(t)}}async function q0(e){typeof globalThis.localStorage<"u"&&j0(z0(),globalThis.localStorage);const t=new Set(e?.excludeShards),n=[_w,n1,Q1,M0];for(const i of n)t.has(i.manifest.id)||fo(i);const r=[e0,O0];for(const i of r)io(i);await v1();for(const[i,a]of Qt)a.autostart&&(k_(i),await Ed(i));const s=Ey();s&&gn.has(s)&&await Vn(s)}var B0=C('<button type="button" aria-label="Expand pane"><span class="collapse-icon"> </span></button>'),V0=C('<button type="button" aria-label="Collapse pane"><span class="collapse-icon"> </span></button>'),$0=C('<!> <div class="pane-content svelte-1adl4o1"><!></div>',1),F0=C('<div role="separator"></div>'),U0=C("<div><!></div> <!>",1),H0=C("<div></div>");function K0(e,t){ne(t,!0);const n=40,r=28;let s;const i=k=>t.pinned?.[k]??"fr",a=k=>t.collapsed?.[k]??!1,l=k=>t.fixed?.[k]??!1,c=k=>l(k)||l(k+1);function u(k){if(l(k))return!1;const S=k>0?!l(k-1):!1,w=k<t.count-1?!l(k+1):!1;return S||w}function d(k){return a(k)?`0 0 ${r}px`:i(k)==="px"?`0 0 ${Math.max(n,t.sizes[k])}px`:`${Math.max(1e-4,t.sizes[k])} 1 0`}let f=q(null);function p(k,S){if(a(S)||a(S+1)||c(S))return;k.preventDefault(),k.target.setPointerCapture(k.pointerId);const w=s.getBoundingClientRect(),R=t.direction==="horizontal"?w.width:w.height;let M=0,A=0;for(let _=0;_<t.sizes.length;_++)i(_)==="fr"?M+=t.sizes[_]:A+=Math.max(n,t.sizes[_]);y(f,{handleIndex:S,startClient:t.direction==="horizontal"?k.clientX:k.clientY,startSizes:t.sizes.slice(),containerPx:R,totalFr:M,frAvailPx:Math.max(1,R-A)},!0)}function m(k){if(!o(f))return;const w=(t.direction==="horizontal"?k.clientX:k.clientY)-o(f).startClient,R=o(f).handleIndex,M=R+1,A=i(R),_=i(M),O=o(f).totalFr/o(f).frAvailPx;if(A==="fr"&&_==="fr"){const T=n*O,D=w*O,P=o(f).startSizes[M]-T,N=-(o(f).startSizes[R]-T),V=Math.min(Math.max(D,N),P);t.onResize?.(R,o(f).startSizes[R]+V),t.onResize?.(M,o(f).startSizes[M]-V)}else if(A==="px"&&_==="fr"){const T=o(f).frAvailPx-n,D=n-o(f).startSizes[R];t.onResize?.(R,o(f).startSizes[R]+Math.min(Math.max(w,D),T))}else if(A==="fr"&&_==="px"){const T=o(f).startSizes[M]-n,D=-(o(f).frAvailPx-n);t.onResize?.(M,o(f).startSizes[M]-Math.min(Math.max(w,D),T))}else{const T=o(f).startSizes[M]-n,D=-(o(f).startSizes[R]-n),P=Math.min(Math.max(w,D),T);t.onResize?.(R,o(f).startSizes[R]+P),t.onResize?.(M,o(f).startSizes[M]-P)}}function b(k){o(f)&&(k.target.releasePointerCapture(k.pointerId),y(f,null))}var g=H0();let x;ce(g,21,()=>Array(t.count),Bn,(k,S,w)=>{var R=U0(),M=pe(R);let A;var _=h(M);{var O=V=>{var j=B0();let B;var Y=h(j),G=h(Y,!0);v(Y),v(j),z(()=>{B=ye(j,1,"collapse-header svelte-1adl4o1",null,B,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),L(G,t.direction==="horizontal"?"▸":"▾")}),F("click",j,()=>t.onCollapseToggle?.(w,!1)),I(V,j)},T=U(()=>a(w)),D=V=>{var j=$0(),B=pe(j);{var Y=te=>{var ee=V0();let Q;be(ee,"data-testid",`collapse-toggle-${w}`);var fe=h(ee),ve=h(fe,!0);v(fe),v(ee),z(()=>{Q=ye(ee,1,"collapse-header expanded svelte-1adl4o1",null,Q,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),L(ve,t.direction==="horizontal"?"◂":"▴")}),F("click",ee,()=>t.onCollapseToggle?.(w,!0)),I(te,ee)},G=U(()=>t.onCollapseToggle&&u(w));$(B,te=>{o(G)&&te(Y)})}var Z=E(B,2),J=h(Z);Xs(J,()=>t.pane,()=>w),v(Z),I(V,j)};$(_,V=>{o(T)?V(O):V(D,-1)})}v(M);var P=E(M,2);{var N=V=>{var j=F0();let B;be(j,"data-testid",`splitter-handle-${w}`),z(Y=>{B=ye(j,1,"splitter-handle svelte-1adl4o1",null,B,Y),be(j,"aria-orientation",t.direction==="horizontal"?"vertical":"horizontal")},[()=>({dragging:o(f)?.handleIndex===w,disabled:a(w)||a(w+1),frozen:c(w)})]),F("pointerdown",j,Y=>p(Y,w)),F("pointermove",j,m),F("pointerup",j,b),Qe("pointercancel",j,b),F("dblclick",j,()=>{c(w)||!u(w)&&!a(w)||t.onCollapseToggle?.(w,!a(w))}),I(V,j)};$(P,V=>{w<t.count-1&&V(N)})}z((V,j)=>{A=ye(M,1,"splitter-pane svelte-1adl4o1",null,A,V),tn(M,`flex: ${j??""};`)},[()=>({collapsed:a(w)}),()=>d(w)]),I(k,R)}),v(g),et(g,k=>s=k,()=>s),z(()=>x=ye(g,1,"splitter svelte-1adl4o1",null,x,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"})),I(e,g),re()}ue(["click","pointerdown","pointermove","pointerup","dblclick"]);function W0(e,t,n){if(!n)return null;const r=n.getBoundingClientRect(),s=t.filter(l=>!!l);if(s.length===0)return{left:4,top:2,height:r.height-4};const i=Math.max(0,Math.min(e,s.length));let a;return i===s.length?a=s[s.length-1].getBoundingClientRect().right:a=s[i].getBoundingClientRect().left,{left:a-r.left-1,top:2,height:r.height-4}}var Y0=C('<span class="tab-dirty svelte-1kxcyhf" title="Unsaved changes"></span>'),G0=C('<span class="tab-icon svelte-1kxcyhf"> </span>'),X0=C('<span class="tab-close svelte-1kxcyhf" role="button" tabindex="-1" title="Close">&#x2715;</span>'),J0=C('<button type="button" role="tab"><!> <!> <span class="tab-label svelte-1kxcyhf"> </span> <!></button>'),Z0=C('<div class="drop-indicator svelte-1kxcyhf"></div>'),Q0=C("<div><!></div>"),eS=C('<div class="tabbed-panel svelte-1kxcyhf"><div class="tab-strip svelte-1kxcyhf" role="tablist" tabindex="-1"><!> <!></div> <div class="tab-body svelte-1kxcyhf" role="tabpanel"></div></div>');function tS(e,t){ne(t,!0);function n(x){t.clickGuard?.()||t.onActiveChange?.(x)}function r(x,k){k.stopPropagation(),t.onClose?.(x)}let s=q(void 0);const i=le([]);let a=q(null);function l(x,k){if(!t.dragController)return;const S=i[x];S&&t.dragController.onPointerDown(x,k,S)}function c(x){if(!t.dragController||!t.dragController.isDragging||!o(s))return;const k=o(s).getBoundingClientRect(),S=i.filter(w=>!!w).map(w=>w.getBoundingClientRect());y(a,t.dragController.onStripHover(k,x.clientX,x.clientY,S),!0)}function u(){t.dragController&&(y(a,null),t.dragController.onStripLeave())}var d=eS(),f=h(d),p=h(f);ce(p,17,()=>t.labels,Bn,(x,k,S)=>{var w=J0();let R;var M=h(w);{var A=V=>{var j=Y0();I(V,j)};$(M,V=>{t.dirty?.[S]&&V(A)})}var _=E(M,2);{var O=V=>{var j=G0(),B=h(j,!0);v(j),z(()=>L(B,t.icons[S])),I(V,j)};$(_,V=>{t.icons?.[S]&&V(O)})}var T=E(_,2),D=h(T,!0);v(T);var P=E(T,2);{var N=V=>{var j=X0();z(()=>be(j,"data-testid",t.tabIds?.[S]?`tab-close-${t.tabIds[S]}`:void 0)),F("click",j,B=>r(S,B)),F("keydown",j,B=>{(B.key==="Enter"||B.key===" ")&&r(S,B)}),I(V,j)};$(P,V=>{t.closable?.[S]&&V(N)})}v(w),et(w,(V,j)=>i[j]=V,V=>i?.[V],()=>[S]),z(()=>{R=ye(w,1,"tab svelte-1kxcyhf",null,R,{active:t.activeTab===S}),be(w,"aria-selected",t.activeTab===S),L(D,o(k))}),F("click",w,()=>n(S)),F("pointerdown",w,V=>l(S,V)),Qe("auxclick",w,V=>{V.button===1&&t.closable?.[S]&&r(S,V)}),I(x,w)});var m=E(p,2);{var b=x=>{const k=U(()=>W0(o(a),i,o(s)));var S=ct(),w=pe(S);{var R=M=>{var A=Z0();z(()=>tn(A,`left: ${o(k).left??""}px; height: ${o(k).height??""}px; top: ${o(k).top??""}px;`)),I(M,A)};$(w,M=>{o(k)&&M(R)})}I(x,S)};$(m,x=>{o(a)!==null&&t.dragController?.isDragging&&x(b)})}v(f),et(f,x=>y(s,x),()=>o(s));var g=E(f,2);ce(g,21,()=>t.labels,Bn,(x,k,S)=>{var w=Q0();let R;var M=h(w);Xs(M,()=>t.body,()=>S),v(w),z(()=>R=ye(w,1,"tab-body-pane svelte-1kxcyhf",null,R,{active:t.activeTab===S})),I(x,w)}),v(g),v(d),F("pointermove",f,c),Qe("pointerleave",f,u),I(e,d),re()}ue(["pointermove","click","pointerdown","keydown"]);var nS=C('no factory for <code class="svelte-1czj0s8"> </code>',1),rS=C("<em>empty slot</em>"),sS=C('<div class="slot-placeholder svelte-1czj0s8"><div class="slot-id svelte-1czj0s8"> </div> <div class="slot-meta svelte-1czj0s8"><!></div> <div class="slot-dims svelte-1czj0s8"> </div></div>'),iS=C('<div class="slot svelte-1czj0s8"><!></div>');function Ml(e,t){ne(t,!0);let n=We(t,"label",3,""),r=q(void 0),s=q(0),i=q(0);const a=U(()=>t.node.viewId?!!Fu(t.node.viewId):!1);Ie(()=>{if(!o(r))return;const d=t.node.slotId,f=no(d,t.node.viewId,n()||t.node.viewId||d);o(r).appendChild(f);const p=new ResizeObserver(m=>{for(const b of m){const g=b.contentRect;y(s,Math.round(g.width),!0),y(i,Math.round(g.height),!0)}});return p.observe(o(r)),()=>{p.disconnect(),ro(d)}});var l=iS(),c=h(l);{var u=d=>{var f=sS(),p=h(f),m=h(p,!0);v(p);var b=E(p,2),g=h(b);{var x=R=>{var M=nS(),A=E(pe(M)),_=h(A,!0);v(A),z(()=>L(_,t.node.viewId)),I(R,M)},k=R=>{var M=rS();I(R,M)};$(g,R=>{t.node.viewId?R(x):R(k,-1)})}v(b);var S=E(b,2),w=h(S);v(S),v(f),z(()=>{L(m,t.node.slotId),L(w,`${o(s)??""} × ${o(i)??""}`)}),I(d,f)};$(c,d=>{o(a)||d(u)})}v(l),et(l,d=>y(r,d),()=>o(r)),z(()=>{be(l,"data-slot-id",t.node.slotId),be(l,"data-view-id",t.node.viewId??"")}),I(e,l),re()}const he=le({phase:"idle",source:null,pointerX:0,pointerY:0,target:null});let Jd=0;function aS(){return performance.now()<Jd}const Ol=4;let Zd=0,Qd=0;function oS(e,t,n,r,s){if(he.phase!=="idle")return;const i=s.getBoundingClientRect();he.phase="pending",he.source={slotId:e,entry:t,sourceRoot:n,startRect:i,offsetX:r.clientX-i.left,offsetY:r.clientY-i.top},he.pointerX=r.clientX,he.pointerY=r.clientY,he.target=null,Zd=r.clientX,Qd=r.clientY,lS()}function lS(){window.addEventListener("pointermove",ef,!0),window.addEventListener("pointerup",tf,!0),window.addEventListener("pointercancel",nf,!0),document.body.style.userSelect="none",document.body.dataset.dragging=""}function cS(){window.removeEventListener("pointermove",ef,!0),window.removeEventListener("pointerup",tf,!0),window.removeEventListener("pointercancel",nf,!0),document.body.style.userSelect="",delete document.body.dataset.dragging}function ef(e){if(he.pointerX=e.clientX,he.pointerY=e.clientY,he.phase==="pending"){const t=e.clientX-Zd,n=e.clientY-Qd;t*t+n*n>=Ol*Ol&&(he.phase="dragging")}}function tf(e){he.phase==="dragging"&&(uS(),Jd=performance.now()+50),rf()}function nf(e){rf()}function Ll(e){const t=_n.tree;if(e.kind==="docked")return t.docked;const n=t.floats.find(r=>r.id===e.floatId);return n?n.content:null}function jl(e){if(e.kind!=="float")return;const t=_n.tree,n=t.floats.findIndex(r=>r.id===e.floatId);n<0||Tu(t.floats[n].content)&&t.floats.splice(n,1)}function uS(){const{source:e,target:t}=he;if(!e||!t)return;const n=Ll(e.sourceRoot),r=Ll(t.root);if(!n||!r)return;if(t.kind==="strip"){const i=t.tabsNode.tabs.findIndex(a=>a.slotId===e.slotId);if(i>=0){t_(t.tabsNode,i,t.insertIndex),Qn(n),r!==n&&Qn(r),jl(e.sourceRoot);return}}const s=ai(n,e.slotId);s&&(t.kind==="strip"?e_(t.tabsNode,s,t.insertIndex):Uu(r,t.path,s,t.side),Qn(n),r!==n&&Qn(r),jl(e.sourceRoot))}function rf(){he.phase="idle",he.source=null,he.target=null,cS()}function ba(e){he.phase==="dragging"&&(he.target=e)}function Pr(e){he.phase==="dragging"&&he.target&&(e&&!e(he.target)||(he.target=null))}var dS=C("<div></div>"),fS=C('<div class="quad-target quad-left svelte-re71zu" data-testid="drop-zone-left"></div> <div class="quad-target quad-right svelte-re71zu" data-testid="drop-zone-right"></div> <div class="quad-target quad-top svelte-re71zu" data-testid="drop-zone-top"></div> <div class="quad-target quad-bottom svelte-re71zu" data-testid="drop-zone-bottom"></div>',1),vS=C("<div><!> <!></div>");function Nl(e,t){ne(t,!0);let n=q(void 0),r=q(null);const s=U(()=>he.phase==="dragging");function i(b,g,x){const k=x.left+x.width/2,S=x.top+x.height/2,w=b-k,R=g-S,M=w/x.width,A=R/x.height;return Math.abs(M)>Math.abs(A)?M<0?"left":"right":A<0?"top":"bottom"}function a(b){if(!o(n))return;const g=o(n).getBoundingClientRect();if(b.clientX<g.left||b.clientX>g.right||b.clientY<g.top||b.clientY>g.bottom){o(r)!==null&&(y(r,null),Pr(k=>k.kind==="split"&&k.path.join("/")===t.path.join("/")));return}const x=i(b.clientX,b.clientY,g);if(x!==o(r)){y(r,x,!0);const k={kind:"split",root:t.rootRef,path:[...t.path],side:x};ba(k)}}function l(){o(r)!==null&&(y(r,null),Pr(b=>b.kind==="split"&&b.path.join("/")===t.path.join("/")))}var c=vS();let u;var d=h(c);{var f=b=>{var g=dS();z(()=>ye(g,1,`quad-highlight quad-${o(r)??""}`,"svelte-re71zu")),I(b,g)};$(d,b=>{o(r)&&b(f)})}var p=E(d,2);{var m=b=>{var g=fS();sn(6),I(b,g)};$(p,b=>{o(s)&&b(m)})}v(c),et(c,b=>y(n,b),()=>o(n)),z(()=>u=ye(c,1,"slot-drop-zone svelte-re71zu",null,u,{active:o(s)})),F("pointermove",c,a),Qe("pointerleave",c,l),I(e,c),re()}ue(["pointermove"]);var hS=C('<div class="tab-slot-wrapper svelte-1gw9g38"><!> <!></div>'),pS=C('<div class="empty-tabs-custom svelte-1gw9g38"></div>'),mS=C('<div class="empty-tabs-default svelte-1gw9g38"><div class="empty-tabs-drop svelte-1gw9g38"></div></div>'),gS=C('<div class="empty-tabs-placeholder svelte-1gw9g38"><!></div>'),bS=C('<div class="leaf-slot-wrapper svelte-1gw9g38"><!> <!></div>');function Io(e,t){ne(t,!0);let n=We(t,"path",19,()=>[]),r=We(t,"rootRef",19,()=>({kind:"docked"}));const s=U(()=>{let S;return r().kind==="docked"?S=_n.root:S=_n.tree.floats.find(R=>R.id===r().floatId)?.content??null,S?Ms(S,n()):null});function i(S){return{get isDragging(){return he.phase==="dragging"},onPointerDown(w,R,M){const A=S.tabs[w];A&&oS(A.slotId,A,r(),R,M)},onStripHover(w,R,M,A){if(M<w.top||M>w.bottom)return Pr(T=>T.kind==="strip"&&T.tabsNode===S),null;let _=A.length;for(let T=0;T<A.length;T++){const D=A[T],P=D.left+D.width/2;if(R<P){_=T;break}}const O=he.source;if(O){const T=S.tabs.findIndex(D=>D.slotId===O.slotId);T>=0&&T<_&&(_-=1)}return ba({kind:"strip",root:r(),tabsNode:S,insertIndex:_}),_},onStripLeave(){Pr(w=>w.kind==="strip"&&w.tabsNode===S)}}}function a(S){return S.type==="split"?S:null}function l(S){return S.type==="tabs"?S:null}function c(S){return S.type==="slot"?S:null}function u(S){return S.map(w=>a_(w.slotId)||void 0)}function d(S){return S.map(w=>i_(w.slotId)||void 0)}function f(S,w){const R=S[w];R&&ho(R.slotId)}function p(S,w){w(S)}function m(S,w){he.phase==="dragging"&&ba({kind:"strip",root:r(),tabsNode:w,insertIndex:0})}function b(){Pr(S=>S.kind==="strip"&&S.insertIndex===0)}var g=ct(),x=pe(g);{var k=S=>{var w=ct(),R=pe(w);{var M=O=>{const T=(P,N=gt)=>{{let V=U(()=>[...n(),N()]);Io(P,{get rootRef(){return r()},get path(){return o(V)}})}},D=U(()=>a(o(s)));K0(O,{get direction(){return o(D).direction},get sizes(){return o(D).sizes},get pinned(){return o(D).pinned},get collapsed(){return o(D).collapsed},get fixed(){return o(D).fixed},get count(){return o(D).children.length},get pane(){return T},onResize:(P,N)=>o(D).sizes[P]=N,onCollapseToggle:(P,N)=>{o(D).collapsed||(o(D).collapsed=o(D).children.map(()=>!1)),o(D).collapsed[P]=N}})},A=O=>{const T=U(()=>l(o(s)));var D=ct(),P=pe(D);{var N=j=>{const B=(G,Z=gt)=>{const J=U(()=>o(T)?.tabs[Z()]);var te=ct(),ee=pe(te);{var Q=fe=>{var ve=hS(),W=h(ve);{let me=U(()=>({type:"slot",slotId:o(J).slotId,viewId:o(J).viewId}));Ml(W,{get node(){return o(me)},get label(){return o(J).label}})}var ae=E(W,2);Nl(ae,{get rootRef(){return r()},get path(){return n()}}),v(ve),I(fe,ve)};$(ee,fe=>{o(J)&&fe(Q)})}I(G,te)},Y=U(()=>i(o(T)));{let G=U(()=>o(T).tabs.map(Q=>Q.label)),Z=U(()=>o(T).tabs.map(Q=>Q.icon)),J=U(()=>u(o(T).tabs)),te=U(()=>d(o(T).tabs)),ee=U(()=>o(T).tabs.map(Q=>Q.slotId));tS(j,{get labels(){return o(G)},get icons(){return o(Z)},get activeTab(){return o(T).activeTab},onActiveChange:Q=>o(T).activeTab=Q,get body(){return B},get dragController(){return o(Y)},get clickGuard(){return aS},get closable(){return o(J)},get dirty(){return o(te)},onClose:Q=>f(o(T).tabs,Q),get tabIds(){return o(ee)}})}},V=j=>{var B=gS(),Y=h(B);{var G=J=>{var te=pS();du(te,(ee,Q)=>p?.(ee,Q),()=>o(T).emptyRenderer),I(J,te)},Z=J=>{var te=mS(),ee=h(te);v(te),F("pointermove",ee,Q=>m(Q,o(T))),Qe("pointerleave",ee,b),I(J,te)};$(Y,J=>{o(T).emptyRenderer?J(G):J(Z,-1)})}v(B),I(j,B)};$(P,j=>{o(T)&&o(T).tabs.length>0?j(N):o(T)?.persistent&&j(V,1)})}I(O,D)},_=O=>{const T=U(()=>c(o(s)));var D=bS(),P=h(D);Ml(P,{get node(){return o(T)}});var N=E(P,2);Nl(N,{get rootRef(){return r()},get path(){return n()}}),v(D),I(O,D)};$(R,O=>{o(s).type==="split"?O(M):o(s).type==="tabs"?O(A,1):O(_,-1)})}I(S,w)};$(x,S=>{o(s)&&S(k)})}I(e,g),re()}ue(["pointermove"]);var _S=C('<span class="drag-preview-icon svelte-133fiip"> </span>'),yS=C('<div class="drag-preview svelte-133fiip"><!> <span class="drag-preview-label svelte-133fiip"> </span></div>');function wS(e,t){ne(t,!0);const n=U(()=>he.phase==="dragging"&&!!he.source),r=U(()=>he.source?he.pointerX-he.source.offsetX:0),s=U(()=>he.source?he.pointerY-he.source.offsetY:0),i=U(()=>he.source?.startRect.width??0),a=U(()=>he.source?.startRect.height??0),l=U(()=>he.source?.entry.label??""),c=U(()=>he.source?.entry.icon);var u=ct(),d=pe(u);{var f=p=>{var m=yS(),b=h(m);{var g=S=>{var w=_S(),R=h(w,!0);v(w),z(()=>L(R,o(c))),I(S,w)};$(b,S=>{o(c)&&S(g)})}var x=E(b,2),k=h(x,!0);v(x),v(m),z(()=>{tn(m,`left: ${o(r)??""}px; top: ${o(s)??""}px; width: ${o(i)??""}px; height: ${o(a)??""}px;`),L(k,o(l))}),I(p,m)};$(d,p=>{o(n)&&p(f)})}I(e,u),re()}const nr=new Map;let Ns=!1;function sf(e){if(nr.size===0)return;const t=e.target;if(!t)return;const n=Array.from(nr.keys());for(const r of n){const s=nr.get(r);s&&(s.contains(t)||Pt.close(r))}}function kS(){Ns||typeof document>"u"||(document.addEventListener("pointerdown",sf,!0),Ns=!0)}function SS(){Ns&&(nr.size>0||(document.removeEventListener("pointerdown",sf,!0),Ns=!1))}function xS(e,t){nr.set(e,t),kS()}function ES(e){nr.delete(e),SS()}var IS=C('<header class="sh3-float-header svelte-1p734al"><span class="sh3-float-title svelte-1p734al"> </span> <button class="sh3-float-close svelte-1p734al" aria-label="Close float">×</button></header>'),AS=C('<div class="sh3-float-frame svelte-1p734al" role="dialog" tabindex="-1"><!> <div class="sh3-float-body svelte-1p734al"><!></div></div>');function CS(e,t){ne(t,!0);const n=We(t,"entry",7);let r=q(!1),s={x:0,y:0},i=q(void 0);Ie(()=>{if(n().dismissable&&o(i))return xS(n().id,o(i)),()=>ES(n().id)});function a(k){if(k.button!==0||k.target.closest(".sh3-float-close"))return;k.currentTarget.setPointerCapture(k.pointerId),y(r,!0),s={x:k.clientX-n().position.x,y:k.clientY-n().position.y},Pt.focus(n().id)}function l(k){o(r)&&(n().position.x=k.clientX-s.x,n().position.y=k.clientY-s.y)}function c(k){if(!o(r))return;y(r,!1);const S=k.currentTarget;S.hasPointerCapture(k.pointerId)&&S.releasePointerCapture(k.pointerId)}function u(){Pt.focus(n().id)}function d(k){k.stopPropagation(),Pt.close(n().id)}var f=AS();let p;var m=h(f);{var b=k=>{var S=IS(),w=h(S),R=h(w,!0);v(w);var M=E(w,2);v(S),z(()=>L(R,n().title)),F("pointerdown",S,a),F("pointermove",S,l),F("pointerup",S,c),Qe("pointercancel",S,c),F("click",M,d),I(k,S)};$(m,k=>{n().title&&k(b)})}var g=E(m,2),x=h(g);{let k=U(()=>({kind:"float",floatId:n().id}));Io(x,{get rootRef(){return o(k)},path:[]})}v(g),v(f),et(f,k=>y(i,k),()=>o(i)),z(()=>{be(f,"aria-label",n().title??"Float panel"),p=tn(f,"",p,{left:`${n().position.x??""}px`,top:`${n().position.y??""}px`,width:`${n().size.w??""}px`,height:`${n().size.h??""}px`})}),F("click",f,u),I(e,f),re()}ue(["click","pointerdown","pointermove","pointerup"]);var TS=C('<div class="sh3-float-layer svelte-1rzcset"></div>');function RS(e,t){ne(t,!0);const n=U(()=>_n.floats);var r=TS();ce(r,21,()=>o(n),s=>s.id,(s,i)=>{CS(s,{get entry(){return o(i)}})}),v(r),I(e,r),re()}var PS=C('<div class="guest-signin-error svelte-pymkh"> </div>'),DS=C('<div class="guest-signin-overlay svelte-pymkh" role="dialog"><div class="guest-signin-card svelte-pymkh"><form class="guest-signin-form svelte-pymkh"><input class="guest-signin-input svelte-pymkh" type="text" placeholder="Username" autocomplete="username"/> <input class="guest-signin-input svelte-pymkh" type="password" placeholder="Password" autocomplete="current-password"/> <div class="guest-signin-actions svelte-pymkh"><button type="submit" class="guest-signin-btn svelte-pymkh"> </button> <button type="button" class="guest-signin-cancel svelte-pymkh">Cancel</button></div></form> <!></div></div>'),MS=C('<div class="guest-banner svelte-pymkh"><span class="guest-banner-text">Browsing as guest. Sign in to save your work.</span> <button type="button" class="guest-banner-action svelte-pymkh">Sign in</button></div> <!>',1),OS=C('<div class="guest-banner-slot"><!></div>');function LS(e,t){ne(t,!0);let n=q(!1),r=q(""),s=q(""),i=q(null),a=q(!1);async function l(){if(!o(r).trim()||!o(s).trim()||o(a))return;y(a,!0),y(i,null);const p=await fd(o(r).trim(),o(s).trim());y(a,!1),p.ok?y(n,!1):y(i,p.error,!0)}var c=OS(),u=h(c);{var d=p=>{var m=MS(),b=pe(m),g=E(h(b),2);v(b);var x=E(b,2);{var k=S=>{var w=DS(),R=h(w),M=h(R),A=h(M);Se(A);var _=E(A,2);Se(_);var O=E(_,2),T=h(O),D=h(T,!0);v(T);var P=E(T,2);v(O),v(M);var N=E(M,2);{var V=j=>{var B=PS(),Y=h(B,!0);v(B),z(()=>L(Y,o(i))),I(j,B)};$(N,j=>{o(i)&&j(V)})}v(R),v(w),z(j=>{A.disabled=o(a),_.disabled=o(a),T.disabled=j,L(D,o(a)?"Signing in...":"Sign in")},[()=>o(a)||!o(r).trim()||!o(s).trim()]),Qe("submit",M,j=>{j.preventDefault(),l()}),Me(A,()=>o(r),j=>y(r,j)),Me(_,()=>o(s),j=>y(s,j)),F("click",P,()=>{y(n,!1),y(i,null)}),I(S,w)};$(x,S=>{o(n)&&S(k)})}F("click",g,()=>{y(n,!0)}),I(p,m)},f=U(()=>vd());$(u,p=>{o(f)&&p(d)})}v(c),I(e,c),re()}ue(["click"]);var jS=C('<code class="sh3-consent-scope svelte-14me5sj"> </code>'),NS=C('<dt class="svelte-14me5sj">Peer</dt> <dd class="svelte-14me5sj"> </dd>',1),zS=C('<dt class="svelte-14me5sj">Expires in</dt> <dd class="svelte-14me5sj"> </dd>',1),qS=C('<div class="sh3-consent-backdrop svelte-14me5sj" role="dialog" aria-modal="true" aria-label="Key creation consent"><div class="sh3-consent-card svelte-14me5sj"><h2 class="sh3-consent-title svelte-14me5sj"><span class="svelte-14me5sj"> </span> wants to create a key</h2> <dl class="sh3-consent-fields svelte-14me5sj"><dt class="svelte-14me5sj">Label</dt> <dd class="svelte-14me5sj"> </dd> <dt class="svelte-14me5sj">Scopes</dt> <dd class="sh3-consent-scopes svelte-14me5sj"></dd> <!> <!></dl> <div class="sh3-consent-actions svelte-14me5sj"><button type="button" class="sh3-consent-deny svelte-14me5sj">Deny</button> <button type="button" class="sh3-consent-approve svelte-14me5sj">Approve</button></div></div></div>');function BS(e,t){ne(t,!0);let n=q(null);Ie(()=>Sd(u=>{y(n,u,!0)}));function r(){o(n)&&(ha(o(n).requestId,!0),y(n,null))}function s(){o(n)&&(ha(o(n).requestId,!1),y(n,null))}var i=ct(),a=pe(i);{var l=c=>{var u=qS(),d=h(u),f=h(d),p=h(f),m=h(p,!0);v(p),sn(),v(f);var b=E(f,2),g=E(h(b),2),x=h(g,!0);v(g);var k=E(g,4);ce(k,20,()=>o(n).scopes,T=>T,(T,D)=>{var P=jS(),N=h(P,!0);v(P),z(()=>L(N,D)),I(T,P)}),v(k);var S=E(k,2);{var w=T=>{var D=NS(),P=E(pe(D),2),N=h(P);v(P),z(()=>L(N,`${o(n).peerRole??"—"??""}${o(n).peerId?` · ${o(n).peerId}`:""}`)),I(T,D)};$(S,T=>{(o(n).peerRole||o(n).peerId)&&T(w)})}var R=E(S,2);{var M=T=>{var D=zS(),P=E(pe(D),2),N=h(P);v(P),z(V=>L(N,`${V??""}s`),[()=>Math.round(o(n).expiresIn/1e3)]),I(T,D)};$(R,T=>{o(n).expiresIn&&T(M)})}v(b);var A=E(b,2),_=h(A);fr(_,!0);var O=E(_,2);v(A),v(d),v(u),z(()=>{L(m,o(n).shardId),L(x,o(n).label)}),F("click",_,s),F("click",O,r),I(c,u)};$(a,c=>{o(n)&&c(l)})}I(e,i),re()}ue(["click"]);var VS=C('<span class="sh3-brand svelte-18lk809">SH3</span>'),$S=C('<span class="sh3-brand sh3-brand-app svelte-18lk809"> </span>'),FS=C('<span class="sh3-brand svelte-18lk809">SH3</span> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <button type="button" class="sh3-brand-crumb svelte-18lk809"> </button>',1),US=C('<div class="sh3-brand-slot svelte-18lk809"><!></div>');function HS(e,t){ne(t,!0);const n=U(()=>Xt().activeAppId),r=U(u_),s=U(()=>o(n)?bn(o(n))?.manifest.label??o(n):null),i=U(()=>o(r)?bn(o(r))?.manifest.label??o(r):null),a=U(()=>o(n)?"app":o(r)?"breadcrumb":"brand");function l(){o(r)&&Vn(o(r))}var c=US(),u=h(c);{var d=m=>{var b=VS();I(m,b)},f=m=>{var b=$S(),g=h(b,!0);v(b),z(()=>L(g,o(s))),I(m,b)},p=m=>{var b=FS(),g=E(pe(b),4),x=h(g,!0);v(g),z(()=>L(x,o(i))),F("click",g,l),I(m,b)};$(u,m=>{o(a)==="brand"?m(d):o(a)==="app"?m(f,1):m(p,-1)})}v(c),I(e,c),re()}ue(["click"]);var KS=C('<span class="sh3-menubar-icon svelte-bke3dt"></span>'),WS=C('<span class="sh3-menubar-icon svelte-bke3dt"></span>'),YS=C('<button type="button" class="sh3-menubar-button svelte-bke3dt"><!> <span class="sh3-menubar-label"> </span> <!></button>');function GS(e,t){ne(t,!0);let n=q(void 0);function r(m){const b=new Map,g=[];for(const x of m){const k=x.group||"";b.has(k)||(b.set(k,[]),g.push(k)),b.get(k).push(x)}return g.map(x=>({id:`group:${x||"_default"}`,items:b.get(x)}))}function s(){if(!o(n))return;const m=Xt();sa.show(id,{anchor:o(n),placement:"bottom-start"},{sections:r(t.items),onInvoke:b=>{const g=Jt().find(x=>x.action.id===b);if(g)try{g.action.run({action:{id:b,label:g.action.label},appId:m.activeAppId,viewId:m.focusedViewId??void 0,selection:m.selection??void 0,invokedVia:"palette",dispatch:()=>{}})}catch(x){console.error(`[sh3] menu-bar action "${b}" threw:`,x)}},onDismiss:()=>sa.close()})}const i=U(()=>t.container.iconPosition??"before");var a=YS(),l=h(a);{var c=m=>{var b=KS();z(()=>be(b,"data-icon",t.container.icon)),I(m,b)};$(l,m=>{t.container.icon&&o(i)==="before"&&m(c)})}var u=E(l,2),d=h(u,!0);v(u);var f=E(u,2);{var p=m=>{var b=WS();z(()=>be(b,"data-icon",t.container.icon)),I(m,b)};$(f,m=>{t.container.icon&&o(i)==="after"&&m(p)})}v(a),et(a,m=>y(n,m),()=>o(n)),z(()=>L(d,t.container.label)),F("click",a,s),I(e,a),re()}ue(["click"]);const XS=Object.freeze([{id:"file",label:"File"},{id:"edit",label:"Edit"},{id:"view",label:"View"},{id:"window",label:"Window"},{id:"help",label:"Help"}]);function JS(e,t){if(e==null)return[];if(t==null)return XS.slice();const n=t.map((r,s)=>({c:r,i:s}));return n.sort((r,s)=>{const i=r.c.order,a=s.c.order;return i!=null&&a!=null?i-a||r.i-s.i:i!=null?-1:a!=null?1:r.i-s.i}),n.map(r=>r.c)}function ZS(e,t,n){const r=[],s=new Set;for(const i of e)i.action.menuItem!==n||s.has(i.action.id)||!si(i.action.scope,t,i.ownerShardId)||(s.add(i.action.id),r.push({id:i.action.id,label:i.action.label,shortcut:ni(i.action,t.bindings,t.platform),group:i.action.group??"",icon:i.action.icon}));return r}var QS=C('<div class="sh3-menubar svelte-7gc0wa" role="menubar"></div>');function ex(e,t){ne(t,!0);const n=U(Xt),r=U(()=>o(n).activeAppId),s=U(()=>{if(o(r))return bn(o(r))?.manifest.menus}),i=U(()=>JS(o(r),o(s))),a=U(()=>{const c=[],u=Jt();for(const d of o(i)){const f=ZS(u,o(n),d.id);f.length>0&&c.push({container:d,items:f})}return c});var l=QS();ce(l,21,()=>o(a),({container:c,items:u})=>c.id,(c,u)=>{let d=()=>o(u).container,f=()=>o(u).items;GS(c,{get container(){return d()},get items(){return f()}})}),v(l),I(e,l),re()}var tx=C('<button type="button" class="shell-tabbar-signout svelte-187fra4" title="Sign out"><svg class="shell-tabbar-signout-icon svelte-187fra4" aria-hidden="true"><use></use></svg></button>'),nx=C('<div class="shell-tabbar-user svelte-187fra4"><span class="shell-tabbar-user-name svelte-187fra4"> </span> <span class="shell-tabbar-tag svelte-187fra4"> </span> <!></div>'),rx=C('<div class="shell-overlay-root svelte-187fra4"><!></div>'),sx=C('<div class="shell svelte-187fra4"><header class="shell-tabbar svelte-187fra4" data-shell-region="tabbar"><button type="button" class="shell-tabbar-home-button svelte-187fra4" title="Home"><svg class="shell-tabbar-home-icon svelte-187fra4" aria-hidden="true"><use></use></svg></button> <!> <!> <!></header> <!> <main class="shell-content svelte-187fra4" data-shell-region="content" data-shell-layer="0"><!></main> <footer class="shell-statusbar svelte-187fra4" data-shell-region="statusbar"></footer> <div class="shell-overlays svelte-187fra4" aria-hidden="true"></div> <!></div>');function ix(e,t){ne(t,!0);const n=U(fa),r=U(vi),s=U(un),i=U(()=>Zu()==="home"),a=[{layer:1,name:"floating"},{layer:2,name:"drag-preview"},{layer:3,name:"popup"},{layer:4,name:"modal"},{layer:5,name:"toast"},{layer:6,name:"command"}],l=le({});Ie(()=>{for(const{name:A}of a){const _=l[A];_&&lg(A,_)}return()=>{for(const{name:A}of a)cg(A)}}),Ie(()=>{const A=_n.tree;return Pg(A.floats,()=>({w:window.innerWidth,h:window.innerHeight})),()=>Dg()}),Ie(()=>{_n.tree,w_()}),Ie(()=>fa()?ky():void 0);var c=sx(),u=h(c),d=h(u),f=h(d),p=h(f);v(f),v(d);var m=E(d,2);HS(m,{});var b=E(m,2);ex(b,{});var g=E(b,2);{var x=A=>{var _=nx(),O=h(_),T=h(O,!0);v(O);var D=E(O,2),P=h(D,!0);v(D);var N=E(D,2);{var V=B=>{var Y=tx(),G=h(Y),Z=h(G);v(G),v(Y),z(()=>be(Z,"href",`${ma}#log-out`)),F("click",Y,()=>oy()),I(B,Y)},j=U(()=>!cy());$(N,B=>{o(j)&&B(V)})}v(_),z(()=>{L(T,o(r).displayName),L(P,o(s)?"admin":"user")}),I(A,_)};$(g,A=>{o(n)&&o(r)&&A(x)})}v(u);var k=E(u,2);LS(k,{});var S=E(k,2),w=h(S);Io(w,{}),v(S);var R=E(S,4);ce(R,21,()=>a,({layer:A,name:_})=>A,(A,_)=>{let O=()=>o(_).layer,T=()=>o(_).name;var D=rx(),P=h(D);{var N=j=>{RS(j,{})},V=j=>{wS(j,{})};$(P,j=>{T()==="floating"?j(N):T()==="drag-preview"&&j(V,1)})}v(D),et(D,(j,B)=>l[B]=j,j=>l?.[j],()=>[T()]),z(()=>{be(D,"data-shell-overlay",T()),be(D,"data-shell-layer",O()),tn(D,`z-index: var(--shell-z-layer-${O()??""});`)}),I(A,D)}),v(R);var M=E(R,2);BS(M,{}),v(c),z(()=>{d.disabled=o(i),be(p,"href",`${ma}#house`)}),F("click",d,()=>Cd()),I(e,c),re()}ue(["click"]);async function ax(){try{const{TauriStoreBackend:e}=await Td(async()=>{const{TauriStoreBackend:r}=await import("./tauri-backend-B3LR3-lo.js");return{TauriStoreBackend:r}},[]),t=new e("workspace"),n=new e("user");return await Promise.all([t.init(),n.init()]),{backends:{workspace:t,user:n},localOwner:!0}}catch{return{backends:null,localOwner:Fl}}}var ox=C('<button type="button" class="signin-link svelte-lh4k15">Create an account</button>'),lx=C('<form class="signin-form svelte-lh4k15"><input class="signin-input svelte-lh4k15" type="text" placeholder="Username" autocomplete="username"/> <input class="signin-input svelte-lh4k15" type="password" placeholder="Password" autocomplete="current-password"/> <button type="submit" class="signin-btn svelte-lh4k15"> </button></form> <!>',1),cx=C('<form class="signin-form svelte-lh4k15"><input class="signin-input svelte-lh4k15" type="text" placeholder="Username" autocomplete="username"/> <input class="signin-input svelte-lh4k15" type="text" placeholder="Display name (optional)"/> <input class="signin-input svelte-lh4k15" type="password" placeholder="Password" autocomplete="new-password"/> <button type="submit" class="signin-btn svelte-lh4k15"> </button></form> <button type="button" class="signin-link svelte-lh4k15">Back to sign in</button>',1),ux=C('<div class="signin-error svelte-lh4k15"> </div>'),dx=C('<div class="signin-wall svelte-lh4k15"><div class="signin-card svelte-lh4k15"><h1 class="signin-brand svelte-lh4k15">SH3</h1> <!> <!></div></div>');function fx(e,t){ne(t,!0);let n=q("login"),r=q(""),s=q(""),i=q(""),a=q(null),l=q(!1);async function c(){if(!o(r).trim()||!o(s).trim()||o(l))return;y(l,!0),y(a,null);const S=await fd(o(r).trim(),o(s).trim());y(l,!1),S.ok?t.onSuccess():y(a,S.error,!0)}async function u(){if(!o(r).trim()||!o(s).trim()||o(l))return;y(l,!0),y(a,null);const S=await ay(o(r).trim(),o(s).trim(),o(i).trim()||void 0);y(l,!1),S.ok?t.onSuccess():y(a,S.error,!0)}function d(S){y(n,S,!0),y(a,null)}var f=dx(),p=h(f),m=E(h(p),2);{var b=S=>{var w=lx(),R=pe(w),M=h(R);Se(M);var A=E(M,2);Se(A);var _=E(A,2),O=h(_,!0);v(_),v(R);var T=E(R,2);{var D=P=>{var N=ox();F("click",N,()=>d("register")),I(P,N)};$(T,P=>{t.selfRegistration&&P(D)})}z(P=>{M.disabled=o(l),A.disabled=o(l),_.disabled=P,L(O,o(l)?"Signing in...":"Sign in")},[()=>o(l)||!o(r).trim()||!o(s).trim()]),Qe("submit",R,P=>{P.preventDefault(),c()}),Me(M,()=>o(r),P=>y(r,P)),Me(A,()=>o(s),P=>y(s,P)),I(S,w)},g=S=>{var w=cx(),R=pe(w),M=h(R);Se(M);var A=E(M,2);Se(A);var _=E(A,2);Se(_);var O=E(_,2),T=h(O,!0);v(O),v(R);var D=E(R,2);z(P=>{M.disabled=o(l),A.disabled=o(l),_.disabled=o(l),O.disabled=P,L(T,o(l)?"Creating...":"Create account")},[()=>o(l)||!o(r).trim()||!o(s).trim()]),Qe("submit",R,P=>{P.preventDefault(),u()}),Me(M,()=>o(r),P=>y(r,P)),Me(A,()=>o(i),P=>y(i,P)),Me(_,()=>o(s),P=>y(s,P)),F("click",D,()=>d("login")),I(S,w)};$(m,S=>{o(n)==="login"?S(b):S(g,-1)})}var x=E(m,2);{var k=S=>{var w=ux(),R=h(w,!0);v(w),z(()=>L(R,o(a))),I(S,w)};$(x,S=>{o(a)&&S(k)})}v(p),v(f),I(e,f),re()}ue(["click"]);async function vx(e){const t=e?.serverUrl??"",n=await ax();n.backends&&(il("workspace",n.backends.workspace),il("user",n.backends.user)),n.localOwner&&ly(),hd(t),$y();const r=typeof e?.target=="string"?document.querySelector(e.target):e?.target??document.getElementById("app");if(!r)throw new Error("SH3: mount target not found");let s=null;if(!n.localOwner)try{const a=await fetch(`${t}/api/boot`,{credentials:"include"});a.ok&&(s=await a.json())}catch{}if(n.localOwner)Ni("local");else if(s){kl(t,s),Ni(s.tenantId);const{auth:a,session:l}=s;if(!l&&a.required&&!a.guestAllowed){await hx(r,s);const c=await fetch(`${t}/api/boot`,{credentials:"include"});c.ok&&(s=await c.json(),kl(t,s),Ni(s.tenantId))}}if(e?.discoveredPackages?.length)for(const a of e.discoveredPackages)try{const l=await fetch(a.bundleUrl);if(!l.ok){console.warn(`[sh3] Failed to fetch discovered package "${a.id}": HTTP ${l.status}`);continue}const c=await l.arrayBuffer(),u=await es(c);ko(u,{version:a.version,sourceRegistry:a.sourceRegistry??"",contractVersion:a.contractVersion??""}),console.log(`[sh3] Loaded discovered package: ${a.id}`)}catch(l){console.warn(`[sh3] Failed to load discovered package "${a.id}":`,l)}if(e?.shards)for(const a of e.shards)N0(a);if(e?.apps)for(const a of e.apps)io(a);const i={};e?.excludeShards&&(i.excludeShards=e.excludeShards),await q0(i),cd(),qe(ix,{target:r})}function hx(e,t){return new Promise(n=>{const r=qe(fx,{target:e,props:{selfRegistration:t.auth.selfRegistration,onSuccess:()=>{He(r),n()}}})})}const Ao=window.location.origin;hd(Ao);ry(new J_(Ao));let af=[];try{const e=await fetch("/api/packages");e.ok&&(af=await e.json())}catch{}await vx({discoveredPackages:af,serverUrl:Ao});
18
+ //# sourceMappingURL=index-CaqIUyZM.js.map