sh3-server 0.10.5 → 0.11.2

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.
@@ -1,18 +0,0 @@
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 a of s)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(s){if(s.ep)return;s.ep=!0;const a=n(s);fetch(s.href,a)}})();const gd=1,_d=2,el=4,bd=8,yd=16,wd=1,tl=4,kd=8,Sd=16,xd=1,Ed=2,Td=4,Ka=1,nl=2,Ad=4,Id=8,Es="[",Ts="[!",Xi="[?",As="]",En={},Ae=Symbol(),vt=Symbol("filename"),zn=Symbol("hmr"),rl="http://www.w3.org/1999/xhtml",Pr="http://www.w3.org/2000/svg",Wa="http://www.w3.org/1998/Math/MathML",sl="@attach",al=!1;var nr=Array.isArray,Rd=Array.prototype.indexOf,Yn=Array.prototype.includes,Is=Array.from,us=Object.keys,Tn=Object.defineProperty,Ot=Object.getOwnPropertyDescriptor,il=Object.getOwnPropertyDescriptors,ol=Object.prototype,Cd=Array.prototype,Rs=Object.getPrototypeOf,Ji=Object.isExtensible,Pd=Object.prototype.hasOwnProperty;function $n(e){return typeof e=="function"}const ht=()=>{};function Zi(e){return typeof e?.then=="function"}function Dd(e){return e()}function ba(e){for(var t=0;t<e.length;t++)e[t]()}function ll(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function Od(e,t,n=!1){return e===void 0?n?t():t:e}function cl(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 Ld(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,An=4,Dr=8,Ya=1<<24,Lt=16,Nt=32,nn=64,ya=128,Tt=512,Me=1024,Ve=2048,zt=4096,Qe=8192,ot=16384,sn=32768,wa=1<<25,$t=65536,kr=1<<17,ul=1<<18,mn=1<<19,dl=1<<20,Ft=1<<25,In=65536,ka=1<<21,Gn=1<<22,fn=1<<23,Ge=Symbol("$state"),Cs=Symbol("legacy props"),Md=Symbol(""),jd=Symbol("proxy path"),Nd=Symbol("hmr anchor"),Vt=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},jn=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),fl=1,Or=3,an=8,vl=11;function hl(e){throw new Error("https://svelte.dev/e/experimental_async_required")}function zd(){throw new Error("https://svelte.dev/e/invalid_default_snippet")}function Qi(){throw new Error("https://svelte.dev/e/invalid_snippet_arguments")}function rr(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function $d(){throw new Error("https://svelte.dev/e/missing_context")}function qd(){throw new Error("https://svelte.dev/e/snippet_without_render_tag")}function Bd(e){throw new Error("https://svelte.dev/e/store_invalid_shape")}function Vd(){throw new Error("https://svelte.dev/e/svelte_element_invalid_this_value")}function Ud(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Fd(e,t){throw new Error("https://svelte.dev/e/component_api_changed")}function Hd(e,t){throw new Error("https://svelte.dev/e/component_api_invalid_new")}function Kd(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Wd(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Yd(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Gd(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Xd(){throw new Error("https://svelte.dev/e/effect_pending_outside_reaction")}function Jd(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Zd(){throw new Error("https://svelte.dev/e/fork_discarded")}function Qd(){throw new Error("https://svelte.dev/e/fork_timing")}function ef(){throw new Error("https://svelte.dev/e/get_abort_signal_outside_reaction")}function tf(){throw new Error("https://svelte.dev/e/hydration_failed")}function pl(e){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function nf(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function rf(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function sf(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function af(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function of(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function lf(e,t){console.warn("https://svelte.dev/e/assignment_value_stale")}function cf(e,t){console.warn("https://svelte.dev/e/binding_property_non_reactive")}function uf(e){console.warn("https://svelte.dev/e/console_log_state")}function df(){console.warn("https://svelte.dev/e/derived_inert")}function ff(e,t){console.warn("https://svelte.dev/e/event_handler_invalid")}function vf(e){console.warn("https://svelte.dev/e/hydratable_missing_but_expected")}function Lr(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function hf(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_binding")}function pf(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_mutation")}function mf(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ml(e){console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function gf(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let W=!1;function ke(e){W=e}let ne;function be(e){if(e===null)throw Lr(),En;return ne=e}function tt(){return be(_t(ne))}function v(e){if(W){if(_t(ne)!==null)throw Lr(),En;ne=e}}function _f(e){W&&(ne=e.content)}function tn(e=1){if(W){for(var t=e,n=ne;t--;)n=_t(n);ne=n}}function Rn(e=!0){for(var t=0,n=ne;;){if(n.nodeType===an){var r=n.data;if(r===As){if(t===0)return n;t-=1}else(r===Es||r===Ts||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=_t(n);e&&n.remove(),n=s}}function Ga(e){if(!e||e.nodeType!==an)throw Lr(),En;return e.data}function gl(e){return e===this.v}function _l(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function bl(e){return!_l(e,this.v)}let bf=!1;function yf(e){console.warn("https://svelte.dev/e/dynamic_void_element_content")}const wf=[];function Cn(e,t=!1,n=!1){return Zr(e,new Map,"",wf,null,n)}function Zr(e,t,n,r,s=null,a=!1){if(typeof e=="object"&&e!==null){var i=t.get(e);if(i!==void 0)return i;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(nr(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]=Zr(u,t,n,r,null,a))}return l}if(Rs(e)===ol){l={},t.set(e,l),s!==null&&t.set(s,l);for(var d of Object.keys(e))l[d]=Zr(e[d],t,n,r,null,a);return l}if(e instanceof Date)return structuredClone(e);if(typeof e.toJSON=="function"&&!a)return Zr(e.toJSON(),t,n,r,e)}if(e instanceof EventTarget)return e;try{return structuredClone(e)}catch{return e}}let Nn=null;function yl(e,t){const n=e.v;if(n===Ae)return;const r=kf(e),s=le,a=e.wv>s.wv||s.wv===0,i=a?"color: CornflowerBlue; font-weight: bold":"color: grey; font-weight: normal";if(console.groupCollapsed(e.label?`%c${r}%c ${e.label}`:`%c${r}%c`,i,a?"font-weight: normal":i,typeof n=="object"&&n!==null&&Ge in n?Cn(n,!0):n),r==="$derived"){const c=new Set(e.deps);for(const u of c)yl(u)}if(e.created&&console.log(e.created),a&&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 kf(e){return e.f&(Ue|Gn)?"$derived":e.label?.startsWith("$")?"store":"$state"}function Sf(e,t){var n=Nn;try{Nn={entries:new Map,reaction:le};var r=performance.now(),s=t(),a=(performance.now()-r).toFixed(2),i=xe(e);if(!$r())console.log(`${i} %cran outside of an effect (${a}ms)`,"color: grey");else if(Nn.entries.size===0)console.log(`${i} %cno reactive dependencies (${a}ms)`,"color: grey");else{console.group(`${i} %c(${a}ms)`,"color: grey");var l=Nn.entries;xe(()=>{for(const[c,u]of l)yl(c,u)}),Nn=null,console.groupEnd()}return s}finally{Nn=n}}function xf(e,t){return e.label=t,wl(e.v,t),e}function wl(e,t){return e?.[jd]?.(t),e}function Ef(e){const t=new Error,n=Tf();return n.length===0?null:(n.unshift(`
2
- `),Tn(t,"stack",{value:n.join(`
3
- `)}),Tn(t,"name",{value:e}),t)}function Tf(){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 a=n[s],i=a.replaceAll("\\","/");if(a.trim()!=="Error"){if(a.includes("validate_each_keys"))return[];i.includes("svelte/src/internal")||i.includes("node_modules/.vite")||r.push(a)}}return r}let _e=null;function Xn(e){_e=e}let Qr=null;function Af(e,t,n,r,s,a){const i=Qr;Qr={type:t,file:n[vt],line:r,column:s,parent:i,...a};try{return e()}finally{Qr=i}}let Xa=null;function eo(e){Xa=e}function If(){const e={};return[()=>(xl(e)||$d(),kl(e)),t=>Sl(e,t)]}function kl(e){return Ps().get(e)}function Sl(e,t){return Ps().set(e,t),t}function xl(e){return Ps().has(e)}function Rf(){return Ps()}function ie(e,t=!1,n){_e={p:_e,i:!1,c:null,e:null,s:e,x:null,r:re,l:null}}function oe(e){var t=_e,n=t.e;if(n!==null){t.e=null;for(var r of n)Zl(r)}return e!==void 0&&(t.x=e),t.i=!0,_e=t.p,e??{}}function El(){return!0}function Ps(e){return _e===null&&rr(),_e.c??=new Map(Cf(_e)||void 0)}function Cf(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}let yn=[];function Tl(){var e=yn;yn=[],ba(e)}function et(e){if(yn.length===0&&!Wn){var t=yn;queueMicrotask(()=>{t===yn&&Tl()})}yn.push(e)}function Pf(){for(;yn.length>0;)Tl()}function Al(e){var t=re;if(t===null)return le.f|=fn,e;if(!(t.f&sn)&&!(t.f&An))throw e;Ht(e,t)}function Ht(e,t){for(;t!==null;){if(t.f&ya){if(!(t.f&sn))throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const Df=-7169;function Re(e,t){e.f=e.f&Df|t}function Ja(e){e.f&Tt||e.deps===null?Re(e,Me):Re(e,zt)}function Il(e){if(e!==null)for(const t of e)!(t.f&Ue)||!(t.f&In)||(t.f^=In,Il(t.deps))}function Rl(e,t,n){e.f&Ve?t.add(e):e.f&zt&&n.add(e),Il(e.deps),Re(e,Me)}function Cl(e,t,n){if(e==null)return t(void 0),ht;const r=xe(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}function Of(e){let t;return Cl(e,n=>t=n)(),t}let Sa=!1,vr=!1,xa=Symbol();function Lf(e,t,n){const r=n[t]??={store:null,source:Ls(void 0),unsubscribe:ht};if(r.store!==e&&!(xa in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=ht;else{var s=!0;r.unsubscribe=Cl(e,a=>{s?r.source.v=a:y(r.source,a)}),s=!1}return e&&xa in n?Of(e):o(r.source)}function Mf(e,t,n){let r=n[t];return r&&r.store!==e&&(r.unsubscribe(),r.unsubscribe=ht),e}function Pl(e,t){return Ds(e,t),t}function jf(e,t){var n=e[t];n.store!==null&&Pl(n.store,n.source.v)}function Nf(){const e={};function t(){wt(()=>{for(var n in e)e[n].unsubscribe();Tn(e,xa,{enumerable:!1,value:!0})})}return[e,t]}function Ds(e,t){Sa=!0;try{e.set(t)}finally{Sa=!1}}function zf(e,t,n){return Ds(e,n),t}function $f(e,t,n=1){return Ds(e,t+n),t}function qf(e,t,n=1){const r=t+n;return Ds(e,r),r}function Bf(){vr=!0}function Dl(e){var t=vr;try{return vr=!1,[e(),vr]}finally{vr=t}}const Qt=new Set;let ae=null,Ze=null,Ea=null,Wn=!1,ia=!1,Un=null,es=null;var to=0;let Vf=1;class Rt{id=Vf++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=new Set;#a=new Map;#s=new Map;#i=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}#_(){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,Ve),n(s);for(s of r.m)Re(s,zt),n(s)}this.#f.add(t)}#p(){if(to++>1e3&&(Qt.delete(this),Uf()),!this.#d()){for(const l of this.#l)this.#u.delete(l),Re(l,Ve),this.schedule(l);for(const l of this.#u)Re(l,zt),this.schedule(l)}const t=this.#r;this.#r=[],this.apply();var n=Un=[],r=[],s=es=[];for(const l of t)try{this.#g(l,n,r)}catch(c){throw jl(l),c}if(ae=null,s.length>0){var a=Rt.ensure();for(const l of s)a.schedule(l)}if(Un=null,es=null,this.#d()||this.#_()){this.#m(r),this.#m(n);for(const[l,c]of this.#c)Ml(l,c)}else{this.#a.size===0&&Qt.delete(this),this.#l.clear(),this.#u.clear();for(const l of this.#e)l(this);this.#e.clear(),no(r),no(n),this.#i?.resolve()}var i=ae;if(this.#r.length>0){const l=i??=this;l.#r.push(...this.#r.filter(c=>!l.#r.includes(c)))}i!==null&&(Qt.add(i),i.#p())}#g(t,n,r){t.f^=Me;for(var s=t.first;s!==null;){var a=s.f,i=(a&(Nt|nn))!==0,l=i&&(a&Me)!==0,c=l||(a&Qe)!==0||this.#c.has(s);if(!c&&s.fn!==null){i?s.f^=Me:a&An?n.push(s):sr(s)&&(a&Lt&&this.#u.add(s),Dn(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)Rl(t[n],this.#l,this.#u)}capture(t,n,r=!1){t.v!==Ae&&!this.previous.has(t)&&this.previous.set(t,t.v),t.f&fn||(this.current.set(t,[n,r]),Ze?.set(t,n)),this.is_fork||(t.v=n)}activate(){ae=this}deactivate(){ae=null,Ze=null}flush(){try{ia=!0,ae=this,this.#p()}finally{to=0,Ea=null,Un=null,es=null,ia=!1,ae=null,Ze=null,kn.clear()}}discard(){for(const t of this.#t)t(this);this.#t.clear(),this.#n.clear(),Qt.delete(this)}register_created_effect(t){this.#o.push(t)}#b(){for(const d of Qt){var t=d.id<this.id,n=[];for(const[f,[h,b]]of this.current){if(d.current.has(f)){var r=d.current.get(f)[0];if(t&&h!==r)d.current.set(f,[h,b]);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,h=>{h.f&(Lt|Gn)?d.schedule(h):d.#m([h])});d.activate();var a=new Set,i=new Map;for(var l of n)Ol(l,s,a,i);i=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&(ot|Qe|kr))&&Za(f,c,i)&&(f.f&(Gn|Lt)?(Re(f,Ve),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 Qt)d.#v.has(this)&&(d.#v.delete(this),d.#v.size===0&&!d.#d()&&(d.activate(),d.#p()))}increment(t,n){let r=this.#a.get(n)??0;if(this.#a.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.#a.get(n)??0;if(s===1?this.#a.delete(n):this.#a.set(n,s-1),t){let a=this.#s.get(n)??0;a===1?this.#s.delete(n):this.#s.set(n,a-1)}this.#h||r||(this.#h=!0,et(()=>{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.#i??=ll()).promise}static ensure(){if(ae===null){const t=ae=new Rt;ia||(Qt.add(ae),Wn||et(()=>{ae===t&&t.flush()}))}return ae}apply(){{Ze=null;return}}schedule(t){if(Ea=t,t.b?.is_pending&&t.f&(An|Dr|Ya)&&!(t.f&sn)){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(Un!==null&&n===re&&(le===null||!(le.f&Ue))&&!Sa)return;if(r&(nn|Nt)){if(!(r&Me))return;n.f^=Me}}this.#r.push(n)}}function hn(e){var t=Wn;Wn=!0;try{var n;for(e&&(ae!==null&&!ae.is_fork&&ae.flush(),n=e());;){if(Pf(),ae===null)return n;ae.flush()}}finally{Wn=t}}function Uf(){try{Jd()}catch(e){Ht(e,Ea)}}let en=null;function no(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&(ot|Qe))&&sr(r)&&(en=new Set,Dn(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&sc(r),en?.size>0)){kn.clear();for(const s of en){if(s.f&(ot|Qe))continue;const a=[s];let i=s.parent;for(;i!==null;)en.has(i)&&(en.delete(i),a.push(i)),i=i.parent;for(let l=a.length-1;l>=0;l--){const c=a[l];c.f&(ot|Qe)||Dn(c)}}en.clear()}}en=null}}function Ol(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const a=s.f;a&Ue?Ol(s,t,n,r):a&(Gn|Lt)&&!(a&Ve)&&Za(s,t,r)&&(Re(s,Ve),Qa(s))}}function Ll(e,t){if(e.reactions!==null)for(const n of e.reactions){const r=n.f;r&Ue?Ll(n,t):r&kr&&(Re(n,Ve),t.add(n))}}function Za(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(Yn.call(t,s))return!0;if(s.f&Ue&&Za(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function Qa(e){ae.schedule(e)}let ds=[];function Ff(){hn(()=>{const e=ds;ds=[];for(const t of e)Jn(t)})}function Hf(e){var t=gt(0),n=!0,r=void 0;return o(t),ec(()=>{if(n){var s=Ze;try{Ze=null,r=e()}finally{Ze=s}return}ds.length===0&&et(Ff),ds.push(t)}),n=!1,r}function Ml(e,t){if(!(e.f&Nt&&e.f&Me)){e.f&Ve?t.d.push(e):e.f&zt&&t.m.push(e),Re(e,Me);for(var n=e.first;n!==null;)Ml(n,t),n=n.next}}function jl(e){Re(e,Me);for(var t=e.first;t!==null;)jl(t),t=t.next}function Kf(e){hl(),ae!==null&&Qd();var t=Rt.ensure();t.is_fork=!0,Ze=new Map;var n=!1,r=t.settled();return hn(e),{commit:async()=>{if(n){await r;return}Qt.has(t)||Zd(),n=!0,t.is_fork=!1;for(var[s,[a]]of t.current)s.v=a,s.wv=vs();t.activate(),t.run_fork_commit_callbacks(),t.deactivate(),hn(()=>{var i=new Set;for(var l of t.current.keys())Ll(l,i);rv(i),Ul()}),t.flush(),await r},discard:()=>{for(var s of t.current.keys())s.wv=vs();!n&&Qt.has(t)&&t.discard()}}}function Wf(e){let t=0,n=gt(0),r;return()=>{$r()&&(o(n),Oe(()=>(t===0&&(r=xe(()=>e(()=>gr(n)))),t+=1,()=>{et(()=>{t-=1,t===0&&(r?.(),r=void 0,gr(n))})})))}}var Yf=$t|mn;function Nl(e,t,n,r){new Gf(e,t,n,r)}class Gf{parent;is_pending=!1;transform_error;#e;#t=W?ne:null;#n;#a;#s;#i=null;#r=null;#o=null;#l=null;#u=0;#c=0;#f=!1;#h=new Set;#v=new Set;#d=null;#_=Wf(()=>(this.#d=gt(this.#u),()=>{this.#d=null}));constructor(t,n,r,s){this.#e=t,this.#n=n,this.#a=a=>{var i=re;i.b=this,i.f|=ya,r(a)},this.parent=re.b,this.transform_error=s??this.parent?.transform_error??(a=>a),this.#s=Xt(()=>{if(W){const a=this.#t;tt();const i=a.data===Ts;if(a.data.startsWith(Xi)){const c=JSON.parse(a.data.slice(Xi.length));this.#g(c)}else i?this.#m():this.#p()}else this.#b()},Yf),W&&(this.#e=ne)}#p(){try{this.#i=Je(()=>this.#a(this.#e))}catch(t){this.error(t)}}#g(t){const n=this.#n.failed;n&&(this.#o=Je(()=>{n(this.#e,()=>t,()=>()=>{})}))}#m(){const t=this.#n.pending;t&&(this.is_pending=!0,this.#r=Je(()=>t(this.#e)),et(()=>{var n=this.#l=document.createDocumentFragment(),r=He();n.append(r),this.#i=this.#w(()=>Je(()=>this.#a(r))),this.#c===0&&(this.#e.before(n),this.#l=null,Sn(this.#r,()=>{this.#r=null}),this.#y(ae))}))}#b(){try{if(this.is_pending=this.has_pending_snippet(),this.#c=0,this.#u=0,this.#i=Je(()=>{this.#a(this.#e)}),this.#c>0){var t=this.#l=document.createDocumentFragment();li(this.#i,t);const n=this.#n.pending;this.#r=Je(()=>n(this.#e))}else this.#y(ae)}catch(n){this.error(n)}}#y(t){this.is_pending=!1,t.transfer_effects(this.#h,this.#v)}defer_effect(t){Rl(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=re,r=le,s=_e;Xe(this.#s),lt(this.#s),Xn(this.#s.ctx);try{return Rt.ensure(),t()}catch(a){return Al(a),null}finally{Xe(n),lt(r),Xn(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&&Sn(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,et(()=>{this.#f=!1,this.#d&&Kt(this.#d,this.#u)}))}get_effect_pending(){return this.#_(),o(this.#d)}error(t){if(!this.#n.onerror&&!this.#n.failed)throw t;ae?.is_fork?(this.#i&&ae.skip_effect(this.#i),this.#r&&ae.skip_effect(this.#r),this.#o&&ae.skip_effect(this.#o),ae.on_fork_commit(()=>{this.#S(t)})):this.#S(t)}#S(t){this.#i&&($e(this.#i),this.#i=null),this.#r&&($e(this.#r),this.#r=null),this.#o&&($e(this.#o),this.#o=null),W&&(be(this.#t),tn(),be(Rn()));var n=this.#n.onerror;let r=this.#n.failed;var s=!1,a=!1;const i=()=>{if(s){gf();return}s=!0,a&&of(),this.#o!==null&&Sn(this.#o,()=>{this.#o=null}),this.#w(()=>{this.#b()})},l=c=>{try{a=!0,n?.(c,i),a=!1}catch(u){Ht(u,this.#s&&this.#s.parent)}r&&(this.#o=this.#w(()=>{try{return Je(()=>{var u=re;u.b=this,u.f|=ya,r(this.#e,()=>c,()=>i)})}catch(u){return Ht(u,this.#s.parent),null}}))};et(()=>{var c;try{c=this.transform_error(t)}catch(u){Ht(u,this.#s&&this.#s.parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(l,u=>Ht(u,this.#s&&this.#s.parent)):l(c)})}}function Xf(){re===null&&Xd();var e=re.b;return e===null?0:e.get_effect_pending()}function Mr(e,t,n,r){const s=Nr;var a=e.filter(h=>!h.settled);if(n.length===0&&a.length===0){r(t.map(s));return}var i=re,l=Os(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(h=>h.promise)):null;function u(h){l();try{r(h)}catch(b){i.f&ot||Ht(b,i)}Pn()}if(n.length===0){c.then(()=>u(t.map(s)));return}var d=jr();function f(){Promise.all(n.map(h=>$l(h))).then(h=>u([...t.map(s),...h])).catch(h=>Ht(h,i)).finally(()=>d())}c?c.then(()=>{l(),f(),Pn()}):f()}function zl(e,t){Mr(e,[],[],t)}function Os(){var e=re,t=le,n=_e,r=ae;return function(a=!0){Xe(e),lt(t),Xn(n),a&&!(e.f&ot)&&(r?.activate(),r?.apply())}}async function Jf(e){var t=Os(),n=await e;return()=>(t(),n)}async function Ta(e){var t=mr;queueMicrotask(()=>{mr===t&&ts(null)});var n=await e;return()=>(ts(t),queueMicrotask(()=>{mr===t&&ts(null)}),n)}async function*Zf(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:a}=(await Ta(t.next()))();if(s){n=!0;break}var r=mr;yield a,ts(r)}}finally{if(!n&&t.return!==void 0)return(await Ta(t.return()))().value}}function Pn(e=!0){Xe(null),lt(null),Xn(null),e&&ae?.deactivate()}function Qf(e){const t=Os(),n=jr();var r=re,s=null;const a=u=>{s={error:u},Ra(r)||Ht(u,r)};var i=Promise.resolve(e[0]()).catch(a),l={promise:i,settled:!1},c=[l];i.finally(()=>{l.settled=!0,Pn()});for(const u of e.slice(1)){i=i.then(()=>{if(t(),s)throw s.error;if(Ra(r))throw Vt;return u()}).catch(a);const d={promise:i,settled:!1};c.push(d),i.finally(()=>{d.settled=!0,Pn()})}return i.then(()=>Promise.resolve()).finally(()=>n()),c}function ev(e){return Promise.all(e.map(t=>t.promise))}function jr(){var e=re,t=e.b,n=ae,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 mr=null;function ts(e){mr=e}function Nr(e){var t=Ue|Ve;return re!==null&&(re.f|=mn),{ctx:_e,deps:null,effects:null,equals:gl,f:t,fn:e,reactions:null,rv:0,v:Ae,wv:0,parent:re,ac:null}}function $l(e,t,n){let r=re;r===null&&Ud();var s=void 0,a=gt(Ae),i=!le,l=new Map;return pv(()=>{var c=re,u=ll();s=u.promise;try{Promise.resolve(e()).then(u.resolve,u.reject).finally(Pn)}catch(b){u.reject(b),Pn()}var d=ae;if(i){if(c.f&sn)var f=jr();if(r.b.is_rendered())l.get(d)?.reject(Vt),l.delete(d);else{for(const b of l.values())b.reject(Vt);l.clear()}l.set(d,u)}const h=(b,k=void 0)=>{if(f){var w=k===Vt;f(w)}if(!(k===Vt||c.f&ot)){if(d.activate(),k)a.f|=fn,Kt(a,k);else{a.f&fn&&(a.f^=fn),Kt(a,b);for(const[S,E]of l){if(l.delete(S),S===d)break;E.reject(Vt)}}d.deactivate()}};u.promise.then(h,b=>h(null,b||"unknown"))}),wt(()=>{for(const c of l.values())c.reject(Vt)}),new Promise(c=>{function u(d){function f(){d===s?c(a):u(s)}d.then(f,f)}u(s)})}function X(e){const t=Nr(e);return oc(t),t}function ei(e){const t=Nr(e);return t.equals=bl,t}function tv(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)$e(t[n])}}function ti(e){var t,n=re,r=e.parent;if(!rn&&r!==null&&r.f&(ot|Qe))return df(),e.v;Xe(r);try{e.f&=~In,tv(e),t=uc(e)}finally{Xe(n)}return t}function ql(e){var t=ti(e);if(!e.equals(t)&&(e.wv=vs(),(!ae?.is_fork||e.deps===null)&&(ae!==null?ae.capture(e,t,!0):e.v=t,e.deps===null))){Re(e,Me);return}rn||(Ze!==null?($r()||ae?.is_fork)&&Ze.set(e,t):Ja(e))}function nv(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(Vt),t.teardown=ht,t.ac=null,Sr(t,0),ii(t))}function Bl(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&Dn(t)}let fs=new Set;const kn=new Map;function rv(e){fs=e}let Vl=!1;function gt(e,t){var n={f:0,v:e,reactions:null,equals:gl,rv:0,wv:0};return n}function B(e,t){const n=gt(e);return oc(n),n}function Ls(e,t=!1,n=!0){const r=gt(e);return t||(r.equals=bl),r}function sv(e,t){return y(e,xe(()=>o(e))),t}function y(e,t,n=!1){le!==null&&(!Dt||le.f&kr)&&El()&&le.f&(Ue|Lt|Gn|kr)&&(At===null||!Yn.call(At,e))&&af();let r=n?me(t):t;return Kt(e,r,es)}function Kt(e,t,n=null){if(!e.equals(t)){kn.set(e,rn?t:e.v);var r=Rt.ensure();if(r.capture(e,t),e.f&Ue){const s=e;e.f&Ve&&ti(s),Ze===null&&Ja(s)}e.wv=vs(),Fl(e,Ve,n),re!==null&&re.f&Me&&!(re.f&(Nt|nn))&&(Et===null?yv([e]):Et.push(e)),!r.is_fork&&fs.size>0&&!Vl&&Ul()}return t}function Ul(){Vl=!1;for(const e of fs)e.f&Me&&Re(e,zt),sr(e)&&Dn(e);fs.clear()}function Jn(e,t=1){var n=o(e),r=t===1?n++:n--;return y(e,n),r}function av(e,t=1){var n=o(e);return y(e,t===1?++n:--n)}function gr(e){y(e,e.v+1)}function Fl(e,t,n){var r=e.reactions;if(r!==null)for(var s=r.length,a=0;a<s;a++){var i=r[a],l=i.f,c=(l&Ve)===0;if(c&&Re(i,t),l&Ue){var u=i;Ze?.delete(u),l&In||(l&Tt&&(i.f|=In),Fl(u,zt,n))}else if(c){var d=i;l&Lt&&en!==null&&en.add(d),n!==null?n.push(d):Qa(d)}}}function me(e){if(typeof e!="object"||e===null||Ge in e)return e;const t=Rs(e);if(t!==ol&&t!==Cd)return e;var n=new Map,r=nr(e),s=B(0),a=xn,i=l=>{if(xn===a)return l();var c=le,u=xn;lt(null),ao(a);var d=l();return lt(c),ao(u),d};return r&&n.set("length",B(e.length)),new Proxy(e,{defineProperty(l,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&rf();var d=n.get(c);return d===void 0?i(()=>{var f=B(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=i(()=>B(Ae));n.set(c,d),gr(s)}}else y(u,Ae),gr(s);return!0},get(l,c,u){if(c===Ge)return e;var d=n.get(c),f=c in l;if(d===void 0&&(!f||Ot(l,c)?.writable)&&(d=i(()=>{var b=me(f?l[c]:Ae),k=B(b);return k}),n.set(c,d)),d!==void 0){var h=o(d);return h===Ae?void 0:h}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),h=f?.v;if(f!==void 0&&h!==Ae)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return u},has(l,c){if(c===Ge)return!0;var u=n.get(c),d=u!==void 0&&u.v!==Ae||Reflect.has(l,c);if(u!==void 0||re!==null&&(!d||Ot(l,c)?.writable)){u===void 0&&(u=i(()=>{var h=d?me(l[c]):Ae,b=B(h);return b}),n.set(c,u));var f=o(u);if(f===Ae)return!1}return d},set(l,c,u,d){var f=n.get(c),h=c in l;if(r&&c==="length")for(var b=u;b<f.v;b+=1){var k=n.get(b+"");k!==void 0?y(k,Ae):b in l&&(k=i(()=>B(Ae)),n.set(b+"",k))}if(f===void 0)(!h||Ot(l,c)?.writable)&&(f=i(()=>B(void 0)),y(f,me(u)),n.set(c,f));else{h=f.v!==Ae;var w=i(()=>me(u));y(f,w)}var S=Reflect.getOwnPropertyDescriptor(l,c);if(S?.set&&S.set.call(d,u),!h){if(r&&typeof c=="string"){var E=n.get("length"),_=Number(c);Number.isInteger(_)&&_>=E.v&&y(E,_+1)}gr(s)}return!0},ownKeys(l){o(s);var c=Reflect.ownKeys(l).filter(f=>{var h=n.get(f);return h===void 0||h.v!==Ae});for(var[u,d]of n)d.v!==Ae&&!(u in l)&&c.push(u);return c},setPrototypeOf(){sf()}})}function Zn(e){try{if(e!==null&&typeof e=="object"&&Ge in e)return e[Ge]}catch{}return e}function Hl(e,t){return Object.is(Zn(e),Zn(t))}function iv(e,t,n=!0){try{e===t!=(Zn(e)===Zn(t))&&ml(n?"===":"!==")}catch{}return e===t===n}function ov(e,t,n=!0){return e==t!=(Zn(e)==Zn(t))&&ml(),e==t===n}var Aa,Kl,ni,Wl,Yl;function Ia(){if(Aa===void 0){Aa=window,Kl=document,ni=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Wl=Ot(t,"firstChild").get,Yl=Ot(t,"nextSibling").get,Ji(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Ji(n)&&(n.__t=void 0)}}function He(e=""){return document.createTextNode(e)}function Ie(e){return Wl.call(e)}function _t(e){return Yl.call(e)}function p(e,t){if(!W)return Ie(e);var n=Ie(ne);if(n===null)n=ne.appendChild(He());else if(t&&n.nodeType!==Or){var r=He();return n?.before(r),be(r),r}return t&&Ms(n),be(n),n}function he(e,t=!1){if(!W){var n=Ie(e);return n instanceof Comment&&n.data===""?_t(n):n}if(t){if(ne?.nodeType!==Or){var r=He();return ne?.before(r),be(r),r}Ms(ne)}return ne}function x(e,t=1,n=!1){let r=W?ne:e;for(var s;t--;)s=r,r=_t(r);if(!W)return r;if(n){if(r?.nodeType!==Or){var a=He();return r===null?s?.after(a):r.before(a),be(a),a}Ms(r)}return be(r),r}function ri(e){e.textContent=""}function Gl(){return!1}function gn(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??rl,e,r)}function lv(){return document.createDocumentFragment()}function Xl(e=""){return document.createComment(e)}function cv(e,t,n=""){if(t.startsWith("xlink:")){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n);return}return e.setAttribute(t,n)}function Ms(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===Or;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function js(e,t){if(t){const n=document.body;e.autofocus=!0,et(()=>{document.activeElement===n&&e.focus()})}}function uv(e){W&&Ie(e)!==null&&ri(e)}let ro=!1;function Jl(){ro||(ro=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function ut(e,t,n,r=!0){r&&n();for(var s of t)e.addEventListener(s,n);wt(()=>{for(var a of t)e.removeEventListener(a,n)})}function _n(e){var t=le,n=re;lt(null),Xe(null);try{return e()}finally{lt(t),Xe(n)}}function zr(e,t,n,r=n){e.addEventListener(t,()=>_n(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),Jl()}function si(e){re===null&&(le===null&&Gd(),Yd()),rn&&Wd()}function dv(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function dt(e,t){var n=re;n!==null&&n.f&Qe&&(e|=Qe);var r={ctx:_e,deps:null,nodes:null,f:e|Ve|Tt,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};ae?.register_created_effect(r);var s=r;if(e&An)Un!==null?Un.push(r):Rt.ensure().schedule(r);else if(t!==null){try{Dn(r)}catch(i){throw $e(r),i}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&!(s.f&mn)&&(s=s.first,e&Lt&&e&$t&&s!==null&&(s.f|=$t))}if(s!==null&&(s.parent=n,n!==null&&dv(s,n),le!==null&&le.f&Ue&&!(e&nn))){var a=le;(a.effects??=[]).push(s)}return r}function $r(){return le!==null&&!Dt}function wt(e){const t=dt(Dr,null);return Re(t,Me),t.teardown=e,t}function De(e){si();var t=re.f,n=!le&&(t&Nt)!==0&&(t&sn)===0;if(n){var r=_e;(r.e??=[]).push(e)}else return Zl(e)}function Zl(e){return dt(An|dl,e)}function Ql(e){return si(),dt(Dr|dl,e)}function ec(e){return dt(kr,e)}function ai(e){Rt.ensure();const t=dt(nn|mn,e);return()=>{$e(t)}}function fv(e){Rt.ensure();const t=dt(nn|mn,e);return(n={})=>new Promise(r=>{n.outro?Sn(t,()=>{$e(t),r(void 0)}):($e(t),r(void 0))})}function bt(e){return dt(An,e)}function vv(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=re;try{Xe(s.parent),xe(t)}finally{Xe(s)}}})}function hv(){var e=_e;Oe(()=>{for(var t of e.l.$){t.deps();var n=t.effect;n.f&Me&&n.deps!==null&&Re(n,zt),sr(n)&&Dn(n),t.ran=!1}})}function pv(e){return dt(Gn|mn,e)}function Oe(e,t=0){return dt(Dr|t,e)}function q(e,t=[],n=[],r=[]){Mr(r,t,n,s=>{dt(Dr,()=>e(...s.map(o)))})}function mv(e,t=[],n=[],r=[]){if(n.length>0||r.length>0)var s=jr();Mr(r,t,n,a=>{dt(An,()=>e(...a.map(o))),s&&s()})}function Xt(e,t=0){var n=dt(Lt|t,e);return n}function tc(e,t=0){var n=dt(Ya|t,e);return n}function Je(e){return dt(Nt|mn,e)}function nc(e){var t=e.teardown;if(t!==null){const n=rn,r=le;so(!0),lt(null);try{t.call(null)}finally{so(n),lt(r)}}}function ii(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&_n(()=>{s.abort(Vt)});var r=n.next;n.f&nn?n.parent=null:$e(n,t),n=r}}function gv(e){for(var t=e.first;t!==null;){var n=t.next;t.f&Nt||$e(t),t=n}}function $e(e,t=!0){var n=!1;(t||e.f&ul)&&e.nodes!==null&&e.nodes.end!==null&&(rc(e.nodes.start,e.nodes.end),n=!0),Re(e,wa),ii(e,t&&!n),Sr(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)a.stop();nc(e),e.f^=wa,e.f|=ot;var s=e.parent;s!==null&&s.first!==null&&sc(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function rc(e,t){for(;e!==null;){var n=e===t?null:_t(e);e.remove(),e=n}}function sc(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 Sn(e,t,n=!0){var r=[];ac(e,r,!0);var s=()=>{n&&$e(e),t&&t()},a=r.length;if(a>0){var i=()=>--a||s();for(var l of r)l.out(i)}else s()}function ac(e,t,n){if(!(e.f&Qe)){e.f^=Qe;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 a=s.next;if(!(s.f&nn)){var i=(s.f&$t)!==0||(s.f&Nt)!==0&&(e.f&Lt)!==0;ac(s,t,i?n:!1)}s=a}}}function oi(e){ic(e,!0)}function ic(e,t){if(e.f&Qe){e.f^=Qe,e.f&Me||(Re(e,Ve),Rt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&$t)!==0||(n.f&Nt)!==0;ic(n,s?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(const i of a)(i.is_global||t)&&i.in()}}function Ra(e=re){return(e.f&ot)!==0}function li(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:_t(n);t.append(n),n=s}}let qn=null;function _v(e){var t=qn;try{if(qn=new Set,xe(e),t!==null)for(var n of qn)t.add(n);return qn}finally{qn=t}}function bv(e){for(var t of _v(e))Kt(t,t.v)}let ns=!1,rn=!1;function so(e){rn=e}let le=null,Dt=!1;function lt(e){le=e}let re=null;function Xe(e){re=e}let At=null;function oc(e){le!==null&&(At===null?At=[e]:At.push(e))}let st=null,ft=0,Et=null;function yv(e){Et=e}let lc=1,wn=0,xn=wn;function ao(e){xn=e}function vs(){return++lc}function sr(e){var t=e.f;if(t&Ve)return!0;if(t&Ue&&(e.f&=~In),t&zt){for(var n=e.deps,r=n.length,s=0;s<r;s++){var a=n[s];if(sr(a)&&ql(a),a.wv>e.wv)return!0}t&Tt&&Ze===null&&Re(e,Me)}return!1}function cc(e,t,n=!0){var r=e.reactions;if(r!==null&&!(At!==null&&Yn.call(At,e)))for(var s=0;s<r.length;s++){var a=r[s];a.f&Ue?cc(a,t,!1):t===a&&(n?Re(a,Ve):a.f&Me&&Re(a,zt),Qa(a))}}function uc(e){var t=st,n=ft,r=Et,s=le,a=At,i=_e,l=Dt,c=xn,u=e.f;st=null,ft=0,Et=null,le=u&(Nt|nn)?null:e,At=null,Xn(e.ctx),Dt=!1,xn=++wn,e.ac!==null&&(_n(()=>{e.ac.abort(Vt)}),e.ac=null);try{e.f|=ka;var d=e.fn,f=d();e.f|=sn;var h=e.deps,b=ae?.is_fork;if(st!==null){var k;if(b||Sr(e,ft),h!==null&&ft>0)for(h.length=ft+st.length,k=0;k<st.length;k++)h[ft+k]=st[k];else e.deps=h=st;if($r()&&e.f&Tt)for(k=ft;k<h.length;k++)(h[k].reactions??=[]).push(e)}else!b&&h!==null&&ft<h.length&&(Sr(e,ft),h.length=ft);if(El()&&Et!==null&&!Dt&&h!==null&&!(e.f&(Ue|zt|Ve)))for(k=0;k<Et.length;k++)cc(Et[k],e);if(s!==null&&s!==e){if(wn++,s.deps!==null)for(let w=0;w<n;w+=1)s.deps[w].rv=wn;if(t!==null)for(const w of t)w.rv=wn;Et!==null&&(r===null?r=Et:r.push(...Et))}return e.f&fn&&(e.f^=fn),f}catch(w){return Al(w)}finally{e.f^=ka,st=t,ft=n,Et=r,le=s,At=a,Xn(i),Dt=l,xn=c}}function wv(e,t){let n=t.reactions;if(n!==null){var r=Rd.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&&(st===null||!Yn.call(st,t))){var a=t;a.f&Tt&&(a.f^=Tt,a.f&=~In),a.v!==Ae&&Ja(a),nv(a),Sr(a,0)}}function Sr(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)wv(e,n[r])}function Dn(e){var t=e.f;if(!(t&ot)){Re(e,Me);var n=re,r=ns;re=e,ns=!0;try{t&(Lt|Ya)?gv(e):ii(e),nc(e);var s=uc(e);e.teardown=typeof s=="function"?s:null,e.wv=lc;var a;al&&bf&&e.f&Ve&&e.deps}finally{ns=r,re=n}}}async function ci(){await Promise.resolve(),hn()}function kv(){return Rt.ensure().settled()}function o(e){var t=e.f,n=(t&Ue)!==0;if(qn?.add(e),le!==null&&!Dt){var r=re!==null&&(re.f&ot)!==0;if(!r&&(At===null||!Yn.call(At,e))){var s=le.deps;if(le.f&ka)e.rv<wn&&(e.rv=wn,st===null&&s!==null&&s[ft]===e?ft++:st===null?st=[e]:st.push(e));else{(le.deps??=[]).push(e);var a=e.reactions;a===null?e.reactions=[le]:Yn.call(a,le)||a.push(le)}}}if(rn&&kn.has(e))return kn.get(e);if(n){var i=e;if(rn){var l=i.v;return(!(i.f&Me)&&i.reactions!==null||fc(i))&&(l=ti(i)),kn.set(i,l),l}var c=(i.f&Tt)===0&&!Dt&&le!==null&&(ns||(le.f&Tt)!==0),u=(i.f&sn)===0;sr(i)&&(c&&(i.f|=Tt),ql(i)),c&&!u&&(Bl(i),dc(i))}if(Ze?.has(e))return Ze.get(e);if(e.f&fn)throw e.v;return e.v}function dc(e){if(e.f|=Tt,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),t.f&Ue&&!(t.f&Tt)&&(Bl(t),dc(t))}function fc(e){if(e.v===Ae)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(kn.has(t)||t.f&Ue&&fc(t))return!0;return!1}function Sv(e){return e&&o(e)}function xe(e){var t=Dt;try{return Dt=!0,e()}finally{Dt=t}}function ui(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(Ge in e)hs(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&Ge in n&&hs(n)}}}function hs(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{hs(e[r],t)}catch{}const n=Rs(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=il(n);for(let s in r){const a=r[s].get;if(a)try{a.call(e)}catch{}}}}}function xv(e,t){if(hl(),W){const n=window.__svelte?.h;if(n?.has(e))return n.get(e);vf()}return t()}const hr=Symbol("events"),vc=new Set,Ca=new Set;function Ev(e){if(!W)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 hc(e,t,n,r={}){function s(a){if(r.capture||Pa.call(t,a),!a.cancelBubble)return _n(()=>n?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?et(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function ct(e,t,n,r,s){var a={capture:r,passive:s},i=hc(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&wt(()=>{t.removeEventListener(e,i,a)})}function K(e,t,n){(t[hr]??={})[e]=n}function ge(e){for(var t=0;t<e.length;t++)vc.add(e[t]);for(var n of Ca)n(e)}let io=null;function Pa(e){var t=this,n=t.ownerDocument,r=e.type,s=e.composedPath?.()||[],a=s[0]||e.target;io=e;var i=0,l=io===e&&e[hr];if(l){var c=s.indexOf(l);if(c!==-1&&(t===document||t===window)){e[hr]=t;return}var u=s.indexOf(t);if(u===-1)return;c<=u&&(i=c)}if(a=s[i]||e.target,a!==t){Tn(e,"currentTarget",{configurable:!0,get(){return a||n}});var d=le,f=re;lt(null),Xe(null);try{for(var h,b=[];a!==null;){var k=a.assignedSlot||a.parentNode||a.host||null;try{var w=a[hr]?.[r];w!=null&&(!a.disabled||e.target===a)&&w.call(a,e)}catch(S){h?b.push(S):h=S}if(e.cancelBubble||k===t||k===null)break;a=k}if(h){for(let S of b)queueMicrotask(()=>{throw S});throw h}}finally{e[hr]=t,delete e.currentTarget,lt(d),Xe(f)}}}function Tv(e,t,n,r,s,a=!1,i=!1){let l,c;try{l=e()}catch(u){c=u}if(typeof l!="function"&&(a||l!=null||c)){const u=r?.[vt];s?`${u}${s[0]}${s[1]}`:`${u}`;const d=n[0]?.eventPhase<Event.BUBBLING_PHASE?"capture":"";if(n[0]?.type+d,ff(),c)throw c}l?.apply(t,n)}const Av=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function pc(e){return Av?.createHTML(e)??e}function di(e){var t=gn("template");return t.innerHTML=pc(e.replaceAll("<!>","<!---->")),t.content}const Iv=jn?"template":"TEMPLATE",Rv=jn?"script":"SCRIPT";function qe(e,t){var n=re;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function C(e,t){var n=(t&Ka)!==0,r=(t&nl)!==0,s,a=!e.startsWith("<!>");return()=>{if(W)return qe(ne,null),ne;s===void 0&&(s=di(a?e:"<!>"+e),n||(s=Ie(s)));var i=r||ni?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=Ie(i),c=i.lastChild;qe(l,c)}else qe(i,i);return i}}function mc(e,t,n="svg"){var r=!e.startsWith("<!>"),s=(t&Ka)!==0,a=`<${n}>${r?e:"<!>"+e}</${n}>`,i;return()=>{if(W)return qe(ne,null),ne;if(!i){var l=di(a),c=Ie(l);if(s)for(i=document.createDocumentFragment();Ie(c);)i.appendChild(Ie(c));else i=Ie(c)}var u=i.cloneNode(!0);if(s){var d=Ie(u),f=u.lastChild;qe(d,f)}else qe(u,u);return u}}function Cv(e,t){return mc(e,t,"svg")}function Pv(e,t){return mc(e,t,"math")}function gc(e,t){var n=lv();for(var r of e){if(typeof r=="string"){n.append(He(r));continue}if(r===void 0||r[0][0]==="/"){n.append(Xl(r?r[0].slice(3):""));continue}const[l,c,...u]=r,d=l==="svg"?Pr:l==="math"?Wa:t;var s=gn(l,d,c?.is);for(var a in c)cv(s,a,c[a]);if(u.length>0){var i=s.nodeName===Iv?s.content:s;i.append(gc(u,s.nodeName==="foreignObject"?void 0:d))}n.append(s)}return n}function Dv(e,t){var n=(t&Ka)!==0,r=(t&nl)!==0,s;return()=>{if(W)return qe(ne,null),ne;if(s===void 0){const c=t&Ad?Pr:t&Id?Wa:void 0;s=gc(e,c),n||(s=Ie(s))}var a=r||ni?document.importNode(s,!0):s.cloneNode(!0);if(n){var i=Ie(a),l=a.lastChild;qe(i,l)}else qe(a,a);return a}}function Ov(e){return()=>Lv(e())}function Lv(e){if(W)return e;const t=e.nodeType===vl,n=e.nodeName===Rv?[e]:e.querySelectorAll("script"),r=re;for(const a of n){const i=gn("script");for(var s of a.attributes)i.setAttribute(s.name,s.value);i.textContent=a.textContent,(t?e.firstChild===a:e===a)&&(r.nodes.start=i),(t?e.lastChild===a:e===a)&&(r.nodes.end=i),a.replaceWith(i)}return e}function Mt(e=""){if(!W){var t=He(e+"");return qe(t,t),t}var n=ne;return n.nodeType!==Or?(n.before(n=He()),be(n)):Ms(n),qe(n,n),n}function at(){if(W)return qe(ne,null),ne;var e=document.createDocumentFragment(),t=document.createComment(""),n=He();return e.append(t,n),qe(t,n),e}function T(e,t){if(W){var n=re;(!(n.f&sn)||n.nodes.end===null)&&(n.nodes.end=ne),tt();return}e!==null&&e.before(t)}function Mv(){if(W&&ne&&ne.nodeType===an&&ne.textContent?.startsWith("$")){const e=ne.textContent.substring(1);return tt(),e}return(window.__svelte??={}).uid??=1,`c${window.__svelte.uid++}`}const jv=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function Nv(e){return jv.includes(e)||e.toLowerCase()==="!doctype"}function zv(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const $v=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function qv(e){return $v.includes(e)}const Bv={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 Vv(e){return e=e.toLowerCase(),Bv[e]??e}const Uv=["touchstart","touchmove"];function Fv(e){return Uv.includes(e)}const Hv=["textarea","script","style","title"];function Kv(e){return Hv.includes(e)}function _c(e){return e?.replace(/\//g,"/​")}let ps=!0;function Fn(e){ps=e}function N(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function ze(e,t){return yc(e,t)}function bc(e,t){Ia(),t.intro=t.intro??!1;const n=t.target,r=W,s=ne;try{for(var a=Ie(n);a&&(a.nodeType!==an||a.data!==Es);)a=_t(a);if(!a)throw En;ke(!0),be(a);const i=yc(e,{...t,anchor:a});return ke(!1),i}catch(i){if(i instanceof Error&&i.message.split(`
5
- `).some(l=>l.startsWith("https://svelte.dev/e/")))throw i;return i!==En&&console.warn("Failed to hydrate: ",i),t.recover===!1&&tf(),Ia(),ri(n),ke(!1),ze(e,t)}finally{ke(r),be(s)}}const Gr=new Map;function yc(e,{target:t,anchor:n,props:r={},events:s,context:a,intro:i=!0,transformError:l}){Ia();var c=void 0,u=fv(()=>{var d=n??t.appendChild(He());Nl(d,{pending:()=>{}},b=>{ie({});var k=_e;if(a&&(k.c=a),s&&(r.$$events=s),W&&qe(b,null),ps=i,c=e(b,r)||{},ps=!0,W&&(re.nodes.end=ne,ne===null||ne.nodeType!==an||ne.data!==As))throw Lr(),En;oe()},l);var f=new Set,h=b=>{for(var k=0;k<b.length;k++){var w=b[k];if(!f.has(w)){f.add(w);var S=Fv(w);for(const g of[t,document]){var E=Gr.get(g);E===void 0&&(E=new Map,Gr.set(g,E));var _=E.get(w);_===void 0?(g.addEventListener(w,Pa,{passive:S}),E.set(w,1)):E.set(w,_+1)}}}};return h(Is(vc)),Ca.add(h),()=>{for(var b of f)for(const S of[t,document]){var k=Gr.get(S),w=k.get(b);--w==0?(S.removeEventListener(b,Pa),k.delete(b),k.size===0&&Gr.delete(S)):k.set(b,w)}Ca.delete(h),d!==n&&d.parentNode?.removeChild(d)}});return Da.set(c,u),c}let Da=new WeakMap;function Fe(e,t){const n=Da.get(e);return n?(Da.delete(e),n(t)):Promise.resolve()}function Wv(e){const t=e();t&&Nv(t)&&yf()}function Yv(e){const t=e();t&&!(typeof t=="string")&&Vd()}function Gv(e,t){e!=null&&typeof e.subscribe!="function"&&Bd()}function wc(e){return e.toString=()=>(qd(),""),e}class ar{anchor;#e=new Map;#t=new Map;#n=new Map;#a=new Set;#s=!0;constructor(t,n=!0){this.anchor=t,this.#s=n}#i=t=>{if(this.#e.has(t)){var n=this.#e.get(t),r=this.#t.get(n);if(r)oi(r),this.#a.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[a,i]of this.#e){if(this.#e.delete(a),a===t)break;const l=this.#n.get(i);l&&($e(l.effect),this.#n.delete(i))}for(const[a,i]of this.#t){if(a===n||this.#a.has(a))continue;const l=()=>{if(Array.from(this.#e.values()).includes(a)){var u=document.createDocumentFragment();li(i,u),u.append(He()),this.#n.set(a,{effect:i,fragment:u})}else $e(i);this.#a.delete(a),this.#t.delete(a)};this.#s||!r?(this.#a.add(a),Sn(i,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)||($e(s.effect),this.#n.delete(r))};ensure(t,n){var r=ae,s=Gl();if(n&&!this.#t.has(t)&&!this.#n.has(t))if(s){var a=document.createDocumentFragment(),i=He();a.append(i),this.#n.set(t,{effect:Je(()=>n(i)),fragment:a})}else this.#t.set(t,Je(()=>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.#i),r.ondiscard(this.#r)}else W&&(this.anchor=ne),this.#i(r)}}function fi(e,t,...n){var r=new ar(e);Xt(()=>{const s=t()??null;r.ensure(s,s&&(a=>s(a,...n)))},$t)}function Xv(e,t){const n=(r,...s)=>{var a=Xa;eo(e);try{return t(r,...s)}finally{eo(a)}};return wc(n),n}function Jv(e){return(t,...n)=>{var r=e(...n),s;if(W)s=ne,tt();else{var a=r.render().trim(),i=di(a);s=Ie(i),t.before(s)}const l=r.setup?.(s);qe(s,s),typeof l=="function"&&wt(l)}}function Zv(){return le===null&&ef(),(le.ac??=new AbortController).signal}function vi(e){_e===null&&rr(),De(()=>{const t=xe(e);if(typeof t=="function")return t})}function hi(e){_e===null&&rr(),vi(()=>()=>xe(e))}function Qv(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function eh(){const e=_e;return e===null&&rr(),(t,n,r)=>{const s=e.s.$$events?.[t];if(s){const a=nr(s)?s.slice():[s],i=Qv(t,n,r);for(const l of a)l.call(e.x,i);return!i.defaultPrevented}return!0}}function th(e){_e===null&&rr(),_e.l===null&&pl(),kc(_e).b.push(e)}function nh(e){_e===null&&rr(),_e.l===null&&pl(),kc(_e).a.push(e)}function kc(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const Sc=Object.freeze(Object.defineProperty({__proto__:null,afterUpdate:nh,beforeUpdate:th,createContext:If,createEventDispatcher:eh,createRawSnippet:Jv,flushSync:hn,fork:Kf,getAbortSignal:Zv,getAllContexts:Rf,getContext:kl,hasContext:xl,hydratable:xv,hydrate:bc,mount:ze,onDestroy:hi,onMount:vi,setContext:Sl,settled:kv,tick:ci,unmount:Fe,untrack:xe},Symbol.toStringTag,{value:"Module"}));function rh(){return Symbol(sl)}function xc(e,t,n,r){return e!==t&&typeof t=="object"&&Ge in t&&lf(n,_c(r)),e}function sh(e,t,n,r,s){return xc(n==="="?e[t]=r:n==="&&="?e[t]&&=r():n==="||="?e[t]||=r():n==="??="?e[t]??=r():null,xe(()=>e[t]),t,s)}async function ah(e,t,n,r,s){return xc(n==="="?e[t]=await r:n==="&&="?e[t]&&=await r():n==="||="?e[t]||=await r():n==="??="?e[t]??=await r():null,xe(()=>e[t]),t,s)}var oo=new Map;function ih(e){var t=oo.get(e);if(t){for(const n of t)n.remove();oo.delete(e)}}function oh(e,t,n){return(...r)=>{const s=e(...r);var a=W?s:s.nodeType===vl?s.firstChild:s;return Ec(a,t,n),s}}function lh(e,t,n){e.__svelte_meta={parent:Qr,loc:{file:t,line:n[0],column:n[1]}},n[2]&&Ec(e.firstChild,t,n[2])}function Ec(e,t,n){for(var r=0,s=0;e&&r<n.length;){if(W&&e.nodeType===an){var a=e;a.data[0]===Es?s+=1:a.data[0]===As&&(s-=1)}s===0&&e.nodeType===fl&&lh(e,t,n[r++]),e=e.nextSibling}}function ch(e){const t=gt(e);function n(r,s){let a={},i={},l,c=!1,u=r;return Xt(()=>{if(a!==(a=o(t))){if(l){for(var d in i)delete i[d];$e(l)}l=Je(()=>{u=u[Nd]??u,c&&Fn(!1);var f=new.target?new a(u,s):a(u,s);f&&Object.defineProperties(i,Object.getOwnPropertyDescriptors(f)),c&&Fn(!0)}),re.nodes=l.nodes}},$t),c=!0,W&&(u=ne),i}return n[vt]=e[vt],n[zn]={fn:e,current:t,update:r=>{y(n[zn].current,r[zn].fn),r[zn].current=n[zn].current}},n}function uh(e){const t=_e?.function,n=_e?.p?.function;return{mutation:(r,s,a,i,l)=>{const c=s[0];if(lo(e,c)||!n)return a;let u=e;for(let f=0;f<s.length-1;f++)if(u=u[s[f]],!u?.[Ge])return a;const d=_c(`${t[vt]}:${i}:${l}`);return pf(c,d,r,n[vt]),a},binding:(r,s,a)=>{!lo(e,r)&&n&&a()?.[Ge]&&hf(t[vt],r,s[vt],n[vt])}}}function lo(e,t){const n=Ge in e||Cs in e;return!!Ot(e,t)?.set||n&&t in e||!(t in e)}function dh(e){e&&Hd(e[vt]??"a component",e.name)}function fh(){const e=_e?.function;function t(n){Fd(n,e[vt])}return{$destroy:()=>t("$destroy()"),$on:()=>t("$on(...)"),$set:()=>t("$set(...)")}}function vh(e,t,n=!1){si();let r=!0,s=Ae;ec(()=>{try{var a=e()}catch(l){s=l;return}var i=Cn(a,!0,!0);xe(()=>{if(n){if(t(...i),!r){const l=Ef("$inspect(...)");l&&(console.groupCollapsed("stack trace"),console.log(l),console.groupEnd())}}else t(r?"init":"update",...i)}),r=!1}),Oe(()=>{try{e()}catch{}s!==Ae&&(console.error(s),s=Ae)})}function hh(e,t=[],n=[],r){var s=W,a=null;if(s&&(tt(),a=Rn(!1)),n.length===0&&t.every(c=>c.settled)){r(e),s&&be(a);return}const i=jr();if(s){var l=ne;be(a)}Mr(t,[],n,c=>{s&&(ke(!0),be(l));try{for(const u of c)o(u);r(e,...c)}finally{s&&ke(!1),i()}})}function ph(e,...t){(typeof e!="object"||!(e instanceof Node))&&Qi();for(let n of t)typeof n!="function"&&Qi()}const co=0,uo=1,mh=2;function gh(e,t,n,r,s){W&&tt();var a=Ae,i=gt(a),l=gt(a),c=new ar(e);Xt(()=>{var u=ae;u.deactivate();var d=t();u.activate();var f=!1;let h=W&&Zi(d)===(e.data===Ts);if(h&&(be(Rn()),ke(!1)),Zi(d)){var b=Os(),k=!1;const w=S=>{if(!f){k=!0,b(!1),Rt.ensure(),W&&ke(!1);try{S()}finally{Pn(!1),Wn||hn()}}};d.then(S=>{w(()=>{Kt(i,S),c.ensure(uo,r&&(E=>r(E,i)))})},S=>{w(()=>{if(Kt(l,S),c.ensure(mh,s&&(E=>s(E,l))),!s)throw l.v})}),W?c.ensure(co,n):et(()=>{k||w(()=>{c.ensure(co,n)})})}else Kt(i,d),c.ensure(uo,r&&(w=>r(w,i)));return h&&ke(!0),()=>{f=!0}})}function F(e,t,n=!1){var r;W&&(r=ne,tt());var s=new ar(e),a=n?$t:0;function i(l,c){if(W){var u=Ga(r);if(l!==parseInt(u.substring(1))){var d=Rn();be(d),s.anchor=d,ke(!1),s.ensure(l,c),ke(!0);return}}s.ensure(l,c)}Xt(()=>{var l=!1;t((c,u=0)=>{l=!0,i(u,c)}),l||i(-1,null)},a)}const _h=Symbol("NaN");function bh(e,t,n){W&&tt();var r=new ar(e);Xt(()=>{var s=t();s!==s&&(s=_h),r.ensure(s,n)})}function yh(e,t){W&&be(Ie(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 On(e,t){return t}function wh(e,t,n){for(var r=[],s=t.length,a,i=t.length,l=0;l<s;l++){let f=t[l];Sn(f,()=>{if(a){if(a.pending.delete(f),a.done.add(f),a.pending.size===0){var h=e.outrogroups;Oa(e,Is(a.done)),h.delete(a),h.size===0&&(e.outrogroups=null)}}else i-=1},!1)}if(i===0){var c=r.length===0&&n!==null;if(c){var u=n,d=u.parentNode;ri(d),d.append(u),e.items.clear()}Oa(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function Oa(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const i of e.pending.values())for(const l of i)r.add(e.items.get(l).e)}for(var s=0;s<t.length;s++){var a=t[s];if(r?.has(a)){a.f|=Ft;const i=document.createDocumentFragment();li(a,i)}else $e(t[s],n)}}var fo;function pe(e,t,n,r,s,a=null){var i=e,l=new Map,c=(t&el)!==0;if(c){var u=e;i=W?be(Ie(u)):u.appendChild(He())}W&&tt();var d=null,f=ei(()=>{var g=n();return nr(g)?g:g==null?[]:Is(g)}),h,b=new Map,k=!0;function w(g){_.effect.f&ot||(_.pending.delete(g),_.fallback=d,kh(_,h,i,t,r),d!==null&&(h.length===0?d.f&Ft?(d.f^=Ft,pr(d,null,i)):oi(d):Sn(d,()=>{d=null})))}function S(g){_.pending.delete(g)}var E=Xt(()=>{h=o(f);var g=h.length;let A=!1;if(W){var D=Ga(i)===Ts;D!==(g===0)&&(i=Rn(),be(i),ke(!1),A=!0)}for(var R=new Set,m=ae,O=Gl(),I=0;I<g;I+=1){W&&ne.nodeType===an&&ne.data===As&&(i=ne,A=!0,ke(!1));var L=h[I],P=r(L,I),M=k?null:l.get(P);M?(M.v&&Kt(M.v,L),M.i&&Kt(M.i,I),O&&m.unskip_effect(M.e)):(M=Sh(l,k?i:fo??=He(),L,P,I,s,t,n),k||(M.e.f|=Ft),l.set(P,M)),R.add(P)}if(g===0&&a&&!d&&(k?d=Je(()=>a(i)):(d=Je(()=>a(fo??=He())),d.f|=Ft)),g>R.size&&Kd(),W&&g>0&&be(Rn()),!k)if(b.set(m,R),O){for(const[z,j]of l)R.has(z)||m.skip_effect(j.e);m.oncommit(w),m.ondiscard(S)}else w(m);A&&ke(!0),o(f)}),_={effect:E,items:l,pending:b,outrogroups:null,fallback:d};k=!1,W&&(i=ne)}function dr(e){for(;e!==null&&!(e.f&Nt);)e=e.next;return e}function kh(e,t,n,r,s){var a=(r&bd)!==0,i=t.length,l=e.items,c=dr(e.effect.first),u,d=null,f,h=[],b=[],k,w,S,E;if(a)for(E=0;E<i;E+=1)k=t[E],w=s(k,E),S=l.get(w).e,S.f&Ft||(S.nodes?.a?.measure(),(f??=new Set).add(S));for(E=0;E<i;E+=1){if(k=t[E],w=s(k,E),S=l.get(w).e,e.outrogroups!==null)for(const L of e.outrogroups)L.pending.delete(S),L.done.delete(S);if(S.f&Qe&&(oi(S),a&&(S.nodes?.a?.unfix(),(f??=new Set).delete(S))),S.f&Ft)if(S.f^=Ft,S===c)pr(S,null,n);else{var _=d?d.next:c;S===e.effect.last&&(e.effect.last=S.prev),S.prev&&(S.prev.next=S.next),S.next&&(S.next.prev=S.prev),dn(e,d,S),dn(e,S,_),pr(S,_,n),d=S,h=[],b=[],c=dr(d.next);continue}if(S!==c){if(u!==void 0&&u.has(S)){if(h.length<b.length){var g=b[0],A;d=g.prev;var D=h[0],R=h[h.length-1];for(A=0;A<h.length;A+=1)pr(h[A],g,n);for(A=0;A<b.length;A+=1)u.delete(b[A]);dn(e,D.prev,R.next),dn(e,d,D),dn(e,R,g),c=g,d=R,E-=1,h=[],b=[]}else u.delete(S),pr(S,c,n),dn(e,S.prev,S.next),dn(e,S,d===null?e.effect.first:d.next),dn(e,d,S),d=S;continue}for(h=[],b=[];c!==null&&c!==S;)(u??=new Set).add(c),b.push(c),c=dr(c.next);if(c===null)continue}S.f&Ft||h.push(S),d=S,c=dr(S.next)}if(e.outrogroups!==null){for(const L of e.outrogroups)L.pending.size===0&&(Oa(e,Is(L.done)),e.outrogroups?.delete(L));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||u!==void 0){var m=[];if(u!==void 0)for(S of u)S.f&Qe||m.push(S);for(;c!==null;)!(c.f&Qe)&&c!==e.fallback&&m.push(c),c=dr(c.next);var O=m.length;if(O>0){var I=r&el&&i===0?n:null;if(a){for(E=0;E<O;E+=1)m[E].nodes?.a?.measure();for(E=0;E<O;E+=1)m[E].nodes?.a?.fix()}wh(e,m,I)}}a&&et(()=>{if(f!==void 0)for(S of f)S.nodes?.a?.apply()})}function Sh(e,t,n,r,s,a,i,l){var c=i&gd?i&yd?gt(n):Ls(n,!1,!1):null,u=i&_d?gt(s):null;return{v:c,i:u,e:Je(()=>(a(t,c??n,u??s,l),()=>{e.delete(r)}))}}function pr(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,a=t&&!(t.f&Ft)?t.nodes.start:n;r!==null;){var i=_t(r);if(a.before(r),r===s)return;r=i}}function dn(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function xh(e,t,n=!1,r=!1,s=!1,a=!1){var i=e,l="";if(n){var c=e;W&&(i=be(Ie(c)))}q(()=>{var u=re;if(l===(l=t()??"")){W&&tt();return}if(n&&!W){u.nodes=null,c.innerHTML=l,l!==""&&qe(Ie(c),c.lastChild);return}if(u.nodes!==null&&(rc(u.nodes.start,u.nodes.end),u.nodes=null),l!==""){if(W){ne.data;for(var d=tt(),f=d;d!==null&&(d.nodeType!==an||d.data!=="");)f=d,d=_t(d);if(d===null)throw Lr(),En;qe(ne,f),i=be(d);return}var h=r?Pr:s?Wa:void 0,b=gn(r?"svg":s?"math":"template",h);b.innerHTML=l;var k=r||s?b:b.content;if(qe(Ie(k),k.lastChild),r||s)for(;Ie(k);)i.before(Ie(k));else i.before(k)}})}function Eh(e,t,n,r,s){W&&tt();var a=t.$$slots?.[n],i=!1;a===!0&&(a=t[n==="default"?"children":n],i=!0),a===void 0?s!==null&&s(e):a(e,i?()=>r:r)}function Th(e){const t={};e.children&&(t.default=!0);for(const n in e.$$slots)t[n]=!0;return t}function qr(e,t,n){var r;W&&(r=ne,tt());var s=new ar(e);Xt(()=>{var a=t()??null;if(W){var i=Ga(r),l=i===Es,c=a!==null;if(l!==c){var u=Rn();be(u),s.anchor=u,ke(!1),s.ensure(a,a&&(d=>n(d,a))),ke(!0);return}}s.ensure(a,a&&(d=>n(d,a)))},$t)}const Ah=()=>performance.now(),Ut={tick:e=>requestAnimationFrame(e),now:()=>Ah(),tasks:new Set};function Tc(){const e=Ut.now();Ut.tasks.forEach(t=>{t.c(e)||(Ut.tasks.delete(t),t.f())}),Ut.tasks.size!==0&&Ut.tick(Tc)}function Ih(e){let t;return Ut.tasks.size===0&&Ut.tick(Tc),{promise:new Promise(n=>{Ut.tasks.add(t={c:e,f:n})}),abort(){Ut.tasks.delete(t)}}}function ms(e,t){_n(()=>{e.dispatchEvent(new CustomEvent(t))})}function Rh(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 vo(e){const t={},n=e.split(";");for(const r of n){const[s,a]=r.split(":");if(!s||a===void 0)break;const i=Rh(s.trim());t[i]=a.trim()}return t}const Ch=e=>e;let Ac=null;function ho(e){Ac=e}function Ph(e,t,n){var r=Ac??re,s=r.nodes,a,i,l,c=null;s.a??={element:e,measure(){a=this.element.getBoundingClientRect()},apply(){if(l?.abort(),i=this.element.getBoundingClientRect(),a.left!==i.left||a.right!==i.right||a.top!==i.top||a.bottom!==i.bottom){const u=t()(this.element,{from:a,to:i},n?.());l=gs(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 h=e.style;c={position:h.position,width:h.width,height:h.height,transform:h.transform},h.position="absolute",h.width=d,h.height=f;var b=e.getBoundingClientRect();if(a.left!==b.left||a.top!==b.top){var k=`translate(${a.left-b.left}px, ${a.top-b.top}px)`;h.transform=h.transform?`${h.transform} ${k}`:k}}}},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 Dh(e,t,n,r){var s=(e&xd)!==0,a=(e&Ed)!==0,i=s&&a,l=(e&Td)!==0,c=i?"both":s?"in":"out",u,d=t.inert,f=t.style.overflow,h,b;function k(){return _n(()=>u??=n()(t,r?.()??{},{direction:c}))}var w={is_global:l,in(){if(t.inert=d,!s){b?.abort(),b?.reset?.();return}a||h?.abort(),h=gs(t,k(),b,1,()=>{ms(t,"introend"),h?.abort(),h=u=void 0,t.style.overflow=f})},out(g){if(!a){g?.(),u=void 0;return}t.inert=!0,b=gs(t,k(),h,0,()=>{ms(t,"outroend"),g?.()})},stop:()=>{h?.abort(),b?.abort()}},S=re;if((S.nodes.t??=[]).push(w),s&&ps){var E=l;if(!E){for(var _=S.parent;_&&_.f&$t;)for(;(_=_.parent)&&!(_.f&Lt););E=!_||(_.f&sn)!==0}E&&bt(()=>{xe(()=>w.in())})}}function gs(e,t,n,r,s){var a=r===1;if($n(t)){var i,l=!1;return et(()=>{if(!l){var S=t({direction:a?"in":"out"});i=gs(e,S,n,r,s)}}),{abort:()=>{l=!0,i?.abort()},deactivate:()=>i.deactivate(),reset:()=>i.reset(),t:()=>i.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return ms(e,a?"introstart":"outrostart"),s(),{abort:ht,deactivate:ht,reset:ht,t:()=>r};const{delay:c=0,css:u,tick:d,easing:f=Ch}=t;var h=[];if(a&&n===void 0&&(d&&d(0,1),u)){var b=vo(u(0,1));h.push(b,b)}var k=()=>1-r,w=e.animate(h,{duration:c,fill:"forwards"});return w.onfinish=()=>{w.cancel(),ms(e,a?"introstart":"outrostart");var S=n?.t()??1-r;n?.abort();var E=r-S,_=t.duration*Math.abs(E),g=[];if(_>0){var A=!1;if(u)for(var D=Math.ceil(_/16.666666666666668),R=0;R<=D;R+=1){var m=S+E*f(R/D),O=vo(u(m,1-m));g.push(O),A||=O.overflow==="hidden"}A&&(e.style.overflow="hidden"),k=()=>{var I=w.currentTime;return S+E*f(I/_)},d&&Ih(()=>{if(w.playState!=="running")return!1;var I=k();return d(I,1-I),!0})}w=e.animate(g,{duration:_,fill:"forwards"}),w.onfinish=()=>{k=()=>r,d?.(r,1-r),s()}},{abort:()=>{w&&(w.cancel(),w.effect=null,w.onfinish=ht)},deactivate:()=>{s=ht},reset:()=>{r===0&&d?.(1,0)},t:()=>k()}}function Oh(e,t,n,r,s,a){let i=W;W&&tt();var l=null;W&&ne.nodeType===fl&&(l=ne,tt());var c=W?ne:e,u=re,d=new ar(c,!1);Xt(()=>{const f=t()||null;var h=s?s():n||f==="svg"?Pr:void 0;if(f===null){d.ensure(null,null),Fn(!0);return}return d.ensure(f,b=>{if(f){if(l=W?l:gn(f,h),qe(l,l),r){W&&Kv(f)&&l.append(document.createComment(""));var k=W?Ie(l):l.appendChild(He());W&&(k===null?ke(!1):be(k)),ho(u),r(l,k),ho(null)}re.nodes.end=l,b.before(l)}W&&be(b)}),Fn(!0),()=>{f&&Fn(!1)}},$t),wt(()=>{Fn(!0)}),i&&(ke(!0),be(c))}function Lh(e,t){let n=null,r=W;var s;if(W){n=ne;for(var a=Ie(document.head);a!==null&&(a.nodeType!==an||a.data!==e);)a=_t(a);if(a===null)ke(!1);else{var i=_t(a);a.remove(),be(i)}}W||(s=document.head.appendChild(He()));try{Xt(()=>t(s),ul|mn)}finally{r&&(ke(!0),be(n))}}function Mh(e,t){bt(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector("#"+t.hash)){const s=gn("style");s.id=t.hash,s.textContent=t.code,r.appendChild(s)}})}function Ic(e,t,n){bt(()=>{var r=xe(()=>t(e,n?.())||{});if(n&&r?.update){var s=!1,a={};Oe(()=>{var i=n();ui(i),s&&_l(a,i)&&(a=i,r.update(i))}),s=!0}if(r?.destroy)return()=>r.destroy()})}function pi(e,t){var n=void 0,r;tc(()=>{n!==(n=t())&&(r&&($e(r),r=null),n&&(r=Je(()=>{bt(()=>n(e))})))})}const jh=/[&"<]/g;function Nh(e,t){const n=String(e??""),r=jh;r.lastIndex=0;let s="",a=0;for(;r.test(n);){const i=r.lastIndex-1,l=n[i];s+=n.substring(a,i)+(l==="&"?"&amp;":l==='"'?"&quot;":"&lt;"),a=i+1}return s+n.substring(a)}function Rc(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=Rc(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function zh(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=Rc(e))&&(r&&(r+=" "),r+=t);return r}const po={translate:new Map([[!0,"yes"],[!1,"no"]])};function $h(e,t,n=!1){if(e==="hidden"&&t!=="until-found"&&(n=!0),t==null||!t&&n)return"";const r=Pd.call(po,e)&&po[e].get(t)||t,s=n?'=""':`="${Nh(r)}"`;return` ${e}${s}`}function Cc(e){return typeof e=="object"?zh(e):e??""}const mo=[...`
6
- \r\f \v\uFEFF`];function qh(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 a=s.length,i=0;(i=r.indexOf(s,i))>=0;){var l=i+a;(i===0||mo.includes(r[i-1]))&&(l===r.length||mo.includes(r[l]))?r=(i===0?"":r.substring(0,i))+r.substring(l+1):i=l}}return r===""?null:r}function go(e,t=!1){var n=t?" !important;":";",r="";for(var s of Object.keys(e)){var a=e[s];a!=null&&a!==""&&(r+=" "+s+": "+a+n)}return r}function oa(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function Bh(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 a=!1,i=0,l=!1,c=[];r&&c.push(...Object.keys(r).map(oa)),s&&c.push(...Object.keys(s).map(oa));var u=0,d=-1;const w=e.length;for(var f=0;f<w;f++){var h=e[f];if(l?h==="/"&&e[f-1]==="*"&&(l=!1):a?a===h&&(a=!1):h==="/"&&e[f+1]==="*"?l=!0:h==='"'||h==="'"?a=h:h==="("?i++:h===")"&&i--,!l&&a===!1&&i===0){if(h===":"&&d===-1)d=f;else if(h===";"||f===w-1){if(d!==-1){var b=oa(e.substring(u,d).trim());if(!c.includes(b)){h!==";"&&f++;var k=e.substring(u,f).trim();n+=" "+k+";"}}u=f+1,d=-1}}}}return r&&(n+=go(r)),s&&(n+=go(s,!0)),n=n.trim(),n===""?null:n}return e==null?null:String(e)}function we(e,t,n,r,s,a){var i=e.__className;if(W||i!==n||i===void 0){var l=qh(n,r,a);(!W||l!==e.getAttribute("class"))&&(l==null?e.removeAttribute("class"):t?e.className=l:e.setAttribute("class",l)),e.__className=n}else if(a&&s!==a)for(var c in a){var u=!!a[c];(s==null||u!==!!s[c])&&e.classList.toggle(c,u)}return a}function la(e,t={},n,r){for(var s in n){var a=n[s];t[s]!==a&&(n[s]==null?e.style.removeProperty(s):e.style.setProperty(s,a,r))}}function Jt(e,t,n,r){var s=e.__style;if(W||s!==t){var a=Bh(t,r);(!W||a!==e.getAttribute("style"))&&(a==null?e.removeAttribute("style"):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(la(e,n?.[0],r[0]),la(e,n?.[1],r[1],"important")):la(e,n,r));return r}function xr(e,t,n=!1){if(e.multiple){if(t==null)return;if(!nr(t))return mf();for(var r of e.options)r.selected=t.includes(_r(r));return}for(r of e.options){var s=_r(r);if(Hl(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function mi(e){var t=new MutationObserver(()=>{xr(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),wt(()=>{t.disconnect()})}function Er(e,t,n=t){var r=new WeakSet,s=!0;zr(e,"change",a=>{var i=a?"[selected]":":checked",l;if(e.multiple)l=[].map.call(e.querySelectorAll(i),_r);else{var c=e.querySelector(i)??e.querySelector("option:not([disabled])");l=c&&_r(c)}n(l),e.__value=l,ae!==null&&r.add(ae)}),bt(()=>{var a=t();if(e===document.activeElement){var i=ae;if(r.has(i))return}if(xr(e,a,s),s&&a===void 0){var l=e.querySelector(":checked");l!==null&&(a=_r(l),n(a))}e.__value=a,s=!1}),mi(e)}function _r(e){return"__value"in e?e.__value:e.value}const Bn=Symbol("class"),Vn=Symbol("style"),Pc=Symbol("is custom element"),Dc=Symbol("is html"),Vh=jn?"link":"LINK",Uh=jn?"input":"INPUT",Fh=jn?"option":"OPTION",Hh=jn?"select":"SELECT",Kh=jn?"progress":"PROGRESS";function Ee(e){if(W){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;Se(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var s=e.checked;Se(e,"checked",null),e.checked=s}}};e.__on_r=n,et(n),Jl()}}function Oc(e,t){var n=Ns(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==Kh)||(e.value=t??"")}function Lc(e,t){var n=Ns(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function Mc(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function Wh(e,t){const n=e.checked;e.defaultChecked=t,e.checked=n}function Yh(e,t){const n=e.value;e.defaultValue=t,e.value=n}function Se(e,t,n,r){var s=Ns(e);W&&(s[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName===Vh)||s[t]!==(s[t]=n)&&(t==="loading"&&(e[Md]=n),n==null?e.removeAttribute(t):typeof n!="string"&&gi(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function Gh(e,t,n){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n)}function Xh(e,t,n){var r=le,s=re;let a=W;W&&ke(!1),lt(null),Xe(null);try{t!=="style"&&(La.has(e.getAttribute("is")||e.nodeName)||!customElements||customElements.get(e.getAttribute("is")||e.nodeName.toLowerCase())?gi(e).includes(t):n&&typeof n=="object")?e[t]=n:Se(e,t,n==null?n:String(n))}finally{lt(r),Xe(s),a&&ke(!0)}}function Jh(e,t,n,r,s=!1,a=!1){if(W&&s&&e.nodeName===Uh){var i=e,l=i.type==="checkbox"?"defaultChecked":"defaultValue";l in n||Ee(i)}var c=Ns(e),u=c[Pc],d=!c[Dc];let f=W&&u;f&&ke(!1);var h=t||{},b=e.nodeName===Fh;for(var k in t)k in n||(n[k]=null);n.class?n.class=Cc(n.class):(r||n[Bn])&&(n.class=null),n[Vn]&&(n.style??=null);var w=gi(e);for(const R in n){let m=n[R];if(b&&R==="value"&&m==null){e.value=e.__value="",h[R]=m;continue}if(R==="class"){var S=e.namespaceURI==="http://www.w3.org/1999/xhtml";we(e,S,m,r,t?.[Bn],n[Bn]),h[R]=m,h[Bn]=n[Bn];continue}if(R==="style"){Jt(e,m,t?.[Vn],n[Vn]),h[R]=m,h[Vn]=n[Vn];continue}var E=h[R];if(!(m===E&&!(m===void 0&&e.hasAttribute(R)))){h[R]=m;var _=R[0]+R[1];if(_!=="$$")if(_==="on"){const O={},I="$$"+R;let L=R.slice(2);var g=qv(L);if(zv(L)&&(L=L.slice(0,-7),O.capture=!0),!g&&E){if(m!=null)continue;e.removeEventListener(L,h[I],O),h[I]=null}if(g)K(L,e,m),ge([L]);else if(m!=null){let P=function(M){h[R].call(this,M)};h[I]=hc(L,e,P,O)}}else if(R==="style")Se(e,R,m);else if(R==="autofocus")js(e,!!m);else if(!u&&(R==="__value"||R==="value"&&m!=null))e.value=e.__value=m;else if(R==="selected"&&b)Mc(e,m);else{var A=R;d||(A=Vv(A));var D=A==="defaultValue"||A==="defaultChecked";if(m==null&&!u&&!D)if(c[R]=null,A==="value"||A==="checked"){let O=e;const I=t===void 0;if(A==="value"){let L=O.defaultValue;O.removeAttribute(A),O.defaultValue=L,O.value=O.__value=I?L:null}else{let L=O.defaultChecked;O.removeAttribute(A),O.defaultChecked=L,O.checked=I?L:!1}}else e.removeAttribute(R);else D||w.includes(A)&&(u||typeof m!="string")?(e[A]=m,A in c&&(c[A]=Ae)):typeof m!="function"&&Se(e,A,m)}}}return f&&ke(!0),h}function Zh(e,t,n=[],r=[],s=[],a,i=!1,l=!1){Mr(s,n,r,c=>{var u=void 0,d={},f=e.nodeName===Hh,h=!1;if(tc(()=>{var k=t(...c.map(o)),w=Jh(e,u,k,a,i,l);h&&f&&"value"in k&&xr(e,k.value);for(let E of Object.getOwnPropertySymbols(d))k[E]||$e(d[E]);for(let E of Object.getOwnPropertySymbols(k)){var S=k[E];E.description===sl&&(!u||S!==u[E])&&(d[E]&&$e(d[E]),d[E]=Je(()=>pi(e,()=>S))),w[E]=S}u=w}),f){var b=e;bt(()=>{xr(b,u.value,!0),mi(b)})}h=!0})}function Ns(e){return e.__attributes??={[Pc]:e.nodeName.includes("-"),[Dc]:e.namespaceURI===rl}}var La=new Map;function gi(e){var t=e.getAttribute("is")||e.nodeName,n=La.get(t);if(n)return n;La.set(t,n=[]);for(var r,s=e,a=Element.prototype;a!==s;){r=il(s);for(var i in r)r[i].set&&n.push(i);s=Rs(s)}return n}let ca=null;function jc(){if(ca===null){var e=gn("select");e.innerHTML=pc("<option><span>t</span></option>"),ca=e.firstChild?.firstChild?.nodeType===1}return ca}function Qh(e,t){jc()&&pi(e,()=>()=>{const n=e.closest("select");if(!n)return;const r=new MutationObserver(s=>{var a=!1;for(const i of s){if(i.target===e)return;a||=!!i.target.parentElement?.closest("option")?.selected}a&&(e.replaceWith(e=e.cloneNode(!0)),t(e))});return r.observe(n,{childList:!0,characterData:!0,subtree:!0}),()=>{r.disconnect()}})}function ep(e,t){var n=W;jc()||(ke(!1),e.textContent="",e.append(Xl("")));try{t()}finally{n&&(W?v(e):(ke(!0),be(e)))}}function tp(e){ut(document,["focusin","focusout"],t=>{t&&t.type==="focusout"&&t.relatedTarget||e(document.activeElement)})}function je(e,t,n=t){var r=new WeakSet;zr(e,"input",async s=>{var a=s?e.defaultValue:e.value;if(a=da(e)?fa(a):a,n(a),ae!==null&&r.add(ae),await ci(),a!==(a=t())){var i=e.selectionStart,l=e.selectionEnd,c=e.value.length;if(e.value=a??"",l!==null){var u=e.value.length;i===l&&l===c&&u>c?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=i,e.selectionEnd=Math.min(l,u))}}}),(W&&e.defaultValue!==e.value||xe(t)==null&&e.value)&&(n(da(e)?fa(e.value):e.value),ae!==null&&r.add(ae)),Oe(()=>{var s=t();if(e===document.activeElement){var a=ae;if(r.has(a))return}da(e)&&s===fa(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}const ua=new Set;function np(e,t,n,r,s=r){var a=n.getAttribute("type")==="checkbox",i=e;let l=!1;if(t!==null)for(var c of t)i=i[c]??=[];i.push(n),zr(n,"change",()=>{var u=n.__value;a&&(u=_o(i,u,n.checked)),s(u)},()=>s(a?[]:null)),Oe(()=>{var u=r();if(W&&n.defaultChecked!==n.checked){l=!0;return}a?(u=u||[],n.checked=u.includes(n.__value)):n.checked=Hl(n.__value,u)}),wt(()=>{var u=i.indexOf(n);u!==-1&&i.splice(u,1)}),ua.has(i)||(ua.add(i),et(()=>{i.sort((u,d)=>u.compareDocumentPosition(d)===4?-1:1),ua.delete(i)})),et(()=>{if(l){var u;if(a)u=_o(i,u,n.checked);else{var d=i.find(f=>f.checked);u=d?.__value}s(u)}})}function rs(e,t,n=t){zr(e,"change",r=>{var s=r?e.defaultChecked:e.checked;n(s)}),(W&&e.defaultChecked!==e.checked||xe(t)==null)&&n(e.checked),Oe(()=>{var r=t();e.checked=!!r})}function _o(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 da(e){var t=e.type;return t==="number"||t==="range"}function fa(e){return e===""?null:+e}function rp(e,t,n=t){zr(e,"change",()=>{n(e.files)}),W&&e.files&&n(e.files),Oe(()=>{e.files=t()})}function _i(e){for(var t=[],n=0;n<e.length;n+=1)t.push({start:e.start(n),end:e.end(n)});return t}function sp(e,t,n=t){var r,s,a=()=>{cancelAnimationFrame(r),e.paused||(r=requestAnimationFrame(a));var i=e.currentTime;s!==i&&n(s=i)};r=requestAnimationFrame(a),e.addEventListener("timeupdate",a),Oe(()=>{var i=Number(t());s!==i&&!isNaN(i)&&(e.currentTime=s=i)}),wt(()=>{cancelAnimationFrame(r),e.removeEventListener("timeupdate",a)})}function ap(e,t){var n;ut(e,["loadedmetadata","progress","timeupdate","seeking"],()=>{var r=e.buffered;(!n||n.length!==r.length||n.some((s,a)=>r.start(a)!==s.start||r.end(a)!==s.end))&&(n=_i(r),t(n))})}function ip(e,t){ut(e,["loadedmetadata"],()=>t(_i(e.seekable)))}function op(e,t){ut(e,["timeupdate"],()=>t(_i(e.played)))}function lp(e,t){ut(e,["seeking","seeked"],()=>t(e.seeking))}function cp(e,t){ut(e,["timeupdate","ended"],()=>t(e.ended))}function up(e,t){ut(e,["loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","emptied"],()=>t(e.readyState))}function dp(e,t,n=t){bt(()=>{var r=Number(t());r!==e.playbackRate&&!isNaN(r)&&(e.playbackRate=r)}),bt(()=>{ut(e,["ratechange"],()=>{n(e.playbackRate)})})}function fp(e,t,n=t){var r=t(),s=()=>{r!==e.paused&&n(r=e.paused)};ut(e,["play","pause","canplay"],s,r==null),bt(()=>{(r=!!t())!==e.paused&&(r?e.pause():e.play().catch(a=>{throw n(r=!0),a}))})}function vp(e,t,n=t){var r=()=>{n(e.volume)};t()==null&&r(),ut(e,["volumechange"],r,!1),Oe(()=>{var s=Number(t());s!==e.volume&&!isNaN(s)&&(e.volume=s)})}function hp(e,t,n=t){var r=()=>{n(e.muted)};t()==null&&r(),ut(e,["volumechange"],r,!1),Oe(()=>{var s=!!t();e.muted!==s&&(e.muted=s)})}function pp(e){ut(window,["online","offline"],()=>{e(navigator.onLine)})}function mp(e,t,n){var r=Ot(e,t);r&&r.set&&(e[t]=n,wt(()=>{e[t]=null}))}class Br{#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.#a().observe(t,this.#n),()=>{var s=this.#e.get(t);s.delete(n),s.size===0&&(this.#e.delete(t),this.#t.unobserve(t))}}#a(){return this.#t??(this.#t=new ResizeObserver(t=>{for(var n of t){Br.entries.set(n.target,n);for(var r of this.#e.get(n.target)||[])r(n)}}))}}var gp=new Br({box:"content-box"}),Nc=new Br({box:"border-box"}),_p=new Br({box:"device-pixel-content-box"});function bp(e,t,n){var r=t==="contentRect"||t==="contentBoxSize"?gp:t==="borderBoxSize"?Nc:_p,s=r.observe(e,a=>n(a[t]));wt(s)}function yp(e,t,n){var r=Nc.observe(e,()=>n(e[t]));bt(()=>(xe(()=>n(e[t])),r))}function bo(e,t){return e===t||e?.[Ge]===t}function yt(e={},t,n,r){var s=_e.r,a=re;return bt(()=>{var i,l;return Oe(()=>{i=l,l=r?.()||[],xe(()=>{e!==n(...l)&&(t(e,...l),i&&bo(n(...i),e)&&t(null,...i))})}),()=>{let c=a;for(;c!==s&&c.parent!==null&&c.parent.f&wa;)c=c.parent;const u=()=>{l&&bo(n(...l),e)&&t(null,...l)},d=c.teardown;c.teardown=()=>{u(),d?.()}}}),e}function wp(e,t,n,r=n){t.addEventListener("input",()=>{r(t[e])}),Oe(()=>{var s=n();if(t[e]!==s)if(s==null){var a=t[e];r(a)}else t[e]=s+""})}function kp(e,t,n,r,s){var a=()=>{r(n[e])};n.addEventListener(t,a),s?Oe(()=>{n[e]=s()}):a(),(n===document.body||n===window||n===document)&&wt(()=>{n.removeEventListener(t,a)})}function Sp(e,t){ut(e,["focus","blur"],()=>{t(e===document.activeElement)})}function xp(e,t,n=t){var r=e==="x",s=()=>_n(()=>{a=!0,clearTimeout(i),i=setTimeout(l,100),n(window[r?"scrollX":"scrollY"])});addEventListener("scroll",s,{passive:!0});var a=!1,i,l=()=>{a=!1},c=!0;Oe(()=>{var u=t();c?c=!1:!a&&u!=null&&(a=!0,clearTimeout(i),r?scrollTo(u,window.scrollY):scrollTo(window.scrollX,u),i=setTimeout(l,100))}),bt(s),wt(()=>{removeEventListener("scroll",s)})}function Ep(e,t){ut(window,["resize"],()=>_n(()=>t(window[e])))}function Tp(e){return function(...t){var n=t[0];n.isTrusted&&e?.apply(this,t)}}function Ap(e){return function(...t){var n=t[0];n.target===this&&e?.apply(this,t)}}function Ip(e){return function(...t){var n=t[0];return n.stopPropagation(),e?.apply(this,t)}}function Rp(e){var t=!1;return function(...n){if(!t)return t=!0,e?.apply(this,n)}}function Cp(e){return function(...t){var n=t[0];return n.stopImmediatePropagation(),e?.apply(this,t)}}function Pp(e){return function(...t){var n=t[0];return n.preventDefault(),e?.apply(this,t)}}function Dp(e=!1){const t=_e,n=t.l.u;if(!n)return;let r=()=>ui(t.s);if(e){let s=0,a={};const i=Nr(()=>{let l=!1;const c=t.s;for(const u in c)c[u]!==a[u]&&(a[u]=c[u],l=!0);return l&&s++,s});r=()=>o(i)}n.b.length&&Ql(()=>{yo(t,r),ba(n.b)}),De(()=>{const s=xe(()=>n.m.map(Dd));return()=>{for(const a of s)typeof a=="function"&&a()}}),n.a.length&&De(()=>{yo(t,r),ba(n.a)})}function yo(e,t){if(e.l.s)for(const n of e.l.s)o(n);t()}function Op(e){var t=gt(0);return function(){return arguments.length===1?(y(t,o(t)+1),arguments[0]):(o(t),e())}}function Lp(e,t){var n=e.$$events?.[t.type],r=nr(n)?n.slice():n==null?[]:[n];for(var s of r)s.call(this,t)}function Mp(e,t,n){e.$$events||={},e.$$events[t]||=[],e.$$events[t].push(n)}function jp(e){for(var t in e)t in this&&(this[t]=e[t])}function Np(e,t=1){const n=e();return e(n+t),n}function zp(e,t=1){const n=e()+t;return e(n),n}const $p={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 qp(e,t,n){return new Proxy({props:e,exclude:t},$p)}const Bp={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=re;try{Xe(e.parent_effect),e.special[t]=Wt({get[t](){return e.props[t]}},t,tl)}finally{Xe(r)}}return e.special[t](n),Jn(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),Jn(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 Vp(e,t){return new Proxy({props:e,exclude:t,special:{},version:gt(0),parent_effect:re},Bp)}const Up={get(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if($n(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];$n(s)&&(s=s());const a=Ot(s,t);if(a&&a.set)return a.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if($n(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r){const s=Ot(r,t);return s&&!s.configurable&&(s.configurable=!0),s}}},has(e,t){if(t===Ge||t===Cs)return!1;for(let n of e.props)if($n(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){const t=[];for(let n of e.props)if($n(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 Vr(...e){return new Proxy({props:e},Up)}function Wt(e,t,n,r){var s=(n&kd)!==0,a=(n&Sd)!==0,i=r,l=!0,c=()=>(l&&(l=!1,i=a?xe(r):r),i);let u;if(s){var d=Ge in e||Cs in e;u=Ot(e,t)?.set??(d&&t in e?_=>e[t]=_:void 0)}var f,h=!1;s?[f,h]=Dl(()=>e[t]):f=e[t],f===void 0&&r!==void 0&&(f=c(),u&&(nf(),u(f)));var b;if(b=()=>{var _=e[t];return _===void 0?c():(l=!0,_)},!(n&tl))return b;if(u){var k=e.$$legacy;return function(_,g){return arguments.length>0?((!g||k||h)&&u(g?b():_),_):b()}}var w=!1,S=(n&wd?Nr:ei)(()=>(w=!1,b()));s&&o(S);var E=re;return function(_,g){if(arguments.length>0){const A=g?o(S):s?me(_):_;return y(S,A),w=!0,i!==void 0&&(i=A),_}return rn&&w||E.f&ot?S.v:o(S)}}function Fp(e,t,n,r,s,a){zl(t,()=>{var i=!1;Xa?.[vt],Oe(()=>{if(!i){var[l,c]=Dl(n);if(!c){var u=r(),d=!1,f=Oe(()=>{d||l[u]});d=!0,f.deps===null&&(cf(),i=!0)}}})})}function Hp(e){return new Kp(e)}class Kp{#e;#t;constructor(t){var n=new Map,r=(a,i)=>{var l=Ls(i,!1,!1);return n.set(a,l),l};const s=new Proxy({...t.props||{},$$events:{}},{get(a,i){return o(n.get(i)??r(i,Reflect.get(a,i)))},has(a,i){return i===Cs?!0:(o(n.get(i)??r(i,Reflect.get(a,i))),Reflect.has(a,i))},set(a,i,l){return y(n.get(i)??r(i,l),l),Reflect.set(a,i,l)}});this.#t=(t.hydrate?bc:ze)(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)&&hn(),this.#e=s.$$events;for(const a of Object.keys(this.#t))a==="$set"||a==="$destroy"||a==="$on"||Tn(this,a,{get(){return this.#t[a]},set(i){this.#t[a]=i},enumerable:!0});this.#t.$set=a=>{Object.assign(s,a)},this.#t.$destroy=()=>{Fe(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 zc;typeof HTMLElement=="function"&&(zc=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 a=gn("slot");r!=="default"&&(a.name=r),T(s,a)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},n=Wp(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]=ss(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=Hp({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=ai(()=>{Oe(()=>{this.$$r=!0;for(const r of us(this.$$c)){if(!this.$$p_d[r]?.reflect)continue;this.$$d[r]=this.$$c[r];const s=ss(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 a=this.$$c.$on(r,s);this.$$l_u.set(s,a)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=ss(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 us(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function ss(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 Wp(e){const t={};return e.childNodes.forEach(n=>{t[n.slot||"default"]=!0}),t}function Yp(e,t,n,r,s,a){let i=class extends zc{constructor(){super(e,n,s),this.$$p_d=t}static get observedAttributes(){return us(t).map(l=>(t[l].attribute||l).toLowerCase())}};return us(t).forEach(l=>{Tn(i.prototype,l,{get(){return this.$$c&&l in this.$$c?this.$$c[l]:this.$$d[l]},set(c){c=ss(l,c,t),this.$$d[l]=c;var u=this.$$c;if(u){var d=Ot(u,l)?.get;d?u[l]=c:u.$set({[l]:c})}}})}),r.forEach(l=>{Tn(i.prototype,l,{get(){return this.$$c?.[l]}})}),a&&(i=a(i)),e.element=i,i}function Gp(e,...t){return xe(()=>{try{let n=!1;const r=[];for(const s of t)s&&typeof s=="object"&&Ge in s?(r.push(Cn(s,!0)),n=!0):r.push(s);n&&(uf(e),console.log("%c[snapshot]","color: grey",...r))}catch{}}),t}const $c=Object.freeze(Object.defineProperty({__proto__:null,CLASS:Bn,FILENAME:vt,HMR:zn,NAMESPACE_SVG:Pr,STYLE:Vn,aborted:Ra,action:Ic,get active_effect(){return re},add_legacy_event_listener:Mp,add_locations:oh,add_svelte_meta:Af,animation:Ph,append:T,append_styles:Mh,apply:Tv,assign:sh,assign_async:ah,async:hh,async_derived:$l,attach:pi,attachment:rh,attr:$h,attribute_effect:Zh,autofocus:js,await:gh,bind_active_element:tp,bind_buffered:ap,bind_checked:rs,bind_content_editable:wp,bind_current_time:sp,bind_element_size:yp,bind_ended:cp,bind_files:rp,bind_focused:Sp,bind_group:np,bind_muted:hp,bind_online:pp,bind_paused:fp,bind_playback_rate:dp,bind_played:op,bind_prop:mp,bind_property:kp,bind_ready_state:up,bind_resize_observer:bp,bind_seekable:ip,bind_seeking:lp,bind_select_value:Er,bind_this:yt,bind_value:je,bind_volume:vp,bind_window_scroll:xp,bind_window_size:Ep,boundary:Nl,bubble_event:Lp,check_target:dh,child:p,cleanup_styles:ih,clsx:Cc,comment:at,component:qr,create_custom_element:Yp,create_ownership_validator:uh,css_props:yh,customizable_select:ep,deep_read:hs,deep_read_state:ui,deferred_template_effect:mv,delegate:ge,delegated:K,derived:X,derived_safe_equal:ei,get document(){return Kl},each:pe,eager:Hf,effect:bt,effect_root:ai,effect_tracking:$r,element:Oh,equals:ov,event:ct,exclude_from_object:Ld,fallback:Od,first_child:he,flush:hn,for_await_track_reactivity_loss:Zf,from_html:C,from_mathml:Pv,from_svg:Cv,from_tree:Dv,get:o,head:Lh,hmr:ch,html:xh,hydrate_template:_f,if:F,index:On,init:Dp,init_select:mi,inspect:vh,invalid_default_snippet:zd,invalidate_inner_signals:bv,invalidate_store:jf,invoke_error_boundary:Ht,key:bh,legacy_api:fh,legacy_pre_effect:vv,legacy_pre_effect_reset:hv,legacy_rest_props:Vp,log_if_contains_state:Gp,mark_store_binding:Bf,mutable_source:Ls,mutate:sv,next:tn,noop:ht,once:Rp,pending:Xf,pop:oe,preventDefault:Pp,prevent_snippet_stringification:wc,prop:Wt,props_id:Mv,proxy:me,push:ie,raf:Ut,reactive_import:Op,remove_input_defaults:Ee,remove_textarea_child:uv,render_effect:Oe,replay_events:Ev,reset:v,rest_props:qp,run:Qf,run_after_blockers:zl,safe_get:Sv,sanitize_slots:Th,save:Jf,select_option:xr,selectedcontent:Qh,self:Ap,set:y,set_attribute:Se,set_checked:Lc,set_class:we,set_custom_element_data:Xh,set_default_checked:Wh,set_default_value:Yh,set_selected:Mc,set_style:Jt,set_text:N,set_value:Oc,set_xlink_attribute:Gh,setup_stores:Nf,sibling:x,slot:Eh,snapshot:Cn,snippet:fi,spread_props:Vr,state:B,stopImmediatePropagation:Cp,stopPropagation:Ip,store_get:Lf,store_mutate:zf,store_set:Pl,store_unsub:Mf,strict_equals:iv,tag:xf,tag_proxy:wl,template_effect:q,text:Mt,tick:ci,to_array:cl,trace:Sf,track_reactivity_loss:Ta,transition:Dh,trusted:Tp,untrack:xe,update:Jn,update_legacy_props:jp,update_pre:av,update_pre_prop:zp,update_pre_store:qf,update_prop:Np,update_store:$f,user_effect:De,user_pre_effect:Ql,validate_binding:Fp,validate_dynamic_element_tag:Yv,validate_snippet_args:ph,validate_store:Gv,validate_void_dynamic_element:Wv,wait:ev,get window(){return Aa},with_script:Ov,wrap_snippet:Xv},Symbol.toStringTag,{value:"Module"}));class wo{#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 ko{#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 Xp=["workspace","user"],bi="state:manage",qt={ephemeral:new wo,session:new wo,workspace:new ko("sh3:workspace:"),user:new ko("sh3:user:")},va=new Map;let ha=!1;function Jp(e,t,n){va.set(`${e}:${t}`,{zone:e,shardId:t,value:n}),!ha&&(ha=!0,queueMicrotask(()=>{ha=!1;for(const{zone:r,shardId:s,value:a}of va.values())qt[r].write(s,a);va.clear()}))}function zs(e,t){const n={};for(const r of Object.keys(t)){const s=t[r],i=qt[r].read(e),l={...s,...i??{}},c=me(l);n[r]=c,Xp.includes(r)&&ai(()=>{let u=!0;De(()=>{const d=Cn(c);if(u){u=!1;return}Jp(r,e,d)})})}return n}function So(e,t){qt[e]=t}function Zp(e,t){return qt[e].read(t)}function Ma(e,t){qt[e].delete(t)}const Qp="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(Qp);const em=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function tm(e){const t=document.activeElement;function n(){return Array.from(e.querySelectorAll(em))}function r(s){if(s.key!=="Tab")return;const a=n();if(a.length===0){s.preventDefault();return}const i=a[0],l=a[a.length-1],c=document.activeElement;s.shiftKey&&(c===i||!e.contains(c))?(s.preventDefault(),l.focus()):!s.shiftKey&&(c===l||!e.contains(c))&&(s.preventDefault(),i.focus())}return e.addEventListener("keydown",r),queueMicrotask(()=>{(n()[0]??e).focus()}),()=>{e.removeEventListener("keydown",r),t&&document.contains(t)&&t.focus()}}var nm=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 rm(e,t){ie(t,!0);let n;De(()=>{if(n)return tm(n)});var r=nm(),s=p(r),a=p(s);qr(a,()=>t.Content,(i,l)=>{l(i,Vr(()=>t.contentProps,{get close(){return t.close}}))}),v(s),yt(s,i=>n=i,()=>n),v(r),q(()=>Jt(s,t.boxStyle)),T(e,r),oe()}const yi={};function sm(e,t){yi[e]=t}function am(e){delete yi[e]}function $s(e){const t=yi[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 mt=[];let _s=!1,xt=null;const im=.5;function qc(){const e=$s("modal");if(mt.length===0){xt&&(xt.remove(),xt=null);return}xt||(xt=document.createElement("div"),xt.className="sh3-modal-backdrop",xt.style.position="absolute",xt.style.inset="0",xt.style.pointerEvents="auto",xt.style.transition="background-color 120ms ease",xt.style.background=`rgba(0, 0, 0, ${im})`);const t=mt[mt.length-1].host;e.insertBefore(xt,t)}function Bc(e){e.key==="Escape"&&mt.length!==0&&(e.stopPropagation(),e.preventDefault(),mt[mt.length-1].handle.close())}function om(){_s||(_s=!0,document.addEventListener("keydown",Bc,!0))}function lm(){mt.length>0||_s&&(_s=!1,document.removeEventListener("keydown",Bc,!0))}function Vc(e){const t=mt.indexOf(e);t<0||(mt.splice(t,1),Fe(e.frame),e.host.remove(),qc(),lm())}function cm(e,t,n){const r=$s("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 a={},i={close:()=>Vc(a)},l=ze(rm,{target:s,props:{Content:e,contentProps:t??{},close:i.close,boxStyle:n?.boxStyle}});return a.host=s,a.frame=l,a.handle=i,mt.push(a),qc(),om(),i}function um(){for(;mt.length>0;)Vc(mt[mt.length-1])}const Uc={open:cm,closeAll:um};var dm=C('<div class="popup-frame svelte-mp81cl" role="menu" tabindex="-1"><!></div>');function fm(e,t){ie(t,!0);let n,r=B(-9999),s=B(-9999);De(()=>{if(!n)return;const l=n.getBoundingClientRect(),c=4,u=window.innerWidth,d=window.innerHeight;let f=t.anchorRect.bottom+c,h=t.anchorRect.left;if(h+l.width>u-c&&(h=Math.max(c,u-l.width-c)),f+l.height>d-c){const b=t.anchorRect.top-l.height-c;f=b>=c?b:Math.max(c,d-l.height-c)}y(r,f,!0),y(s,h,!0)});var a=dm(),i=p(a);qr(i,()=>t.Content,(l,c)=>{c(l,Vr(()=>t.contentProps,{get close(){return t.close}}))}),v(a),yt(a,l=>n=l,()=>n),q(()=>Jt(a,`top: ${o(r)??""}px; left: ${o(s)??""}px;`)),T(e,a),oe()}let It=null;function Fc(e){if(!It)return;const t=e.target;t&&It.host.contains(t)||It.handle.close()}function Hc(e){It&&e.key==="Escape"&&(e.stopPropagation(),e.preventDefault(),It.handle.close())}function vm(){document.addEventListener("pointerdown",Fc,!0),document.addEventListener("keydown",Hc,!0)}function hm(){document.removeEventListener("pointerdown",Fc,!0),document.removeEventListener("keydown",Hc,!0)}function ja(e){It===e&&(It=null,hm(),Fe(e.frame),e.host.remove())}function pm(e,t,n){It&&ja(It);const r=$s("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 a=t.anchor.getBoundingClientRect(),i={},l={close:()=>ja(i)},c=ze(fm,{target:s,props:{Content:e,contentProps:n??{},anchorRect:a,close:l.close}});return i.host=s,i.frame=c,i.handle=l,It=i,queueMicrotask(vm),l}function mm(){It&&ja(It)}const gm={show:pm,close:mm};var _m=C('<div role="status" aria-live="polite"><span class="toast-level svelte-12gwnj0"> </span> <span class="toast-message svelte-12gwnj0"> </span></div>');function bm(e,t){var n=_m(),r=p(n),s=p(r,!0);v(r);var a=x(r,2),i=p(a,!0);v(a),v(n),q(()=>{we(n,1,`toast toast-${t.level??""}`,"svelte-12gwnj0"),N(s,t.level),N(i,t.message)}),K("click",n,function(...l){t.close?.apply(this,l)}),T(e,n)}ge(["click"]);const bs=new Set;let rt=null;function ym(){if(rt&&rt.isConnected)return rt;const e=$s("toast");return rt=document.createElement("div"),rt.className="sh3-toast-stack",rt.style.position="absolute",rt.style.right="16px",rt.style.bottom="16px",rt.style.display="flex",rt.style.flexDirection="column-reverse",rt.style.gap="6px",rt.style.pointerEvents="none",e.appendChild(rt),rt}function Na(e){bs.has(e)&&(bs.delete(e),e.timer!==null&&(clearTimeout(e.timer),e.timer=null),Fe(e.instance),e.host.remove())}function wm(e,t={}){const n=t.level??"info",r=t.duration??3e3,s=ym(),a=document.createElement("div");a.className="sh3-toast-host",s.appendChild(a);const i={},l={close:()=>Na(i)},c=ze(bm,{target:a,props:{message:e,level:n,close:l.close}});return i.host=a,i.instance=c,i.handle=l,i.timer=Number.isFinite(r)&&r>0?setTimeout(()=>Na(i),r):null,bs.add(i),l}function km(){for(const e of[...bs])Na(e)}const Sm={notify:wm,clear:km},xo={w:120,h:80};function Kc(e){if(e.type==="slot")return{...xo};if(e.type==="tabs")return{...xo};const t=e.children.map(Kc);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 Eo=32,To={x:48,y:48};function xm(e,t){if(e.length===0)return{...To};const n=e[e.length-1],r={x:n.position.x+Eo,y:n.position.y+Eo};return r.x+120>t.w||r.y+32>t.h?{...To}:r}let Ao=0;function Em(){return Ao+=1,`float-${Date.now().toString(36)}-${Ao.toString(36)}`}function Wc(e){return e.type==="slot"?e.viewId==null:e.type==="tabs"?e.tabs.every(t=>t.viewId==null):e.children.every(Wc)}let Tm=[],wi=null,ki=()=>({w:1600,h:900});function Am(e,t){wi=e,ki=t}function Im(){wi=null,ki=()=>({w:1600,h:900})}function qs(){return wi??Tm}let Io=0;function Rm(e){return Io+=1,`float:${e}:${Io}`}const Cm={w:600,h:400};function Pm(e,t){return{w:Math.max(e.w,t.w),h:Math.max(e.h,t.h)}}function Dm(e,t={}){const n=qs(),r=Em(),s=Rm(e),a=t.title??e,i={slotId:s,viewId:e,label:a};t.meta&&(i.meta=t.meta);const l={type:"tabs",tabs:[i],activeTab:0},c=Kc(l),u=t.size??Pm(Cm,c),d=t.position??xm(n,ki()),f={id:r,content:l,position:d,size:u,title:t.title};return n.push(f),r}function Om(e){const t=qs(),n=t.findIndex(r=>r.id===e);n<0||t.splice(n,1)}function Lm(){return qs().slice()}function Mm(e){const t=qs(),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 jt={open:Dm,close:Om,list:Lm,focus:Mm};let ys=null;function jm(e){ys=e}function Nm(){ys=null}function Si(){if(!ys)throw new Error("presetManager: no app attached — bind an AppLayoutBlob first");return ys}function zm(){return Object.keys(Si().presets)}function $m(){return Si().activePreset}function qm(e){const t=Si();if(!(e in t.presets))throw new Error(`presetManager.switch: unknown preset "${e}"`);t.activePreset=e}const Bm={list:zm,active:$m,switch:qm},Hn=new Map,as=new Map;function Ro(e){const t=as.get(e);if(t)for(const n of t)n()}function Vm(e,t){const n=Symbol();let r=Hn.get(e);r||(r=new Map,Hn.set(e,r)),r.set(n,t),Ro(e);let s=!1;return()=>{if(s)return;s=!0;const a=Hn.get(e);a&&a.delete(n)&&(a.size===0&&Hn.delete(e),Ro(e))}}function Yc(e){const t=Hn.get(e);return t?Array.from(t.values()):[]}function Um(){return Array.from(Hn.keys())}function Fm(e,t){let n=as.get(e);n||(n=new Set,as.set(e,n)),n.add(t);let r=!1;return()=>{r||(r=!0,n.delete(t),n.size===0&&as.delete(e))}}const Hm=Object.freeze([".md",".txt",".json",".guml",".css",".js",".ts",".tsx",".jsx",".html",".svg",".csv",".yaml",".yml",".xml",".log",".ini",".toml"]);function Km(e){return e.kind?e.kind:e.extension&&Hm.includes(e.extension.toLowerCase())?"text":"binary"}const is=[];function Co(e){return is.push(e),()=>{const t=is.indexOf(e);t>=0&&is.splice(t,1)}}function Wm(e,t=[]){return[...is,...t].filter(r=>{try{return r.appliesTo(e)}catch{return!1}}).sort((r,s)=>(s.priority??0)-(r.priority??0))[0]??null}var Ym=C("<span> </span>"),Gm=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),Xm=C("<option> </option>"),Jm=C("<button> </button>"),Zm=C('<pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre>'),Qm=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>'),eg=C('<div class="sh3-conflict-text svelte-iwgja4"><!></div>');function tg(e,t){ie(t,!0);let n=B("");De(()=>{(!o(n)||!t.item.branches.find(b=>b.origin===o(n)))&&y(n,t.item.branches[0]?.origin??"local",!0)});const r=X(()=>t.item.branches.length===2),s=X(()=>o(r)?t.item.branches[0]:t.item.branches.find(b=>b.origin===o(n))??t.item.branches[0]),a=X(()=>o(r)?t.item.branches[1]:t.item.branches.find(b=>b.origin===t.selectedOrigin)??t.item.branches[1]??t.item.branches[0]);function i(b,k){const w=(b??"").split(/\r?\n/),S=(k??"").split(/\r?\n/),E=[],_=Math.max(w.length,S.length);for(let g=0;g<_;g++){const A=w[g],D=S[g];A===D?typeof A=="string"&&E.push({kind:"same",text:A}):(typeof A=="string"&&E.push({kind:"left",text:A}),typeof D=="string"&&E.push({kind:"right",text:D}))}return E}const l=X(()=>!o(s)||!o(a)?[]:i(o(s).content??"",o(a).content??"")),c=X(()=>o(l).filter(b=>b.kind!=="same").length);var u=eg(),d=p(u);{var f=b=>{var k=Gm(),w=he(k),S=p(w);let E;var _=p(S),g=p(_);v(_);var A=x(_,2),D=p(A),R=p(D,!0);v(D),v(A),v(S);var m=x(S,2);let O;var I=p(m),L=p(I);v(I);var P=x(I,2),M=p(P),z=p(M,!0);v(M),v(P),v(m),v(w);var j=x(w,2),$=p(j),Y=p($);v($);var G=x($,2),Q=p(G);pe(Q,21,()=>o(l),On,(J,te)=>{var ee=Ym(),Z=p(ee);v(ee),q(()=>{we(ee,1,`diff-${o(te).kind}`,"svelte-iwgja4"),N(Z,`${o(te).kind==="same"?" ":o(te).kind==="left"?"- ":"+ "}${o(te).text??""}
7
- `)}),T(J,ee)}),v(Q),v(G),v(j),q(()=>{E=we(S,1,"sh3-conflict-text-pane svelte-iwgja4",null,E,{selected:o(s).origin===t.selectedOrigin}),N(g,`${o(s).origin??""} · v${o(s).version??""}`),N(R,o(s).content??""),O=we(m,1,"sh3-conflict-text-pane svelte-iwgja4",null,O,{selected:o(a).origin===t.selectedOrigin}),N(L,`${o(a).origin??""} · v${o(a).version??""}`),N(z,o(a).content??""),N(Y,`Line diff (${o(c)??""} difference${o(c)===1?"":"s"})`)}),K("click",S,()=>t.onSelect(o(s).origin)),K("keydown",S,J=>{(J.key==="Enter"||J.key===" ")&&t.onSelect(o(s).origin)}),K("click",m,()=>t.onSelect(o(a).origin)),K("keydown",m,J=>{(J.key==="Enter"||J.key===" ")&&t.onSelect(o(a).origin)}),T(b,k)},h=b=>{var k=Qm(),w=p(k),S=p(w),E=x(p(S));pe(E,21,()=>t.item.branches,D=>D.origin,(D,R)=>{var m=Xm(),O=p(m,!0);v(m);var I={};q(()=>{N(O,o(R).origin),I!==(I=o(R).origin)&&(m.value=(m.__value=o(R).origin)??"")}),T(D,m)}),v(E),v(S),v(w);var _=x(w,2);pe(_,21,()=>t.item.branches,D=>D.origin,(D,R)=>{var m=Jm();let O;var I=p(m);v(m),q(()=>{O=we(m,1,"sh3-conflict-text-tab svelte-iwgja4",null,O,{selected:o(R).origin===t.selectedOrigin}),N(I,`${o(R).origin??""} · v${o(R).version??""}`)}),K("click",m,()=>t.onSelect(o(R).origin)),T(D,m)}),v(_);var g=x(_,2);{var A=D=>{var R=Zm(),m=p(R),O=p(m,!0);v(m),v(R),q(()=>N(O,o(a).content??"")),T(D,R)};F(g,D=>{o(a)&&D(A)})}v(k),Er(E,()=>o(n),D=>y(n,D)),T(b,k)};F(d,b=>{o(r)&&o(s)&&o(a)?b(f):b(h,-1)})}v(u),T(e,u),oe()}ge(["click","keydown"]);var ng=C("· <code> </code>",1),rg=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>'),sg=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 ag(e,t){ie(t,!0);function n(i){return typeof i!="number"?"—":i<1024?`${i} B`:i<1024*1024?`${(i/1024).toFixed(1)} KiB`:`${(i/(1024*1024)).toFixed(2)} MiB`}function r(i){const l=Date.now()-i;return l<6e4?"just now":l<36e5?`${Math.floor(l/6e4)}m ago`:l<864e5?`${Math.floor(l/36e5)}h ago`:new Date(i).toLocaleString()}var s=sg(),a=x(p(s),2);pe(a,21,()=>t.item.branches,i=>i.origin,(i,l)=>{var c=rg(),u=p(c);let d;var f=p(u),h=p(f,!0);v(f);var b=x(f,2),k=p(b),w=x(k);{var S=E=>{var _=ng(),g=x(he(_)),A=p(g,!0);v(g),q(()=>N(A,o(l).hashPreview)),T(E,_)};F(w,E=>{o(l).hashPreview&&E(S)})}v(b),v(u),v(c),q((E,_)=>{d=we(u,1,"sh3-conflict-meta-row svelte-1nz3djn",null,d,{selected:o(l).origin===t.selectedOrigin}),N(h,o(l).origin),N(k,`v${o(l).version??""} · ${E??""} · ${_??""} `)},[()=>r(o(l).at),()=>n(o(l).sizeBytes)]),K("click",u,()=>t.onSelect(o(l).origin)),T(i,c)}),v(a),v(s),T(e,s),oe()}ge(["click"]);const ig=1048576;function og(e){return typeof e=="number"&&e>ig}const lg={id:"sh3-core.text",priority:1,appliesTo:e=>Km(e)!=="text"?!1:!e.branches.some(t=>og(t.sizeBytes)),mount(e,t){const n=ze(tg,{target:e,props:t});return()=>{Fe(n)}}},cg={id:"sh3-core.meta",priority:0,appliesTo:()=>!0,mount(e,t){const n=ze(ag,{target:e,props:t});return()=>{Fe(n)}}};let Po=!1;function ug(){Po||(Po=!0,Co(lg),Co(cg))}var dg=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 fg(e,t){var n=dg(),r=p(n),s=p(r);v(r);var a=x(r,4),i=p(a);js(i,!0);var l=x(i,2),c=x(l,2);v(a),v(n),q(()=>N(s,`${t.count??""} conflict${t.count===1?"":"s"} to resolve`)),K("click",i,function(...u){t.onOverwriteMostRecent?.apply(this,u)}),K("click",l,function(...u){t.onResolveIndividually?.apply(this,u)}),K("click",c,function(...u){t.onCancel?.apply(this,u)}),T(e,n)}ge(["click"]);var vg=C('<span class="sh3-conflict-detail-counter svelte-pw8iv6"> </span>'),hg=C('<button type="button"><span><!></span> <span class="sh3-conflict-detail-rail-label svelte-pw8iv6"> </span></button>'),pg=C('<aside class="sh3-conflict-detail-rail svelte-pw8iv6"></aside>'),mg=C('<label class="sh3-conflict-detail-branch svelte-pw8iv6"><input type="radio"/> <span> </span></label>'),gg=C('<div class="sh3-conflict-detail-branches svelte-pw8iv6"></div> <div class="sh3-conflict-detail-renderer svelte-pw8iv6"></div>',1),_g=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 bg(e,t){ie(t,!0);const n=X(()=>t.items[t.currentIndex]),r=X(()=>o(n)?t.selections[o(n).id]??o(n).branches[0]?.origin??"":""),s=X(()=>o(n)?Wm(o(n),t.contributed):null);let a=B(void 0),i=null;De(()=>{if(o(n),o(s),o(r),i&&(i(),i=null),!o(a)||!o(n)||!o(s))return;const $={item:o(n),selectedOrigin:o(r),onSelect:Y=>t.onSelect(o(n).id,Y)};return i=o(s).mount(o(a),$),()=>{i&&(i(),i=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=X(()=>t.items.map($=>t.skipped[$.id]?"skipped":t.selections[$.id]?"resolved":"pending"));var d=_g(),f=p(d),h=p(f),b=p(h,!0);v(h);var k=x(h,2);{var w=$=>{var Y=vg(),G=p(Y);v(Y),q(()=>N(G,`${t.currentIndex+1} / ${t.items.length??""}`)),T($,Y)};F(k,$=>{t.items.length>1&&$(w)})}v(f);var S=x(f,2),E=p(S);{var _=$=>{var Y=pg();pe(Y,23,()=>t.items,G=>G.id,(G,Q,J)=>{var te=hg();let ee;var Z=p(te),ce=p(Z);{var ue=Te=>{var nt=Mt("✓");T(Te,nt)},H=Te=>{var nt=Mt("⟶");T(Te,nt)},se=Te=>{var nt=Mt("·");T(Te,nt)};F(ce,Te=>{o(u)[o(J)]==="resolved"?Te(ue):o(u)[o(J)]==="skipped"?Te(H,1):Te(se,-1)})}v(Z);var fe=x(Z,2),Ke=p(fe,!0);v(fe),v(te),q(()=>{ee=we(te,1,"sh3-conflict-detail-rail-item svelte-pw8iv6",null,ee,{selected:o(J)===t.currentIndex}),we(Z,1,`sh3-conflict-detail-rail-state ${o(u)[o(J)]??""}`,"svelte-pw8iv6"),N(Ke,o(Q).label)}),K("click",te,()=>t.onNavigate(o(J))),T(G,te)}),v(Y),T($,Y)};F(E,$=>{t.items.length>1&&$(_)})}var g=x(E,2),A=p(g);{var D=$=>{var Y=gg(),G=he(Y);pe(G,21,()=>o(n).branches,J=>J.origin,(J,te)=>{var ee=mg(),Z=p(ee);Ee(Z);var ce=x(Z,2),ue=p(ce);v(ce),v(ee),q(()=>{Se(Z,"name",`branch-${o(n).id??""}`),Oc(Z,o(te).origin),Lc(Z,o(r)===o(te).origin),N(ue,`${o(te).origin??""} · v${o(te).version??""}`)}),K("change",Z,()=>t.onSelect(o(n).id,o(te).origin)),T(J,ee)}),v(G);var Q=x(G,2);yt(Q,J=>y(a,J),()=>o(a)),T($,Y)};F(A,$=>{o(n)&&$(D)})}v(g),v(S);var R=x(S,2),m=p(R),O=p(m),I=x(O,2),L=p(I,!0);v(I);var P=x(I,2);v(m);var M=x(m,2),z=p(M),j=x(z,2);v(M),v(R),v(d),q(()=>{N(b,t.title),O.disabled=t.currentIndex===0,N(L,o(n)&&t.skipped[o(n).id]?"Unskip":"Skip"),P.disabled=t.currentIndex>=t.items.length-1}),K("click",O,l),K("click",I,()=>o(n)&&t.onToggleSkip(o(n).id)),K("click",P,c),K("click",z,function(...$){t.onCancel?.apply(this,$)}),K("click",j,function(...$){t.onDone?.apply(this,$)}),T(e,d),oe()}ge(["click","change"]);function Gc(e,t){return t.at-e.at}function yg(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(Gc)[0]}}function wg(e,t){ie(t,!0);const n=t.items.length>=2||t.requirePrompt;let r=B(me(n?"prompt":"detail")),s=B(me(Object.fromEntries(t.items.map(g=>{const A=yg(g.branches,t.mostRecentBy)?.origin??g.branches[0]?.origin??"";return[g.id,A]})))),a=B(me({})),i=B(0),l=!1;hi(()=>{l||(l=!0,t.onCancel())});function c(){if(l)return;l=!0;const g=[],A=[];for(const D of t.items){if(o(a)[D.id]){A.push(D.id);continue}const R=o(s)[D.id],m=D.branches.find(O=>O.origin===R);m&&g.push({itemId:D.id,chosen:m,meta:D.meta})}t.onResolve(g,A),t.close()}function u(){l||(l=!0,t.onCancel(),t.close())}function d(){c()}function f(){y(r,"detail")}function h(g,A){if(y(s,{...o(s),[g]:A},!0),o(a)[g]){const D={...o(a)};delete D[g],y(a,D,!0)}}function b(g){y(a,{...o(a),[g]:!o(a)[g]},!0)}function k(g){y(i,g,!0)}var w=at(),S=he(w);{var E=g=>{fg(g,{get count(){return t.items.length},onOverwriteMostRecent:d,onResolveIndividually:f,onCancel:u})},_=g=>{bg(g,{get items(){return t.items},get selections(){return o(s)},get skipped(){return o(a)},get currentIndex(){return o(i)},get title(){return t.title},get contributed(){return t.contributed},onSelect:h,onNavigate:k,onToggleSkip:b,onDone:c,onCancel:u})};F(S,g=>{o(r)==="prompt"?g(E):g(_,-1)})}T(e,w),oe()}const Xc="sh3-core.conflictRenderer";class Jc extends Error{constructor(t){super(t),this.name="ConflictPermissionError"}}class kg extends Error{constructor(){super("Caller shard deactivated while conflict session was active"),this.name="ConflictSessionOrphanedError"}}function Sg(){try{return Yc(Xc)}catch{return[]}}function Zc(e,t={}){return ug(),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??Gc,a=t.requirePrompt??!1,i=Sg();let l=!1;const d={items:e,title:r,mostRecentBy:s,requirePrompt:a,contributed:i,onResolve:(f,h)=>{l||(l=!0,n({status:"resolved",choices:f,skipped:h}))},onCancel:()=>{l||(l=!0,n({status:"cancelled"}))}};Uc.open(wg,d,{boxStyle:"max-width: none; min-width: 360px; padding: 0;"})})}function xg(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 Eg(e,t){const n=e.browse;if(!n?.statusFrom||!n?.readBranchFrom||!n?.resolveConflictFrom)throw new Jc(`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 Tg(e){const t=e.lastIndexOf(".");if(t<0)return;const n=e.lastIndexOf("/");if(!(t<n))return e.slice(t)}async function Ag(e,t,n={}){const r=e.shardId,s=t.shardId===r?xg(e):Eg(e,t.shardId),a=[];for(const d of t.paths){const f=await s.status(d);f&&f.syncState==="conflict"&&f.branches&&f.branches.length>0&&a.push({path:d,status:f})}if(a.length===0)return{status:"resolved",resolved:[],failed:[],skipped:[]};const i=[];for(const{path:d,status:f}of a){const h=Tg(d),b=[];for(const k of f.branches??[]){const w=await s.readBranch(d,k.origin).catch(()=>null);b.push({origin:k.origin,version:k.version,at:k.at,content:w??void 0,sizeBytes:w?new TextEncoder().encode(w).length:void 0})}i.push({id:d,label:d,extension:h,branches:b,meta:{shardId:t.shardId,path:d,docVersion:f.version}})}const l=await Zc(i,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 Ig={resolve:Zc,resolveDocuments:Ag},Qc={state:zs,modal:Uc,popup:gm,toast:Sm,float:jt,presets:Bm,conflicts:Ig},ws=new Map,eu=new Set;function Rg(e){eu.add(e)}function Cg(e,t){if(ws.has(e))throw new Error(`View "${e}" is already registered`);ws.set(e,t);for(const n of eu)n(e,t)}function tu(e){return ws.get(e)}function Pg(e){ws.delete(e)}const Tr=new Map;function Dg(e,t){if(Tr.has(e))throw new Error(`Verb "${e}" is already registered`);Tr.set(e,t)}function Do(e){return Tr.get(e)}function Og(e){Tr.delete(e)}function xi(){return Array.from(Tr.values()).sort((e,t)=>e.name.localeCompare(t.name))}function Xr(e,t,n){return`${e}/${t}/${n}`}function Lg(e,t){return`${e}/${t}/`}const Mg="sh3-documents",Bt="docs",jg=2;class Ng{#e=null;#t(){return this.#e||(this.#e=new Promise((t,n)=>{const r=indexedDB.open(Mg,jg);r.onupgradeneeded=()=>{const s=r.result;s.objectStoreNames.contains(Bt)||s.createObjectStore(Bt)},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,a)=>{const l=r.transaction(Bt,t).objectStore(Bt),c=n(l);c.onsuccess=()=>s(c.result),c.onerror=()=>a(c.error)})}async read(t,n,r){const s=Xr(t,n,r),a=await this.#n("readonly",i=>i.get(s));return a?a.content:null}async write(t,n,r,s){const a=Xr(t,n,r),i=typeof s=="string"?new Blob([s]).size:s.byteLength,l={content:s,size:i,lastModified:Date.now()};await this.#n("readwrite",c=>c.put(l,a))}async delete(t,n,r){const s=Xr(t,n,r);await this.#n("readwrite",a=>a.delete(s))}async list(t,n){const r=Lg(t,n),s=await this.#t();return new Promise((a,i)=>{const c=s.transaction(Bt,"readonly").objectStore(Bt),u=IDBKeyRange.bound(r,r+"￿",!1,!1),d=c.openCursor(u),f=[];d.onsuccess=()=>{const h=d.result;if(h){const b=h.value;f.push({path:h.key.slice(r.length),size:b.size,lastModified:b.lastModified}),h.continue()}else a(f)},d.onerror=()=>i(d.error)})}async exists(t,n,r){const s=Xr(t,n,r);return await this.#n("readonly",i=>i.getKey(s))!==void 0}async listAllShards(t){const n=`${t}/`,r=await this.#t();return new Promise((s,a)=>{const l=r.transaction(Bt,"readonly").objectStore(Bt),c=IDBKeyRange.bound(n,n+"￿",!1,!1),u=l.openKeyCursor(c),d=new Set;u.onsuccess=()=>{const f=u.result;if(f){const h=f.key.slice(n.length),b=h.indexOf("/");b>=0&&d.add(h.slice(0,b)),f.continue()}else s([...d])},u.onerror=()=>a(u.error)})}async listAllDocuments(t){const n=`${t}/`,r=await this.#t();return new Promise((s,a)=>{const l=r.transaction(Bt,"readonly").objectStore(Bt),c=IDBKeyRange.bound(n,n+"￿",!1,!1),u=l.openCursor(c),d=[];u.onsuccess=()=>{const f=u.result;if(f){const h=f.key.slice(n.length),b=h.indexOf("/");if(b>=0){const k=f.value;d.push({shardId:h.slice(0,b),path:h.slice(b+1),size:k.size,lastModified:k.lastModified})}f.continue()}else s(d)},u.onerror=()=>a(u.error)})}}class zg{#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}`,a=await fetch(s,{credentials:"include"});if(a.status===404)return null;if(!a.ok)throw new Error(`Document read failed: ${a.status}`);return(a.headers.get("content-type")??"").includes("application/octet-stream")?a.arrayBuffer():a.text()}async write(t,n,r,s){const a=`${this.#e}/api/docs/${t}/${n}/${r}`,i={...this.#n(),"Content-Type":typeof s=="string"?"text/plain":"application/octet-stream"},l=await fetch(a,{method:"PUT",headers:i,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}`,a=await fetch(s,{method:"DELETE",headers:this.#n(),credentials:"include"});if(!a.ok)throw new Error(`Document delete failed: ${a.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`,a=await fetch(s,{credentials:"include"});if(!a.ok)throw new Error(`readMeta failed: ${a.status}`);const i=await a.json();return i.exists?i:null}async resolve(t,n,r,s){const a=`${this.#e}/api/docs/${t}/${n}/${r}/resolve`,i=typeof s=="string"?{choice:s}:{choice:s.origin},l=await fetch(a,{method:"POST",credentials:"include",headers:{...this.#n(),"Content-Type":"application/json"},body:JSON.stringify(i)});if(!l.ok)throw new Error(`resolve failed: ${l.status}`)}async readBranch(t,n,r,s){const a=`${this.#e}/api/docs/${t}/${n}/${r}/branch?origin=${encodeURIComponent(s)}`,i=await fetch(a,{credentials:"include"});if(i.status===404)return null;if(!i.ok)throw new Error(`readBranch failed: ${i.status}`);return i.text()}#n(){return this.#t?{Authorization:`Bearer ${this.#t}`}:{}}}class $g{#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 br=new $g,qg=1e3;function Bg(e,t,n,r){const s=new Set,a=new Set;function i(u){return!r.extensions||r.extensions.length===0?!0:r.extensions.some(d=>u.endsWith(d))}function l(u,d){br.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=>i(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=br.subscribe(f=>{f.tenantId===e&&f.shardId===t&&i(f.path)&&u(f)});return a.add(d),()=>{d(),a.delete(d)}},autosave(u,d){const f=new Vg(c,u,d?.debounceMs??qg);return s.add(f),f},async dispose(){const u=[...s].map(d=>d.dispose());await Promise.all(u),s.clear();for(const d of a)d();a.clear()}};return c}class Vg{#e;#t;#n;#a=null;#s=null;#i=!1;#r=!1;constructor(t,n,r){this.#e=t,this.#t=n,this.#n=r}get dirty(){return this.#i}update(t){this.#r||(this.#a=t,this.#i=!0,this.#o())}async flush(){if(this.#l(),this.#a!==null){const t=this.#a;this.#a=null,this.#i=!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 Ug="local";let nu=Ug,ru=new Ng;function pa(){return nu}function Oo(){return ru}function ma(e){nu=e}function Fg(e){ru=e}const Hg="sync:peer",Kg="sync:policy";let ir=B(null),Yt=B(null),or=B(!1),Bs="",za=null;function Lo(e,t){Bs=e,za=t.auth,y(ir,t.user,!0),y(Yt,t.session,!0),y(or,!t.session&&!t.user,!0)}async function su(e,t){try{const n=await fetch(`${Bs}/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(ir,r.user,!0),y(Yt,r.session,!0),y(or,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function Wg(e,t,n){try{const r=await fetch(`${Bs}/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(ir,s.user,!0),y(Yt,s.session,!0),y(or,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function Yg(){try{await fetch(`${Bs}/api/auth/logout`,{method:"POST",credentials:"include"})}catch{}if(za?.required&&!za.guestAllowed){window.location.reload();return}y(ir,null),y(Yt,null),y(or,!0)}function Gg(){y(ir,{id:"local",username:"local",displayName:"Local Owner",role:"admin",createdAt:"",updatedAt:""},!0),y(Yt,{token:"local",userId:"local",role:"admin",expiresAt:1/0},!0),y(or,!1)}function Xg(){return o(Yt)?.token==="local"}function on(){return o(Yt)?.role==="admin"}function $a(){return o(Yt)!==null}function au(){return o(or)}function Vs(){return o(ir)}function Us(){return o(Yt)?`Bearer ${o(Yt).token}`:null}let lr="";function iu(e){lr=e}async function Jg(e){const t=await fetch(`${lr}/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 Zg(e,t){if(!on())throw new Error("Cannot update env state: not elevated to admin");const n=Us(),r={"Content-Type":"application/json"};n&&(r.Authorization=n);const s=await fetch(`${lr}/api/env-state/${encodeURIComponent(e)}`,{method:"PUT",headers:r,body:JSON.stringify(t)});if(!s.ok){const a=await s.json().catch(()=>({}));throw new Error(`Env state update failed: HTTP ${s.status} — ${a.error??"unknown"}`)}}async function Ei(e,t,n){if(!on())throw new Error("Cannot install: not elevated to admin");const r=Us(),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 a={};r&&(a.Authorization=r);const i=await fetch(`${lr}/api/packages/install`,{method:"POST",headers:a,body:s});if(!i.ok){let l={};try{l=await i.json()}catch{}return{ok:!1,error:typeof l.error=="string"?l.error:`HTTP ${i.status}`,code:typeof l.code=="string"?l.code:void 0,missing:Array.isArray(l.missing)?l.missing:void 0}}return{ok:!0}}async function ou(e){if(!on())throw new Error("Cannot uninstall: not elevated to admin");const t=Us(),n={"Content-Type":"application/json"};t&&(n.Authorization=t);const r=await fetch(`${lr}/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 Qg(){const e=await fetch(`${lr}/api/packages`);return e.ok?await e.json():[]}function e_(e){return qt[e].list()}function t_(e,t){return qt[e].read(t)}function n_(e,t){qt[e].delete(t)}function r_(e){for(const t of qt[e].list())qt[e].delete(t)}function lu(){return{list:e_,peek:t_,clear:n_,clearAll:r_}}const cu="documents:browse",uu="documents:read",du="documents:write";function s_(e,t,n={canRead:!1,canWrite:!1}){const r={listDocuments:()=>t.listAllDocuments(e),listShards:()=>t.listAllShards(e),watchDocuments:s=>br.subscribe(a=>{a.tenantId===e&&s(a)})};return n.canRead&&(r.readFrom=(s,a)=>t.read(e,s,a),r.statusFrom=async(s,a)=>t.readMeta?t.readMeta(e,s,a):null,r.readBranchFrom=async(s,a,i)=>t.readBranch?t.readBranch(e,s,a,i):null),n.canWrite&&(r.writeTo=async(s,a,i)=>{const l=await t.exists(e,s,a);await t.write(e,s,a,i),br.emit({type:l?"update":"create",path:a,tenantId:e,shardId:s})},r.resolveConflictFrom=async(s,a,i)=>{if(!t.resolve)throw new Error("Backend does not support resolveConflict");await t.resolve(e,s,a,i),br.emit({type:"update",path:a,tenantId:e,shardId:s})}),r}const fu="keys:mint";class vu extends Error{constructor(t){super(`Shard may not mint a key with scope '${t}' — not declared in manifest.`),this.name="ScopeEscalationError"}}class hu extends Error{constructor(){super("User denied key creation."),this.name="ConsentDeniedError"}}const qa=new Map;let yr=null;function pu(e){return yr=e,()=>{yr===e&&(yr=null)}}async function a_(e,t){if(!yr)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=>{qa.set(n,{resolve:r}),yr({...t,shardId:e,requestId:n})})}function Ba(e,t){const n=qa.get(e);n&&(qa.delete(e),n.resolve(t))}const ks=new Map,os=new Map,i_=5e3;function o_(e,t){let n=os.get(e);n||(n=new Set,os.set(e,n)),n.add(t),setTimeout(()=>{n.delete(t),n.size===0&&os.delete(e)},i_)}function l_(e,t){return os.get(e)?.has(t)??!1}function Ti(e,t){const n=ks.get(e)??new Set;return n.add(t),ks.set(e,n),()=>{n.delete(t)}}function mu(e,t){if(!e||l_(e,t))return;o_(e,t);const n=ks.get(e);if(n)for(const s of n)s(t);const r=ks.get("*");if(r)for(const s of r)s(t)}function c_(){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);mu(n.shardId,n.id)}catch{}},()=>e.close()}function u_(e){const{shardId:t,shardPermissions:n}=e,r=s=>{for(const a of s)if(!n.includes(a)&&!n.includes("admin:*"))throw new vu(a)};return{async mint(s){if(r(s.scopes),!await a_(t,s))throw new hu;const i=await fetch("/api/keys/consent",{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({shardId:t,...s})});if(!i.ok)throw new Error(`Consent ticket failed: ${i.status}`);const{ticket:l}=await i.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(i=>i.mintedByShardId===t)},async revoke(s){const a=await fetch(`/api/keys/${encodeURIComponent(s)}`,{method:"DELETE",credentials:"include"});if(!a.ok&&a.status!==404)throw new Error(`Revoke failed: ${a.status}`);mu(t,s)}}}const Gt=me(new Map),Ar=new Map,Ur=me(new Map);function Ai(e){const t=e.manifest.id;Gt.has(t)&&Ur.has(t)&&Fs(t),Gt.set(t,e)}async function gu(e){const t=Gt.get(e);if(!t)throw new Error(`Cannot activate shard "${e}": not registered`);if(Ar.has(e))return;const n={shard:t,ctx:void 0,viewIds:new Set,verbNames:new Set,cleanupFns:[]},r=me({proxy:null,defaults:null}),s={register(i,l){const c=Vm(i,l);return n.cleanupFns.push(async()=>c()),c},list(i){return Yc(i)},listPoints(){return Um()},onChange(i,l){const c=Fm(i,l);return n.cleanupFns.push(async()=>c()),c}},a={state:i=>Qc.state(e,i),registerView:(i,l)=>{Cg(i,l),n.viewIds.add(i)},registerVerb:i=>{const l=e==="shell"?i.name:`${e}:${i.name}`;Dg(l,{...i,name:l}),n.verbNames.add(l)},documents:i=>{const l=Bg(pa(),e,Oo(),i);return n.cleanupFns.push(()=>l.dispose()),l},env(i){return r.proxy?(console.warn(`[sh3] Shard "${e}" called ctx.env() more than once; extra calls are ignored.`),r.proxy):(r.defaults=i,r.proxy={...i},r.proxy)},async envUpdate(i){if(!r.proxy||!r.defaults)throw new Error(`Shard "${e}" called envUpdate() without declaring env state`);const l=Cn(r.proxy);Object.assign(r.proxy,i);try{const c=Cn(r.proxy);await Zg(e,c)}catch(c){throw Object.assign(r.proxy,l),c}},get isAdmin(){return on()},get tenantId(){return pa()},zones:t.manifest.permissions?.includes(bi)?lu():void 0,browse:t.manifest.permissions?.includes(cu)?s_(pa(),Oo(),{canRead:t.manifest.permissions.includes(uu),canWrite:t.manifest.permissions.includes(du)}):void 0,keys:t.manifest.permissions?.includes(fu)?u_({shardId:e,shardPermissions:t.manifest.permissions??[]}):void 0,contributions:s};if(n.ctx=a,t.onKeyRevoked){const i=Ti(e,async l=>{try{await t.onKeyRevoked(l)}catch(c){console.error(`[sh3] onKeyRevoked failed in "${e}":`,c)}});n.cleanupFns.push(async()=>i())}Ar.set(e,n),Ur.set(e,t),await t.activate(a);for(const i of t.manifest.views)if(!n.viewIds.has(i.id))throw new Error(`Shard "${e}" declared view "${i.id}" in its manifest but registered no factory for it.`);if(r.proxy&&r.defaults)try{const i=await Jg(e),l=Object.assign({},r.defaults,i);Object.assign(r.proxy,l)}catch(i){console.warn(`[sh3] Failed to hydrate env state for shard "${e}":`,i instanceof Error?i.message:i)}t.autostart?.(a)}function Fs(e){const t=Ar.get(e);if(t){t.shard.deactivate?.();for(const n of t.cleanupFns)n();for(const n of t.verbNames)Og(n);for(const n of t.viewIds)Pg(n);Ar.delete(e),Ur.delete(e)}}function d_(e){return Ar.get(e)?.ctx}function Mo(){const e=[];for(const t of Ur.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 Ln=me(new Map),Pt=me({id:null});function Ii(e){Ln.set(e.manifest.id,e)}function Ri(){return Array.from(Ln.values()).map(e=>e.manifest)}function _u(){const e=Pt.id;return e?Ln.get(e)?.manifest??null:null}function Hs(e){return Ln.get(e)}const vn=new Map,ls=new Set;function f_(e,t){for(const[n,r]of vn.entries()){if(r.viewId!==e||r.handle!==void 0)continue;const s={slotId:n,viewId:e,label:r.label,meta:r.meta,setDirty(a){Ks[n]=a}};queueMicrotask(()=>{if(vn.has(n)&&r.handle===void 0&&(r.handle=t.mount(r.host,s),(r.handle?.closable||n.startsWith("float:"))&&(Ws[n]=!0),r.handle?.onResize)){const a=r.handle.onResize.bind(r.handle);r.resizeObserver=new ResizeObserver(i=>{for(const l of i){const c=l.contentRect;a(Math.round(c.width),Math.round(c.height))}}),r.resizeObserver.observe(r.host)}})}}Rg(f_);const Ks=me({}),Ws=me({});function v_(e,t,n,r){const s=document.createElement("div");s.className="slot-host",s.dataset.slotId=e,s.style.position="absolute",s.style.inset="0",s.style.minWidth="0",s.style.minHeight="0";let a=!1;const i={host:s,handle:void 0,viewId:t,label:n,meta:r,refcount:0,resizeObserver:void 0,cancelPendingMount:()=>{a=!0}};return queueMicrotask(()=>{if(a)return;const l=t?tu(t):void 0,c={slotId:e,viewId:t??"",label:n,meta:r,setDirty(u){Ks[e]=u}};if(i.handle=l?.mount(s,c),(i.handle?.closable||e.startsWith("float:"))&&(Ws[e]=!0),i.handle?.onResize){const u=i.handle.onResize.bind(i.handle);i.resizeObserver=new ResizeObserver(d=>{for(const f of d){const h=f.contentRect;u(Math.round(h.width),Math.round(h.height))}}),i.resizeObserver.observe(s)}}),i}function bu(e,t,n,r){ls.delete(e);let s=vn.get(e);return s||(s=v_(e,t,n,r),vn.set(e,s)),s.refcount++,s.host}function yu(e){const t=vn.get(e);if(t){if(t.refcount--,t.refcount>0){t.host.remove();return}ls.add(e),queueMicrotask(()=>{if(!ls.has(e))return;ls.delete(e);const n=vn.get(e);!n||n.refcount>0||(n.resizeObserver?.disconnect(),n.handle?.unmount(),n.cancelPendingMount(),n.host.remove(),vn.delete(e),delete Ks[e],delete Ws[e])})}}function wu(e){const t=Va.get(e);return t||vn.get(e)?.handle}function h_(e){return Ks[e]??!1}function p_(e){return Va.has(e)?!!Va.get(e).closable:Ws[e]??!1}const Va=new Map;function ku(e){if(!e||typeof e!="object")return!1;const t=e.type;return t==="split"||t==="tabs"||t==="slot"}function m_(e){if(!e||typeof e!="object")return!1;const t=e;return ku(t.docked)&&Array.isArray(t.floats)}function g_(e){return{docked:e,floats:[]}}function __(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 b_(e){if(Array.isArray(e))return e.map(__);if(m_(e))return[{name:"default",variants:{default:e}}];if(ku(e))return[{name:"default",variants:{default:g_(e)}}];throw new Error("normalizeInitialLayout: input is not a LayoutNode, LayoutTree, or LayoutPreset[]")}function jo(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 y_(e){const t=jo(e.docked);for(const n of e.floats)t.push(...jo(n.content));return t}Ma("workspace","__shell__");const w_={type:"slot",slotId:"sh3core.home",viewId:"sh3core:home"},k_=me({docked:w_,floats:[]});let pt=B(null),Ys=B("home");function S_(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 x_(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 E_(e){if(o(pt))throw new Error(`Layout manager cannot attach app "${e.manifest.id}": app "${o(pt).appId}" is still attached`);const t=`__sh3core__:app:${e.manifest.id}`,n=b_(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=Zp("workspace",t),a=S_(s);(a&&a.layoutVersion!==e.manifest.layoutVersion||s&&!a)&&Ma("workspace",t);const l=zs(t,{workspace:r}).workspace;y(pt,{appId:e.manifest.id,proxy:l,heldSlotIds:[]},!0),jm(l)}function T_(){if(!o(pt))throw new Error("acquireAppSlotHolds: no app attached");if(o(pt).heldSlotIds.length>0)return;const e=x_(o(pt).proxy),t=y_(e);for(const{slotId:n,viewId:r,label:s,meta:a}of t)bu(n,r,s,a),o(pt).heldSlotIds.push(n)}function Su(){if(o(pt)){Nm();for(const e of o(pt).heldSlotIds)yu(e);y(pt,null)}}function xu(){y(Ys,"home")}function No(){if(!o(pt))throw new Error("Cannot switchToApp: no app is attached");y(Ys,"app")}const cs=X(()=>{if(o(Ys)==="app"&&o(pt)){const e=o(pt).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 k_});function Zt(){return o(cs)}function Eu(){return o(Ys)}const Qn={get root(){return o(cs).docked},get tree(){return o(cs)},get floats(){return o(cs).floats}},Tu=zs("__sh3core__:last-app",{user:{id:null}});function A_(){return Tu.user.id}function Ss(e){Tu.user.id=e}const Ua=new Map;function Jr(e){let t=Ua.get(e);if(!t){const n=Hs(e);t={state:r=>zs(`__app__:${e}`,r),zones:n?.manifest.permissions?.includes(bi)?lu():void 0},Ua.set(e,t)}return t}async function Ir(e){const t=Hs(e);if(!t)throw new Error(`Cannot launch app "${e}": not registered`);if(Pt.id&&Pt.id!==e)Au(Pt.id);else if(Pt.id===e){for(const n of t.manifest.requiredShards){const r=Gt.get(n),s=d_(n);r&&s&&r.resume?.(s)}t.resume?.(Jr(e)),No(),t.onAppReady?.(Jr(e)),Ss(e);return}for(const n of t.manifest.requiredShards)if(!Gt.has(n))throw new Error(`App "${e}" requires shard "${n}" which is not registered`);E_(t);try{for(const n of t.manifest.requiredShards)await gu(n)}catch(n){throw Su(),n}T_(),t.activate?.(Jr(e)),Pt.id=e,No(),t.onAppReady?.(Jr(e)),Ss(e)}function Au(e){if(Pt.id!==e)return;const t=Hs(e);if(t){t.deactivate?.(),xu(),Su();for(const n of t.manifest.requiredShards){const r=Gt.get(n);r&&(r.autostart||Fs(n))}Pt.id=null,Ua.delete(e)}}function Ci(e){Ln.has(e)&&(Pt.id===e&&(Au(e),Ss(null)),Ln.delete(e))}async function Iu(){const e=Pt.id?Hs(Pt.id):null;if(e){for(const t of e.manifest.requiredShards){const n=Gt.get(t);if(n?.suspend&&await n.suspend()===!1)return!1}if(e.suspend&&await e.suspend()===!1)return!1}return xu(),Ss(null),!0}function er(e,t){const n=(r,s)=>{if(r.type==="tabs"){const a=r.tabs.findIndex(i=>i.slotId===t);if(a>=0)return{tabsNode:r,tabsPath:s,tabIndex:a,entry:r.tabs[a]}}else if(r.type==="split")for(let a=0;a<r.children.length;a++){const i=n(r.children[a],[...s,a]);if(i)return i}return null};return n(e,[])}function Gs(e,t){const n=er(e,t);if(!n)return null;const{tabsNode:r,tabIndex:s,entry:a}=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),a}function I_(e,t,n){const r=Math.max(0,Math.min(n,e.tabs.length));e.tabs.splice(r,0,t),e.activeTab=r}function R_(e,t,n){const r=e.tabs.slice(),[s]=r.splice(t,1),a=Math.max(0,Math.min(n,r.length));r.splice(a,0,s),e.tabs=r,e.activeTab=a}function zo(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 C_(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 Ru(e,t,n,r){const s=xs(e,t);if(!s)return;if(t.length===0){const u=C_(s),d=zo(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 a=zo(s,n,r),i=t.slice(0,-1),l=t[t.length-1],c=xs(e,i);!c||c.type!=="split"||(c.children[l]=a)}function xs(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 Kn(e){let t=!0;for(;t;)t=Cu(e,null,0)}function Cu(e,t,n){if(e.type==="split"){let r=!1;for(let s=0;s<e.children.length;s++)Cu(e.children[s],e,s)&&(r=!0);for(let s=e.children.length-1;s>=0;s--){const a=e.children[s];a.type==="tabs"&&a.tabs.length===0&&!a.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],a=e;return delete a.direction,delete a.sizes,delete a.pinned,delete a.collapsed,delete a.children,Object.assign(a,s),!0}return r}return e.type==="tabs",!1}function Pu(){return{root:Zt(),source:Eu()}}function P_(e){const t=Zt().docked,n=Di(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 D_(e){const t=Zt();return Js(t.docked,n=>n.slotId===e)?!0:Du(t,n=>n.slotId===e)}function Xs(e){const t=Zt();return Js(t.docked,n=>n.viewId===e)?!0:Du(t,n=>n.viewId===e)}function Js(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(Js(n,t))return!0}return!1}function Du(e,t){for(const n of e.floats)if(Js(n.content,t))return jt.focus(n.id),!0;return!1}function O_(e,t){return Ou(e,t,!0)}function L_(e,t){return Ou(e,t,!1)}function Ou(e,t,n){const r=Zt().docked,s=xs(r,e);if(!s||s.type!=="split")return!1;const a=s;return t<0||t>=a.children.length?!1:(a.collapsed||(a.collapsed=a.children.map(()=>!1)),a.collapsed[t]=n,!0)}async function Pi(e){const t=Zt(),n=t.docked;if(!er(n,e))return M_(t,e);const a=wu(e)?.closable;return!a||typeof a=="object"&&(!await a.canClose()||!er(n,e))?!1:(Gs(n,e),Kn(n),!0)}async function M_(e,t){for(const n of e.floats){if(!er(n.content,t))continue;const a=wu(t)?.closable;if(typeof a=="object"&&(!await a.canClose()||!er(n.content,t)))return!1;Gs(n.content,t);const i=n.content.type==="tabs"?n.content:null;return(!i||i.tabs.length===0)&&jt.close(n.id),!0}return!1}function j_(e){const t=Zt(),n=er(t.docked,e);if(!n)return null;const r=n.entry,s=r.viewId;if(!s)return null;const a=r.label,i=r.meta;return Gs(t.docked,e),Kn(t.docked),jt.open(s,{title:a,meta:i})}function N_(e){const n=Zt().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 jt.close(e),!1;const a=s.tabs[s.activeTab??0]??s.tabs[0],i=Oi({slotId:a.slotId,viewId:a.viewId,label:a.label,meta:a.meta});return i&&jt.close(e),i}function Di(e){if(e.type==="tabs")return e;if(e.type==="split")for(const t of e.children){const n=Di(t);if(n)return n}return null}function Lu(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=Lu(e.children[n],[...t,n]);if(r)return r}return null}function Oi(e){const t=Zt().docked;if(Xs(e.viewId??""))return!0;const n=Di(t);if(n)return n.tabs.push(e),n.activeTab=n.tabs.length-1,!0;const r=Lu(t);return r?(Ru(t,r,e,"right"),!0):!1}class it extends Error{constructor(t,n){super(`Registry validation error at ${t}: ${n}`),this.name="RegistryValidationError",this.path=t}}function Mu(e){if(!e||typeof e!="object"||Array.isArray(e))throw new it("$","expected an object");const t=e;if(t.version!==1)throw new it("$.version",`expected 1, got ${JSON.stringify(t.version)}`);if(!Array.isArray(t.packages))throw new it("$.packages","expected an array");return{version:1,packages:t.packages.map((r,s)=>z_(r,`$.packages[${s}]`))}}function z_(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new it(t,"expected an object");const n=e;Ct(n,"id",t),B_(n,"type",["shard","app","combo"],t),Ct(n,"label",t),Ct(n,"description",t);const r=`${t}.author`;if(!n.author||typeof n.author!="object"||Array.isArray(n.author))throw new it(r,"expected an object");const s=n.author;if(typeof s.name!="string"||s.name.length===0)throw new it(`${r}.name`,"expected a non-empty string");if(!Array.isArray(n.versions)||n.versions.length===0)throw new it(`${t}.versions`,"expected a non-empty array");const a=n.versions.map((i,l)=>$_(i,`${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:a}}function $_(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new it(t,"expected an object");const n=e;Ct(n,"version",t),Ct(n,"contractVersion",t);const r="bundleUrl"in n&&n.bundleUrl!==void 0,s="integrity"in n&&n.integrity!==void 0;if(r&&Ct(n,"bundleUrl",t),s&&Ct(n,"integrity",t),r!==s)throw new it(t,"bundleUrl and integrity must be provided together");const a="serverBundleUrl"in n&&n.serverBundleUrl!==void 0;if(a&&Ct(n,"serverBundleUrl",t),"serverIntegrity"in n&&n.serverIntegrity!==void 0&&Ct(n,"serverIntegrity",t),!r&&!a)throw new it(t,"expected at least one of bundleUrl+integrity or serverBundleUrl");let i;if(n.requires!==void 0){if(!Array.isArray(n.requires))throw new it(`${t}.requires`,"expected an array");i=n.requires.map((l,c)=>q_(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:i}}function q_(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new it(t,"expected an object");const n=e;return Ct(n,"id",t),Ct(n,"versionRange",t),{id:n.id,versionRange:n.versionRange}}function Ct(e,t,n){const r=e[t];if(typeof r!="string"||r.length===0)throw new it(`${n}.${t}`,"expected a non-empty string")}function B_(e,t,n,r){if(!n.includes(e[t]))throw new it(`${r}.${t}`,`expected one of: ${n.join(", ")}`)}const $o=["sha256","sha384","sha512"];function V_(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(!$o.includes(n))throw new Error(`Unsupported SRI algorithm: ${n}. Supported: ${$o.join(", ")}`);if(!r)throw new Error(`Empty hash in SRI: ${e}`);return{algorithm:n,hash:r}}function U_(e){return`SHA-${e.slice(3)}`}function F_(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 Li(e,t){const{algorithm:n,hash:r}=V_(t),s=U_(n),a=await crypto.subtle.digest(s,e),i=F_(a);if(i!==r)throw new Error(`Integrity check failed for ${n}. Expected: ${r}, got: ${i}`)}async function ju(e){const t=new Set,n=[];for(const r of e){let s;try{const i=await fetch(r);if(!i.ok){console.warn(`[sh3] Registry fetch failed for ${r}: HTTP ${i.status}`);continue}s=await i.json()}catch(i){console.warn(`[sh3] Registry ${r}: ${i instanceof Error?i.message:String(i)}`);continue}let a;try{a=Mu(s)}catch(i){console.warn(`[sh3] Registry ${r} failed validation: ${i instanceof Error?i.message:String(i)}`);continue}for(const i of a.packages)t.has(i.id)||(t.add(i.id),n.push({entry:i,latest:i.versions[0],sourceRegistry:r}))}return n}async function Zs(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 Li(s,e.integrity),s}async function Mi(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 Li(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 Qs(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 ln="0.10.5",ji="sh3:user:__sh3core__:theme";let Rr=[];function H_(e){const t=Object.keys(e);for(const n of Rr)t.includes(n)||document.documentElement.style.removeProperty(`--${n}`);for(const[n,r]of Object.entries(e))document.documentElement.style.setProperty(`--${n}`,r);Rr=t;try{localStorage.setItem(ji,JSON.stringify(e))}catch{}}function K_(){for(const e of Rr)document.documentElement.style.removeProperty(`--${e}`);Rr=[];try{localStorage.removeItem(ji)}catch{}}function Nu(){try{const e=localStorage.getItem(ji);if(!e)return{};const t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{}}catch{return{}}}function W_(){const e=Nu();if(Object.keys(e).length!==0){for(const[t,n]of Object.entries(e))document.documentElement.style.setProperty(`--${t}`,n);Rr=Object.keys(e)}}const Y_={hotInstall:typeof Blob<"u"&&typeof URL.createObjectURL=="function"},zu=["__sh3core__","shell","sh3-store","sh3-admin"],$u=Object.freeze(Object.defineProperty({__proto__:null,CONFLICT_RENDERER_POINT:Xc,ConflictPermissionError:Jc,ConflictSessionOrphanedError:kg,ConsentDeniedError:hu,FRAMEWORK_SHARD_IDS:zu,PERMISSION_DOCUMENTS_BROWSE:cu,PERMISSION_DOCUMENTS_READ:uu,PERMISSION_DOCUMENTS_WRITE:du,PERMISSION_KEYS_MINT:fu,PERMISSION_STATE_MANAGE:bi,PERMISSION_SYNC_PEER:Hg,PERMISSION_SYNC_POLICY:Kg,ScopeEscalationError:vu,VERSION:ln,activeShards:Ur,buildPackageMeta:Qs,capabilities:Y_,clearTokenOverrides:K_,closeTab:Pi,collapseChild:O_,dockIntoActiveLayout:Oi,expandChild:L_,fetchBundle:Zs,fetchRegistries:ju,focusTab:D_,focusView:Xs,getActiveApp:_u,getAuthHeader:Us,getTokenOverrides:Nu,getUser:Vs,inspectActiveLayout:Pu,isAdmin:on,isAuthenticated:$a,isGuest:au,launchApp:Ir,listRegisteredApps:Ri,listVerbs:xi,registerConsentListener:pu,registeredShards:Gt,resolveConsent:Ba,returnToHome:Iu,setTokenOverrides:H_,shell:Qc,spliceIntoActiveLayout:P_,subscribeKeyRevocation:Ti,unregisterApp:Ci,validateRegistryIndex:Mu},Symbol.toStringTag,{value:"Module"})),G_="/assets/SH3-BG5NVpSD.png",X_="https://cdn.jsdelivr.net/npm/p5@1.11.13/lib/p5.min.js";let fr=null;function J_(){return fr||(fr=new Promise((e,t)=>{const n=window.p5;if(n){e(n);return}const r=document.createElement("script");r.src=X_,r.async=!0,r.onload=()=>e(window.p5),r.onerror=s=>{fr=null,t(s)},document.head.appendChild(r)}),fr)}var Z_=C('<h1 class="shell-title-fallback svelte-1ifjvh5">SH3</h1>'),Q_=C('<div class="shell-title svelte-1ifjvh5"></div>');function eb(e,t){ie(t,!0);const n="`.-':;,^\"~=+<>*?!/\\|()[]{}x1ltzrcvunsXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$",r=64,s=Math.floor(64/(442/193)),a=8,i=7,l=80,c=r*a,u=s*i,d=l/u;let f=B(void 0),h=null,b=B(!1);const k=()=>g=>{const D=getComputedStyle(document.documentElement).getPropertyValue("--shell-accent").trim();let R,m,O=!1;g.setup=()=>{g.createCanvas(c,u),g.noSmooth(),g.noStroke(),g.textAlign(g.CENTER,g.CENTER),g.textFont("monospace"),g.textSize(10),g.textStyle(g.BOLD),m=g.loadImage(G_,()=>{R=g.createGraphics(r,s),R.pixelDensity(1),R.image(m,0,0,r,s),R.loadPixels(),O=!0},()=>{y(b,!0)})},g.draw=()=>{if(!O)return;const I=g.millis()*.001;let L;g.clear(),g.background(0,0),g.fill(D);for(let P=0;P<s;P++)for(let M=0;M<r;M++){const z=(P*r+M)*4;if(R.pixels[z]<64){if(L=g.noise(M/r*2,P/s*2,I*.15),L>.33)continue;g.text(n[Math.floor(L*n.length*.25)],(M+.5)*a,(P+.5)*i);continue}L=g.noise(M/r*4,P/s*4,I*.5),g.text(n[Math.floor(L*n.length)],(M+.5)*a,(P+.5)*i)}}};De(()=>{if(o(b))return;let g=!1;return J_().then(A=>{if(!(g||!o(f)))try{h=new A(k(),o(f))}catch(D){console.error("[ShellTitle] p5 sketch failed to start",D),y(b,!0)}}).catch(A=>{console.error("[ShellTitle] failed to load p5 from CDN",A),y(b,!0)}),()=>{g=!0,h&&(h.remove(),h=null)}});var w=at(),S=he(w);{var E=g=>{var A=Z_();T(g,A)},_=g=>{var A=Q_();Jt(A,"",{},{width:"216.7195767195767px",height:"80px","--shell-title-scale":d}),yt(A,D=>y(f,D),()=>o(f)),T(g,A)};F(S,g=>{o(b)?g(E):g(_,-1)})}T(e,w),oe()}var tb=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>'),nb=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>'),rb=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>'),sb=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>'),ab=C('<p class="shell-home-empty svelte-cpn2x2"><!></p>'),ib=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 ob(e,t){ie(t,!0);let n=B("");const r=X(Ri),s=X(on);function a(m,O){if(!O)return!0;const I=O.toLowerCase();return m.label.toLowerCase().includes(I)||m.id.toLowerCase().includes(I)}const i=X(()=>o(r).filter(m=>!m.admin&&a(m,o(n)))),l=X(()=>o(r).filter(m=>m.admin&&a(m,o(n)))),c=X(()=>o(i).length+(o(s)?o(l).length:0));var u=ib(),d=p(u),f=p(d),h=p(f);eb(h,{});var b=x(h,2),k=p(b);v(b),tn(2),v(f),tn(2),v(d);var w=x(d,2),S=p(w);Ee(S),v(w);var E=x(w,2);{var _=m=>{var O=nb(),I=x(p(O),2);pe(I,21,()=>o(i),L=>L.id,(L,P)=>{var M=tb(),z=p(M),j=p(z,!0);v(z);var $=x(z,2),Y=p($),G=p(Y,!0);v(Y);var Q=x(Y,2),J=p(Q);v(Q),v($),v(M),q(()=>{Se(M,"title",`Launch ${o(P).label??""}`),N(j,o(P).label),N(G,o(P).id),N(J,`v${o(P).version??""}`)}),K("click",M,()=>Ir(o(P).id)),T(L,M)}),v(I),v(O),T(m,O)};F(E,m=>{o(i).length>0&&m(_)})}var g=x(E,2);{var A=m=>{var O=sb(),I=x(p(O),2);pe(I,21,()=>o(l),L=>L.id,(L,P)=>{var M=rb(),z=p(M),j=p(z,!0);v(z);var $=x(z,2),Y=p($),G=p(Y,!0);v(Y);var Q=x(Y,2),J=p(Q);v(Q),v($),v(M),q(()=>{Se(M,"title",`Launch ${o(P).label??""}`),N(j,o(P).label),N(G,o(P).id),N(J,`v${o(P).version??""}`)}),K("click",M,()=>Ir(o(P).id)),T(L,M)}),v(I),v(O),T(m,O)};F(g,m=>{o(s)&&o(l).length>0&&m(A)})}var D=x(g,2);{var R=m=>{var O=ab(),I=p(O);{var L=M=>{var z=Mt("No apps registered.");T(M,z)},P=M=>{var z=Mt();q(()=>N(z,`No apps match “${o(n)??""}”.`)),T(M,z)};F(I,M=>{o(r).length===0?M(L):M(P,-1)})}v(O),T(m,O)};F(D,m=>{o(c)===0&&m(R)})}v(u),q(()=>N(k,`v${ln}`)),je(S,()=>o(n),m=>y(n,m)),T(e,u),oe()}ge(["click"]);var lb=C('<p class="keys-peers-muted svelte-19l5m7c">Loading...</p>'),cb=C('<p class="keys-peers-error svelte-19l5m7c"> </p>'),ub=C('<p class="keys-peers-muted svelte-19l5m7c">No keys yet. Shards will ask your permission before creating one.</p>'),db=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),fb=C('<button type="button" class="keys-peers-btn-danger svelte-19l5m7c">Revoke</button>'),vb=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>'),hb=C('<ul class="keys-peers-list svelte-19l5m7c"></ul>'),pb=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 mb(e,t){ie(t,!0);let n=B(me([])),r=B(null),s=B(!0),a=B(null);async function i(){y(r,null),y(s,!0);try{const w=await fetch("/api/keys",{credentials:"include"});if(!w.ok)throw new Error(`HTTP ${w.status}`);y(n,await w.json(),!0)}catch(w){y(r,w instanceof Error?w.message:String(w),!0)}finally{y(s,!1)}}async function l(w){y(a,null);const S=await fetch(`/api/keys/${encodeURIComponent(w)}`,{method:"DELETE",credentials:"include"});(S.ok||S.status===404)&&y(n,o(n).filter(E=>E.id!==w),!0)}function c(w){return new Date(w).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}De(()=>{i()}),De(()=>Ti("*",()=>{i()}));var u=pb(),d=x(p(u),2);{var f=w=>{var S=lb();T(w,S)},h=w=>{var S=cb(),E=p(S);v(S),q(()=>N(E,`Failed to load: ${o(r)??""}`)),T(w,S)},b=w=>{var S=ub();T(w,S)},k=w=>{var S=hb();pe(S,21,()=>o(n),E=>E.id,(E,_)=>{var g=vb(),A=p(g),D=p(A),R=p(D,!0);v(D);var m=x(D,2),O=p(m);v(m);var I=x(m,2),L=p(I);v(I);var P=x(I,2),M=p(P);v(P),v(A);var z=x(A,2),j=p(z);{var $=G=>{var Q=db(),J=he(Q),te=x(J,2);K("click",J,()=>l(o(_).id)),K("click",te,()=>{y(a,null)}),T(G,Q)},Y=G=>{var Q=fb();K("click",Q,()=>{y(a,o(_).id,!0)}),T(G,Q)};F(j,G=>{o(a)===o(_).id?G($):G(Y,-1)})}v(z),v(g),q((G,Q,J)=>{N(R,o(_).label),N(O,`Minted by: ${o(_).mintedByShardId??"system"??""}${o(_).peerRole||o(_).peerId?` · Peer: ${o(_).peerRole??"—"}${o(_).peerId?` (${o(_).peerId})`:""}`:""}`),N(L,`Scopes: ${G??""}`),N(M,`Created: ${Q??""} · Expires: ${J??""}`)},[()=>o(_).scopes.join(", "),()=>c(o(_).createdAt),()=>o(_).expiresAt?c(o(_).expiresAt):"never"]),T(E,g)}),v(S),T(w,S)};F(d,w=>{o(s)?w(f):o(r)?w(h,1):o(n).length===0?w(b,2):w(k,-1)})}v(u),T(e,u),oe()}ge(["click"]);const gb={manifest:{id:"__sh3core__",label:"SH3 Core",version:ln,views:[{id:"sh3core:home",label:"Home"},{id:"shell:keys-and-peers",label:"Keys & Peers"}]},activate(e){const t={mount(r,s){const a=ze(ob,{target:r});return{unmount(){Fe(a)}}}},n={mount(r,s){const a=ze(mb,{target:r});return{unmount(){Fe(a)}}}};e.registerView("sh3core:home",t),e.registerView("shell:keys-and-peers",n)},autostart(){}},_b={id:"shell",label:"Shell",version:ln,views:[{id:"shell:terminal",label:"Shell",standalone:!0}],permissions:[]},bb=2e3;let yb=0;function wb(){return`e${++yb}`}class kb{#e;get entries(){return o(this.#e)}set entries(t){y(this.#e,t,!0)}constructor(t=bb){this.#e=B(me([])),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:wb()};this.entries.push(r),this.entries.length>this.cap&&this.entries.splice(0,this.entries.length-this.cap)}clear(){this.entries.length=0}}var Sb=C("<pre> </pre>");function xb(e,t){ie(t,!0);const n=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,r=X(()=>t.chunks.join("").replace(n,""));var s=Sb();let a;var i=p(s,!0);v(s),q(()=>{a=we(s,1,"shell-text svelte-ypr8s",null,a,{stderr:t.stream==="stderr"}),N(i,o(r))}),T(e,s),oe()}var Eb=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 Tb(e,t){var n=Eb(),r=p(n),s=p(r,!0);v(r);var a=x(r,4),i=p(a,!0);v(a),v(n),q(()=>{N(s,t.cwd),N(i,t.line)}),T(e,n)}var Ab=C("<div> </div>");function Ib(e,t){var n=Ab();let r;var s=p(n,!0);v(n),q(()=>{r=we(n,1,"shell-status svelte-nfxdpt",null,r,{info:t.level==="info",warn:t.level==="warn",error:t.level==="error"}),N(s,t.text)}),T(e,n)}var Rb=C('<div class="shell-rich svelte-1rnhl05"><!></div>');function Cb(e,t){var n=Rb(),r=p(n);qr(r,()=>t.component,(s,a)=>{a(s,Vr(()=>t.componentProps))}),v(n),T(e,n)}var Pb=C('<div class="shell-scrollback svelte-isy3jt"></div>');function Db(e,t){ie(t,!0);let n=B(null);De(()=>{t.scrollback.entries.length,o(n)&&(o(n).scrollTop=o(n).scrollHeight)});var r=Pb();pe(r,21,()=>t.scrollback.entries,s=>s.id,(s,a)=>{var i=at(),l=he(i);{var c=h=>{xb(h,{get stream(){return o(a).stream},get chunks(){return o(a).chunks}})},u=h=>{Tb(h,{get cwd(){return o(a).cwd},get line(){return o(a).line}})},d=h=>{Ib(h,{get text(){return o(a).text},get level(){return o(a).level}})},f=h=>{Cb(h,{get component(){return o(a).component},get componentProps(){return o(a).props}})};F(l,h=>{o(a).kind==="text"?h(c):o(a).kind==="prompt"?h(u,1):o(a).kind==="status"?h(d,2):o(a).kind==="rich"&&h(f,3)})}T(s,i)}),v(r),yt(r,s=>y(n,s),()=>o(n)),T(e,r),oe()}var Ob=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 Lb(e,t){ie(t,!0);let n=B(""),r=B(null),s=B(""),a=B(null);function i(){if(t.locked)return;const w=o(n);w.trim()&&(y(n,""),y(r,null),t.onSubmit(w))}function l(){t.history.length!==0&&(o(r)===null?(y(s,o(n),!0),y(r,t.history.length-1)):o(r)>0&&Jn(r,-1),y(n,t.history[o(r)]??"",!0))}function c(){o(r)!==null&&(o(r)<t.history.length-1?(Jn(r),y(n,t.history[o(r)],!0)):(y(r,null),y(n,o(s),!0)))}function u(w){if(t.locked){if(w.ctrlKey&&w.key==="c"){w.preventDefault(),t.session.send({t:"signal",sig:"SIGINT"});return}if(w.ctrlKey&&w.key==="d"){w.preventDefault(),t.session.send({t:"signal",sig:"EOF"});return}w.preventDefault();return}w.key==="Enter"?(w.preventDefault(),i()):w.key==="ArrowUp"?(w.preventDefault(),l()):w.key==="ArrowDown"?(w.preventDefault(),c()):w.ctrlKey&&w.key==="c"?(w.preventDefault(),y(n,""),y(r,null)):w.ctrlKey&&w.key==="l"&&(w.preventDefault(),y(n,"clear"),i())}De(()=>{!t.locked&&o(a)&&o(a).focus()});var d=Ob();let f;var h=p(d),b=p(h,!0);v(h);var k=x(h,4);Ee(k),yt(k,w=>y(a,w),()=>o(a)),v(d),q(()=>{f=we(d,1,"shell-input svelte-1dfv2gk",null,f,{locked:t.locked}),N(b,t.cwd),k.disabled=t.locked}),K("keydown",k,u),je(k,()=>o(n),w=>y(n,w)),T(e,d),oe()}ge(["keydown"]);const qo=[1e3,2e3,5e3,1e4];class Mb{#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)}#a;get history(){return o(this.#a)}set history(t){y(this.#a,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=B(!1),this.#t=B(""),this.#n=B(me({})),this.#a=B(me([]))}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=qo[Math.min(this.backoffIndex,qo.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 jb{list(){return xi()}get(t){return Do(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),a=r===-1?"":n.slice(r+1),i=Do(s);if(!i)return{kind:"forward",line:t};const l=a.length?a.split(/\s+/):[];return{kind:"local",verb:i,args:l,line:t}}}class Nb{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 a=`HTTP ${s.status}`;try{const i=await s.json();i.error&&(a=i.error)}catch{}throw new Error(a)}return s}}class zb{#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 $b={id:"dev",label:"Dev",requiresRole:"admin",transport:"ws",autoRelocate:!1},qb={id:"user",label:"User",transport:"none",autoRelocate:!0};function Bb(e){e.register($b),e.register(qb)}function qu(e){return`sh3.shell.lastMode.${e}`}function Vb(e){try{return globalThis.localStorage?.getItem(qu(e))??null}catch{return null}}function Ub(e,t){try{globalThis.localStorage?.setItem(qu(e),t)}catch{}}function Fb(e,t,n){const r=Vb(t);if(r){const a=e.get(r);if(a&&(!a.requiresRole||a.requiresRole===n))return a}const s=n==="admin"?"dev":"user";return e.get(s)}function Hb(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(a){e.scrollback.push({kind:"status",text:`shell: verb ${s.verb.name} threw — ${a.message}`,level:"error",ts:Date.now()})}return}if(r.transport==="ws")e.session.send({t:"submit",line:s.line});else{const a=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: ${a}`,level:"error",ts:Date.now()})}}}async function Kb(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 Wb=C('<div class="toolbar svelte-gnowwz"><div class="toolbar-slots svelte-gnowwz"></div></div>');function Yb(e,t){ie(t,!0);let n=Wt(t,"slotProps",19,()=>({})),r=X(()=>t.registry.list(t.ctx));var s=Wb(),a=p(s);pe(a,21,()=>o(r),i=>i.id,(i,l)=>{const c=X(()=>o(l).component);var u=at(),d=he(u);qr(d,()=>o(c),(f,h)=>{h(f,Vr(()=>n()[o(l).id]??{}))}),T(i,u)}),v(a),v(s),T(e,s),oe()}class Gb{#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 Xb=C('<button type="button"> </button>'),Jb=C('<div class="mode-bar svelte-1i4cqlj" role="toolbar" aria-label="Shell mode"></div>'),Zb=C('<span class="mode-label svelte-1i4cqlj"> </span>');function Qb(e,t){ie(t,!0);let n=X(()=>t.registry.list(t.role));var r=at(),s=he(r);{var a=l=>{var c=Jb();pe(c,21,()=>o(n),u=>u.id,(u,d)=>{var f=Xb();let h;var b=p(f,!0);v(f),q(()=>{h=we(f,1,"mode-btn svelte-1i4cqlj",null,h,{active:o(d).id===t.mode.id}),Se(f,"aria-pressed",o(d).id===t.mode.id),N(b,o(d).label)}),K("click",f,()=>t.onSelect(o(d).id)),T(u,f)}),v(c),T(l,c)},i=l=>{var c=Zb(),u=p(c,!0);v(c),q(()=>N(u,t.mode.label)),T(l,c)};F(s,l=>{t.role==="admin"?l(a):l(i,-1)})}T(e,r),oe()}ge(["click"]);var ey=C('<button class="focus-lock-btn svelte-1q6gbap"> </button>');function ty(e,t){var n=ey(),r=p(n,!0);v(n),q(()=>{Se(n,"title",t.locked?"Unlock focus":"Lock focus"),N(r,t.locked?"🔒":"🔓")}),K("click",n,function(...s){t.onToggle?.apply(this,s)}),T(e,n)}ge(["click"]);var ny=C('<span class="target-shard svelte-1nn2m6x" title="Target shard"> </span>');function ry(e,t){var n=ny(),r=p(n);v(n),q(()=>N(r,`→ ${t.target??"—"??""}`)),T(e,n)}var sy=C('<div class="shell-terminal svelte-13komre"><!> <!> <!></div>');function ay(e,t){ie(t,!0);const n=new kb,r=new jb,s=new Nb,a=new zb;Bb(a);let i=B(me(xe(()=>Fb(a,t.userId,t.role))));function l(R){const m=a.get(R);m&&(m.requiresRole&&m.requiresRole!==t.role||(y(i,m,!0),Ub(t.userId,R),m.transport!=="ws"&&n.push({kind:"status",text:"mode switch: reload to take effect for server-shell changes",level:"info",ts:Date.now()})))}const c=xe(()=>new Mb(t.wsUrl)),u=xe(()=>Hb({mode:()=>o(i),resolver:r,scrollback:n,session:c,shell:t.shell,fs:s,cwd:()=>c.cwd}));let d=B(!1),f=B(!1),h=B(null);const b=new Gb;b.register({id:"mode",order:10,visible:()=>!0,component:Qb}),b.register({id:"focus-lock",order:20,visible:R=>R.mode.id==="user",component:ty}),b.register({id:"target-shard",order:30,visible:R=>R.mode.id==="user",component:ry});function k(R){if(R.type==="tabs")return R.tabs[R.activeTab]?.viewId??null;if(R.type==="split")for(const m of R.children){const O=k(m);if(O!==null)return O}return R.viewId??null}function w(){try{const R=Zt(),m=k(R.docked);if(!m)return null;const O=m.indexOf(":");return O>=0?m.slice(0,O):m}catch{return null}}De(()=>{const R=w(),m=o(i).autoRelocate,O=o(f);(async()=>{const I=await Kb({modeAutoRelocate:m,focusLocked:O,focusedShardId:R,currentShardId:"shell"},s);I.kind==="relocate"&&I.path!==void 0&&(c.cwd=I.path),R&&R!=="shell"?y(h,R,!0):R||y(h,null)})()});function S(R){if(R.t!=="event")return;const m=R.event;switch(m.kind){case"prompt":n.push({kind:"prompt",cwd:m.cwd,line:m.line,ts:m.ts}),y(d,!0);break;case"stdout":n.push({kind:"text",stream:"stdout",chunks:[m.data],ts:m.ts});break;case"stderr":n.push({kind:"text",stream:"stderr",chunks:[m.data],ts:m.ts});break;case"exit":(m.signal||m.code!==null&&m.code!==0)&&n.push({kind:"status",text:m.signal?`shell: process exited (${m.signal})`:`shell: process exited (${m.code})`,level:"error",ts:m.ts}),y(d,!1);break;case"status":n.push({kind:"status",text:m.text,level:m.level,ts:m.ts});break}}let E=null;vi(()=>{E=c.onMessage(S),o(i).transport==="ws"&&c.connect()}),hi(()=>{E?.(),c.close()});var _=sy(),g=p(_);{let R=X(()=>({mode:o(i),role:t.role})),m=X(()=>({mode:{mode:o(i),role:t.role,registry:a,onSelect:l},"focus-lock":{locked:o(f),onToggle:()=>y(f,!o(f))},"target-shard":{target:o(h)}}));Yb(g,{get registry(){return b},get ctx(){return o(R)},get slotProps(){return o(m)}})}var A=x(g,2);Db(A,{get scrollback(){return n}});var D=x(A,2);Lb(D,{get cwd(){return c.cwd},get locked(){return o(d)},get history(){return c.history},get session(){return c},get onSubmit(){return u}}),v(_),T(e,_),oe()}var iy=C('<tr><td class="svelte-m248jy"><button type="button" class="svelte-m248jy"> </button></td><td class="svelte-m248jy"> </td></tr>'),oy=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 ly(e,t){ie(t,!0);var n=oy(),r=p(n),s=x(p(r));pe(s,21,()=>t.data.rows,a=>a.name,(a,i)=>{var l=iy(),c=p(l),u=p(c),d=p(u,!0);v(u),v(c);var f=x(c),h=p(f,!0);v(f),v(l),q(()=>{N(d,o(i).name),N(h,o(i).summary)}),K("click",u,()=>t.data.onClickName(o(i).name)),T(a,l)}),v(s),v(r),v(n),T(e,n),oe()}ge(["click"]);function cy(){return{name:"help",summary:"List verbs or show detail for one.",async run(e){const t=xi().map(n=>({name:n.name,summary:n.summary}));e.scrollback.push({kind:"rich",component:ly,props:{data:{rows:t,onClickName:n=>e.dispatch(n)}},ts:Date.now()})}}}const uy={name:"clear",summary:"Clear the scrollback (local only — other views are unaffected).",async run(e){e.scrollback.clear()}};var dy=C('<li class="svelte-o8m437"><button type="button" class="svelte-o8m437"> </button></li>'),fy=C('<div class="shell-rich-history svelte-o8m437"><ol class="svelte-o8m437"></ol></div>');function vy(e,t){ie(t,!0);var n=fy(),r=p(n);pe(r,21,()=>t.data.lines,On,(s,a)=>{var i=dy(),l=p(i),c=p(l,!0);v(l),v(i),q(()=>N(c,o(a))),K("click",l,()=>t.data.onClickLine(o(a))),T(s,i)}),v(r),v(n),T(e,n),oe()}ge(["click"]);const hy={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:vy,props:{data:{lines:r,onClickLine:s=>e.dispatch(s)}},ts:Date.now()})}};var py=C('<tr><td class="svelte-1u5krjz"><button type="button" class="svelte-1u5krjz"> </button></td><td class="svelte-1u5krjz"> </td></tr>'),my=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 gy(e,t){ie(t,!0);var n=my(),r=p(n),s=x(p(r));pe(s,21,()=>t.data.apps,a=>a.id,(a,i)=>{var l=py(),c=p(l),u=p(c),d=p(u,!0);v(u),v(c);var f=x(c),h=p(f,!0);v(f),v(l),q(()=>{N(d,o(i).id),N(h,o(i).label)}),K("click",u,()=>t.data.onClickApp(o(i).id)),T(a,l)}),v(s),v(r),v(n),T(e,n),oe()}ge(["click"]);var _y=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 by(e,t){ie(t,!0);var n=_y(),r=p(n),s=p(r,!0);v(r);var a=x(r,2),i=x(p(a));v(a);var l=x(a,2),c=x(p(l));v(l),v(n),q(u=>{N(s,t.data.label),N(i,` ${t.data.id??""}`),N(c,` ${u??""}`)},[()=>t.data.shards.join(", ")]),T(e,n),oe()}const yy={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:gy,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()})}},wy={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:by,props:{data:{id:t.id,label:t.label,shards:[]}},ts:Date.now()})}};var ky=C('<tr><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td></tr>'),Sy=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 xy(e,t){ie(t,!0);var n=Sy(),r=p(n),s=x(p(r));pe(s,21,()=>t.data.shards,a=>a.id,(a,i)=>{var l=ky(),c=p(l),u=p(c,!0);v(c);var d=x(c),f=p(d,!0);v(d);var h=x(d),b=p(h,!0);v(h),v(l),q(()=>{N(u,o(i).id),N(f,o(i).label),N(b,o(i).version)}),T(a,l)}),v(s),v(r),v(n),T(e,n),oe()}const Ey={name:"shards",summary:"List active shards.",async run(e){const t=e.shell.listShards();e.scrollback.push({kind:"rich",component:xy,props:{data:{shards:t}},ts:Date.now()})}};var Ty=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>'),Ay=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 Iy(e,t){ie(t,!0);var n=Ay(),r=p(n),s=x(p(r));pe(s,21,()=>t.data.views,a=>a.slotId,(a,i)=>{var l=Ty(),c=p(l),u=p(c,!0);v(c);var d=x(c),f=p(d,!0);v(d);var h=x(d),b=p(h,!0);v(h);var k=x(h),w=p(k);v(k),v(l),q(()=>{N(u,o(i).slotId),N(f,o(i).viewId),N(b,o(i).label)}),K("click",w,()=>t.data.onClose(o(i).slotId)),T(a,l)}),v(s),v(r),v(n),T(e,n),oe()}ge(["click"]);const Ry={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:Iy,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()})}},Cy={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()})}},Py={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()})}},Dy={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(a=>` ${a.floatId.padEnd(24)} ${a.viewId??"-"} ${a.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()})}},Oy={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 Ly=C('<tr><td class="svelte-1w7onag"> </td><td class="svelte-1w7onag"> </td></tr>'),My=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 jy(e,t){ie(t,!0);var n=My(),r=p(n),s=x(p(r));pe(s,21,()=>t.data.rows,a=>a.shardId,(a,i)=>{var l=Ly(),c=p(l),u=p(c,!0);v(c);var d=x(c),f=p(d,!0);v(d),v(l),q(h=>{N(u,o(i).shardId),N(f,h)},[()=>o(i).zones.join(", ")]),T(a,l)}),v(s),v(r),v(n),T(e,n),oe()}var Ny=C('<div class="shell-rich-zonetree svelte-13iiyr1"><pre class="svelte-13iiyr1"> </pre></div>');function zy(e,t){ie(t,!0);var n=Ny(),r=p(n),s=p(r,!0);v(r),v(n),q(a=>N(s,a),[()=>JSON.stringify(t.data.value,null,2)]),T(e,n),oe()}const $y={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:jy,props:{data:{rows:n}},ts:Date.now()})}},qy={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:zy,props:{data:{value:s}},ts:Date.now()})}};function By(e,t){if(t.startsWith("/"))return Vy(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 Vy(e){return e.split("/").filter(t=>t&&t!==".").join("/")}const Uy={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()})}},Fy={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=By(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(a){e.scrollback.push({kind:"status",text:`cd: ${a.message}`,level:"error",ts:Date.now()});return}e.session.cwd=s}},Hy={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 Ky=C('<tr><td class="svelte-1ox8vog"> </td><td class="svelte-1ox8vog"> </td></tr>'),Wy=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 Yy(e,t){ie(t,!0);var n=Wy(),r=p(n),s=x(p(r));pe(s,21,()=>Object.entries(t.data.env),([a,i])=>a,(a,i)=>{var l=X(()=>cl(o(i),2));let c=()=>o(l)[0],u=()=>o(l)[1];var d=Ky(),f=p(d),h=p(f,!0);v(f);var b=x(f),k=p(b,!0);v(b),v(d),q(()=>{N(h,c()),N(k,u())}),T(a,d)}),v(s),v(r),v(n),T(e,n),oe()}const Gy={name:"env",summary:"Show the session environment.",async run(e){const t=e.session.env;e.scrollback.push({kind:"rich",component:Yy,props:{data:{env:t}},ts:Date.now()})}},Xy={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()})}},Jy={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 Zy(e){e.registerVerb(cy()),e.registerVerb(uy),e.registerVerb(hy),e.registerVerb(yy),e.registerVerb(wy),e.registerVerb(Ey),e.registerVerb(Ry),e.registerVerb(Cy),e.registerVerb(Oy),e.registerVerb(Py),e.registerVerb(Dy),e.registerVerb($y),e.registerVerb(qy),e.registerVerb(Uy),e.registerVerb(Fy),e.registerVerb(Gy),e.registerVerb(Hy),e.registerVerb(Xy),e.registerVerb(Jy)}function Bu(e){return e.type==="tabs"?e.tabs.filter(t=>t.viewId!==null):e.type==="split"?e.children.flatMap(Bu):e.viewId!==null?[{slotId:e.slotId,viewId:e.viewId,label:e.viewId}]:[]}function Qy(e){return{listApps(){return Ri().map(t=>({id:t.id,label:t.label}))},getActiveApp(){const t=_u();return t?{id:t.id,label:t.label}:null},launchApp(t){Ir(t)},listShards(){return Array.from(Gt.values()).map(t=>({id:t.manifest.id,label:t.manifest.label,version:t.manifest.version}))},listViewsInCurrentLayout(){try{const{root:t}=Pu();return Bu(t.docked).map(n=>({slotId:n.slotId,viewId:n.viewId??"",label:n.label}))}catch{return[]}},openViewInCurrentLayout(t){try{if(Xs(t))return{ok:!0};const n=Mo().find(r=>r.viewId===t);if(n){const r=`standalone:${t}:${Date.now()}`;return Oi({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 Mo()},popoutSlot(t){try{const n=j_(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 N_(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)}}},listFloats(){return jt.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 Pi(t),{ok:!0}},listZones(t){return[]},readZone(t,n){return null},whoAmI(){return{userId:Vs()?.id??"guest",admin:on()}}}}const ew={manifest:_b,activate(e){if(!e.isAdmin)return;Zy(e);const t=Qy(),n={mount(r,s){const a=typeof location<"u"&&location.protocol==="https:"?"wss":"ws",i=typeof location<"u"?location.host:"localhost",l=`${a}://${i}/api/shell/session`,u=Vs()?.id??"guest",d=on()?"admin":"user",f=ze(ay,{target:r,props:{shell:t,wsUrl:l,userId:u,role:d}});return{unmount(){Fe(f)},closable:!0}}};e.registerView("shell:terminal",n)},autostart(){}},Bo=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 ga(e,t){const n=Object.keys(t),r=n.filter(i=>!Bo.has(i)),s=n.filter(i=>Bo.has(i)),a=[`const __m__ = globalThis.${e};`];r.length>0&&a.push(`export const { ${r.join(", ")} } = __m__;`);for(const i of s)a.push(`const __r_${i}__ = __m__['${i}']; export { __r_${i}__ as ${i} };`);return a.push("export default __m__.default;"),URL.createObjectURL(new Blob([a.join(`
13
- `)],{type:"application/javascript"}))}const Ni=globalThis;Ni.__sh3__=$u;Ni.__sh3_svelte__=Sc;Ni.__sh3_svelte_internal_client__=$c;const zi={"sh3-core":ga("__sh3__",$u),svelte:ga("__sh3_svelte__",Sc),"svelte/internal/client":ga("__sh3_svelte_internal_client__",$c)};zi["svelte/internal/disclose-version"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));zi["sh3-core/tokens.css"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));const tw=/(?:from|import)\s*(['"])(sh3-core(?:\/[^'"]*)?|svelte(?:\/[^'"]*)?)\1/g;function nw(e){return e.replace(tw,(t,n,r)=>{const s=zi[r];return s?`${t.startsWith("from")?"from":"import"} '${s}'`:t})}async function Fr(e){const t=new TextDecoder().decode(e),n=nw(t),r=new Blob([n],{type:"application/javascript"}),s=URL.createObjectURL(r);try{const a=await import(s),i={shards:[],apps:[]};for(const l of Object.values(a)){if(!l||typeof l!="object"||!("manifest"in l))continue;const c=l;rw(c)?i.shards.push(c):sw(c)&&i.apps.push(c)}if(i.shards.length===0&&i.apps.length===0)throw new Error('Bundle has no exports with a "manifest" property — expected at least one shard or app');return i}finally{URL.revokeObjectURL(s)}}function rw(e){return"activate"in e&&typeof e.activate=="function"&&Array.isArray(e.manifest.views)}function sw(e){return"initialLayout"in e&&Array.isArray(e.manifest.requiredShards)}const aw="sh3-packages",iw=1,Cr="bundles",tr="meta";function Hr(){return new Promise((e,t)=>{const n=indexedDB.open(aw,iw);n.onupgradeneeded=()=>{const r=n.result;r.objectStoreNames.contains(Cr)||r.createObjectStore(Cr),r.objectStoreNames.contains(tr)||r.createObjectStore(tr)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function Mn(e,t,n,r){return new Promise((s,a)=>{const l=e.transaction(t,n).objectStore(t),c=r(l);c.onsuccess=()=>s(c.result),c.onerror=()=>a(c.error)})}async function Vu(e,t,n){const r=await Hr();await Mn(r,Cr,"readwrite",s=>s.put(t,e)),await Mn(r,tr,"readwrite",s=>s.put(n,e)),r.close()}async function Uu(e){const t=await Hr(),n=await Mn(t,Cr,"readonly",r=>r.get(e));return t.close(),n??null}async function ow(e){const t=await Hr(),n=await Mn(t,tr,"readonly",r=>r.get(e));return t.close(),n??null}async function Fu(){const e=await Hr(),t=await Mn(e,tr,"readonly",n=>n.getAll());return e.close(),t??[]}async function lw(e){const t=await Hr();await Mn(t,Cr,"readwrite",n=>n.delete(e)),await Mn(t,tr,"readwrite",n=>n.delete(e)),t.close()}function $i(e,t){for(const n of e.shards)n.manifest={...n.manifest,version:t.version},Ai(n);for(const n of e.apps)n.manifest={...n.manifest,version:t.version},Ii(n)}const cw={"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 _a(e){return cw[e]??{title:e,description:"Unknown permission."}}function qi(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 Bi(e,t,n){if(!t.integrity)return{success:!1,hotLoaded:!1,error:"Missing integrity hash — refusing to install unverified bundle"};try{await Li(e,t.integrity)}catch(i){return{success:!1,hotLoaded:!1,error:`Integrity check failed: ${i instanceof Error?i.message:String(i)}`}}let r;if(n?.loaded)r=n.loaded;else try{r=await Fr(e)}catch(i){return{success:!1,hotLoaded:!1,error:`Failed to load bundle: ${i instanceof Error?i.message:String(i)}`}}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:qi(r)};try{await Vu(t.id,e,s)}catch(i){return{success:!1,hotLoaded:!1,error:`Failed to persist package: ${i instanceof Error?i.message:String(i)}`}}if(t.type==="shard"||t.type==="combo")try{Fs(t.id)}catch{}(t.type==="app"||t.type==="combo")&&Ci(t.id);let a=!0;try{$i(r,{version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion})}catch(i){console.warn(`[sh3] Package "${t.id}" installed but registration failed (will retry on next boot):`,i instanceof Error?i.message:i),a=!1}return{success:!0,package:s,hotLoaded:a}}async function Hu(e){try{Fs(e)}catch{}Ci(e),await lw(e)}async function uw(){return Fu()}async function dw(){let e;try{e=await Fu()}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 Uu(t.id);if(!n){console.warn(`[sh3] No bundle found for installed package "${t.id}", skipping`);continue}const r=await Fr(n);$i(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 Vo={version:1};var fw=C('<span class="perm-modal-author svelte-1ipp1r6"> </span>'),vw=C('<p class="perm-modal-empty svelte-1ipp1r6">This package requires no special permissions.</p>'),hw=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>'),pw=C('<p class="perm-modal-intro svelte-1ipp1r6">This package requests the following permissions:</p> <ul class="perm-modal-list svelte-1ipp1r6"></ul>',1),mw=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>'),gw=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),_w=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>'),bw=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),yw=C("<!> <!>",1),ww=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 Fa(e,t){ie(t,!0);const n=Wt(t,"permissions",19,()=>[]),r=Wt(t,"added",19,()=>[]),s=Wt(t,"removed",19,()=>[]),a=X(()=>t.mode==="install"?"Install":"Update");var i=ww(),l=p(i),c=p(l),u=p(c),d=p(u);v(u);var f=x(u,2),h=p(f);{var b=I=>{var L=Mt();q(()=>N(L,`${t.fromVersion??""} → ${t.pkg.version??""}`)),T(I,L)},k=I=>{var L=Mt();q(()=>N(L,`v${t.pkg.version??""}`)),T(I,L)};F(h,I=>{t.mode==="update"&&t.fromVersion?I(b):I(k,-1)})}var w=x(h,2);{var S=I=>{var L=fw(),P=p(L);v(L),q(()=>N(P,`by ${t.pkg.author??""}`)),T(I,L)};F(w,I=>{t.pkg.author&&I(S)})}v(f),v(c);var E=x(c,2),_=p(E);{var g=I=>{var L=at(),P=he(L);{var M=j=>{var $=vw();T(j,$)},z=j=>{var $=pw(),Y=x(he($),2);pe(Y,20,n,G=>G,(G,Q)=>{const J=X(()=>_a(Q));var te=hw(),ee=p(te),Z=p(ee,!0);v(ee);var ce=x(ee,2),ue=p(ce,!0);v(ce),v(te),q(()=>{N(Z,o(J).title),N(ue,o(J).description)}),T(G,te)}),v(Y),T(j,$)};F(P,j=>{n().length===0?j(M):j(z,-1)})}T(I,L)},A=I=>{var L=yw(),P=he(L);{var M=$=>{var Y=gw(),G=x(he(Y),2);pe(G,20,r,Q=>Q,(Q,J)=>{const te=X(()=>_a(J));var ee=mw(),Z=p(ee),ce=p(Z,!0);v(Z);var ue=x(Z,2),H=p(ue,!0);v(ue),v(ee),q(()=>{N(ce,o(te).title),N(H,o(te).description)}),T(Q,ee)}),v(G),T($,Y)};F(P,$=>{r().length>0&&$(M)})}var z=x(P,2);{var j=$=>{var Y=bw(),G=x(he(Y),2);pe(G,20,s,Q=>Q,(Q,J)=>{const te=X(()=>_a(J));var ee=_w(),Z=p(ee),ce=p(Z,!0);v(Z);var ue=x(Z,2),H=p(ue,!0);v(ue),v(ee),q(()=>{N(ce,o(te).title),N(H,o(te).description)}),T(Q,ee)}),v(G),T($,Y)};F(z,$=>{s().length>0&&$(j)})}T(I,L)};F(_,I=>{t.mode==="install"?I(g):I(A,-1)})}v(E);var D=x(E,2),R=p(D),m=x(R,2),O=p(m,!0);v(m),v(D),v(l),v(i),q(()=>{Se(i,"aria-label",`${o(a)??""} ${t.pkg.label??""}`),N(d,`${o(a)??""} ${t.pkg.label??""}`),N(O,o(a))}),K("click",i,function(...I){t.onCancel?.apply(this,I)}),K("keydown",i,I=>{I.key==="Escape"&&t.onCancel()}),K("click",l,I=>I.stopPropagation()),K("click",R,function(...I){t.onCancel?.apply(this,I)}),K("click",m,function(...I){t.onConfirm?.apply(this,I)}),T(e,i),oe()}ge(["click","keydown"]);var kw=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>'),Sw=C('<div class="store-registries svelte-1aafzt0"></div>'),xw=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>'),Ew=C('<div class="store-error svelte-1aafzt0"> </div>'),Tw=C('<div class="store-error svelte-1aafzt0"> </div>'),Aw=C('<img alt="" class="store-icon-img svelte-1aafzt0"/>'),Iw=C('<span class="store-icon-placeholder svelte-1aafzt0"> </span>'),Rw=C('<div class="store-card-warning svelte-1aafzt0"> </div>'),Cw=C('<button class="store-update-btn svelte-1aafzt0"> </button>'),Pw=C('<span class="store-installed-label svelte-1aafzt0">Installed</span>'),Dw=C('<span class="store-card-missing svelte-1aafzt0"> </span>'),Ow=C('<div class="store-install-wrap svelte-1aafzt0"><button class="store-install-btn svelte-1aafzt0"> </button> <!></div>'),Lw=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>'),Mw=C("No packages found. <!>",1),jw=C('<div class="store-empty svelte-1aafzt0"><!></div>'),Nw=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 zw(e,t){ie(t,!0);let n=B(""),r=B("all"),s=B(me(new Set)),a=B(me(new Set)),i=B(null),l=B(""),c=B(null),u=B(null);const d=pn;async function f(){const V=o(l).trim();if(V&&!d.env.registries.includes(V))try{await d.addRegistry(V),y(l,""),d.refreshCatalog(),d.refreshInstalled()}catch(U){y(i,U instanceof Error?U.message:String(U),!0)}}async function h(V){try{await d.removeRegistry(V),d.refreshCatalog()}catch(U){y(i,U instanceof Error?U.message:String(U),!0)}}const b=X(()=>{const V=o(n).toLowerCase().trim();return d.state.ephemeral.catalog.filter(U=>o(r)!=="all"&&U.entry.type!==o(r)?!1:V?U.entry.id.toLowerCase().includes(V)||U.entry.label.toLowerCase().includes(V)||U.entry.description.toLowerCase().includes(V):!0)});function k(V){return d.state.ephemeral.installed.some(U=>U.id===V)}function w(V){return String(V.latest.contractVersion)!==String(Vo.version)}function S(V){return V in d.state.ephemeral.updatable}function E(V){return d.state.ephemeral.installed.find(U=>U.id===V)?.version??""}function _(V,U){const ye=V.latest.requires?.map(ve=>ve.id)??[];if(ye.length===0)return[];const Ce=new Set(zu);for(const ve of U)(ve.type==="shard"||ve.type==="combo")&&Ce.add(ve.id);return ye.filter(ve=>!Ce.has(ve))}async function g(V){if(!o(a).has(V)){y(a,new Set([...o(a),V]),!0),y(i,null);try{await d.updatePackage(V,(U,ye)=>new Promise(Ce=>{const ve=d.state.ephemeral.updatable[V],Ne=d.state.ephemeral.installed.find(Ye=>Ye.id===V);if(!ve||!Ne){Ce(!0);return}y(u,{pkg:ve,fromVersion:Ne.version,added:U,removed:ye,resolve:Ce},!0)}))}catch(U){y(i,U instanceof Error?U.message:String(U),!0)}finally{const U=new Set(o(a));U.delete(V),y(a,U,!0)}}}function A(){const V=o(u);V&&(y(u,null),V.resolve(!0))}function D(){const V=o(u);V&&(y(u,null),V.resolve(!1))}async function R(V){const U=V.entry.id;if(!o(s).has(U)){y(s,new Set([...o(s),U]),!0),y(i,null);try{const ye=await Zs(V.latest,V.sourceRegistry),Ce=Qs(V,V.latest),ve=await Fr(ye),Ne=qi(ve);let Ye;V.latest.serverBundleUrl&&(Ye=await Mi(V.latest,V.sourceRegistry)),y(c,{pkg:V,permissions:Ne,loaded:ve,bundle:ye,meta:Ce,serverBundle:Ye},!0)}catch(ye){y(i,ye instanceof Error?ye.message:String(ye),!0);const Ce=new Set(o(s));Ce.delete(U),y(s,Ce,!0)}}}async function m(){const V=o(c);if(!V)return;y(c,null);const{pkg:U,loaded:ye,bundle:Ce,meta:ve,serverBundle:Ne}=V,Ye=U.entry.id;try{const Be={id:ve.id,type:ve.type,label:U.entry.label,version:ve.version,contractVersion:ve.contractVersion,sourceRegistry:ve.sourceRegistry,requiredShards:U.latest.requires?.map(kt=>kt.id)??[],installedAt:new Date().toISOString()},cn=await Ei(Be,Ce,Ne);if(!cn.ok){y(i,cn.error??"Server install failed",!0);return}const un=await Bi(Ce,ve,{loaded:ye});un.success||console.warn(`[sh3-store] Server install ok but local hot-load failed: ${un.error}`),await d.refreshInstalled()}catch(Be){y(i,Be instanceof Error?Be.message:String(Be),!0)}finally{const Be=new Set(o(s));Be.delete(Ye),y(s,Be,!0)}}function O(){if(!o(c))return;const V=o(c).pkg.entry.id;y(c,null);const U=new Set(o(s));U.delete(V),y(s,U,!0)}function I(){d.refreshCatalog(),d.refreshInstalled()}var L=Nw(),P=he(L),M=p(P),z=x(p(M),2),j=p(z);Ee(j);var $=x(j,2),Y=p($);Y.value=Y.__value="all";var G=x(Y);G.value=G.__value="shard";var Q=x(G);Q.value=Q.__value="app",v($);var J=x($,2),te=p(J,!0);v(J),v(z),v(M);var ee=x(M,2);{var Z=V=>{var U=Sw();pe(U,21,()=>d.env.registries,On,(ye,Ce)=>{var ve=kw(),Ne=p(ve),Ye=p(Ne,!0);v(Ne);var Be=x(Ne,2);v(ve),q(()=>N(Ye,o(Ce))),K("click",Be,()=>h(o(Ce))),T(ye,ve)}),v(U),T(V,U)};F(ee,V=>{d.isAdmin&&d.env.registries.length>0&&V(Z)})}var ce=x(ee,2);{var ue=V=>{var U=xw(),ye=p(U);Ee(ye);var Ce=x(ye,2);v(U),q(ve=>Ce.disabled=ve,[()=>!o(l).trim()]),ct("submit",U,ve=>{ve.preventDefault(),f()}),je(ye,()=>o(l),ve=>y(l,ve)),T(V,U)};F(ce,V=>{d.isAdmin&&V(ue)})}var H=x(ce,2);{var se=V=>{var U=Ew(),ye=p(U,!0);v(U),q(()=>N(ye,d.state.ephemeral.error)),T(V,U)};F(H,V=>{d.state.ephemeral.error&&V(se)})}var fe=x(H,2);{var Ke=V=>{var U=Tw(),ye=p(U,!0);v(U),q(()=>N(ye,o(i))),T(V,U)};F(fe,V=>{o(i)&&V(Ke)})}var Te=x(fe,2);pe(Te,21,()=>o(b),V=>V.entry.id,(V,U)=>{const ye=X(()=>k(o(U).entry.id)),Ce=X(()=>w(o(U))),ve=X(()=>o(s).has(o(U).entry.id)),Ne=X(()=>S(o(U).entry.id)),Ye=X(()=>o(a).has(o(U).entry.id)),Be=X(()=>_(o(U),d.state.ephemeral.installed));var cn=Lw(),un=p(cn),kt=p(un),cr=p(kt);{var td=Le=>{var Pe=Aw();q(()=>Se(Pe,"src",o(U).entry.icon)),T(Le,Pe)},nd=Le=>{var Pe=Iw(),St=p(Pe,!0);v(Pe),q(()=>N(St,o(U).entry.type==="shard"?"S":"A")),T(Le,Pe)};F(cr,Le=>{o(U).entry.icon?Le(td):Le(nd,-1)})}v(kt);var Hi=x(kt,2),ta=p(Hi),rd=p(ta,!0);v(ta);var Yr=x(ta,2);let Ki;var sd=p(Yr,!0);v(Yr);var Wi=x(Yr,2),ad=p(Wi,!0);v(Wi),v(Hi),v(un);var na=x(un,2),id=p(na,!0);v(na);var ra=x(na,2),od=p(ra,!0);v(ra);var Yi=x(ra,2);{var ld=Le=>{var Pe=Rw(),St=p(Pe);v(Pe),q(()=>N(St,`Contract mismatch: package targets v${o(U).latest.contractVersion??""}, running v${Vo.version}`)),T(Le,Pe)};F(Yi,Le=>{o(Ce)&&Le(ld)})}var Gi=x(Yi,2),cd=p(Gi);{var ud=Le=>{var Pe=Cw(),St=p(Pe,!0);v(Pe),q(sa=>{Pe.disabled=o(Ye),N(St,sa)},[()=>o(Ye)?"Updating...":`Update ${E(o(U).entry.id)} -> ${o(U).latest.version}`]),K("click",Pe,()=>g(o(U).entry.id)),T(Le,Pe)},dd=Le=>{var Pe=Pw();T(Le,Pe)},fd=Le=>{var Pe=Ow(),St=p(Pe),sa=p(St,!0);v(St);var vd=x(St,2);{var hd=ur=>{var aa=Dw(),pd=p(aa);v(aa),q(md=>N(pd,`requires: ${md??""}`),[()=>o(Be).join(", ")]),T(ur,aa)};F(vd,ur=>{o(Be).length>0&&ur(hd)})}v(Pe),q(ur=>{St.disabled=o(ve)||o(Be).length>0,Se(St,"title",ur),N(sa,o(ve)?"Installing...":"Install")},[()=>o(Be).length>0?`Missing required shards: ${o(Be).join(", ")}`:void 0]),K("click",St,()=>R(o(U))),T(Le,Pe)};F(cd,Le=>{o(ye)&&o(Ne)?Le(ud):o(ye)?Le(dd,1):Le(fd,-1)})}v(Gi),v(cn),q(()=>{N(rd,o(U).entry.label),Ki=we(Yr,1,"store-card-badge svelte-1aafzt0",null,Ki,{"badge-shard":o(U).entry.type==="shard","badge-app":o(U).entry.type==="app"}),N(sd,o(U).entry.type),N(ad,o(U).latest.version),N(id,o(U).entry.description),N(od,o(U).entry.author.name)}),T(V,cn)}),v(Te);var nt=x(Te,2);{var We=V=>{var U=jw(),ye=p(U);{var Ce=Ne=>{var Ye=Mw(),Be=x(he(Ye));{var cn=kt=>{var cr=Mt("Add a registry URL above to get started.");T(kt,cr)},un=kt=>{var cr=Mt("No registries configured.");T(kt,cr)};F(Be,kt=>{d.isAdmin?kt(cn):kt(un,-1)})}T(Ne,Ye)},ve=Ne=>{var Ye=Mt("No packages match the current filter.");T(Ne,Ye)};F(ye,Ne=>{d.env.registries.length===0?Ne(Ce):Ne(ve,-1)})}v(U),T(V,U)};F(nt,V=>{!d.state.ephemeral.loading&&o(b).length===0&&V(We)})}v(P);var Kr=x(P,2);{var bn=V=>{{let U=X(()=>({label:o(c).pkg.entry.label,version:o(c).pkg.latest.version,author:o(c).pkg.entry.author.name}));Fa(V,{mode:"install",get pkg(){return o(U)},get permissions(){return o(c).permissions},onConfirm:m,onCancel:O})}};F(Kr,V=>{o(c)&&V(bn)})}var ea=x(Kr,2);{var Wr=V=>{{let U=X(()=>({label:o(u).pkg.entry.label,version:o(u).pkg.latest.version,author:o(u).pkg.entry.author.name}));Fa(V,{mode:"update",get pkg(){return o(U)},get fromVersion(){return o(u).fromVersion},get added(){return o(u).added},get removed(){return o(u).removed},onConfirm:A,onCancel:D})}};F(ea,V=>{o(u)&&V(Wr)})}q(()=>{J.disabled=d.state.ephemeral.loading,N(te,d.state.ephemeral.loading?"Loading...":"Refresh")}),je(j,()=>o(n),V=>y(n,V)),Er($,()=>o(r),V=>y(r,V)),K("click",J,I),T(e,L),oe()}ge(["click"]);var $w=C('<div class="installed-error svelte-1hqclkp"> </div>'),qw=C('<div class="installed-empty svelte-1hqclkp">No packages installed.</div>'),Bw=C('<button class="installed-update-btn svelte-1hqclkp"> </button>'),Vw=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>'),Uw=C('<ul class="installed-list svelte-1hqclkp"></ul>'),Fw=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 Hw(e,t){ie(t,!0);const n=pn;let r=B(me(new Set)),s=B(me(new Set)),a=B(null),i=B(null);async function l(m){if(!o(r).has(m)){y(r,new Set([...o(r),m]),!0);try{await ou(m),await Hu(m),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(m),y(r,O,!0)}}}async function c(m){if(!o(s).has(m)){y(s,new Set([...o(s),m]),!0),y(a,null);try{await n.updatePackage(m,(O,I)=>new Promise(L=>{const P=n.state.ephemeral.installed.find(z=>z.id===m),M=n.state.ephemeral.updatable[m];if(!P||!M){L(!0);return}y(i,{pkg:P,toVersion:M.latest.version,added:O,removed:I,resolve:L},!0)}))}catch(O){y(a,O instanceof Error?O.message:String(O),!0)}finally{const O=new Set(o(s));O.delete(m),y(s,O,!0)}}}function u(){const m=o(i);m&&(y(i,null),m.resolve(!0))}function d(){const m=o(i);m&&(y(i,null),m.resolve(!1))}function f(){n.refreshInstalled()}function h(m){try{return new Date(m).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return m}}var b=Fw(),k=p(b),w=x(p(k),2);v(k);var S=x(k,2);{var E=m=>{var O=$w(),I=p(O,!0);v(O),q(()=>N(I,o(a))),T(m,O)};F(S,m=>{o(a)&&m(E)})}var _=x(S,2);{var g=m=>{var O=qw();T(m,O)},A=m=>{var O=Uw();pe(O,21,()=>n.state.ephemeral.installed,I=>I.id,(I,L)=>{const P=X(()=>o(r).has(o(L).id));var M=Vw(),z=p(M),j=p(z),$=p(j,!0);v(j);var Y=x(j,2);let G;var Q=p(Y,!0);v(Y);var J=x(Y,2),te=p(J,!0);v(J),v(z);var ee=x(z,2),Z=p(ee),ce=p(Z);v(Z);var ue=x(Z,2),H=p(ue);v(ue);var se=x(ue,2),fe=p(se);v(se),v(ee);var Ke=x(ee,2),Te=p(Ke);{var nt=bn=>{const ea=X(()=>n.state.ephemeral.updatable[o(L).id]),Wr=X(()=>o(s).has(o(L).id));var V=Bw(),U=p(V,!0);v(V),q(()=>{V.disabled=o(Wr)||o(P),N(U,o(Wr)?"Updating...":`Update -> ${o(ea).latest.version}`)}),K("click",V,()=>c(o(L).id)),T(bn,V)};F(Te,bn=>{o(L).id in n.state.ephemeral.updatable&&bn(nt)})}var We=x(Te,2),Kr=p(We,!0);v(We),v(Ke),v(M),q(bn=>{N($,o(L).id),G=we(Y,1,"installed-item-badge svelte-1hqclkp",null,G,{"badge-shard":o(L).type==="shard","badge-app":o(L).type==="app"}),N(Q,o(L).type),N(te,o(L).version),N(ce,`Contract: v${o(L).contractVersion??""}`),N(H,`Source: ${o(L).sourceRegistry??""}`),N(fe,`Installed: ${bn??""}`),We.disabled=o(P),N(Kr,o(P)?"Removing...":"Uninstall")},[()=>h(o(L).installedAt)]),K("click",We,()=>l(o(L).id)),T(I,M)}),v(O),T(m,O)};F(_,m=>{n.state.ephemeral.installed.length===0?m(g):m(A,-1)})}var D=x(_,2);{var R=m=>{{let O=X(()=>({label:o(i).pkg.id,version:o(i).toVersion}));Fa(m,{mode:"update",get pkg(){return o(O)},get fromVersion(){return o(i).pkg.version},get added(){return o(i).added},get removed(){return o(i).removed},onConfirm:u,onCancel:d})}};F(D,m=>{o(i)&&m(R)})}v(b),K("click",w,f),T(e,b),oe()}ge(["click"]);function Ku(e){return pn.state.ephemeral.catalog.find(t=>t.entry.id===e)}function Vi(e){return pn.state.ephemeral.installed.find(t=>t.id===e)}const Kw={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=Vi(n);if(r){e.scrollback.push({kind:"status",text:`${n} is already installed (v${r.version})`,level:"warn",ts:Date.now()});return}const s=Ku(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 a=await Zs(s.latest,s.sourceRegistry),i=Qs(s,s.latest);let l;s.latest.serverBundleUrl&&(l=await Mi(s.latest,s.sourceRegistry));const c={id:i.id,type:i.type,label:s.entry.label,version:i.version,contractVersion:i.contractVersion,sourceRegistry:i.sourceRegistry,installedAt:new Date().toISOString(),requiredShards:s.latest.requires?.map(f=>f.id)??[]},u=await Ei(c,a,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(b=>b.id).join(", ")}`),e.scrollback.push({kind:"status",text:f,level:"error",ts:Date.now()});return}const d=await Bi(a,i);d.success||e.scrollback.push({kind:"status",text:`server ok but local hot-load failed: ${d.error}`,level:"warn",ts:Date.now()}),await pn.refreshInstalled(),e.scrollback.push({kind:"status",text:`installed ${n} v${s.latest.version}`,level:"info",ts:Date.now()})}catch(a){e.scrollback.push({kind:"status",text:`install failed: ${a instanceof Error?a.message:String(a)}`,level:"error",ts:Date.now()})}}},Ww={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(!Vi(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 ou(n),await Hu(n),await pn.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()})}}},Yw={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=Vi(n),s=Ku(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 a=[];a.push(`--- ${n} ---`),r?(a.push(" installed: yes"),a.push(` version: ${r.version}`),a.push(` type: ${r.type}`),a.push(` contract: v${r.contractVersion}`),a.push(` source: ${r.sourceRegistry}`),r.installedAt&&a.push(` installed: ${r.installedAt}`)):a.push(" installed: no"),s?(a.push(" catalog: yes"),a.push(` latest: ${s.latest.version}`),a.push(` label: ${s.entry.label}`),a.push(` author: ${s.entry.author.name}`),a.push(` desc: ${s.entry.description}`)):a.push(" catalog: no (not in any configured registry)"),e.scrollback.push({kind:"text",stream:"stdout",chunks:[a.join(`
14
- `)+`
15
- `],ts:Date.now()})}};function Gw(e,t){const n=e.split(".").map(a=>parseInt(a,10)||0),r=t.split(".").map(a=>parseInt(a,10)||0),s=Math.max(n.length,r.length);for(let a=0;a<s;a++){const i=n[a]??0,l=r[a]??0;if(i>l)return!0;if(i<l)return!1}return!1}function Xw(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 pn;const Jw={manifest:{id:"sh3-store",label:"Package Store",version:ln,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 h of n.ephemeral.installed){const b=n.ephemeral.catalog.find(k=>k.entry.id===h.id);b&&Gw(b.latest.version,h.version)&&(f[h.id]=b)}n.ephemeral.updatable=f}async function s(){n.ephemeral.loading=!0,n.ephemeral.error=null;try{const f=await ju(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 a(){try{const f=await Qg();n.ephemeral.installed=f.map(h=>({id:h.id,type:h.type,version:h.version,sourceRegistry:h.sourceRegistry??"",contractVersion:h.contractVersion??"",installedAt:h.installedAt??"",permissions:[]})),r()}catch(f){console.warn("[sh3-store] Failed to list installed packages:",f instanceof Error?f.message:f);try{const h=await uw();n.ephemeral.installed=h,r()}catch{}}}async function i(f){const h=[...t.registries];h.includes(f)||(h.push(f),await e.envUpdate({registries:h}))}async function l(f){const h=t.registries.filter(b=>b!==f);await e.envUpdate({registries:h})}async function c(f,h){const b=n.ephemeral.updatable[f];if(!b)return;const k=n.ephemeral.installed.find(M=>M.id===f);if(!k)return;const w=await Zs(b.latest,b.sourceRegistry);let S;b.latest.serverBundleUrl&&(S=await Mi(b.latest,b.sourceRegistry));const E=Qs(b,b.latest),_=await Fr(w),g=qi(_);let A=[];try{const M=await ow(f);M?.permissions&&(A=M.permissions)}catch{}const{added:D,removed:R}=Xw(A,g);if((D.length>0||R.length>0)&&h&&!await h(D,R))return;const m=await Uu(f),O={...k,permissions:A},I={id:E.id,type:E.type,label:b.entry.label,version:E.version,contractVersion:E.contractVersion,sourceRegistry:E.sourceRegistry,installedAt:new Date().toISOString(),requiredShards:b.latest.requires?.map(M=>M.id)??[]},L=await Ei(I,w,S);if(!L.ok){let M=L.error??"Server update failed";throw L.code==="missing-shards"&&L.missing&&(M=`missing required shard(s): ${L.missing.map(j=>j.id).join(", ")}`),new Error(M)}const P=await Bi(w,E,{loaded:_});if(!P.success){if(m)try{await Vu(f,m,O)}catch(M){console.warn(`[sh3-store] Rollback failed for "${f}":`,M instanceof Error?M.message:M)}throw new Error(P.error??"Local install failed during update")}await a()}pn={env:t,state:n,get isAdmin(){return e.isAdmin},refreshCatalog:s,refreshInstalled:a,updatePackage:c,addRegistry:i,removeRegistry:l};const u={mount(f,h){const b=ze(zw,{target:f});return{unmount(){Fe(b)}}}},d={mount(f,h){const b=ze(Hw,{target:f});return{unmount(){Fe(b)}}}};e.registerView("sh3-store:browse",u),e.registerView("sh3-store:installed",d),e.registerVerb(Kw),e.registerVerb(Ww),e.registerVerb(Yw),a()},autostart(){pn.refreshCatalog()}},Zw={manifest:{id:"sh3-store-app",label:"Package Store",version:ln,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 Qw=C('<div class="admin-error svelte-4q792t"> </div>'),e1=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>'),t1=C('<p class="admin-muted svelte-4q792t">Loading...</p>'),n1=C('<p class="admin-error svelte-4q792t"> </p>'),r1=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>'),s1=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),a1=C('<li class="admin-user-item svelte-4q792t"><!></li>'),i1=C('<ul class="admin-user-list svelte-4q792t"></ul>'),o1=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 l1(e,t){ie(t,!0);let n=B(me([])),r=B(!0),s=B(null),a=B(!1),i=B(""),l=B(""),c=B(""),u=B("user"),d=B(null),f=B(null),h=B(""),b=B("user"),k=B("");async function w(){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 S(){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(i),displayName:o(l)||o(i),password:o(c),role:o(u)})});if(!j.ok){const $=await j.json().catch(()=>({}));y(d,$.error||"Failed to create user",!0);return}y(i,""),y(l,""),y(c,""),y(u,"user"),y(a,!1),await w()}catch{y(d,"Network error")}}function E(j){y(f,j.id,!0),y(h,j.displayName,!0),y(b,j.role,!0),y(k,"")}async function _(){if(!o(f))return;const j={displayName:o(h),role:o(b)};o(k).trim()&&(j.password=o(k));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 w()}catch{}}async function g(j){try{await fetch(`/api/admin/users/${j}`,{method:"DELETE",credentials:"include"}),await w()}catch{}}w();var A=o1(),D=p(A),R=x(p(D),2),m=p(R,!0);v(R),v(D);var O=x(D,2);{var I=j=>{var $=e1(),Y=p($);Ee(Y);var G=x(Y,2);Ee(G);var Q=x(G,2);Ee(Q);var J=x(Q,2),te=p(J);te.value=te.__value="user";var ee=x(te);ee.value=ee.__value="admin",v(J);var Z=x(J,2),ce=x(Z,2);{var ue=H=>{var se=Qw(),fe=p(se,!0);v(se),q(()=>N(fe,o(d))),T(H,se)};F(ce,H=>{o(d)&&H(ue)})}v($),q(H=>Z.disabled=H,[()=>!o(i).trim()||!o(c).trim()]),ct("submit",$,H=>{H.preventDefault(),S()}),je(Y,()=>o(i),H=>y(i,H)),je(G,()=>o(l),H=>y(l,H)),je(Q,()=>o(c),H=>y(c,H)),Er(J,()=>o(u),H=>y(u,H)),T(j,$)};F(O,j=>{o(a)&&j(I)})}var L=x(O,2);{var P=j=>{var $=t1();T(j,$)},M=j=>{var $=n1(),Y=p($,!0);v($),q(()=>N(Y,o(s))),T(j,$)},z=j=>{var $=i1();pe($,21,()=>o(n),Y=>Y.id,(Y,G)=>{var Q=a1(),J=p(Q);{var te=Z=>{var ce=r1(),ue=p(ce);Ee(ue);var H=x(ue,2);Ee(H);var se=x(H,2),fe=p(se);fe.value=fe.__value="user";var Ke=x(fe);Ke.value=Ke.__value="admin",v(se);var Te=x(se,2),nt=x(p(Te),2);v(Te),v(ce),ct("submit",ce,We=>{We.preventDefault(),_()}),je(ue,()=>o(h),We=>y(h,We)),je(H,()=>o(k),We=>y(k,We)),Er(se,()=>o(b),We=>y(b,We)),K("click",nt,()=>{y(f,null)}),T(Z,ce)},ee=Z=>{var ce=s1(),ue=he(ce),H=p(ue),se=p(H,!0);v(H);var fe=x(H,2),Ke=p(fe);v(fe),v(ue);var Te=x(ue,2),nt=p(Te),We=x(nt,2);v(Te),q(()=>{N(se,o(G).displayName),N(Ke,`${o(G).username??""} · ${o(G).role??""}`)}),K("click",nt,()=>E(o(G))),K("click",We,()=>g(o(G).id)),T(Z,ce)};F(J,Z=>{o(f)===o(G).id?Z(te):Z(ee,-1)})}v(Q),T(Y,Q)}),v($),T(j,$)};F(L,j=>{o(r)?j(P):o(s)?j(M,1):j(z,-1)})}v(A),q(()=>N(m,o(a)?"Cancel":"New user")),K("click",R,()=>{y(a,!o(a))}),T(e,A),oe()}ge(["click"]);var c1=C('<p class="admin-muted svelte-1hsgdb4">Loading...</p>'),u1=C('<div class="admin-error svelte-1hsgdb4"> </div>'),d1=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),f1=C('<div class="admin-auth svelte-1hsgdb4"><h2 class="svelte-1hsgdb4">Auth Settings</h2> <!></div>');function v1(e,t){ie(t,!0);let n=B(null),r=B(!0),s=B(!1),a=B(null);async function i(){y(r,!0);try{const h=await fetch("/api/admin/settings",{credentials:"include"});if(!h.ok)throw new Error("Failed to fetch settings");y(n,await h.json(),!0)}catch(h){y(a,h instanceof Error?h.message:"Failed to load settings",!0)}finally{y(r,!1)}}async function l(){if(o(n)){y(s,!0),y(a,null);try{const h=await fetch("/api/admin/settings",{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(o(n))});if(!h.ok)throw new Error("Failed to save settings");y(n,await h.json(),!0)}catch(h){y(a,h instanceof Error?h.message:"Failed to save",!0)}finally{y(s,!1)}}}i();var c=f1(),u=x(p(c),2);{var d=h=>{var b=c1();T(h,b)},f=h=>{var b=d1(),k=he(b),w=p(k),S=p(w);Ee(S),tn(4),v(w);var E=x(w,2),_=p(E);Ee(_),tn(4),v(E);var g=x(E,2),A=p(g);Ee(A),tn(4),v(g);var D=x(g,2),R=x(p(D),2);Ee(R),v(D);var m=x(D,2),O=p(m,!0);v(m),v(k);var I=x(k,2);{var L=P=>{var M=u1(),z=p(M,!0);v(M),q(()=>N(z,o(a))),T(P,M)};F(I,P=>{o(a)&&P(L)})}q(()=>{m.disabled=o(s),N(O,o(s)?"Saving...":"Save")}),rs(S,()=>o(n).auth.required,P=>o(n).auth.required=P),rs(_,()=>o(n).auth.guestAllowed,P=>o(n).auth.guestAllowed=P),rs(A,()=>o(n).auth.selfRegistration,P=>o(n).auth.selfRegistration=P),je(R,()=>o(n).auth.sessionTTL,P=>o(n).auth.sessionTTL=P),K("click",m,l),T(h,b)};F(u,h=>{o(r)?h(d):o(n)&&h(f,1)})}v(c),T(e,c),oe()}ge(["click"]);var h1=C('<button type="button"> </button>'),p1=C('<div class="admin-error svelte-1gkiloq"> </div>'),m1=C('<div class="admin-error svelte-1gkiloq"> </div>'),g1=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 _1(e,t){ie(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=B("..."),s=B(!1),a=B(null),i=B(31536e3),l=B(31536e3),c=B(!1),u=B(null);const d=X(()=>o(i)!==o(l)),f=X(()=>h(o(i)));function h(H){return H===0?"0 seconds (off — browsers never cache)":H<60?`${H} seconds`:H<3600?`${Math.round(H/60)} minutes`:H<86400?`${Math.round(H/3600)} hours`:H<31536e3?`${Math.round(H/86400)} days`:`${Math.round(H/31536e3)} years`}async function b(){try{const H=await fetch("/api/version");if(H.ok){const se=await H.json();y(r,se.version,!0)}}catch{}}async function k(){try{const H=await fetch("/api/admin/settings",{credentials:"include"});if(H.ok){const fe=(await H.json()).packages?.cacheMaxAge??31536e3;y(i,fe,!0),y(l,fe,!0)}}catch{}}async function w(){y(c,!0),y(u,null);try{const H=await fetch("/api/admin/settings",{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({packages:{cacheMaxAge:o(i)}})});if(H.ok){const se=await H.json();y(l,se.packages?.cacheMaxAge??o(i),!0),y(i,o(l),!0)}else{const se=await H.json().catch(()=>({}));y(u,se.error||"Save failed",!0)}}catch{y(u,"Network error")}finally{y(c,!1)}}async function S(){y(s,!0),y(a,null);try{const H=await fetch("/api/admin/restart",{method:"POST",credentials:"include"});if(!H.ok){const se=await H.json().catch(()=>({}));y(a,se.error||"Restart failed",!0),y(s,!1)}}catch{y(a,"Network error"),y(s,!1)}}b(),k();var E=g1(),_=x(p(E),2),g=p(_),A=x(p(g),2),D=p(A,!0);v(A),v(g),v(_);var R=x(_,2),m=x(p(R),4);Ee(m);var O=x(m,2),I=p(O),L=p(I,!0);v(I);var P=x(I);v(O);var M=x(O,2);pe(M,21,()=>n,H=>H.value,(H,se)=>{var fe=h1();let Ke;var Te=p(fe,!0);v(fe),q(()=>{Ke=we(fe,1,"admin-snap svelte-1gkiloq",null,Ke,{active:o(i)===o(se).value}),fe.disabled=o(c),N(Te,o(se).label)}),K("click",fe,()=>y(i,o(se).value,!0)),T(H,fe)}),v(M);var z=x(M,2),j=p(z),$=p(j,!0);v(j);var Y=x(j,2),G=x(Y,2);{var Q=H=>{var se=p1(),fe=p(se,!0);v(se),q(()=>N(fe,o(u))),T(H,se)};F(G,H=>{o(u)&&H(Q)})}v(z),v(R);var J=x(R,2),te=x(p(J),2),ee=p(te),Z=p(ee,!0);v(ee);var ce=x(ee,2);{var ue=H=>{var se=m1(),fe=p(se,!0);v(se),q(()=>N(fe,o(a))),T(H,se)};F(ce,H=>{o(a)&&H(ue)})}v(te),v(J),v(E),q(()=>{N(D,o(r)),m.disabled=o(c),N(L,o(i)),N(P,` — ${o(f)??""}`),j.disabled=!o(d)||o(c),N($,o(c)?"Saving...":"Save"),Y.disabled=!o(d)||o(c),ee.disabled=o(s),N(Z,o(s)?"Restarting...":"Restart server")}),je(m,()=>o(i),H=>y(i,H)),K("click",j,w),K("click",Y,()=>y(i,o(l),!0)),K("click",ee,S),T(e,E),oe()}ge(["click"]);var b1=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>`),y1=C('<div class="admin-error svelte-1afg5z5"> </div>'),w1=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>'),k1=C('<p class="admin-muted svelte-1afg5z5">Loading...</p>'),S1=C('<p class="admin-error svelte-1afg5z5"> </p>'),x1=C('<p class="admin-muted svelte-1afg5z5">No API keys. Create one to enable external access.</p>'),E1=C('<button type="button" class="admin-btn-danger svelte-1afg5z5">Confirm</button> <button type="button" class="admin-btn-secondary svelte-1afg5z5">Cancel</button>',1),T1=C('<button type="button" class="admin-btn-danger svelte-1afg5z5">Revoke</button>'),A1=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>'),I1=C('<ul class="admin-key-list svelte-1afg5z5"></ul>'),R1=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 C1(e,t){ie(t,!0);let n=B(me([])),r=B(!0),s=B(null),a=B(!1),i=B(""),l=B(null),c=B(null),u=B(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(i)})});if(!P.ok){const z=await P.json().catch(()=>({}));y(l,z.error||"Failed to create key",!0);return}const M=await P.json();y(c,{id:M.id,key:M.key},!0),y(i,""),y(a,!1),await d()}catch{y(l,"Network error")}}async function h(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 b(P){return new Date(P).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}d();var k=R1(),w=p(k),S=x(p(w),2),E=p(S,!0);v(S),v(w);var _=x(w,2);{var g=P=>{var M=b1(),z=x(p(M),2),j=p(z,!0);v(z);var $=x(z,2);v(M),q(()=>N(j,o(c).key)),K("click",$,()=>{y(c,null)}),T(P,M)};F(_,P=>{o(c)&&P(g)})}var A=x(_,2);{var D=P=>{var M=w1(),z=p(M);Ee(z);var j=x(z,2),$=x(j,2);{var Y=G=>{var Q=y1(),J=p(Q,!0);v(Q),q(()=>N(J,o(l))),T(G,Q)};F($,G=>{o(l)&&G(Y)})}v(M),q(G=>j.disabled=G,[()=>!o(i).trim()]),ct("submit",M,G=>{G.preventDefault(),f()}),je(z,()=>o(i),G=>y(i,G)),T(P,M)};F(A,P=>{o(a)&&P(D)})}var R=x(A,2);{var m=P=>{var M=k1();T(P,M)},O=P=>{var M=S1(),z=p(M,!0);v(M),q(()=>N(z,o(s))),T(P,M)},I=P=>{var M=x1();T(P,M)},L=P=>{var M=I1();pe(M,21,()=>o(n),z=>z.id,(z,j)=>{var $=A1(),Y=p($),G=p(Y),Q=p(G,!0);v(G);var J=x(G,2),te=p(J);v(J),v(Y);var ee=x(Y,2),Z=p(ee);{var ce=H=>{var se=E1(),fe=he(se),Ke=x(fe,2);K("click",fe,()=>h(o(j).id)),K("click",Ke,()=>{y(u,null)}),T(H,se)},ue=H=>{var se=T1();K("click",se,()=>{y(u,o(j).id,!0)}),T(H,se)};F(Z,H=>{o(u)===o(j).id?H(ce):H(ue,-1)})}v(ee),v($),q(H=>{N(Q,o(j).label),N(te,`${o(j).id??""} · ${H??""}`)},[()=>b(o(j).createdAt)]),T(z,$)}),v(M),T(P,M)};F(R,P=>{o(r)?P(m):o(s)?P(O,1):o(n).length===0?P(I,2):P(L,-1)})}v(k),q(()=>N(E,o(a)?"Cancel":"New key")),K("click",S,()=>{y(a,!o(a))}),T(e,k),oe()}ge(["click"]);const P1={manifest:{id:"sh3-admin",label:"Admin",version:ln,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(a,i){const l=ze(l1,{target:a});return{unmount(){Fe(l)}}}},n={mount(a,i){const l=ze(v1,{target:a});return{unmount(){Fe(l)}}}},r={mount(a,i){const l=ze(_1,{target:a});return{unmount(){Fe(l)}}}},s={mount(a,i){const l=ze(C1,{target:a});return{unmount(){Fe(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)}},D1={manifest:{id:"sh3-admin-app",label:"Admin",version:ln,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"}]}},O1={id:"terminal",label:"Terminal",version:ln,requiredShards:["shell"],layoutVersion:1},L1={manifest:O1,initialLayout:{type:"slot",slotId:"terminal.main",viewId:"shell:terminal"}},Uo="sh3:migrations:shell-rename:done",Fo="__shell__:",M1="__sh3core__:",Ho="sh3:user:__shell__:theme",Ko="sh3:user:__sh3core__:theme";function j1(e,t){if(t.getItem(Uo))return;const n=t.getItem(Ho);n!==null&&t.getItem(Ko)===null&&(t.setItem(Ko,n),t.removeItem(Ho));for(const r of e.keys()){if(!r.startsWith(Fo))continue;const s=M1+r.slice(Fo.length),a=e.read(r);e.write(s,a),e.delete(r)}t.setItem(Uo,"1")}function N1(e){Ai(e)}function z1(){const e=qt.workspace;return{keys:()=>e.list(),read:t=>e.read(t),write:(t,n)=>e.write(t,n),delete:t=>e.delete(t)}}async function $1(e){typeof globalThis.localStorage<"u"&&j1(z1(),globalThis.localStorage);const t=new Set(e?.excludeShards),n=[gb,ew,Jw,P1];for(const a of n)t.has(a.manifest.id)||Ai(a);const r=[Zw,D1,L1];for(const a of r)Ii(a);await dw();for(const[a,i]of Gt)i.autostart&&await gu(a);const s=A_();s&&Ln.has(s)&&await Ir(s)}var q1=C('<button type="button" aria-label="Expand pane"><span class="collapse-icon"> </span></button>'),B1=C('<button type="button" aria-label="Collapse pane"><span class="collapse-icon"> </span></button>'),V1=C('<!> <div class="pane-content svelte-1adl4o1"><!></div>',1),U1=C('<div role="separator"></div>'),F1=C("<div><!></div> <!>",1),H1=C("<div></div>");function K1(e,t){ie(t,!0);const n=40,r=28;let s;const a=E=>t.pinned?.[E]??"fr",i=E=>t.collapsed?.[E]??!1,l=E=>t.fixed?.[E]??!1,c=E=>l(E)||l(E+1);function u(E){if(l(E))return!1;const _=E>0?!l(E-1):!1,g=E<t.count-1?!l(E+1):!1;return _||g}function d(E){return i(E)?`0 0 ${r}px`:a(E)==="px"?`0 0 ${Math.max(n,t.sizes[E])}px`:`${Math.max(1e-4,t.sizes[E])} 1 0`}let f=B(null);function h(E,_){if(i(_)||i(_+1)||c(_))return;E.preventDefault(),E.target.setPointerCapture(E.pointerId);const g=s.getBoundingClientRect(),A=t.direction==="horizontal"?g.width:g.height;let D=0,R=0;for(let m=0;m<t.sizes.length;m++)a(m)==="fr"?D+=t.sizes[m]:R+=Math.max(n,t.sizes[m]);y(f,{handleIndex:_,startClient:t.direction==="horizontal"?E.clientX:E.clientY,startSizes:t.sizes.slice(),containerPx:A,totalFr:D,frAvailPx:Math.max(1,A-R)},!0)}function b(E){if(!o(f))return;const g=(t.direction==="horizontal"?E.clientX:E.clientY)-o(f).startClient,A=o(f).handleIndex,D=A+1,R=a(A),m=a(D),O=o(f).totalFr/o(f).frAvailPx;if(R==="fr"&&m==="fr"){const I=n*O,L=g*O,P=o(f).startSizes[D]-I,M=-(o(f).startSizes[A]-I),z=Math.min(Math.max(L,M),P);t.onResize?.(A,o(f).startSizes[A]+z),t.onResize?.(D,o(f).startSizes[D]-z)}else if(R==="px"&&m==="fr"){const I=o(f).frAvailPx-n,L=n-o(f).startSizes[A];t.onResize?.(A,o(f).startSizes[A]+Math.min(Math.max(g,L),I))}else if(R==="fr"&&m==="px"){const I=o(f).startSizes[D]-n,L=-(o(f).frAvailPx-n);t.onResize?.(D,o(f).startSizes[D]-Math.min(Math.max(g,L),I))}else{const I=o(f).startSizes[D]-n,L=-(o(f).startSizes[A]-n),P=Math.min(Math.max(g,L),I);t.onResize?.(A,o(f).startSizes[A]+P),t.onResize?.(D,o(f).startSizes[D]-P)}}function k(E){o(f)&&(E.target.releasePointerCapture(E.pointerId),y(f,null))}var w=H1();let S;pe(w,21,()=>Array(t.count),On,(E,_,g)=>{var A=F1(),D=he(A);let R;var m=p(D);{var O=z=>{var j=q1();let $;var Y=p(j),G=p(Y,!0);v(Y),v(j),q(()=>{$=we(j,1,"collapse-header svelte-1adl4o1",null,$,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),N(G,t.direction==="horizontal"?"▸":"▾")}),K("click",j,()=>t.onCollapseToggle?.(g,!1)),T(z,j)},I=X(()=>i(g)),L=z=>{var j=V1(),$=he(j);{var Y=te=>{var ee=B1();let Z;Se(ee,"data-testid",`collapse-toggle-${g}`);var ce=p(ee),ue=p(ce,!0);v(ce),v(ee),q(()=>{Z=we(ee,1,"collapse-header expanded svelte-1adl4o1",null,Z,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),N(ue,t.direction==="horizontal"?"◂":"▴")}),K("click",ee,()=>t.onCollapseToggle?.(g,!0)),T(te,ee)},G=X(()=>t.onCollapseToggle&&u(g));F($,te=>{o(G)&&te(Y)})}var Q=x($,2),J=p(Q);fi(J,()=>t.pane,()=>g),v(Q),T(z,j)};F(m,z=>{o(I)?z(O):z(L,-1)})}v(D);var P=x(D,2);{var M=z=>{var j=U1();let $;Se(j,"data-testid",`splitter-handle-${g}`),q(Y=>{$=we(j,1,"splitter-handle svelte-1adl4o1",null,$,Y),Se(j,"aria-orientation",t.direction==="horizontal"?"vertical":"horizontal")},[()=>({dragging:o(f)?.handleIndex===g,disabled:i(g)||i(g+1),frozen:c(g)})]),K("pointerdown",j,Y=>h(Y,g)),K("pointermove",j,b),K("pointerup",j,k),ct("pointercancel",j,k),K("dblclick",j,()=>{c(g)||!u(g)&&!i(g)||t.onCollapseToggle?.(g,!i(g))}),T(z,j)};F(P,z=>{g<t.count-1&&z(M)})}q((z,j)=>{R=we(D,1,"splitter-pane svelte-1adl4o1",null,R,z),Jt(D,`flex: ${j??""};`)},[()=>({collapsed:i(g)}),()=>d(g)]),T(E,A)}),v(w),yt(w,E=>s=E,()=>s),q(()=>S=we(w,1,"splitter svelte-1adl4o1",null,S,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"})),T(e,w),oe()}ge(["click","pointerdown","pointermove","pointerup","dblclick"]);function W1(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 a=Math.max(0,Math.min(e,s.length));let i;return a===s.length?i=s[s.length-1].getBoundingClientRect().right:i=s[a].getBoundingClientRect().left,{left:i-r.left-1,top:2,height:r.height-4}}var Y1=C('<span class="tab-dirty svelte-1kxcyhf" title="Unsaved changes"></span>'),G1=C('<span class="tab-icon svelte-1kxcyhf"> </span>'),X1=C('<span class="tab-close svelte-1kxcyhf" role="button" tabindex="-1" title="Close">&#x2715;</span>'),J1=C('<button type="button" role="tab"><!> <!> <span class="tab-label svelte-1kxcyhf"> </span> <!></button>'),Z1=C('<div class="drop-indicator svelte-1kxcyhf"></div>'),Q1=C("<div><!></div>"),ek=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 tk(e,t){ie(t,!0);function n(S){t.clickGuard?.()||t.onActiveChange?.(S)}function r(S,E){E.stopPropagation(),t.onClose?.(S)}let s=B(void 0);const a=me([]);let i=B(null);function l(S,E){if(!t.dragController)return;const _=a[S];_&&t.dragController.onPointerDown(S,E,_)}function c(S){if(!t.dragController||!t.dragController.isDragging||!o(s))return;const E=o(s).getBoundingClientRect(),_=a.filter(g=>!!g).map(g=>g.getBoundingClientRect());y(i,t.dragController.onStripHover(E,S.clientX,S.clientY,_),!0)}function u(){t.dragController&&(y(i,null),t.dragController.onStripLeave())}var d=ek(),f=p(d),h=p(f);pe(h,17,()=>t.labels,On,(S,E,_)=>{var g=J1();let A;var D=p(g);{var R=z=>{var j=Y1();T(z,j)};F(D,z=>{t.dirty?.[_]&&z(R)})}var m=x(D,2);{var O=z=>{var j=G1(),$=p(j,!0);v(j),q(()=>N($,t.icons[_])),T(z,j)};F(m,z=>{t.icons?.[_]&&z(O)})}var I=x(m,2),L=p(I,!0);v(I);var P=x(I,2);{var M=z=>{var j=X1();q(()=>Se(j,"data-testid",t.tabIds?.[_]?`tab-close-${t.tabIds[_]}`:void 0)),K("click",j,$=>r(_,$)),K("keydown",j,$=>{($.key==="Enter"||$.key===" ")&&r(_,$)}),T(z,j)};F(P,z=>{t.closable?.[_]&&z(M)})}v(g),yt(g,(z,j)=>a[j]=z,z=>a?.[z],()=>[_]),q(()=>{A=we(g,1,"tab svelte-1kxcyhf",null,A,{active:t.activeTab===_}),Se(g,"aria-selected",t.activeTab===_),N(L,o(E))}),K("click",g,()=>n(_)),K("pointerdown",g,z=>l(_,z)),ct("auxclick",g,z=>{z.button===1&&t.closable?.[_]&&r(_,z)}),T(S,g)});var b=x(h,2);{var k=S=>{const E=X(()=>W1(o(i),a,o(s)));var _=at(),g=he(_);{var A=D=>{var R=Z1();q(()=>Jt(R,`left: ${o(E).left??""}px; height: ${o(E).height??""}px; top: ${o(E).top??""}px;`)),T(D,R)};F(g,D=>{o(E)&&D(A)})}T(S,_)};F(b,S=>{o(i)!==null&&t.dragController?.isDragging&&S(k)})}v(f),yt(f,S=>y(s,S),()=>o(s));var w=x(f,2);pe(w,21,()=>t.labels,On,(S,E,_)=>{var g=Q1();let A;var D=p(g);fi(D,()=>t.body,()=>_),v(g),q(()=>A=we(g,1,"tab-body-pane svelte-1kxcyhf",null,A,{active:t.activeTab===_})),T(S,g)}),v(w),v(d),K("pointermove",f,c),ct("pointerleave",f,u),T(e,d),oe()}ge(["pointermove","click","pointerdown","keydown"]);var nk=C('no factory for <code class="svelte-1czj0s8"> </code>',1),rk=C("<em>empty slot</em>"),sk=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>'),ak=C('<div class="slot svelte-1czj0s8"><!></div>');function Wo(e,t){ie(t,!0);let n=Wt(t,"label",3,""),r=B(void 0),s=B(0),a=B(0);const i=X(()=>t.node.viewId?!!tu(t.node.viewId):!1);De(()=>{if(!o(r))return;const d=t.node.slotId,f=bu(d,t.node.viewId,n()||t.node.viewId||d);o(r).appendChild(f);const h=new ResizeObserver(b=>{for(const k of b){const w=k.contentRect;y(s,Math.round(w.width),!0),y(a,Math.round(w.height),!0)}});return h.observe(o(r)),()=>{h.disconnect(),yu(d)}});var l=ak(),c=p(l);{var u=d=>{var f=sk(),h=p(f),b=p(h,!0);v(h);var k=x(h,2),w=p(k);{var S=A=>{var D=nk(),R=x(he(D)),m=p(R,!0);v(R),q(()=>N(m,t.node.viewId)),T(A,D)},E=A=>{var D=rk();T(A,D)};F(w,A=>{t.node.viewId?A(S):A(E,-1)})}v(k);var _=x(k,2),g=p(_);v(_),v(f),q(()=>{N(b,t.node.slotId),N(g,`${o(s)??""} × ${o(a)??""}`)}),T(d,f)};F(c,d=>{o(i)||d(u)})}v(l),yt(l,d=>y(r,d),()=>o(r)),q(()=>{Se(l,"data-slot-id",t.node.slotId),Se(l,"data-view-id",t.node.viewId??"")}),T(e,l),oe()}const de=me({phase:"idle",source:null,pointerX:0,pointerY:0,target:null});let Wu=0;function ik(){return performance.now()<Wu}const Yo=4;let Yu=0,Gu=0;function ok(e,t,n,r,s){if(de.phase!=="idle")return;const a=s.getBoundingClientRect();de.phase="pending",de.source={slotId:e,entry:t,sourceRoot:n,startRect:a,offsetX:r.clientX-a.left,offsetY:r.clientY-a.top},de.pointerX=r.clientX,de.pointerY=r.clientY,de.target=null,Yu=r.clientX,Gu=r.clientY,lk()}function lk(){window.addEventListener("pointermove",Xu,!0),window.addEventListener("pointerup",Ju,!0),window.addEventListener("pointercancel",Zu,!0),document.body.style.userSelect="none",document.body.dataset.dragging=""}function ck(){window.removeEventListener("pointermove",Xu,!0),window.removeEventListener("pointerup",Ju,!0),window.removeEventListener("pointercancel",Zu,!0),document.body.style.userSelect="",delete document.body.dataset.dragging}function Xu(e){if(de.pointerX=e.clientX,de.pointerY=e.clientY,de.phase==="pending"){const t=e.clientX-Yu,n=e.clientY-Gu;t*t+n*n>=Yo*Yo&&(de.phase="dragging")}}function Ju(e){de.phase==="dragging"&&(uk(),Wu=performance.now()+50),Qu()}function Zu(e){Qu()}function Go(e){const t=Qn.tree;if(e.kind==="docked")return t.docked;const n=t.floats.find(r=>r.id===e.floatId);return n?n.content:null}function Xo(e){if(e.kind!=="float")return;const t=Qn.tree,n=t.floats.findIndex(r=>r.id===e.floatId);n<0||Wc(t.floats[n].content)&&t.floats.splice(n,1)}function uk(){const{source:e,target:t}=de;if(!e||!t)return;const n=Go(e.sourceRoot),r=Go(t.root);if(!n||!r)return;if(t.kind==="strip"){const a=t.tabsNode.tabs.findIndex(i=>i.slotId===e.slotId);if(a>=0){R_(t.tabsNode,a,t.insertIndex),Kn(n),r!==n&&Kn(r),Xo(e.sourceRoot);return}}const s=Gs(n,e.slotId);s&&(t.kind==="strip"?I_(t.tabsNode,s,t.insertIndex):Ru(r,t.path,s,t.side),Kn(n),r!==n&&Kn(r),Xo(e.sourceRoot))}function Qu(){de.phase="idle",de.source=null,de.target=null,ck()}function Ha(e){de.phase==="dragging"&&(de.target=e)}function wr(e){de.phase==="dragging"&&de.target&&(e&&!e(de.target)||(de.target=null))}var dk=C("<div></div>"),fk=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),vk=C("<div><!> <!></div>");function Jo(e,t){ie(t,!0);let n=B(void 0),r=B(null);const s=X(()=>de.phase==="dragging");function a(k,w,S){const E=S.left+S.width/2,_=S.top+S.height/2,g=k-E,A=w-_,D=g/S.width,R=A/S.height;return Math.abs(D)>Math.abs(R)?D<0?"left":"right":R<0?"top":"bottom"}function i(k){if(!o(n))return;const w=o(n).getBoundingClientRect();if(k.clientX<w.left||k.clientX>w.right||k.clientY<w.top||k.clientY>w.bottom){o(r)!==null&&(y(r,null),wr(E=>E.kind==="split"&&E.path.join("/")===t.path.join("/")));return}const S=a(k.clientX,k.clientY,w);if(S!==o(r)){y(r,S,!0);const E={kind:"split",root:t.rootRef,path:[...t.path],side:S};Ha(E)}}function l(){o(r)!==null&&(y(r,null),wr(k=>k.kind==="split"&&k.path.join("/")===t.path.join("/")))}var c=vk();let u;var d=p(c);{var f=k=>{var w=dk();q(()=>we(w,1,`quad-highlight quad-${o(r)??""}`,"svelte-re71zu")),T(k,w)};F(d,k=>{o(r)&&k(f)})}var h=x(d,2);{var b=k=>{var w=fk();tn(6),T(k,w)};F(h,k=>{o(s)&&k(b)})}v(c),yt(c,k=>y(n,k),()=>o(n)),q(()=>u=we(c,1,"slot-drop-zone svelte-re71zu",null,u,{active:o(s)})),K("pointermove",c,i),ct("pointerleave",c,l),T(e,c),oe()}ge(["pointermove"]);var hk=C('<div class="tab-slot-wrapper svelte-1gw9g38"><!> <!></div>'),pk=C('<div class="empty-tabs-custom svelte-1gw9g38"></div>'),mk=C('<div class="empty-tabs-default svelte-1gw9g38"><div class="empty-tabs-drop svelte-1gw9g38"></div></div>'),gk=C('<div class="empty-tabs-placeholder svelte-1gw9g38"><!></div>'),_k=C('<div class="leaf-slot-wrapper svelte-1gw9g38"><!> <!></div>');function Ui(e,t){ie(t,!0);let n=Wt(t,"path",19,()=>[]),r=Wt(t,"rootRef",19,()=>({kind:"docked"}));const s=X(()=>{let _;return r().kind==="docked"?_=Qn.root:_=Qn.tree.floats.find(A=>A.id===r().floatId)?.content??null,_?xs(_,n()):null});function a(_){return{get isDragging(){return de.phase==="dragging"},onPointerDown(g,A,D){const R=_.tabs[g];R&&ok(R.slotId,R,r(),A,D)},onStripHover(g,A,D,R){if(D<g.top||D>g.bottom)return wr(I=>I.kind==="strip"&&I.tabsNode===_),null;let m=R.length;for(let I=0;I<R.length;I++){const L=R[I],P=L.left+L.width/2;if(A<P){m=I;break}}const O=de.source;if(O){const I=_.tabs.findIndex(L=>L.slotId===O.slotId);I>=0&&I<m&&(m-=1)}return Ha({kind:"strip",root:r(),tabsNode:_,insertIndex:m}),m},onStripLeave(){wr(g=>g.kind==="strip"&&g.tabsNode===_)}}}function i(_){return _.type==="split"?_:null}function l(_){return _.type==="tabs"?_:null}function c(_){return _.type==="slot"?_:null}function u(_){return _.map(g=>p_(g.slotId)||void 0)}function d(_){return _.map(g=>h_(g.slotId)||void 0)}function f(_,g){const A=_[g];A&&Pi(A.slotId)}function h(_,g){g(_)}function b(_,g){de.phase==="dragging"&&Ha({kind:"strip",root:r(),tabsNode:g,insertIndex:0})}function k(){wr(_=>_.kind==="strip"&&_.insertIndex===0)}var w=at(),S=he(w);{var E=_=>{var g=at(),A=he(g);{var D=O=>{const I=(P,M=ht)=>{{let z=X(()=>[...n(),M()]);Ui(P,{get rootRef(){return r()},get path(){return o(z)}})}},L=X(()=>i(o(s)));K1(O,{get direction(){return o(L).direction},get sizes(){return o(L).sizes},get pinned(){return o(L).pinned},get collapsed(){return o(L).collapsed},get fixed(){return o(L).fixed},get count(){return o(L).children.length},get pane(){return I},onResize:(P,M)=>o(L).sizes[P]=M,onCollapseToggle:(P,M)=>{o(L).collapsed||(o(L).collapsed=o(L).children.map(()=>!1)),o(L).collapsed[P]=M}})},R=O=>{const I=X(()=>l(o(s)));var L=at(),P=he(L);{var M=j=>{const $=(G,Q=ht)=>{const J=X(()=>o(I)?.tabs[Q()]);var te=at(),ee=he(te);{var Z=ce=>{var ue=hk(),H=p(ue);{let fe=X(()=>({type:"slot",slotId:o(J).slotId,viewId:o(J).viewId}));Wo(H,{get node(){return o(fe)},get label(){return o(J).label}})}var se=x(H,2);Jo(se,{get rootRef(){return r()},get path(){return n()}}),v(ue),T(ce,ue)};F(ee,ce=>{o(J)&&ce(Z)})}T(G,te)},Y=X(()=>a(o(I)));{let G=X(()=>o(I).tabs.map(Z=>Z.label)),Q=X(()=>o(I).tabs.map(Z=>Z.icon)),J=X(()=>u(o(I).tabs)),te=X(()=>d(o(I).tabs)),ee=X(()=>o(I).tabs.map(Z=>Z.slotId));tk(j,{get labels(){return o(G)},get icons(){return o(Q)},get activeTab(){return o(I).activeTab},onActiveChange:Z=>o(I).activeTab=Z,get body(){return $},get dragController(){return o(Y)},get clickGuard(){return ik},get closable(){return o(J)},get dirty(){return o(te)},onClose:Z=>f(o(I).tabs,Z),get tabIds(){return o(ee)}})}},z=j=>{var $=gk(),Y=p($);{var G=J=>{var te=pk();Ic(te,(ee,Z)=>h?.(ee,Z),()=>o(I).emptyRenderer),T(J,te)},Q=J=>{var te=mk(),ee=p(te);v(te),K("pointermove",ee,Z=>b(Z,o(I))),ct("pointerleave",ee,k),T(J,te)};F(Y,J=>{o(I).emptyRenderer?J(G):J(Q,-1)})}v($),T(j,$)};F(P,j=>{o(I)&&o(I).tabs.length>0?j(M):o(I)?.persistent&&j(z,1)})}T(O,L)},m=O=>{const I=X(()=>c(o(s)));var L=_k(),P=p(L);Wo(P,{get node(){return o(I)}});var M=x(P,2);Jo(M,{get rootRef(){return r()},get path(){return n()}}),v(L),T(O,L)};F(A,O=>{o(s).type==="split"?O(D):o(s).type==="tabs"?O(R,1):O(m,-1)})}T(_,g)};F(S,_=>{o(s)&&_(E)})}T(e,w),oe()}ge(["pointermove"]);var bk=C('<span class="drag-preview-icon svelte-133fiip"> </span>'),yk=C('<div class="drag-preview svelte-133fiip"><!> <span class="drag-preview-label svelte-133fiip"> </span></div>');function wk(e,t){ie(t,!0);const n=X(()=>de.phase==="dragging"&&!!de.source),r=X(()=>de.source?de.pointerX-de.source.offsetX:0),s=X(()=>de.source?de.pointerY-de.source.offsetY:0),a=X(()=>de.source?.startRect.width??0),i=X(()=>de.source?.startRect.height??0),l=X(()=>de.source?.entry.label??""),c=X(()=>de.source?.entry.icon);var u=at(),d=he(u);{var f=h=>{var b=yk(),k=p(b);{var w=_=>{var g=bk(),A=p(g,!0);v(g),q(()=>N(A,o(c))),T(_,g)};F(k,_=>{o(c)&&_(w)})}var S=x(k,2),E=p(S,!0);v(S),v(b),q(()=>{Jt(b,`left: ${o(r)??""}px; top: ${o(s)??""}px; width: ${o(a)??""}px; height: ${o(i)??""}px;`),N(E,o(l))}),T(h,b)};F(d,h=>{o(n)&&h(f)})}T(e,u),oe()}var kk=C('<div class="sh3-float-frame svelte-1p734al" role="dialog" tabindex="-1"><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> <div class="sh3-float-body svelte-1p734al"><!></div></div>');function Sk(e,t){ie(t,!0);const n=Wt(t,"entry",7);let r=B(!1),s={x:0,y:0};function a(_){if(_.button!==0||_.target.closest(".sh3-float-close"))return;_.currentTarget.setPointerCapture(_.pointerId),y(r,!0),s={x:_.clientX-n().position.x,y:_.clientY-n().position.y},jt.focus(n().id)}function i(_){o(r)&&(n().position.x=_.clientX-s.x,n().position.y=_.clientY-s.y)}function l(_){if(!o(r))return;y(r,!1);const g=_.currentTarget;g.hasPointerCapture(_.pointerId)&&g.releasePointerCapture(_.pointerId)}function c(){jt.focus(n().id)}function u(_){_.stopPropagation(),jt.close(n().id)}var d=kk();let f;var h=p(d),b=p(h),k=p(b,!0);v(b);var w=x(b,2);v(h);var S=x(h,2),E=p(S);{let _=X(()=>({kind:"float",floatId:n().id}));Ui(E,{get rootRef(){return o(_)},path:[]})}v(S),v(d),q(()=>{Se(d,"aria-label",n().title??"Float panel"),f=Jt(d,"",f,{left:`${n().position.x??""}px`,top:`${n().position.y??""}px`,width:`${n().size.w??""}px`,height:`${n().size.h??""}px`}),N(k,n().title??n().content.type)}),K("click",d,c),K("pointerdown",h,a),K("pointermove",h,i),K("pointerup",h,l),ct("pointercancel",h,l),K("click",w,u),T(e,d),oe()}ge(["click","pointerdown","pointermove","pointerup"]);var xk=C('<div class="sh3-float-layer svelte-1rzcset"></div>');function Ek(e,t){ie(t,!0);const n=X(()=>Qn.floats);var r=xk();pe(r,21,()=>o(n),s=>s.id,(s,a)=>{Sk(s,{get entry(){return o(a)}})}),v(r),T(e,r),oe()}const Zo="/assets/icons-CnAqUqbR.svg";var Tk=C('<div class="guest-signin-error svelte-pymkh"> </div>'),Ak=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>'),Ik=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),Rk=C('<div class="guest-banner-slot"><!></div>');function Ck(e,t){ie(t,!0);let n=B(!1),r=B(""),s=B(""),a=B(null),i=B(!1);async function l(){if(!o(r).trim()||!o(s).trim()||o(i))return;y(i,!0),y(a,null);const h=await su(o(r).trim(),o(s).trim());y(i,!1),h.ok?y(n,!1):y(a,h.error,!0)}var c=Rk(),u=p(c);{var d=h=>{var b=Ik(),k=he(b),w=x(p(k),2);v(k);var S=x(k,2);{var E=_=>{var g=Ak(),A=p(g),D=p(A),R=p(D);Ee(R);var m=x(R,2);Ee(m);var O=x(m,2),I=p(O),L=p(I,!0);v(I);var P=x(I,2);v(O),v(D);var M=x(D,2);{var z=j=>{var $=Tk(),Y=p($,!0);v($),q(()=>N(Y,o(a))),T(j,$)};F(M,j=>{o(a)&&j(z)})}v(A),v(g),q(j=>{R.disabled=o(i),m.disabled=o(i),I.disabled=j,N(L,o(i)?"Signing in...":"Sign in")},[()=>o(i)||!o(r).trim()||!o(s).trim()]),ct("submit",D,j=>{j.preventDefault(),l()}),je(R,()=>o(r),j=>y(r,j)),je(m,()=>o(s),j=>y(s,j)),K("click",P,()=>{y(n,!1),y(a,null)}),T(_,g)};F(S,_=>{o(n)&&_(E)})}K("click",w,()=>{y(n,!0)}),T(h,b)},f=X(()=>au());F(u,h=>{o(f)&&h(d)})}v(c),T(e,c),oe()}ge(["click"]);var Pk=C('<code class="sh3-consent-scope svelte-14me5sj"> </code>'),Dk=C('<dt class="svelte-14me5sj">Peer</dt> <dd class="svelte-14me5sj"> </dd>',1),Ok=C('<dt class="svelte-14me5sj">Expires in</dt> <dd class="svelte-14me5sj"> </dd>',1),Lk=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 Mk(e,t){ie(t,!0);let n=B(null);De(()=>pu(u=>{y(n,u,!0)}));function r(){o(n)&&(Ba(o(n).requestId,!0),y(n,null))}function s(){o(n)&&(Ba(o(n).requestId,!1),y(n,null))}var a=at(),i=he(a);{var l=c=>{var u=Lk(),d=p(u),f=p(d),h=p(f),b=p(h,!0);v(h),tn(),v(f);var k=x(f,2),w=x(p(k),2),S=p(w,!0);v(w);var E=x(w,4);pe(E,20,()=>o(n).scopes,I=>I,(I,L)=>{var P=Pk(),M=p(P,!0);v(P),q(()=>N(M,L)),T(I,P)}),v(E);var _=x(E,2);{var g=I=>{var L=Dk(),P=x(he(L),2),M=p(P);v(P),q(()=>N(M,`${o(n).peerRole??"—"??""}${o(n).peerId?` · ${o(n).peerId}`:""}`)),T(I,L)};F(_,I=>{(o(n).peerRole||o(n).peerId)&&I(g)})}var A=x(_,2);{var D=I=>{var L=Ok(),P=x(he(L),2),M=p(P);v(P),q(z=>N(M,`${z??""}s`),[()=>Math.round(o(n).expiresIn/1e3)]),T(I,L)};F(A,I=>{o(n).expiresIn&&I(D)})}v(k);var R=x(k,2),m=p(R);js(m,!0);var O=x(m,2);v(R),v(d),v(u),q(()=>{N(b,o(n).shardId),N(S,o(n).label)}),K("click",m,s),K("click",O,r),T(c,u)};F(i,c=>{o(n)&&c(l)})}T(e,a),oe()}ge(["click"]);var jk=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>'),Nk=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>'),zk=C('<div class="shell-overlay-root svelte-187fra4"><!></div>'),$k=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> <span class="shell-tabbar-brand svelte-187fra4">SH3</span> <!></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 qk(e,t){ie(t,!0);const n=X($a),r=X(Vs),s=X(on),a=X(()=>Eu()==="home"),i=[{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=me({});De(()=>{for(const{name:A}of i){const D=l[A];D&&sm(A,D)}return()=>{for(const{name:A}of i)am(A)}}),De(()=>{function A(D){if(D.key!=="²"||!o(s))return;const R=D.target;if(R){const m=R.tagName;if(m==="INPUT"||m==="TEXTAREA"||R.isContentEditable)return}D.preventDefault(),Xs("shell:terminal")||jt.open("shell:terminal",{title:"Shell"})}return window.addEventListener("keydown",A),()=>window.removeEventListener("keydown",A)}),De(()=>{const A=Qn.tree;return Am(A.floats,()=>({w:window.innerWidth,h:window.innerHeight})),()=>Im()}),De(()=>$a()?c_():void 0);var c=$k(),u=p(c),d=p(u),f=p(d),h=p(f);v(f),v(d);var b=x(d,4);{var k=A=>{var D=Nk(),R=p(D),m=p(R,!0);v(R);var O=x(R,2),I=p(O,!0);v(O);var L=x(O,2);{var P=z=>{var j=jk(),$=p(j),Y=p($);v($),v(j),q(()=>Se(Y,"href",`${Zo}#log-out`)),K("click",j,()=>Yg()),T(z,j)},M=X(()=>!Xg());F(L,z=>{o(M)&&z(P)})}v(D),q(()=>{N(m,o(r).displayName),N(I,o(s)?"admin":"user")}),T(A,D)};F(b,A=>{o(n)&&o(r)&&A(k)})}v(u);var w=x(u,2);Ck(w,{});var S=x(w,2),E=p(S);Ui(E,{}),v(S);var _=x(S,4);pe(_,21,()=>i,({layer:A,name:D})=>A,(A,D)=>{let R=()=>o(D).layer,m=()=>o(D).name;var O=zk(),I=p(O);{var L=M=>{Ek(M,{})},P=M=>{wk(M,{})};F(I,M=>{m()==="floating"?M(L):m()==="drag-preview"&&M(P,1)})}v(O),yt(O,(M,z)=>l[z]=M,M=>l?.[M],()=>[m()]),q(()=>{Se(O,"data-shell-overlay",m()),Se(O,"data-shell-layer",R()),Jt(O,`z-index: var(--shell-z-layer-${R()??""});`)}),T(A,O)}),v(_);var g=x(_,2);Mk(g,{}),v(c),q(()=>{d.disabled=o(a),Se(h,"href",`${Zo}#house`)}),K("click",d,()=>Iu()),T(e,c),oe()}ge(["click"]);const Bk="modulepreload",Vk=function(e){return"/"+e},Qo={},Uk=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=i?.nonce||i?.getAttribute("nonce");s=Promise.allSettled(n.map(c=>{if(c=Vk(c),c in Qo)return;Qo[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":Bk,u||(f.as="script"),f.crossOrigin="",f.href=c,l&&f.setAttribute("nonce",l),document.head.appendChild(f),u)return new Promise((h,b)=>{f.addEventListener("load",h),f.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${c}`)))})}))}function a(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return s.then(i=>{for(const l of i||[])l.status==="rejected"&&a(l.reason);return t().catch(a)})};async function Fk(){try{const{TauriStoreBackend:e}=await Uk(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:al}}}var Hk=C('<button type="button" class="signin-link svelte-lh4k15">Create an account</button>'),Kk=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),Wk=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),Yk=C('<div class="signin-error svelte-lh4k15"> </div>'),Gk=C('<div class="signin-wall svelte-lh4k15"><div class="signin-card svelte-lh4k15"><h1 class="signin-brand svelte-lh4k15">SH3</h1> <!> <!></div></div>');function Xk(e,t){ie(t,!0);let n=B("login"),r=B(""),s=B(""),a=B(""),i=B(null),l=B(!1);async function c(){if(!o(r).trim()||!o(s).trim()||o(l))return;y(l,!0),y(i,null);const _=await su(o(r).trim(),o(s).trim());y(l,!1),_.ok?t.onSuccess():y(i,_.error,!0)}async function u(){if(!o(r).trim()||!o(s).trim()||o(l))return;y(l,!0),y(i,null);const _=await Wg(o(r).trim(),o(s).trim(),o(a).trim()||void 0);y(l,!1),_.ok?t.onSuccess():y(i,_.error,!0)}function d(_){y(n,_,!0),y(i,null)}var f=Gk(),h=p(f),b=x(p(h),2);{var k=_=>{var g=Kk(),A=he(g),D=p(A);Ee(D);var R=x(D,2);Ee(R);var m=x(R,2),O=p(m,!0);v(m),v(A);var I=x(A,2);{var L=P=>{var M=Hk();K("click",M,()=>d("register")),T(P,M)};F(I,P=>{t.selfRegistration&&P(L)})}q(P=>{D.disabled=o(l),R.disabled=o(l),m.disabled=P,N(O,o(l)?"Signing in...":"Sign in")},[()=>o(l)||!o(r).trim()||!o(s).trim()]),ct("submit",A,P=>{P.preventDefault(),c()}),je(D,()=>o(r),P=>y(r,P)),je(R,()=>o(s),P=>y(s,P)),T(_,g)},w=_=>{var g=Wk(),A=he(g),D=p(A);Ee(D);var R=x(D,2);Ee(R);var m=x(R,2);Ee(m);var O=x(m,2),I=p(O,!0);v(O),v(A);var L=x(A,2);q(P=>{D.disabled=o(l),R.disabled=o(l),m.disabled=o(l),O.disabled=P,N(I,o(l)?"Creating...":"Create account")},[()=>o(l)||!o(r).trim()||!o(s).trim()]),ct("submit",A,P=>{P.preventDefault(),u()}),je(D,()=>o(r),P=>y(r,P)),je(R,()=>o(a),P=>y(a,P)),je(m,()=>o(s),P=>y(s,P)),K("click",L,()=>d("login")),T(_,g)};F(b,_=>{o(n)==="login"?_(k):_(w,-1)})}var S=x(b,2);{var E=_=>{var g=Yk(),A=p(g,!0);v(g),q(()=>N(A,o(i))),T(_,g)};F(S,_=>{o(i)&&_(E)})}v(h),v(f),T(e,f),oe()}ge(["click"]);async function Jk(e){const t=e?.serverUrl??"",n=await Fk();n.backends&&(So("workspace",n.backends.workspace),So("user",n.backends.user)),n.localOwner&&Gg(),iu(t),W_();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 i=await fetch(`${t}/api/boot`,{credentials:"include"});i.ok&&(s=await i.json())}catch{}if(n.localOwner)ma("local");else if(s){Lo(t,s),ma(s.tenantId);const{auth:i,session:l}=s;if(!l&&i.required&&!i.guestAllowed){await Zk(r,s);const c=await fetch(`${t}/api/boot`,{credentials:"include"});c.ok&&(s=await c.json(),Lo(t,s),ma(s.tenantId))}}if(e?.discoveredPackages?.length)for(const i of e.discoveredPackages)try{const l=await fetch(i.bundleUrl);if(!l.ok){console.warn(`[sh3] Failed to fetch discovered package "${i.id}": HTTP ${l.status}`);continue}const c=await l.arrayBuffer(),u=await Fr(c);$i(u,{version:i.version,sourceRegistry:i.sourceRegistry??"",contractVersion:i.contractVersion??""}),console.log(`[sh3] Loaded discovered package: ${i.id}`)}catch(l){console.warn(`[sh3] Failed to load discovered package "${i.id}":`,l)}if(e?.shards)for(const i of e.shards)N1(i);if(e?.apps)for(const i of e.apps)Ii(i);const a={};e?.excludeShards&&(a.excludeShards=e.excludeShards),await $1(a),ze(qk,{target:r})}function Zk(e,t){return new Promise(n=>{const r=ze(Xk,{target:e,props:{selfRegistration:t.auth.selfRegistration,onSuccess:()=>{Fe(r),n()}}})})}const Fi=window.location.origin;iu(Fi);Fg(new zg(Fi));let ed=[];try{const e=await fetch("/api/packages");e.ok&&(ed=await e.json())}catch{}await Jk({discoveredPackages:ed,serverUrl:Fi});
18
- //# sourceMappingURL=index-C0N0oGGx.js.map