@webjsdev/core 0.7.30 → 0.7.32

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,7 +1,7 @@
1
- var Zs=Object.defineProperty;var Z=(e,t)=>()=>(e&&(t=e(e=0)),t);var tr=(e,t)=>{for(var n in t)Zs(e,n,{get:t[n],enumerable:!0})};function Pr(e,t,n){ci.has(t)?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}async function Ke(e){return JSON.stringify(await $r(e))}function D(e){return Fr(JSON.parse(e))}async function $r(e){let t=li();return await ui(e,t),le(e,t)}function Fr(e){return G(e,hi())}function li(){return{refCount:new Map,idOf:new Map,emitted:new Set,nextId:0,blobBytes:new Map,fdEntries:new Map}}async function ui(e,t){let n=[e];for(;n.length;){let r=n.pop();if(!bi(r))continue;let s=t.refCount.get(r)||0;if(t.refCount.set(r,s+1),!(s>0)){if(typeof Blob<"u"&&r instanceof Blob){let o=new Uint8Array(await r.arrayBuffer());t.blobBytes.set(r,o);continue}if(typeof FormData<"u"&&r instanceof FormData){let o=t.fdEntries.get(r)||[...r.entries()];t.fdEntries.set(r,o);for(let[,i]of o)typeof i!="string"&&n.push(i);continue}if(Array.isArray(r))for(let o=0;o<r.length;o++)n.push(r[o]);else if(r instanceof Map)for(let[o,i]of r)n.push(o),n.push(i);else if(r instanceof Set)for(let o of r)n.push(o);else if(gi(r))for(let o in r)Object.prototype.hasOwnProperty.call(r,o)&&n.push(r[o])}}for(let[r,s]of t.refCount)s>1&&t.idOf.set(r,t.nextId++)}function le(e,t){if(e===null)return null;if(e===void 0)return{[x]:"undef"};let n=typeof e;if(n==="string"||n==="boolean")return e;if(n==="number")return Number.isNaN(e)?{[x]:"NaN"}:e===1/0?{[x]:"Inf"}:e===-1/0?{[x]:"-Inf"}:Object.is(e,-0)?{[x]:"-0"}:e;if(n==="bigint")return{[x]:"BigInt",v:e.toString()};if(n==="symbol"){let o=Symbol.keyFor(e);if(o===void 0)throw new TypeError("Cannot serialize a local Symbol; only Symbol.for() registered symbols are supported.");return{[x]:"Sym",v:o}}if(n==="function")throw new TypeError("Cannot serialize a function.");let r=t.idOf.get(e);if(r!==void 0&&t.emitted.has(r))return{[x]:"Ref",v:r};r!==void 0&&t.emitted.add(r);let s;if(e instanceof Date)s={[x]:"Date",v:Number.isNaN(e.getTime())?null:e.toISOString()};else if(e instanceof Error)s={[x]:"Error",v:{name:e.name,message:e.message,stack:e.stack||null}};else if(typeof Blob<"u"&&e instanceof Blob){let o=t.blobBytes.get(e);typeof File<"u"&&e instanceof File?s={[x]:"File",v:ze(o),n:e.name,t:e.type||"",m:e.lastModified}:s={[x]:"Blob",v:ze(o),t:e.type||""}}else if(typeof FormData<"u"&&e instanceof FormData){let o=t.fdEntries.get(e)||[...e.entries()],i=[];for(let[c,a]of o)i.push([c,le(a,t)]);s={[x]:"FD",v:i}}else if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)s=fi(e);else if(e instanceof Map){let o=[];for(let[i,c]of e)o.push([le(i,t),le(c,t)]);s={[x]:"Map",v:o}}else if(e instanceof Set){let o=[];for(let i of e)o.push(le(i,t));s={[x]:"Set",v:o}}else if(Array.isArray(e))s=e.map(o=>le(o,t));else{s={};for(let o in e){if(!Object.prototype.hasOwnProperty.call(e,o))continue;let i=yi(o)?"_"+o:o;Pr(s,i,le(e[o],t))}}if(r!==void 0){if(Array.isArray(s))return{[x]:"Arr",_id:r,v:s};s._id=r}return s}function fi(e){if(e instanceof ArrayBuffer)return{[x]:"buf",v:ze(new Uint8Array(e))};if(e instanceof DataView)return{[x]:"dv",v:ze(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))};let t=e.constructor.name,n=di[t];if(!n)throw new TypeError(`Unsupported typed array: ${t}`);let r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return{[x]:n,v:ze(r)}}function hi(){return{refs:new Map}}function G(e,t){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){let o=[];for(let i=0;i<e.length;i++)o.push(G(e[i],t));return o}let n=e[x];if(typeof n=="string")return mi(e,n,t);let r={},s=e._id;typeof s=="number"&&t.refs.set(s,r);for(let o in e){if(!Object.prototype.hasOwnProperty.call(e,o)||o==="_id")continue;let i=wi(o)?o.slice(1):o;Pr(r,i,G(e[o],t))}return r}function mi(e,t,n){let r=e._id,s=o=>(typeof r=="number"&&n.refs.set(r,o),o);switch(t){case"undef":return;case"NaN":return NaN;case"Inf":return 1/0;case"-Inf":return-1/0;case"-0":return-0;case"BigInt":return s(BigInt(e.v));case"Sym":return s(Symbol.for(e.v));case"Date":return s(e.v==null?new Date(NaN):new Date(e.v));case"Error":{let o=new Error(e.v.message);return o.name=e.v.name,e.v.stack&&(o.stack=e.v.stack),typeof r=="number"&&n.refs.set(r,o),o}case"Map":{let o=new Map;typeof r=="number"&&n.refs.set(r,o);for(let[i,c]of e.v)o.set(G(i,n),G(c,n));return o}case"Set":{let o=new Set;typeof r=="number"&&n.refs.set(r,o);for(let i of e.v)o.add(G(i,n));return o}case"Arr":{let o=[];typeof r=="number"&&n.refs.set(r,o);for(let i of e.v)o.push(G(i,n));return o}case"Ref":{let o=n.refs.get(e.v);if(o===void 0)throw new TypeError(`Dangling reference: id=${e.v}`);return o}case"Blob":{if(typeof Blob>"u")throw new TypeError("Blob is not available in this environment.");let o=Ve(e.v);return s(new Blob([o],{type:e.t||""}))}case"File":{if(typeof File>"u")throw new TypeError("File is not available in this environment.");let o=Ve(e.v);return s(new File([o],e.n,{type:e.t||"",lastModified:e.m}))}case"FD":{if(typeof FormData>"u")throw new TypeError("FormData is not available in this environment.");let o=new FormData;s(o);for(let[i,c]of e.v){let a=G(c,n);o.append(i,a)}return o}default:{if(t==="buf"){let i=Ve(e.v);return s(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength))}if(t==="dv"){let i=Ve(e.v);return s(new DataView(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)))}let o=pi[t];if(o){let i=Ve(e.v),c=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);return s(new o(c))}throw new TypeError(`Unknown serialization tag: ${t}`)}}}function bi(e){return e!==null&&typeof e=="object"}function gi(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function yi(e){return/^_+\$wj$/.test(e)||/^_+id$/.test(e)}function wi(e){return/^__+\$wj$/.test(e)||/^__+id$/.test(e)}function ze(e){if(Br)return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64");let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function Ve(e){if(Br){let r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}var x,ci,di,pi,Br,ke=Z(()=>{x="_$wj",ci=new Set(["__proto__","constructor","prototype"]);di={Int8Array:"i8",Uint8Array:"u8",Uint8ClampedArray:"u8c",Int16Array:"i16",Uint16Array:"u16",Int32Array:"i32",Uint32Array:"u32",Float32Array:"f32",Float64Array:"f64",BigInt64Array:"bi64",BigUint64Array:"bu64"},pi={i8:Int8Array,u8:Uint8Array,u8c:Uint8ClampedArray,i16:Int16Array,u16:Uint16Array,i32:Int32Array,u32:Uint32Array,f32:Float32Array,f64:Float64Array,bi64:typeof BigInt64Array<"u"?BigInt64Array:null,bu64:typeof BigUint64Array<"u"?BigUint64Array:null};Br=typeof Buffer<"u"&&typeof Buffer.from=="function"});var Xr={};tr(Xr,{observeLazy:()=>ta,observeViewportOnce:()=>sa});function Jr(e){let t=vn.get(e);return t||(t=import(e).finally(()=>vn.delete(e)),vn.set(e,t),t)}function ta(e){for(let[t,n]of Object.entries(e))ue.set(t.toLowerCase(),n);if(typeof IntersectionObserver>"u"){for(let t of ue.values())Jr(t);ue.clear();return}Xe||(Xe=new IntersectionObserver(na,{rootMargin:"200px"})),Yr(),typeof MutationObserver<"u"&&new MutationObserver(()=>Yr()).observe(document.body,{childList:!0,subtree:!0})}function Yr(){if(!(!Xe||!ue.size))for(let e of ue.keys())for(let t of document.querySelectorAll(e))Xe.observe(t)}function na(e){for(let t of e){if(!t.isIntersecting)continue;let n=t.target.tagName.toLowerCase(),r=ue.get(n);r&&(Jr(r),ue.delete(n),Xe?.unobserve(t.target))}}function ra(e){for(let t of e){if(!t.isIntersecting)continue;let n=Nt.get(t.target);Nt.delete(t.target),Je?.unobserve(t.target),n&&n()}}function sa(e,t){return typeof IntersectionObserver>"u"?(t(),()=>{}):(Je||(Je=new IntersectionObserver(ra,{rootMargin:"200px"})),Nt.set(e,t),Je.observe(e),()=>{Nt.delete(e),Je?.unobserve(e)})}var ue,Xe,vn,Je,Nt,Zr=Z(()=>{ue=new Map,Xe=null,vn=new Map;Je=null,Nt=new WeakMap});var Cn,xn=Z(()=>{Cn=typeof HTMLElement<"u"?class extends HTMLElement{constructor(){super(),this._webjsLoadedSrc=null,this._webjsLazyTeardown=null}static get observedAttributes(){return["src"]}connectedCallback(){this._webjsScheduleLoad()}disconnectedCallback(){this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null)}attributeChangedCallback(t,n,r){t==="src"&&this.isConnected&&this._webjsScheduleLoad()}_webjsScheduleLoad(){let t=this.getAttribute("src");if(!t){this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null),this._webjsLoadedSrc=null;return}let n=t;try{n=new URL(t,location.href).href}catch{}if(n===this._webjsLoadedSrc)return;this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null),(this.getAttribute("loading")||"eager").toLowerCase()==="lazy"?(this._webjsLoadedSrc=n,Promise.resolve().then(()=>(Zr(),Xr)).then(({observeViewportOnce:s})=>{this._webjsLoadedSrc!==n||!this.isConnected||(this._webjsLazyTeardown=s(this,()=>{this._webjsLazyTeardown=null,this._webjsLoad(n)}))})):(this._webjsLoadedSrc=n,this._webjsLoad(n))}_webjsLoad(t){Promise.resolve().then(()=>(kn(),Qr)).then(({loadFrame:n})=>{this._webjsLoadedSrc!==t||!this.isConnected||n(this,t)})}}:null;typeof customElements<"u"&&Cn&&!customElements.get("webjs-frame")&&customElements.define("webjs-frame",Cn)});function ia(e,t,n){switch(e){case"append":n&&t.append(n);break;case"prepend":n&&t.prepend(n);break;case"before":n&&t.before(n);break;case"after":n&&t.after(n);break;case"replace":n&&t.replaceWith(n);break;case"update":n&&t.replaceChildren(n);break;case"remove":t.remove();break;default:break}}function Nn(e,t){let n=t||(typeof document<"u"?document:null);if(!n)return;let r=null;if(typeof e=="string"){let o=n.createElement("template");o.innerHTML=e,r=o.content}else if(e&&e.nodeType)r=e;else return;let s=r.querySelectorAll?Array.from(r.querySelectorAll("webjs-stream")):[];if(s.length)for(let o of s)n.body.append(o);else n.body.append(r)}var oa,Tn,jt=Z(()=>{oa=new Set(["append","prepend","before","after","replace","update"]);Tn=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this._webjsApplied||(this._webjsApplied=!0,this._webjsApply())}_webjsApply(){let t=(this.getAttribute("action")||"").toLowerCase(),n=this.ownerDocument||document,r=[],s=this.getAttribute("target");if(s){let i=n.getElementById(s);i&&(r=[i])}else{let i=this.getAttribute("targets");if(i)try{r=Array.from(n.querySelectorAll(i))}catch{r=[]}}let o=oa.has(t)?this.querySelector("template"):null;try{for(let i of r){let c=o?o.content.cloneNode(!0):null;ia(t,i,c)}}finally{this.remove()}}}:null;typeof customElements<"u"&&Tn&&!customElements.get("webjs-stream")&&customElements.define("webjs-stream",Tn)});var es,ts=Z(()=>{es=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this.style.display||(this.style.display="contents")}}:null;typeof customElements<"u"&&es&&!customElements.get("webjs-suspense")&&customElements.define("webjs-suspense",es)});function Rt(e){let t=e||(typeof document<"u"?document:null);if(!(!t||typeof t.querySelectorAll!="function")){for(let n of t.querySelectorAll('script[type="application/json"]#__webjs-seeds, script[type="application/json"][data-webjs-seeds]'))rs(n.textContent,n);for(let n of t.querySelectorAll("[data-webjs-seed]"))rs(n.getAttribute("data-webjs-seed"),n,()=>n.removeAttribute("data-webjs-seed"))}}function rs(e,t,n){if(e)try{let r=D(e);if(r&&typeof r=="object")for(let s in r)Ze.has(s)||Ze.set(s,r[s])}catch{}n?n():t.remove?.()}function aa(e,t,n){ns||(ns=!0,Rt());let r=`${e}/${t}/${n}`;if(Ze.has(r)){let s=Ze.get(r);return Ze.delete(r),s}return ss}var Ze,ss,ns,jn=Z(()=>{ke();Ze=new Map,ss=Symbol("webjs.seed.miss"),ns=!1});var Qr={};tr(Qr,{_FRAME_TOP:()=>ws,_LIVE_ATTRS:()=>$n,_activeFrameId:()=>ys,_addNewHeadElements:()=>Fn,_applyStreamedResolve:()=>Ws,_blurOutgoingFocus:()=>Mt,_buildSubmitFormData:()=>bs,_bumpNavToken:()=>ja,_clearFormBusy:()=>Ms,_clearFrameBusy:()=>Ls,_collectChildrenSlots:()=>Ie,_currentPageUrl:()=>Ra,_diffElementInPlace:()=>qt,_eligibleAnchorHref:()=>Pt,_findAnchorInPath:()=>gs,_getSubmitAction:()=>ms,_getSubmitMethod:()=>hs,_isNonHtmlPath:()=>Ma,_keyOf:()=>Me,_longestSharedPath:()=>Ss,_markFormBusy:()=>Os,_markFrameBusy:()=>Rs,_mergeHead:()=>qs,_navToken:()=>Na,_onPopState:()=>Un,_onSubmit:()=>qn,_prefetch:()=>Pe,_prefetchHasHoverPointer:()=>xs,_prefetchInflightSize:()=>ka,_prefetchMode:()=>$t,_prefetchPeek:()=>xa,_prefetchSaysSaveData:()=>Wn,_prefetchSuppressed:()=>ks,_prefetchTake:()=>Ts,_reactivateScripts:()=>Dt,_readStreamedShell:()=>Ds,_reconcileChildren:()=>Kn,_regraftPermanentElements:()=>Ps,_regraftPermanentInSlice:()=>zn,_resetPrefetch:()=>Ta,_resetWarnOnce:()=>Oa,_resolveTargetFrameId:()=>Dn,_restoreOptimistic:()=>Qe,_runWithTransition:()=>Ot,_setCurrentPageUrl:()=>La,_snapshotCache:()=>O,_streamBoundariesProgressively:()=>Vs,_takeResolveUnit:()=>Hs,_viewTransitionsEnabled:()=>Is,collectChildrenSlots:()=>Ie,disableClientRouter:()=>us,enableClientRouter:()=>Bn,loadFrame:()=>la,longestSharedPath:()=>Ss,navigate:()=>fs,revalidate:()=>ds});function ls(e){return typeof Document<"u"&&typeof Document.parseHTMLUnsafe=="function"?Document.parseHTMLUnsafe(e):typeof DOMParser<"u"?new DOMParser().parseFromString(e,"text/html"):null}function ca(){Rn||typeof MutationObserver>"u"||typeof customElements>"u"||(Rn=new MutationObserver(e=>{for(let t of e)for(let n of t.addedNodes){if(n.nodeType!==1)continue;let r=n;r.tagName?.includes("-")&&customElements.upgrade(r);for(let s of r.querySelectorAll("*"))s.tagName?.includes("-")&&customElements.upgrade(s)}}),Rn.observe(document.body,{childList:!0,subtree:!0}))}function Bn(){X||typeof document>"u"||(X=!0,document.addEventListener("click",ps,!1),document.addEventListener("submit",qn,!1),window.addEventListener("popstate",Un),document.addEventListener("pointerover",Oe,!0),document.addEventListener("focusin",Oe,!0),document.addEventListener("touchstart",Oe,{capture:!0,passive:!0}),document.addEventListener("pointerout",Ns,!0),document.addEventListener("webjs:navigate",Pn),ca(),Pn(),typeof history<"u"&&"scrollRestoration"in history&&(Lt=history.scrollRestoration,history.scrollRestoration="manual"),typeof location<"u"&&(q=location.href))}function us(){X&&(X=!1,document.removeEventListener("click",ps,!1),document.removeEventListener("submit",qn,!1),window.removeEventListener("popstate",Un),document.removeEventListener("pointerover",Oe,!0),document.removeEventListener("focusin",Oe,!0),document.removeEventListener("touchstart",Oe,{capture:!0}),document.removeEventListener("pointerout",Ns,!0),document.removeEventListener("webjs:navigate",Pn),Wt(),Vn(),J&&(J.disconnect(),J=null),typeof history<"u"&&Lt!==null&&(history.scrollRestoration=Lt,Lt=null),q=null)}async function fs(e,t){let n=new URL(e,location.href);if(n.origin!==location.origin){location.href=e;return}await Hn(n.href,t?.replace??!1,null)}async function la(e,t){if(typeof location>"u")return{ok:!1,status:null,aborted:!1};let n=e&&e.id;if(!n)return{ok:!1,status:null,aborted:!1};let r=new URL(t,location.href);if(r.origin!==location.origin)return{ok:!1,status:null,aborted:!1};M&&M.abort(),M=new AbortController;let s=M.signal,o=++j;return Ft(r.href,n,!1,null,"GET",null,s,o)}function ds(e){if(!e){O.clear(),L.clear();return}let t=new URL(e,location.href),n=t.pathname+t.search;O.delete(n),L.delete(n)}function ps(e){if(!X||e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=gs(e);if(!t||t.hasAttribute("download")||t.hasAttribute("data-no-router")||t.target&&t.target!=="_self")return;let n=t.href;if(!n)return;let r=new URL(n);if(r.origin!==location.origin||r.pathname===location.pathname&&r.search===location.search&&r.hash||Ht.test(r.pathname))return;e.preventDefault();let s=Dn(t);Hn(n,!1,s)}function Un(e){Hn(location.href,!0,null)}function qn(e){if(!X||e.defaultPrevented)return;let t=e.target;if(!t||t.nodeType!==1||t.tagName!=="FORM"||t.hasAttribute("data-no-router"))return;let n=e.submitter??null;if(n&&n.hasAttribute("data-no-router"))return;let r=n&&n.getAttribute("formtarget")||t.getAttribute("target")||"";if(r&&r!=="_self")return;let s=hs(t,n);if(s==="dialog")return;let o=ms(t,n),i;try{i=new URL(o,location.href)}catch{return}if(i.origin!==location.origin||Ht.test(i.pathname))return;let c=bs(t,n);e.preventDefault();let a=Dn(n||t);da(i.href,s,c,a,t)}function hs(e,t){return(t&&t.getAttribute("formmethod")||e.getAttribute("method")||"get").toLowerCase()}function ms(e,t){return t&&t.hasAttribute("formaction")?t.getAttribute("formaction")||"":e.getAttribute("action")||e.action||location.href}function bs(e,t){try{return new FormData(e,t||void 0)}catch{let n=new FormData(e);return t&&t.getAttribute("name")&&n.append(t.getAttribute("name"),t.getAttribute("value")||""),n}}function gs(e){for(let t of e.composedPath())if(t instanceof HTMLAnchorElement)return t;return null}function ys(e){let t=e;for(;t;){let n=t.closest("webjs-frame");if(n&&n.id)return n.id;let r=t.getRootNode();if(r&&r.host)t=r.host;else break}return null}function Dn(e){if(!e)return null;let t=e.closest&&e.closest("[data-webjs-frame]"),n=t?t.dataset?t.dataset.webjsFrame:t.getAttribute("data-webjs-frame"):null;if(n!=null&&n!==""){if(n===ws)return null;let r=typeof document<"u"?document.getElementById(n):null;return r&&r.tagName&&r.tagName.toLowerCase()==="webjs-frame"?n:(_s(`webjs:frame-unresolved:${n}`,`[webjs] data-webjs-frame="${n}" did not match a live <webjs-frame id="${n}">; performing a normal navigation instead.`),null)}return ys(e)}function _s(e,t){On.has(e)||(On.add(e),typeof console<"u"&&console.warn&&console.warn(t))}function is(){if(typeof process<"u"&&process.env||Mn||typeof document>"u"||typeof getComputedStyle!="function")return;let e=document.documentElement;if(!e)return;Mn=!0;let t;try{t=getComputedStyle(e).scrollBehavior}catch{return}t==="smooth"&&_s("scroll-behavior-smooth-html","[webjs] Detected `scroll-behavior: smooth` on <html>. The client router scrolls to the top instantly on navigation (like a native page load), so route transitions are not affected by it. It still applies to in-page #anchor links. Pairing it with a sticky `backdrop-filter` header can also flash on iOS during navigation.")}function It(e){if(typeof document>"u")return;let t=document.documentElement;if(!(!t||!t.hasAttribute("data-webjs-nav-progress")))try{e?t.setAttribute("data-navigating",""):t.removeAttribute("data-navigating")}catch{}}function Ie(e){let t=new Map,n=[];function r(s){if(s.nodeType===8){let o=s,i=o.data,c=/^wj:children:(.+)$/.exec(i);if(c){n.push({path:c[1],start:o});return}if(i.trim()==="/wj:children"){let a=n.pop();a&&!t.has(a.path)&&t.set(a.path,{start:a.start,end:o});return}return}if(s.hasChildNodes&&s.hasChildNodes())for(let o=s.firstChild;o;o=o.nextSibling)r(o)}return r(e),t}function Ss(e,t){let n=null;for(let r of e.keys())t.has(r)&&(n===null||r.length>n.length)&&(n=r);return n}function As(e){let t=pe(e);document.dispatchEvent(new CustomEvent("webjs:before-cache",{detail:{url:e}})),O.has(t)&&O.delete(t);let n={html:document.documentElement.outerHTML,scrollX:typeof window<"u"&&window.scrollX||0,scrollY:typeof window<"u"&&window.scrollY||0};for(O.set(t,n);O.size>ua;){let r=O.keys().next().value;O.delete(r)}}function fa(e){let t=pe(e),n=O.get(t);return n==null?null:(O.delete(t),O.set(t,n),typeof n=="string"?{html:n,scrollX:0,scrollY:0}:n)}function pe(e){let t=new URL(e,location.href);return t.pathname+t.search}async function Hn(e,t,n){M&&M.abort(),M=new AbortController;let r=M.signal,s=++j;q&&As(q);let o=setTimeout(()=>{It(!0),o=null},150),i=null;t||(i=Fs());try{if(t){let c=fa(e);if(c){let a=ls(c.html);if(a){$s(a,n,!0,null),typeof window<"u"&&window.scrollTo({left:c.scrollX,top:c.scrollY,behavior:"instant"}),Ft(e,n,!1,i,"GET",null,r,s).catch(()=>{});return}}typeof window<"u"&&window.scrollTo({left:0,top:0,behavior:"instant"})}await Ft(e,n,!t,i,"GET",null,r,s)}finally{o&&clearTimeout(o),s===j&&(It(!1),typeof location<"u"&&(q=location.href))}}async function da(e,t,n,r,s){M&&M.abort(),M=new AbortController;let o=M.signal,i=++j,c=t==="get"||t==="head",a=new URL(e,location.href);if(c){a.search="";for(let[b,g]of n)a.searchParams.append(b,typeof g=="string"?g:g.name)}q&&As(q);let l=setTimeout(()=>{It(!0),l=null},150),f=Fs(),d=s?Os(s,i,a.href):null,u=!1;try{let b=await Ft(a.href,r,!0,f,c?"GET":t.toUpperCase(),c?null:n,o,i);u=!!(b&&b.ok),!c&&i===j&&(O.clear(),L.clear())}finally{d&&Ms(d,i,a.href,u),l&&clearTimeout(l),i===j&&(It(!1),typeof location<"u"&&(q=location.href))}}function Es(){return[...Ie(document.body).keys()].join(",")}function Wn(){try{let e=typeof navigator<"u"?navigator.connection:null;if(e&&(e.saveData===!0||typeof e.effectiveType=="string"&&/2g$/.test(e.effectiveType))||typeof matchMedia=="function"&&matchMedia("(prefers-reduced-data: reduce)").matches)return!0}catch{}return!1}function xs(){try{if(typeof matchMedia=="function")return matchMedia("(hover: hover) and (pointer: fine)").matches}catch{}return!0}function ga(e){let t=e.getAttribute("rel");return t?t.toLowerCase().split(/\s+/).filter(Boolean):[]}function Pt(e){if(!e||!(e instanceof HTMLAnchorElement)||e.hasAttribute("download")||e.hasAttribute("data-no-router")||e.target&&e.target!=="_self")return null;let t=e.href;if(!t)return null;let n;try{n=new URL(t)}catch{return null}return n.origin!==location.origin||n.pathname===location.pathname&&n.search===location.search&&n.hash||Ht.test(n.pathname)?null:t}function ks(e){if(e.hasAttribute("data-no-prefetch"))return!0;let t=ga(e);return t.includes("external")||t.includes("no-prefetch")}function $t(e){if(ks(e))return"none";switch((e.getAttribute("data-prefetch")||"").toLowerCase().trim()){case"false":case"none":return"none";case"true":case"render":return"render";case"auto":case"viewport":return"viewport";case"intent":return"intent";default:return xs()?"intent":"viewport"}}function Pe(e){if(!X||typeof fetch!="function"||Wn())return;let t=pe(e);if(fe.has(t)||et.has(t))return;let n=L.get(t);if(n&&In()-n.at<vs)return;if(fe.size>=Cs){for(et.add(t),Re.push(e);Re.length>ha;){let o=Re.shift();et.delete(pe(o))}return}fe.add(t);let r={"x-webjs-router":"1","x-webjs-prefetch":"1"},s=Es();s&&(r["x-webjs-have"]=s),fetch(e,{method:"GET",headers:r,credentials:"same-origin"}).then(async o=>{let i=o.headers.get("content-type")||"";if(!/^text\/html\b/i.test(i)||o.status>=400)return;let c=o.headers.get("x-webjs-build"),a=o.redirected&&o.url?o.url:e,l=await o.text();wa(t,{html:l,build:c,finalUrl:a,at:In()})}).catch(()=>{}).finally(()=>{fe.delete(t),ya()})}function ya(){for(;Re.length&&fe.size<Cs;){let e=Re.shift();et.delete(pe(e)),Pe(e)}}function wa(e,t){for(L.has(e)&&L.delete(e),L.set(e,t);L.size>pa;){let n=L.keys().next().value;L.delete(n)}typeof document<"u"&&document.dispatchEvent(new CustomEvent("webjs:prefetch",{detail:{url:t.finalUrl,key:e,from:"prefetch"}}))}function Ts(e){let t=pe(e),n=L.get(t);return!n||(L.delete(t),In()-n.at>=vs)?null:n}function In(){try{if(typeof performance<"u"&&typeof performance.now=="function")return performance.now()}catch{}return 0}function Oe(e){if(!X)return;let t=js(e.target);if(!t)return;let n=$t(t);if(n==="none"||n==="render")return;let r=Pt(t);if(r){if(e.type==="touchstart"){Pe(r);return}n==="intent"&&(tt===t&&Le||(Wt(),tt=t,Le=setTimeout(()=>{Le=null,tt=null,Pe(r)},ma)))}}function Ns(e){let t=js(e.target);t&&t===tt&&Wt()}function Wt(){Le&&(clearTimeout(Le),Le=null),tt=null}function Vn(){for(let e of nt)clearTimeout(e);nt.clear(),Ne=new WeakMap}function js(e){let t=e;for(;t;){if(t instanceof HTMLAnchorElement)return t;let n=t.nodeType===1?t:null;if(n){let s=n.closest&&n.closest("a");if(s instanceof HTMLAnchorElement)return s}let r=t.getRootNode?t.getRootNode():null;t=r&&r.host?r.host:null}return null}function Pn(){if(typeof document>"u"||Wn())return;let e=typeof IntersectionObserver<"u";e&&(J?(J.disconnect(),Vn()):J=new IntersectionObserver(t=>{for(let n of t){let r=n.target;if(n.isIntersecting){if(Ne.has(r))continue;let s=setTimeout(()=>{nt.delete(s),Ne.delete(r),J.unobserve(r);let o=Pt(r);o&&$t(r)==="viewport"&&Pe(o)},ba);Ne.set(r,s),nt.add(s)}else{let s=Ne.get(r);s&&(clearTimeout(s),nt.delete(s),Ne.delete(r))}}},{threshold:.5}));for(let t of document.querySelectorAll("a[href]")){let n=$t(t);if(n==="render"){let r=Pt(t);r&&Pe(r)}else n==="viewport"&&e&&J.observe(t)}}function _a(e){if(typeof document>"u"||!document.body)return!1;let t=Ie(document.body),n,r=-1;for(let[a,l]of t)a.length>r&&(r=a.length,n=l);if(!n)return!1;let s=n.start.parentNode;if(!s||n.start.parentNode!==n.end.parentNode)return!1;let o=document.createElement("div");o.setAttribute("role","alert"),o.setAttribute("data-webjs-nav-error","");let i=e?`This page could not be loaded. (status ${e})`:"This page could not be loaded.";o.textContent=i;let c=document.createRange();return c.setStartAfter(n.start),c.setEndBefore(n.end),c.deleteContents(),s.insertBefore(o,n.end),!0}function Ln(e,t,n){let r=new CustomEvent("webjs:navigation-error",{bubbles:!0,cancelable:!0,detail:{url:e,status:t??null,error:n||null}});if(typeof document<"u")try{document.dispatchEvent(r)}catch{}r.defaultPrevented||_a(t)||typeof location<"u"&&(location.href=e)}async function Ft(e,t,n,r,s,o,i,c){s=s||"GET";let a=typeof c=="number"?c:j,l,f=null,d=null,u=null,b=!1,g=e,m=t?Rs(t,a):null;try{try{let p=s==="GET"&&!o&&!t?Ts(e):null;if(p)l=p.html,d=p.build,g=p.finalUrl,u=200,b=!0;else{let y={"x-webjs-router":"1"},w=Es();w&&(y["x-webjs-have"]=w),t&&(y["x-webjs-frame"]=t),o!=null&&s!=="GET"&&s!=="HEAD"&&(y.accept=os+", text/html");let S={method:s,headers:y,credentials:"same-origin"};i&&(S.signal=i),o!=null&&s!=="GET"&&s!=="HEAD"&&(S.body=o);let A=await fetch(e,S);u=A.status,b=A.ok;let C=A.headers.get("content-type")||"",T=/^text\/html\b/i.test(C);if(C.toLowerCase().indexOf(os)===0){let _=await A.text();return a===j&&(Qe(r),Nn(_)),{ok:b,status:u,aborted:!1}}if(A.redirected&&A.url&&(g=A.url),A.status===204||A.status===205)return a===j&&n&&history.pushState(null,"",g),{ok:b,status:u,aborted:!1};if(!T)return a===j&&(Qe(r),Ln(e,A.status,null)),{ok:!1,status:u,aborted:!1};d=A.headers.get("x-webjs-build");let E=await Ds(A);l=E.shell,E.streaming&&(f=E)}}catch(p){return p&&p.name==="AbortError"?{ok:!1,status:null,aborted:!0}:a!==j?{ok:!1,status:null,aborted:!0}:(Qe(r),Ln(e,null,p instanceof Error?p:new Error(String(p))),{ok:!1,status:null,aborted:!1})}if(a!==j){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:!1,status:u,aborted:!0}}let h=ls(l);if(!h)return Qe(r),Ln(e,null,new Error("navigation response did not parse as HTML")),{ok:!1,status:u,aborted:!1};if($s(h,t,!1,g,d),n&&history.pushState(null,"",g),n){let p=new URL(g);if(p.hash){let y=document.getElementById(p.hash.slice(1));y?y.scrollIntoView():(is(),window.scrollTo({left:0,top:0,behavior:"instant"}))}else is(),window.scrollTo({left:0,top:0,behavior:"instant"})}return f&&(f.reader||f.rest)&&Vs(f.reader,f.dec,f.rest,()=>a===j),document.dispatchEvent(new CustomEvent("webjs:navigate",{detail:{url:g,frameId:t,from:"navigate"}})),{ok:b,status:u,aborted:!1}}finally{m&&Ls(m,a)}}function Rs(e,t){if(typeof document>"u")return null;let n=null;try{n=document.querySelector(`webjs-frame#${CSS.escape(e)}`)}catch{n=document.getElementById(e)}if(!n)return null;let r=Bt.has(n);return Bt.set(n,t),n.setAttribute("aria-busy","true"),r||n.dispatchEvent(new CustomEvent("webjs:frame-busy",{bubbles:!0,detail:{frameId:e,busy:!0}})),n}function Ls(e,t){if(Bt.get(e)!==t)return;Bt.delete(e),e.setAttribute("aria-busy","false");let n=e.id||null;e.dispatchEvent(new CustomEvent("webjs:frame-busy",{bubbles:!0,detail:{frameId:n,busy:!1}}))}function Os(e,t,n){let r=Ut.has(e);return Ut.set(e,t),e.setAttribute("aria-busy","true"),r||e.dispatchEvent(new CustomEvent("webjs:submit-start",{bubbles:!0,detail:{form:e,url:n}})),e}function Ms(e,t,n,r){if(Ut.get(e)!==t)return;Ut.delete(e),e.setAttribute("aria-busy","false");let s=new CustomEvent("webjs:submit-end",{bubbles:!0,detail:{form:e,url:n,ok:!!r}});e.isConnected?e.dispatchEvent(s):typeof document<"u"?document.dispatchEvent(s):e.dispatchEvent(s)}function as(e){if(!e||!e.head)return"";let t=e.head.querySelectorAll('[data-webjs-track="reload"]');if(!t.length)return"";let n="";for(let r of t)n+=de(r);return n}function Is(){if(typeof document>"u")return!1;let e=document.querySelector('meta[name="view-transition"]');return e?(e.getAttribute("content")||"").trim().toLowerCase()==="same-origin":!1}function Ot(e,t){let n=typeof document<"u"?document.startViewTransition:void 0;if(Is()&&typeof n=="function"){let r=n.call(document,e);r&&r.finished&&typeof r.finished.then=="function"?r.finished.then(()=>{t&&t()}).catch(()=>{}):t&&t();return}e(),t&&t()}function Ps(e,t){if(!e||!t||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll("[data-webjs-permanent][id]");for(let r of n){let s=r.id;if(!s)continue;let o=null;try{o=t.querySelector(`#${CSS.escape(s)}`)}catch{o=null}if(!o||!r.hasAttribute||!r.hasAttribute("data-webjs-permanent"))continue;let i=o.parentNode;i&&o!==r&&i.replaceChild(r,o)}}function zn(e,t){let n=[];for(let r of e){if(r.nodeType!==1)continue;let s=r;if(s.hasAttribute&&s.hasAttribute("data-webjs-permanent")&&s.id&&n.push(s),typeof s.querySelectorAll=="function")for(let o of s.querySelectorAll("[data-webjs-permanent][id]"))n.push(o)}if(n.length)for(let r of n){let s=r.id;if(!s)continue;let o=Sa(t,s);if(!o||o===r)continue;let i=o.parentNode;if(i)i.replaceChild(r,o);else{let c=t.indexOf(o);c!==-1&&(t[c]=r)}}}function Sa(e,t){for(let n of e){if(n.nodeType!==1)continue;let r=n;if(r.id===t)return r;if(typeof r.querySelector=="function"){let s=null;try{s=r.querySelector(`#${CSS.escape(t)}`)}catch{s=null}if(s)return s}}return null}function Aa(e){if(!(!e||!e.start))for(let t=e.start.nextSibling;t&&t!==e.end;t=t.nextSibling)t.nodeType===1&&je(t)}function $s(e,t,n,r,s){try{Rt(e)}catch{}try{typeof sessionStorage<"u"&&(!r||t||n)&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}if(r&&!t&&!n){let f=document.querySelector('script[type="importmap"]'),d=f?f.getAttribute("data-webjs-build"):null,u=!1;if(s&&d&&(u=s!==d),!u&&e.head&&e.head.children.length>0){let b=as(document),g=as(e);b!==g&&(u=!0)}if(u&&typeof location<"u")try{let b="webjs:importmap-reload";if(sessionStorage&&sessionStorage.getItem(b))sessionStorage.removeItem(b);else{sessionStorage&&sessionStorage.setItem(b,"1"),location.href=r;return}}catch{location.href=r;return}else if(!u)try{typeof sessionStorage<"u"&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}}if(t){let f=document.querySelector(`webjs-frame#${CSS.escape(t)}`),d=e.querySelector(`webjs-frame#${CSS.escape(t)}`);if(f&&d){Fn(e.head),Ot(()=>{Ca(f,d),Dt(f),je(f),Mt()},()=>je(f)),cs(e.body);return}let u=new CustomEvent("webjs:frame-missing",{bubbles:!0,cancelable:!0,detail:{frameId:t,url:r||(typeof location<"u"?location.href:null),document:e}});(f||document).dispatchEvent(u),u.defaultPrevented||console.warn(`[webjs] frame "${t}" was not in the navigation response, leaving it unchanged. Handle "webjs:frame-missing" (preventDefault) to override.`);return}let o=Ie(document.body),i=Ie(e.body),c=Ss(o,i);if(c){Fn(e.head),Ot(()=>{Ea(o.get(c),i.get(c),e),Mt()},()=>Aa(o.get(c))),cs(e.body);return}qs(e.head),Ps(document.body,e.body);let a=[...e.body.childNodes];Ot(()=>{document.body.replaceChildren(...a),Dt(document.body),je(document.body),Mt()},()=>je(document.body))}function Mt(){let e=document.activeElement;!e||e===document.body||e===document.documentElement||typeof e.blur=="function"&&e.blur()}function Ea(e,t,n){if(!e||!t)return;let r=e.start.parentNode;if(!r)return;let s=[];for(let i=e.start.nextSibling;i&&i!==e.end;i=i.nextSibling)s.push(i);let o=[];for(let i=t.start.nextSibling;i&&i!==t.end;i=i.nextSibling)o.push(document.importNode(i,!0));zn(s,o),va(r,e.start,e.end,s,o);for(let i=e.start.nextSibling;i&&i!==e.end;i=i.nextSibling)i.nodeType===1&&(Dt(i),je(i))}function va(e,t,n,r,s){let o=new Map;for(let a of r){if(a.nodeType!==1)continue;let l=Me(a);l&&o.set(l,a)}let i=n,c=[];for(let a of s){if(a.nodeType===1){let l=Me(a);if(l&&o.has(l)){let f=o.get(l);qt(f,a),c.push(f),o.delete(l);continue}}c.push(a)}for(let a of r)if(a.parentNode===e){if(a.nodeType===1&&c.includes(a))continue;e.removeChild(a)}for(let a of c)e.insertBefore(a,i)}function qt(e,t){if(e===t)return;if(e.tagName!==t.tagName){e.replaceWith(t);return}let n=new Set;for(let r of t.attributes)n.add(r.name),!$n.has(r.name)&&e.getAttribute(r.name)!==r.value&&e.setAttribute(r.name,r.value);for(let r of[...e.attributes])$n.has(r.name)||n.has(r.name)||e.removeAttribute(r.name);Kn(e,t)}function Kn(e,t){let n=[...e.childNodes],r=[...t.childNodes].map(c=>document.importNode(c,!0));zn(n,r);let s=new Map;for(let c of n){if(c.nodeType!==1)continue;let a=Me(c);a&&s.set(a,c)}let o=[];for(let c=0;c<r.length;c++){let a=r[c];if(a.nodeType===1){let l=Me(a);if(l&&s.has(l)){let d=s.get(l);qt(d,a),o.push(d),s.delete(l);continue}let f=n[c];if(f&&f.nodeType===1&&!Me(f)&&f.tagName===a.tagName){qt(f,a),o.push(f);continue}}else if(a.nodeType===3){let l=n[c];if(l&&l.nodeType===3){l.nodeValue!==a.nodeValue&&(l.nodeValue=a.nodeValue),o.push(l);continue}}else if(a.nodeType===8){let l=n[c];if(l&&l.nodeType===8){l.nodeValue!==a.nodeValue&&(l.nodeValue=a.nodeValue),o.push(l);continue}}o.push(a)}let i=new Set(o);for(let c of n)!i.has(c)&&c.parentNode===e&&e.removeChild(c);for(let c=0;c<o.length;c++){let a=o[c];(a.parentNode!==e||e.childNodes[c]!==a)&&e.insertBefore(a,e.childNodes[c]||null)}}function Me(e){let t=e.getAttribute("data-key");return t?`${e.tagName}:k:${t}`:e.id?`${e.tagName}:i:${e.id}`:null}function Fs(){let e=Ie(document.body);if(e.size===0)return null;let t=null;for(let i of e.keys())(t===null||i.length>t.length)&&(t=i);if(t===null)return null;let n=document.getElementById(`wj-loading:${t}`);if(!(n instanceof HTMLTemplateElement))return null;let r=e.get(t),s=[];for(let i=r.start.nextSibling;i&&i!==r.end;i=i.nextSibling)s.push(i);let o=document.createRange();return o.setStartAfter(r.start),o.setEndBefore(r.end),o.deleteContents(),r.start.parentNode.insertBefore(n.content.cloneNode(!0),r.end),{slot:r,oldChildren:s,token:j}}function Qe(e){if(!e||e.token!==j)return;let{slot:t,oldChildren:n}=e;if(t.start.parentNode!==t.end.parentNode)return;let r=document.createRange();r.setStartAfter(t.start),r.setEndBefore(t.end),r.deleteContents();for(let s of n)t.start.parentNode.insertBefore(s,t.end)}function Ca(e,t){Kn(e,t)}function Bs(){if(typeof document>"u")return"";let e=document.querySelector('meta[name="csp-nonce"]');return e&&e.getAttribute("content")||""}function Gn(e){let t=document.createElement("script");for(let r of e.attributes)r.name!=="nonce"&&t.setAttribute(r.name,r.value);let n=Bs();return n&&t.setAttribute("nonce",n),t.textContent=e.textContent,t}function Us(e){if(!e.hasAttribute("nonce"))return e.cloneNode(!0);let t=e.cloneNode(!0),n=Bs();return n?t.setAttribute("nonce",n):t.removeAttribute("nonce"),t}function de(e){if(!e.hasAttribute("nonce"))return e.outerHTML;let t=e.cloneNode(!0);return t.removeAttribute("nonce"),t.outerHTML}function Fn(e){let t=e.querySelector("title");t&&(document.title=t.textContent||"");let n=new Set;for(let r of document.head.children)n.add(de(r));for(let r of e.children)r.tagName==="SCRIPT"&&r.getAttribute("type")==="importmap"||r.tagName!=="BASE"&&r.tagName!=="TITLE"&&(n.has(de(r))||(r.tagName==="SCRIPT"?document.head.appendChild(Gn(r)):document.head.appendChild(Us(r))))}function qs(e){let t=document.head,n=e.querySelector("title");n&&(document.title=n.textContent||"");let r=new Set;for(let o of t.children)o.tagName==="SCRIPT"&&o.getAttribute("type")==="importmap"||o.tagName!=="BASE"&&r.add(de(o));let s=new Set;for(let o of e.children)o.tagName==="SCRIPT"&&o.getAttribute("type")==="importmap"||o.tagName!=="BASE"&&s.add(de(o));for(let o of[...t.children])o.tagName==="SCRIPT"&&o.getAttribute("type")==="importmap"||o.tagName!=="BASE"&&o.tagName!=="TITLE"&&(s.has(de(o))||o.remove());for(let o of e.children)o.tagName==="SCRIPT"&&o.getAttribute("type")==="importmap"||o.tagName!=="BASE"&&o.tagName!=="TITLE"&&(r.has(de(o))||(o.tagName==="SCRIPT"?t.appendChild(Gn(o)):t.appendChild(Us(o))))}function je(e){typeof customElements>"u"||Yn(e)}function Yn(e){let t=e instanceof Element?[e,...e.querySelectorAll("*")]:[...e.querySelectorAll("*")];for(let n of t)n.tagName&&n.tagName.includes("-")&&(customElements.upgrade(n),n.shadowRoot&&Yn(n.shadowRoot))}function cs(e){for(let t of e.querySelectorAll("template[data-webjs-resolve]"))document.body.appendChild(t.cloneNode(!0))}async function Ds(e){if(!e.body||typeof e.body.getReader!="function")return{shell:await e.text(),streaming:!1};let t=e.body.getReader(),n=new TextDecoder,r="",s="<template data-webjs-resolve",o="<!--wj-stream-shell-->",i=/<\/html\s*>/i;for(;;){let{value:c,done:a}=await t.read();c&&(r+=n.decode(c,{stream:!0})),a&&(r+=n.decode());let l=r.indexOf(o);if(l!==-1)return{shell:r.slice(0,l),streaming:!0,reader:a?null:t,dec:n,rest:r.slice(l+o.length)};let f=r.indexOf(s);if(f!==-1)return{shell:r.slice(0,f),streaming:!0,reader:a?null:t,dec:n,rest:r.slice(f)};if(a)return{shell:r,streaming:!1};let d=i.exec(r);if(d){let u=d.index+d[0].length;return{shell:r.slice(0,u),streaming:!0,reader:t,dec:n,rest:r.slice(u)}}}}function Hs(e){let t=/<template\s+data-webjs-resolve="([^"]+)"\s*>/i.exec(e);if(!t)return null;let n=t[1],r=t.index+t[0].length,s=/<(\/?)template\b[^>]*>/gi;s.lastIndex=r;let o=1,i;for(;i=s.exec(e);)if(i[1]==="/"){if(o--,o===0)return{id:n,content:e.slice(r,i.index),rest:e.slice(i.index+i[0].length)}}else o++;return null}function Ws(e,t){let n=document.getElementById(e);if(!n)return;let r=document.createElement("template");r.innerHTML=t;let s=[...r.content.childNodes];n.replaceWith(r.content);for(let o of s)o.nodeType===1&&Yn(o)}async function Vs(e,t,n,r){let s=n,o=()=>{let i;for(;i=Hs(s);){if(!r())return!1;Ws(i.id,i.content),s=i.rest}return!0};if(!e){o();return}try{for(;;){if(!o()){try{await e.cancel()}catch{}return}let{value:i,done:c}=await e.read();if(i&&(s+=t.decode(i,{stream:!0})),c){s+=t.decode(),o();return}}}catch{}}function Dt(e){for(let t of e.querySelectorAll("script"))t.replaceWith(Gn(t))}function xa(e){return L.get(pe(e))||null}function ka(){return fe.size}function Ta(){L.clear(),fe.clear(),Re.length=0,et.clear(),Wt(),Vn()}function Na(){return j}function ja(){return++j}function Ra(){return q}function La(e){q=e}function Oa(){On.clear(),Mn=!1}function Ma(e){return Ht.test(e)}var os,X,M,j,Rn,q,Lt,Ht,ws,On,Mn,ua,O,pa,vs,Cs,ha,ma,ba,L,fe,Re,et,Le,tt,J,Ne,nt,Bt,Ut,$n,kn=Z(()=>{xn();jt();jt();ts();jn();os="text/vnd.webjs-stream.html";X=!1,M=null,j=0,Rn=null;q=null,Lt=null;Ht=/\.(?:pdf|zip|tar|gz|7z|rar|dmg|exe|msi|deb|rpm|apk|ipa|xlsx?|docx?|pptx?|csv|odt|ods|odp|rtf|epub|mobi|xml|json|rss|atom|txt|md|wasm|mp3|mp4|mov|avi|webm|ogg|flac|wav|m4a|m4v|mkv|png|jpe?g|gif|webp|avif|bmp|ico|svg|tiff?|heic)$/i;ws="_top";On=new Set;Mn=!1;ua=16,O=new Map;pa=8,vs=3e4,Cs=3,ha=24,ma=100,ba=250,L=new Map,fe=new Set,Re=[],et=new Set,Le=null,tt=null,J=null,Ne=new WeakMap,nt=new Set;Bt=new WeakMap;Ut=new WeakMap;$n=new Set(["value","checked","selected","indeterminate","disabled","open","popover"]);(typeof window>"u"||window.__WEBJS_CLIENT_ROUTER__!==!1)&&Bn()});function Gt(e,...t){return{_$webjs:"template",strings:e,values:t}}function N(e){return!!e&&typeof e=="object"&&e._$webjs==="template"}var v="wjm-";function Qs(e,...t){let n=e[0];for(let r=1;r<e.length;r++)n+=String(t[r-1]??"")+e[r];return{_$webjsCss:!0,text:n}}function me(e){return!!e&&typeof e=="object"&&e._$webjsCss===!0}function Yt(e,t){if(!(!t||!t.length))if("adoptedStyleSheets"in e&&typeof CSSStyleSheet<"u"){let n=t.map(r=>{let s=new CSSStyleSheet;return s.replaceSync(r.text),s});e.adoptedStyleSheets=n}else{let n=e,r=document.createElement("style");r.textContent=t.map(s=>s.text).join(`
1
+ var eo=Object.defineProperty;var Q=(e,t)=>()=>(e&&(t=e(e=0)),t);var tr=(e,t)=>{for(var n in t)eo(e,n,{get:t[n],enumerable:!0})};function Pr(e,t,n){ui.has(t)?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}async function Ke(e){return JSON.stringify(await $r(e))}function q(e){return Fr(JSON.parse(e))}async function $r(e){let t=fi();return await di(e,t),le(e,t)}function Fr(e){return Y(e,bi())}function fi(){return{refCount:new Map,idOf:new Map,emitted:new Set,nextId:0,blobBytes:new Map,fdEntries:new Map}}async function di(e,t){let n=[e];for(;n.length;){let r=n.pop();if(!yi(r))continue;let s=t.refCount.get(r)||0;if(t.refCount.set(r,s+1),!(s>0)){if(typeof Blob<"u"&&r instanceof Blob){let o=new Uint8Array(await r.arrayBuffer());t.blobBytes.set(r,o);continue}if(typeof FormData<"u"&&r instanceof FormData){let o=t.fdEntries.get(r)||[...r.entries()];t.fdEntries.set(r,o);for(let[,i]of o)typeof i!="string"&&n.push(i);continue}if(Array.isArray(r))for(let o=0;o<r.length;o++)n.push(r[o]);else if(r instanceof Map)for(let[o,i]of r)n.push(o),n.push(i);else if(r instanceof Set)for(let o of r)n.push(o);else if(wi(r))for(let o in r)Object.prototype.hasOwnProperty.call(r,o)&&n.push(r[o])}}for(let[r,s]of t.refCount)s>1&&t.idOf.set(r,t.nextId++)}function le(e,t){if(e===null)return null;if(e===void 0)return{[x]:"undef"};let n=typeof e;if(n==="string"||n==="boolean")return e;if(n==="number")return Number.isNaN(e)?{[x]:"NaN"}:e===1/0?{[x]:"Inf"}:e===-1/0?{[x]:"-Inf"}:Object.is(e,-0)?{[x]:"-0"}:e;if(n==="bigint")return{[x]:"BigInt",v:e.toString()};if(n==="symbol"){let o=Symbol.keyFor(e);if(o===void 0)throw new TypeError("Cannot serialize a local Symbol; only Symbol.for() registered symbols are supported.");return{[x]:"Sym",v:o}}if(n==="function")throw new TypeError("Cannot serialize a function.");let r=t.idOf.get(e);if(r!==void 0&&t.emitted.has(r))return{[x]:"Ref",v:r};r!==void 0&&t.emitted.add(r);let s;if(e instanceof Date)s={[x]:"Date",v:Number.isNaN(e.getTime())?null:e.toISOString()};else if(e instanceof Error)s={[x]:"Error",v:{name:e.name,message:e.message,stack:e.stack||null}};else if(typeof Blob<"u"&&e instanceof Blob){let o=t.blobBytes.get(e);typeof File<"u"&&e instanceof File?s={[x]:"File",v:Ve(o),n:e.name,t:e.type||"",m:e.lastModified}:s={[x]:"Blob",v:Ve(o),t:e.type||""}}else if(typeof FormData<"u"&&e instanceof FormData){let o=t.fdEntries.get(e)||[...e.entries()],i=[];for(let[c,a]of o)i.push([c,le(a,t)]);s={[x]:"FD",v:i}}else if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)s=pi(e);else if(e instanceof Map){let o=[];for(let[i,c]of e)o.push([le(i,t),le(c,t)]);s={[x]:"Map",v:o}}else if(e instanceof Set){let o=[];for(let i of e)o.push(le(i,t));s={[x]:"Set",v:o}}else if(Array.isArray(e))s=e.map(o=>le(o,t));else{s={};for(let o in e){if(!Object.prototype.hasOwnProperty.call(e,o))continue;let i=_i(o)?"_"+o:o;Pr(s,i,le(e[o],t))}}if(r!==void 0){if(Array.isArray(s))return{[x]:"Arr",_id:r,v:s};s._id=r}return s}function pi(e){if(e instanceof ArrayBuffer)return{[x]:"buf",v:Ve(new Uint8Array(e))};if(e instanceof DataView)return{[x]:"dv",v:Ve(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))};let t=e.constructor.name,n=hi[t];if(!n)throw new TypeError(`Unsupported typed array: ${t}`);let r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return{[x]:n,v:Ve(r)}}function bi(){return{refs:new Map}}function Y(e,t){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){let o=[];for(let i=0;i<e.length;i++)o.push(Y(e[i],t));return o}let n=e[x];if(typeof n=="string")return gi(e,n,t);let r={},s=e._id;typeof s=="number"&&t.refs.set(s,r);for(let o in e){if(!Object.prototype.hasOwnProperty.call(e,o)||o==="_id")continue;let i=Si(o)?o.slice(1):o;Pr(r,i,Y(e[o],t))}return r}function gi(e,t,n){let r=e._id,s=o=>(typeof r=="number"&&n.refs.set(r,o),o);switch(t){case"undef":return;case"NaN":return NaN;case"Inf":return 1/0;case"-Inf":return-1/0;case"-0":return-0;case"BigInt":return s(BigInt(e.v));case"Sym":return s(Symbol.for(e.v));case"Date":return s(e.v==null?new Date(NaN):new Date(e.v));case"Error":{let o=new Error(e.v.message);return o.name=e.v.name,e.v.stack&&(o.stack=e.v.stack),typeof r=="number"&&n.refs.set(r,o),o}case"Map":{let o=new Map;typeof r=="number"&&n.refs.set(r,o);for(let[i,c]of e.v)o.set(Y(i,n),Y(c,n));return o}case"Set":{let o=new Set;typeof r=="number"&&n.refs.set(r,o);for(let i of e.v)o.add(Y(i,n));return o}case"Arr":{let o=[];typeof r=="number"&&n.refs.set(r,o);for(let i of e.v)o.push(Y(i,n));return o}case"Ref":{let o=n.refs.get(e.v);if(o===void 0)throw new TypeError(`Dangling reference: id=${e.v}`);return o}case"Blob":{if(typeof Blob>"u")throw new TypeError("Blob is not available in this environment.");let o=ze(e.v);return s(new Blob([o],{type:e.t||""}))}case"File":{if(typeof File>"u")throw new TypeError("File is not available in this environment.");let o=ze(e.v);return s(new File([o],e.n,{type:e.t||"",lastModified:e.m}))}case"FD":{if(typeof FormData>"u")throw new TypeError("FormData is not available in this environment.");let o=new FormData;s(o);for(let[i,c]of e.v){let a=Y(c,n);o.append(i,a)}return o}default:{if(t==="buf"){let i=ze(e.v);return s(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength))}if(t==="dv"){let i=ze(e.v);return s(new DataView(i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength)))}let o=mi[t];if(o){let i=ze(e.v),c=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);return s(new o(c))}throw new TypeError(`Unknown serialization tag: ${t}`)}}}function yi(e){return e!==null&&typeof e=="object"}function wi(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function _i(e){return/^_+\$wj$/.test(e)||/^_+id$/.test(e)}function Si(e){return/^__+\$wj$/.test(e)||/^__+id$/.test(e)}function Ve(e){if(Br)return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("base64");let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function ze(e){if(Br){let r=Buffer.from(e,"base64");return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}var x,ui,hi,mi,Br,ke=Q(()=>{x="_$wj",ui=new Set(["__proto__","constructor","prototype"]);hi={Int8Array:"i8",Uint8Array:"u8",Uint8ClampedArray:"u8c",Int16Array:"i16",Uint16Array:"u16",Int32Array:"i32",Uint32Array:"u32",Float32Array:"f32",Float64Array:"f64",BigInt64Array:"bi64",BigUint64Array:"bu64"},mi={i8:Int8Array,u8:Uint8Array,u8c:Uint8ClampedArray,i16:Int16Array,u16:Uint16Array,i32:Int32Array,u32:Uint32Array,f32:Float32Array,f64:Float64Array,bi64:typeof BigInt64Array<"u"?BigInt64Array:null,bu64:typeof BigUint64Array<"u"?BigUint64Array:null};Br=typeof Buffer<"u"&&typeof Buffer.from=="function"});var Qr={};tr(Qr,{observeLazy:()=>aa,observeViewportOnce:()=>ua});function Zr(e){let t=vn.get(e);return t||(t=import(e).finally(()=>vn.delete(e)),vn.set(e,t),t)}function aa(e){for(let[t,n]of Object.entries(e))ue.set(t.toLowerCase(),n);if(typeof IntersectionObserver>"u"){for(let t of ue.values())Zr(t);ue.clear();return}Xe||(Xe=new IntersectionObserver(ca,{rootMargin:"200px"})),Xr(),typeof MutationObserver<"u"&&new MutationObserver(()=>Xr()).observe(document.body,{childList:!0,subtree:!0})}function Xr(){if(!(!Xe||!ue.size))for(let e of ue.keys())for(let t of document.querySelectorAll(e))Xe.observe(t)}function ca(e){for(let t of e){if(!t.isIntersecting)continue;let n=t.target.tagName.toLowerCase(),r=ue.get(n);r&&(Zr(r),ue.delete(n),Xe?.unobserve(t.target))}}function la(e){for(let t of e){if(!t.isIntersecting)continue;let n=Nt.get(t.target);Nt.delete(t.target),Je?.unobserve(t.target),n&&n()}}function ua(e,t){return typeof IntersectionObserver>"u"?(t(),()=>{}):(Je||(Je=new IntersectionObserver(la,{rootMargin:"200px"})),Nt.set(e,t),Je.observe(e),()=>{Nt.delete(e),Je?.unobserve(e)})}var ue,Xe,vn,Je,Nt,es=Q(()=>{ue=new Map,Xe=null,vn=new Map;Je=null,Nt=new WeakMap});var Cn,xn=Q(()=>{Cn=typeof HTMLElement<"u"?class extends HTMLElement{constructor(){super(),this._webjsLoadedSrc=null,this._webjsLazyTeardown=null}static get observedAttributes(){return["src"]}connectedCallback(){this._webjsScheduleLoad()}disconnectedCallback(){this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null)}attributeChangedCallback(t,n,r){t==="src"&&this.isConnected&&this._webjsScheduleLoad()}_webjsScheduleLoad(){let t=this.getAttribute("src");if(!t){this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null),this._webjsLoadedSrc=null;return}let n=t;try{n=new URL(t,location.href).href}catch{}if(n===this._webjsLoadedSrc)return;this._webjsLazyTeardown&&(this._webjsLazyTeardown(),this._webjsLazyTeardown=null),(this.getAttribute("loading")||"eager").toLowerCase()==="lazy"?(this._webjsLoadedSrc=n,Promise.resolve().then(()=>(es(),Qr)).then(({observeViewportOnce:s})=>{this._webjsLoadedSrc!==n||!this.isConnected||(this._webjsLazyTeardown=s(this,()=>{this._webjsLazyTeardown=null,this._webjsLoad(n)}))})):(this._webjsLoadedSrc=n,this._webjsLoad(n))}_webjsLoad(t){Promise.resolve().then(()=>(kn(),ts)).then(({loadFrame:n})=>{this._webjsLoadedSrc!==t||!this.isConnected||n(this,t)})}}:null;typeof customElements<"u"&&Cn&&!customElements.get("webjs-frame")&&customElements.define("webjs-frame",Cn)});function da(e,t,n){switch(e){case"append":n&&t.append(n);break;case"prepend":n&&t.prepend(n);break;case"before":n&&t.before(n);break;case"after":n&&t.after(n);break;case"replace":n&&t.replaceWith(n);break;case"update":n&&t.replaceChildren(n);break;case"remove":t.remove();break;default:break}}function Nn(e,t){let n=t||(typeof document<"u"?document:null);if(!n)return;let r=null;if(typeof e=="string"){let o=n.createElement("template");o.innerHTML=e,r=o.content}else if(e&&e.nodeType)r=e;else return;let s=r.querySelectorAll?Array.from(r.querySelectorAll("webjs-stream")):[];if(s.length)for(let o of s)n.body.append(o);else n.body.append(r)}var fa,Tn,jt=Q(()=>{fa=new Set(["append","prepend","before","after","replace","update"]);Tn=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this._webjsApplied||(this._webjsApplied=!0,this._webjsApply())}_webjsApply(){let t=(this.getAttribute("action")||"").toLowerCase(),n=this.ownerDocument||document,r=[],s=this.getAttribute("target");if(s){let i=n.getElementById(s);i&&(r=[i])}else{let i=this.getAttribute("targets");if(i)try{r=Array.from(n.querySelectorAll(i))}catch{r=[]}}let o=fa.has(t)?this.querySelector("template"):null;try{for(let i of r){let c=o?o.content.cloneNode(!0):null;da(t,i,c)}}finally{this.remove()}}}:null;typeof customElements<"u"&&Tn&&!customElements.get("webjs-stream")&&customElements.define("webjs-stream",Tn)});var ns,rs=Q(()=>{ns=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this.style.display||(this.style.display="contents")}}:null;typeof customElements<"u"&&ns&&!customElements.get("webjs-suspense")&&customElements.define("webjs-suspense",ns)});function Rt(e){let t=e||(typeof document<"u"?document:null);if(!(!t||typeof t.querySelectorAll!="function")){for(let n of t.querySelectorAll('script[type="application/json"]#__webjs-seeds, script[type="application/json"][data-webjs-seeds]'))os(n.textContent,n);for(let n of t.querySelectorAll("[data-webjs-seed]"))os(n.getAttribute("data-webjs-seed"),n,()=>n.removeAttribute("data-webjs-seed"))}}function os(e,t,n){if(e)try{let r=q(e);if(r&&typeof r=="object")for(let s in r)Ze.has(s)||Ze.set(s,r[s])}catch{}n?n():t.remove?.()}function pa(e,t,n){ss||(ss=!0,Rt());let r=`${e}/${t}/${n}`;if(Ze.has(r)){let s=Ze.get(r);return Ze.delete(r),s}return is}var Ze,is,ss,jn=Q(()=>{ke();Ze=new Map,is=Symbol("webjs.seed.miss"),ss=!1});var ts={};tr(ts,{_FRAME_TOP:()=>Ss,_LIVE_ATTRS:()=>$n,_activeFrameId:()=>_s,_addNewHeadElements:()=>Fn,_applyStreamedResolve:()=>Vs,_blurOutgoingFocus:()=>Mt,_buildSubmitFormData:()=>ys,_bumpNavToken:()=>Pa,_clearFormBusy:()=>Ps,_clearFrameBusy:()=>Ms,_collectChildrenSlots:()=>Ie,_currentPageUrl:()=>$a,_diffElementInPlace:()=>Dt,_eligibleAnchorHref:()=>Pt,_findAnchorInPath:()=>ws,_getSubmitAction:()=>gs,_getSubmitMethod:()=>bs,_isNonHtmlPath:()=>Ua,_keyOf:()=>Me,_longestSharedPath:()=>Es,_markFormBusy:()=>Is,_markFrameBusy:()=>Os,_mergeHead:()=>Hs,_navToken:()=>Ia,_onPopState:()=>Un,_onSubmit:()=>Dn,_prefetch:()=>Pe,_prefetchHasHoverPointer:()=>Ts,_prefetchInflightSize:()=>Oa,_prefetchMode:()=>$t,_prefetchPeek:()=>La,_prefetchSaysSaveData:()=>Wn,_prefetchSuppressed:()=>Ns,_prefetchTake:()=>js,_reactivateScripts:()=>qt,_readStreamedShell:()=>Ws,_reconcileChildren:()=>Kn,_regraftPermanentElements:()=>Fs,_regraftPermanentInSlice:()=>Vn,_resetPrefetch:()=>Ma,_resetWarnOnce:()=>Ba,_resolveTargetFrameId:()=>qn,_restoreOptimistic:()=>Qe,_runWithTransition:()=>Ot,_setCurrentPageUrl:()=>Fa,_snapshotCache:()=>O,_streamBoundariesProgressively:()=>Ks,_takeResolveUnit:()=>zs,_viewTransitionsEnabled:()=>$s,collectChildrenSlots:()=>Ie,disableClientRouter:()=>ds,enableClientRouter:()=>Bn,loadFrame:()=>ma,longestSharedPath:()=>Es,navigate:()=>ps,revalidate:()=>hs});function fs(e){return typeof Document<"u"&&typeof Document.parseHTMLUnsafe=="function"?Document.parseHTMLUnsafe(e):typeof DOMParser<"u"?new DOMParser().parseFromString(e,"text/html"):null}function ha(){Rn||typeof MutationObserver>"u"||typeof customElements>"u"||(Rn=new MutationObserver(e=>{for(let t of e)for(let n of t.addedNodes){if(n.nodeType!==1)continue;let r=n;r.tagName?.includes("-")&&customElements.upgrade(r);for(let s of r.querySelectorAll("*"))s.tagName?.includes("-")&&customElements.upgrade(s)}}),Rn.observe(document.body,{childList:!0,subtree:!0}))}function Bn(){Z||typeof document>"u"||(Z=!0,document.addEventListener("click",ms,!1),document.addEventListener("submit",Dn,!1),window.addEventListener("popstate",Un),document.addEventListener("pointerover",Oe,!0),document.addEventListener("focusin",Oe,!0),document.addEventListener("touchstart",Oe,{capture:!0,passive:!0}),document.addEventListener("pointerout",Rs,!0),document.addEventListener("webjs:navigate",Pn),ha(),Pn(),typeof history<"u"&&"scrollRestoration"in history&&(Lt=history.scrollRestoration,history.scrollRestoration="manual"),typeof location<"u"&&(D=location.href))}function ds(){Z&&(Z=!1,document.removeEventListener("click",ms,!1),document.removeEventListener("submit",Dn,!1),window.removeEventListener("popstate",Un),document.removeEventListener("pointerover",Oe,!0),document.removeEventListener("focusin",Oe,!0),document.removeEventListener("touchstart",Oe,{capture:!0}),document.removeEventListener("pointerout",Rs,!0),document.removeEventListener("webjs:navigate",Pn),Wt(),zn(),X&&(X.disconnect(),X=null),typeof history<"u"&&Lt!==null&&(history.scrollRestoration=Lt,Lt=null),D=null)}async function ps(e,t){let n=new URL(e,location.href);if(n.origin!==location.origin){location.href=e;return}await Hn(n.href,t?.replace??!1,null)}async function ma(e,t){if(typeof location>"u")return{ok:!1,status:null,aborted:!1};let n=e&&e.id;if(!n)return{ok:!1,status:null,aborted:!1};let r=new URL(t,location.href);if(r.origin!==location.origin)return{ok:!1,status:null,aborted:!1};M&&M.abort(),M=new AbortController;let s=M.signal,o=++j;return Ft(r.href,n,!1,null,"GET",null,s,o)}function hs(e){if(!e){O.clear(),L.clear();return}let t=new URL(e,location.href),n=t.pathname+t.search;O.delete(n),L.delete(n)}function ms(e){if(!Z||e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=ws(e);if(!t||t.hasAttribute("download")||t.hasAttribute("data-no-router")||t.target&&t.target!=="_self")return;let n=t.href;if(!n)return;let r=new URL(n);if(r.origin!==location.origin||r.pathname===location.pathname&&r.search===location.search&&r.hash||Ht.test(r.pathname))return;e.preventDefault();let s=qn(t);Hn(n,!1,s)}function Un(e){Hn(location.href,!0,null)}function Dn(e){if(!Z||e.defaultPrevented)return;let t=e.target;if(!t||t.nodeType!==1||t.tagName!=="FORM"||t.hasAttribute("data-no-router"))return;let n=e.submitter??null;if(n&&n.hasAttribute("data-no-router"))return;let r=n&&n.getAttribute("formtarget")||t.getAttribute("target")||"";if(r&&r!=="_self")return;let s=bs(t,n);if(s==="dialog")return;let o=gs(t,n),i;try{i=new URL(o,location.href)}catch{return}if(i.origin!==location.origin||Ht.test(i.pathname))return;let c=ys(t,n);e.preventDefault();let a=qn(n||t);ya(i.href,s,c,a,t)}function bs(e,t){return(t&&t.getAttribute("formmethod")||e.getAttribute("method")||"get").toLowerCase()}function gs(e,t){return t&&t.hasAttribute("formaction")?t.getAttribute("formaction")||"":e.getAttribute("action")||e.action||location.href}function ys(e,t){try{return new FormData(e,t||void 0)}catch{let n=new FormData(e);return t&&t.getAttribute("name")&&n.append(t.getAttribute("name"),t.getAttribute("value")||""),n}}function ws(e){for(let t of e.composedPath())if(t instanceof HTMLAnchorElement)return t;return null}function _s(e){let t=e;for(;t;){let n=t.closest("webjs-frame");if(n&&n.id)return n.id;let r=t.getRootNode();if(r&&r.host)t=r.host;else break}return null}function qn(e){if(!e)return null;let t=e.closest&&e.closest("[data-webjs-frame]"),n=t?t.dataset?t.dataset.webjsFrame:t.getAttribute("data-webjs-frame"):null;if(n!=null&&n!==""){if(n===Ss)return null;let r=typeof document<"u"?document.getElementById(n):null;return r&&r.tagName&&r.tagName.toLowerCase()==="webjs-frame"?n:(As(`webjs:frame-unresolved:${n}`,`[webjs] data-webjs-frame="${n}" did not match a live <webjs-frame id="${n}">; performing a normal navigation instead.`),null)}return _s(e)}function As(e,t){On.has(e)||(On.add(e),typeof console<"u"&&console.warn&&console.warn(t))}function cs(){if(typeof process<"u"&&process.env||Mn||typeof document>"u"||typeof getComputedStyle!="function")return;let e=document.documentElement;if(!e)return;Mn=!0;let t;try{t=getComputedStyle(e).scrollBehavior}catch{return}t==="smooth"&&As("scroll-behavior-smooth-html","[webjs] Detected `scroll-behavior: smooth` on <html>. The client router scrolls to the top instantly on navigation (like a native page load), so route transitions are not affected by it. It still applies to in-page #anchor links. Pairing it with a sticky `backdrop-filter` header can also flash on iOS during navigation.")}function It(e){if(typeof document>"u")return;let t=document.documentElement;if(!(!t||!t.hasAttribute("data-webjs-nav-progress")))try{e?t.setAttribute("data-navigating",""):t.removeAttribute("data-navigating")}catch{}}function Ie(e){let t=new Map,n=[];function r(s){if(s.nodeType===8){let o=s,i=o.data,c=/^wj:children:(.+)$/.exec(i);if(c){n.push({path:c[1],start:o});return}if(i.trim()==="/wj:children"){let a=n.pop();a&&!t.has(a.path)&&t.set(a.path,{start:a.start,end:o});return}return}if(s.hasChildNodes&&s.hasChildNodes())for(let o=s.firstChild;o;o=o.nextSibling)r(o)}return r(e),t}function Es(e,t){let n=null;for(let r of e.keys())t.has(r)&&(n===null||r.length>n.length)&&(n=r);return n}function vs(e){let t=pe(e);document.dispatchEvent(new CustomEvent("webjs:before-cache",{detail:{url:e}})),O.has(t)&&O.delete(t);let n={html:document.documentElement.outerHTML,scrollX:typeof window<"u"&&window.scrollX||0,scrollY:typeof window<"u"&&window.scrollY||0};for(O.set(t,n);O.size>ba;){let r=O.keys().next().value;O.delete(r)}}function ga(e){let t=pe(e),n=O.get(t);return n==null?null:(O.delete(t),O.set(t,n),typeof n=="string"?{html:n,scrollX:0,scrollY:0}:n)}function pe(e){let t=new URL(e,location.href);return t.pathname+t.search}async function Hn(e,t,n){M&&M.abort(),M=new AbortController;let r=M.signal,s=++j;D&&vs(D);let o=setTimeout(()=>{It(!0),o=null},150),i=null;t||(i=Us());try{if(t){let c=ga(e);if(c){let a=fs(c.html);if(a){Bs(a,n,!0,null),typeof window<"u"&&window.scrollTo({left:c.scrollX,top:c.scrollY,behavior:"instant"}),Ft(e,n,!1,i,"GET",null,r,s).catch(()=>{});return}}typeof window<"u"&&window.scrollTo({left:0,top:0,behavior:"instant"})}await Ft(e,n,!t,i,"GET",null,r,s)}finally{o&&clearTimeout(o),s===j&&(It(!1),typeof location<"u"&&(D=location.href))}}async function ya(e,t,n,r,s){M&&M.abort(),M=new AbortController;let o=M.signal,i=++j,c=t==="get"||t==="head",a=new URL(e,location.href);if(c){a.search="";for(let[b,g]of n)a.searchParams.append(b,typeof g=="string"?g:g.name)}D&&vs(D);let l=setTimeout(()=>{It(!0),l=null},150),f=Us(),d=s?Is(s,i,a.href):null,u=!1;try{let b=await Ft(a.href,r,!0,f,c?"GET":t.toUpperCase(),c?null:n,o,i);u=!!(b&&b.ok),!c&&i===j&&(O.clear(),L.clear())}finally{d&&Ps(d,i,a.href,u),l&&clearTimeout(l),i===j&&(It(!1),typeof location<"u"&&(D=location.href))}}function Cs(){return[...Ie(document.body).keys()].join(",")}function Wn(){try{let e=typeof navigator<"u"?navigator.connection:null;if(e&&(e.saveData===!0||typeof e.effectiveType=="string"&&/2g$/.test(e.effectiveType))||typeof matchMedia=="function"&&matchMedia("(prefers-reduced-data: reduce)").matches)return!0}catch{}return!1}function Ts(){try{if(typeof matchMedia=="function")return matchMedia("(hover: hover) and (pointer: fine)").matches}catch{}return!0}function Ea(e){let t=e.getAttribute("rel");return t?t.toLowerCase().split(/\s+/).filter(Boolean):[]}function Pt(e){if(!e||!(e instanceof HTMLAnchorElement)||e.hasAttribute("download")||e.hasAttribute("data-no-router")||e.target&&e.target!=="_self")return null;let t=e.href;if(!t)return null;let n;try{n=new URL(t)}catch{return null}return n.origin!==location.origin||n.pathname===location.pathname&&n.search===location.search&&n.hash||Ht.test(n.pathname)?null:t}function Ns(e){if(e.hasAttribute("data-no-prefetch"))return!0;let t=Ea(e);return t.includes("external")||t.includes("no-prefetch")}function $t(e){if(Ns(e))return"none";switch((e.getAttribute("data-prefetch")||"").toLowerCase().trim()){case"false":case"none":return"none";case"true":case"render":return"render";case"auto":case"viewport":return"viewport";case"intent":return"intent";default:return Ts()?"intent":"viewport"}}function Pe(e){if(!Z||typeof fetch!="function"||Wn())return;let t=pe(e);if(fe.has(t)||et.has(t))return;let n=L.get(t);if(n&&In()-n.at<xs)return;if(fe.size>=ks){for(et.add(t),Re.push(e);Re.length>_a;){let o=Re.shift();et.delete(pe(o))}return}fe.add(t);let r={"x-webjs-router":"1","x-webjs-prefetch":"1"},s=Cs();s&&(r["x-webjs-have"]=s),fetch(e,{method:"GET",headers:r,credentials:"same-origin"}).then(async o=>{let i=o.headers.get("content-type")||"";if(!/^text\/html\b/i.test(i)||o.status>=400)return;let c=o.headers.get("x-webjs-build"),a=o.redirected&&o.url?o.url:e,l=await o.text();Ca(t,{html:l,build:c,finalUrl:a,at:In()})}).catch(()=>{}).finally(()=>{fe.delete(t),va()})}function va(){for(;Re.length&&fe.size<ks;){let e=Re.shift();et.delete(pe(e)),Pe(e)}}function Ca(e,t){for(L.has(e)&&L.delete(e),L.set(e,t);L.size>wa;){let n=L.keys().next().value;L.delete(n)}typeof document<"u"&&document.dispatchEvent(new CustomEvent("webjs:prefetch",{detail:{url:t.finalUrl,key:e,from:"prefetch"}}))}function js(e){let t=pe(e),n=L.get(t);return!n||(L.delete(t),In()-n.at>=xs)?null:n}function In(){try{if(typeof performance<"u"&&typeof performance.now=="function")return performance.now()}catch{}return 0}function Oe(e){if(!Z)return;let t=Ls(e.target);if(!t)return;let n=$t(t);if(n==="none"||n==="render")return;let r=Pt(t);if(r){if(e.type==="touchstart"){Pe(r);return}n==="intent"&&(tt===t&&Le||(Wt(),tt=t,Le=setTimeout(()=>{Le=null,tt=null,Pe(r)},Sa)))}}function Rs(e){let t=Ls(e.target);t&&t===tt&&Wt()}function Wt(){Le&&(clearTimeout(Le),Le=null),tt=null}function zn(){for(let e of nt)clearTimeout(e);nt.clear(),Ne=new WeakMap}function Ls(e){let t=e;for(;t;){if(t instanceof HTMLAnchorElement)return t;let n=t.nodeType===1?t:null;if(n){let s=n.closest&&n.closest("a");if(s instanceof HTMLAnchorElement)return s}let r=t.getRootNode?t.getRootNode():null;t=r&&r.host?r.host:null}return null}function Pn(){if(typeof document>"u"||Wn())return;let e=typeof IntersectionObserver<"u";e&&(X?(X.disconnect(),zn()):X=new IntersectionObserver(t=>{for(let n of t){let r=n.target;if(n.isIntersecting){if(Ne.has(r))continue;let s=setTimeout(()=>{nt.delete(s),Ne.delete(r),X.unobserve(r);let o=Pt(r);o&&$t(r)==="viewport"&&Pe(o)},Aa);Ne.set(r,s),nt.add(s)}else{let s=Ne.get(r);s&&(clearTimeout(s),nt.delete(s),Ne.delete(r))}}},{threshold:.5}));for(let t of document.querySelectorAll("a[href]")){let n=$t(t);if(n==="render"){let r=Pt(t);r&&Pe(r)}else n==="viewport"&&e&&X.observe(t)}}function xa(e){if(typeof document>"u"||!document.body)return!1;let t=Ie(document.body),n,r=-1;for(let[a,l]of t)a.length>r&&(r=a.length,n=l);if(!n)return!1;let s=n.start.parentNode;if(!s||n.start.parentNode!==n.end.parentNode)return!1;let o=document.createElement("div");o.setAttribute("role","alert"),o.setAttribute("data-webjs-nav-error","");let i=e?`This page could not be loaded. (status ${e})`:"This page could not be loaded.";o.textContent=i;let c=document.createRange();return c.setStartAfter(n.start),c.setEndBefore(n.end),c.deleteContents(),s.insertBefore(o,n.end),!0}function Ln(e,t,n){let r=new CustomEvent("webjs:navigation-error",{bubbles:!0,cancelable:!0,detail:{url:e,status:t??null,error:n||null}});if(typeof document<"u")try{document.dispatchEvent(r)}catch{}r.defaultPrevented||xa(t)||typeof location<"u"&&(location.href=e)}async function Ft(e,t,n,r,s,o,i,c){s=s||"GET";let a=typeof c=="number"?c:j,l,f=null,d=null,u=null,b=!1,g=e,m=t?Os(t,a):null;try{try{let p=s==="GET"&&!o&&!t?js(e):null;if(p)l=p.html,d=p.build,g=p.finalUrl,u=200,b=!0;else{let y={"x-webjs-router":"1"},w=Cs();w&&(y["x-webjs-have"]=w),t&&(y["x-webjs-frame"]=t),o!=null&&s!=="GET"&&s!=="HEAD"&&(y.accept=as+", text/html");let A={method:s,headers:y,credentials:"same-origin"};i&&(A.signal=i),o!=null&&s!=="GET"&&s!=="HEAD"&&(A.body=o);let E=await fetch(e,A);u=E.status,b=E.ok;let C=E.headers.get("content-type")||"",T=/^text\/html\b/i.test(C);if(C.toLowerCase().indexOf(as)===0){let S=await E.text();return a===j&&(Qe(r),Nn(S)),{ok:b,status:u,aborted:!1}}if(E.redirected&&E.url&&(g=E.url),E.status===204||E.status===205)return a===j&&n&&history.pushState(null,"",g),{ok:b,status:u,aborted:!1};if(!T)return a===j&&(Qe(r),Ln(e,E.status,null)),{ok:!1,status:u,aborted:!1};d=E.headers.get("x-webjs-build");let _=await Ws(E);l=_.shell,_.streaming&&(f=_)}}catch(p){return p&&p.name==="AbortError"?{ok:!1,status:null,aborted:!0}:a!==j?{ok:!1,status:null,aborted:!0}:(Qe(r),Ln(e,null,p instanceof Error?p:new Error(String(p))),{ok:!1,status:null,aborted:!1})}if(a!==j){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:!1,status:u,aborted:!0}}let h=fs(l);if(!h)return Qe(r),Ln(e,null,new Error("navigation response did not parse as HTML")),{ok:!1,status:u,aborted:!1};if(Bs(h,t,!1,g,d),n&&history.pushState(null,"",g),n){let p=new URL(g);if(p.hash){let y=document.getElementById(p.hash.slice(1));y?y.scrollIntoView():(cs(),window.scrollTo({left:0,top:0,behavior:"instant"}))}else cs(),window.scrollTo({left:0,top:0,behavior:"instant"})}return f&&(f.reader||f.rest)&&Ks(f.reader,f.dec,f.rest,()=>a===j),document.dispatchEvent(new CustomEvent("webjs:navigate",{detail:{url:g,frameId:t,from:"navigate"}})),{ok:b,status:u,aborted:!1}}finally{m&&Ms(m,a)}}function Os(e,t){if(typeof document>"u")return null;let n=null;try{n=document.querySelector(`webjs-frame#${CSS.escape(e)}`)}catch{n=document.getElementById(e)}if(!n)return null;let r=Bt.has(n);return Bt.set(n,t),n.setAttribute("aria-busy","true"),r||n.dispatchEvent(new CustomEvent("webjs:frame-busy",{bubbles:!0,detail:{frameId:e,busy:!0}})),n}function Ms(e,t){if(Bt.get(e)!==t)return;Bt.delete(e),e.setAttribute("aria-busy","false");let n=e.id||null;e.dispatchEvent(new CustomEvent("webjs:frame-busy",{bubbles:!0,detail:{frameId:n,busy:!1}}))}function Is(e,t,n){let r=Ut.has(e);return Ut.set(e,t),e.setAttribute("aria-busy","true"),r||e.dispatchEvent(new CustomEvent("webjs:submit-start",{bubbles:!0,detail:{form:e,url:n}})),e}function Ps(e,t,n,r){if(Ut.get(e)!==t)return;Ut.delete(e),e.setAttribute("aria-busy","false");let s=new CustomEvent("webjs:submit-end",{bubbles:!0,detail:{form:e,url:n,ok:!!r}});e.isConnected?e.dispatchEvent(s):typeof document<"u"?document.dispatchEvent(s):e.dispatchEvent(s)}function ls(e){if(!e||!e.head)return"";let t=e.head.querySelectorAll('[data-webjs-track="reload"]');if(!t.length)return"";let n="";for(let r of t)n+=de(r);return n}function $s(){if(typeof document>"u")return!1;let e=document.querySelector('meta[name="view-transition"]');return e?(e.getAttribute("content")||"").trim().toLowerCase()==="same-origin":!1}function Ot(e,t){let n=typeof document<"u"?document.startViewTransition:void 0;if($s()&&typeof n=="function"){let r=n.call(document,e);r&&r.finished&&typeof r.finished.then=="function"?r.finished.then(()=>{t&&t()}).catch(()=>{}):t&&t();return}e(),t&&t()}function Fs(e,t){if(!e||!t||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll("[data-webjs-permanent][id]");for(let r of n){let s=r.id;if(!s)continue;let o=null;try{o=t.querySelector(`#${CSS.escape(s)}`)}catch{o=null}if(!o||!r.hasAttribute||!r.hasAttribute("data-webjs-permanent"))continue;let i=o.parentNode;i&&o!==r&&i.replaceChild(r,o)}}function Vn(e,t){let n=[];for(let r of e){if(r.nodeType!==1)continue;let s=r;if(s.hasAttribute&&s.hasAttribute("data-webjs-permanent")&&s.id&&n.push(s),typeof s.querySelectorAll=="function")for(let o of s.querySelectorAll("[data-webjs-permanent][id]"))n.push(o)}if(n.length)for(let r of n){let s=r.id;if(!s)continue;let o=ka(t,s);if(!o||o===r)continue;let i=o.parentNode;if(i)i.replaceChild(r,o);else{let c=t.indexOf(o);c!==-1&&(t[c]=r)}}}function ka(e,t){for(let n of e){if(n.nodeType!==1)continue;let r=n;if(r.id===t)return r;if(typeof r.querySelector=="function"){let s=null;try{s=r.querySelector(`#${CSS.escape(t)}`)}catch{s=null}if(s)return s}}return null}function Ta(e){if(!(!e||!e.start))for(let t=e.start.nextSibling;t&&t!==e.end;t=t.nextSibling)t.nodeType===1&&je(t)}function Bs(e,t,n,r,s){try{Rt(e)}catch{}try{typeof sessionStorage<"u"&&(!r||t||n)&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}if(r&&!t&&!n){let f=document.querySelector('script[type="importmap"]'),d=f?f.getAttribute("data-webjs-build"):null,u=!1;if(s&&d&&(u=s!==d),!u&&e.head&&e.head.children.length>0){let b=ls(document),g=ls(e);b!==g&&(u=!0)}if(u&&typeof location<"u")try{let b="webjs:importmap-reload";if(sessionStorage&&sessionStorage.getItem(b))sessionStorage.removeItem(b);else{sessionStorage&&sessionStorage.setItem(b,"1"),location.href=r;return}}catch{location.href=r;return}else if(!u)try{typeof sessionStorage<"u"&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}}if(t){let f=document.querySelector(`webjs-frame#${CSS.escape(t)}`),d=e.querySelector(`webjs-frame#${CSS.escape(t)}`);if(f&&d){Fn(e.head),Ot(()=>{Ra(f,d),qt(f),je(f),Mt()},()=>je(f)),us(e.body);return}let u=new CustomEvent("webjs:frame-missing",{bubbles:!0,cancelable:!0,detail:{frameId:t,url:r||(typeof location<"u"?location.href:null),document:e}});(f||document).dispatchEvent(u),u.defaultPrevented||console.warn(`[webjs] frame "${t}" was not in the navigation response, leaving it unchanged. Handle "webjs:frame-missing" (preventDefault) to override.`);return}let o=Ie(document.body),i=Ie(e.body),c=Es(o,i);if(c){Fn(e.head),Ot(()=>{Na(o.get(c),i.get(c),e),Mt()},()=>Ta(o.get(c))),us(e.body);return}Hs(e.head),Fs(document.body,e.body);let a=[...e.body.childNodes];Ot(()=>{document.body.replaceChildren(...a),qt(document.body),je(document.body),Mt()},()=>je(document.body))}function Mt(){let e=document.activeElement;!e||e===document.body||e===document.documentElement||typeof e.blur=="function"&&e.blur()}function Na(e,t,n){if(!e||!t)return;let r=e.start.parentNode;if(!r)return;let s=[];for(let i=e.start.nextSibling;i&&i!==e.end;i=i.nextSibling)s.push(i);let o=[];for(let i=t.start.nextSibling;i&&i!==t.end;i=i.nextSibling)o.push(document.importNode(i,!0));Vn(s,o),ja(r,e.start,e.end,s,o);for(let i=e.start.nextSibling;i&&i!==e.end;i=i.nextSibling)i.nodeType===1&&(qt(i),je(i))}function ja(e,t,n,r,s){let o=new Map;for(let a of r){if(a.nodeType!==1)continue;let l=Me(a);l&&o.set(l,a)}let i=n,c=[];for(let a of s){if(a.nodeType===1){let l=Me(a);if(l&&o.has(l)){let f=o.get(l);Dt(f,a),c.push(f),o.delete(l);continue}}c.push(a)}for(let a of r)if(a.parentNode===e){if(a.nodeType===1&&c.includes(a))continue;e.removeChild(a)}for(let a of c)e.insertBefore(a,i)}function Dt(e,t){if(e===t)return;if(e.tagName!==t.tagName){e.replaceWith(t);return}let n=new Set;for(let r of t.attributes)n.add(r.name),!$n.has(r.name)&&e.getAttribute(r.name)!==r.value&&e.setAttribute(r.name,r.value);for(let r of[...e.attributes])$n.has(r.name)||n.has(r.name)||e.removeAttribute(r.name);Kn(e,t)}function Kn(e,t){let n=[...e.childNodes],r=[...t.childNodes].map(c=>document.importNode(c,!0));Vn(n,r);let s=new Map;for(let c of n){if(c.nodeType!==1)continue;let a=Me(c);a&&s.set(a,c)}let o=[];for(let c=0;c<r.length;c++){let a=r[c];if(a.nodeType===1){let l=Me(a);if(l&&s.has(l)){let d=s.get(l);Dt(d,a),o.push(d),s.delete(l);continue}let f=n[c];if(f&&f.nodeType===1&&!Me(f)&&f.tagName===a.tagName){Dt(f,a),o.push(f);continue}}else if(a.nodeType===3){let l=n[c];if(l&&l.nodeType===3){l.nodeValue!==a.nodeValue&&(l.nodeValue=a.nodeValue),o.push(l);continue}}else if(a.nodeType===8){let l=n[c];if(l&&l.nodeType===8){l.nodeValue!==a.nodeValue&&(l.nodeValue=a.nodeValue),o.push(l);continue}}o.push(a)}let i=new Set(o);for(let c of n)!i.has(c)&&c.parentNode===e&&e.removeChild(c);for(let c=0;c<o.length;c++){let a=o[c];(a.parentNode!==e||e.childNodes[c]!==a)&&e.insertBefore(a,e.childNodes[c]||null)}}function Me(e){let t=e.getAttribute("data-key");return t?`${e.tagName}:k:${t}`:e.id?`${e.tagName}:i:${e.id}`:null}function Us(){let e=Ie(document.body);if(e.size===0)return null;let t=null;for(let i of e.keys())(t===null||i.length>t.length)&&(t=i);if(t===null)return null;let n=document.getElementById(`wj-loading:${t}`);if(!(n instanceof HTMLTemplateElement))return null;let r=e.get(t),s=[];for(let i=r.start.nextSibling;i&&i!==r.end;i=i.nextSibling)s.push(i);let o=document.createRange();return o.setStartAfter(r.start),o.setEndBefore(r.end),o.deleteContents(),r.start.parentNode.insertBefore(n.content.cloneNode(!0),r.end),{slot:r,oldChildren:s,token:j}}function Qe(e){if(!e||e.token!==j)return;let{slot:t,oldChildren:n}=e;if(t.start.parentNode!==t.end.parentNode)return;let r=document.createRange();r.setStartAfter(t.start),r.setEndBefore(t.end),r.deleteContents();for(let s of n)t.start.parentNode.insertBefore(s,t.end)}function Ra(e,t){Kn(e,t)}function Ds(){if(typeof document>"u")return"";let e=document.querySelector('meta[name="csp-nonce"]');return e&&e.getAttribute("content")||""}function Gn(e){let t=document.createElement("script");for(let r of e.attributes)r.name!=="nonce"&&t.setAttribute(r.name,r.value);let n=Ds();return n&&t.setAttribute("nonce",n),t.textContent=e.textContent,t}function qs(e){if(!e.hasAttribute("nonce"))return e.cloneNode(!0);let t=e.cloneNode(!0),n=Ds();return n?t.setAttribute("nonce",n):t.removeAttribute("nonce"),t}function de(e){if(!e.hasAttribute("nonce"))return e.outerHTML;let t=e.cloneNode(!0);return t.removeAttribute("nonce"),t.outerHTML}function Fn(e){let t=e.querySelector("title");t&&(document.title=t.textContent||"");let n=new Set;for(let r of document.head.children)n.add(de(r));for(let r of e.children)r.tagName==="SCRIPT"&&r.getAttribute("type")==="importmap"||r.tagName!=="BASE"&&r.tagName!=="TITLE"&&(n.has(de(r))||(r.tagName==="SCRIPT"?document.head.appendChild(Gn(r)):document.head.appendChild(qs(r))))}function Hs(e){let t=document.head,n=e.querySelector("title");n&&(document.title=n.textContent||"");let r=new Set;for(let o of t.children)o.tagName==="SCRIPT"&&o.getAttribute("type")==="importmap"||o.tagName!=="BASE"&&r.add(de(o));let s=new Set;for(let o of e.children)o.tagName==="SCRIPT"&&o.getAttribute("type")==="importmap"||o.tagName!=="BASE"&&s.add(de(o));for(let o of[...t.children])o.tagName==="SCRIPT"&&o.getAttribute("type")==="importmap"||o.tagName!=="BASE"&&o.tagName!=="TITLE"&&(s.has(de(o))||o.remove());for(let o of e.children)o.tagName==="SCRIPT"&&o.getAttribute("type")==="importmap"||o.tagName!=="BASE"&&o.tagName!=="TITLE"&&(r.has(de(o))||(o.tagName==="SCRIPT"?t.appendChild(Gn(o)):t.appendChild(qs(o))))}function je(e){typeof customElements>"u"||Yn(e)}function Yn(e){let t=e instanceof Element?[e,...e.querySelectorAll("*")]:[...e.querySelectorAll("*")];for(let n of t)n.tagName&&n.tagName.includes("-")&&(customElements.upgrade(n),n.shadowRoot&&Yn(n.shadowRoot))}function us(e){for(let t of e.querySelectorAll("template[data-webjs-resolve]"))document.body.appendChild(t.cloneNode(!0))}async function Ws(e){if(!e.body||typeof e.body.getReader!="function")return{shell:await e.text(),streaming:!1};let t=e.body.getReader(),n=new TextDecoder,r="",s="<template data-webjs-resolve",o="<!--wj-stream-shell-->",i=/<\/html\s*>/i;for(;;){let{value:c,done:a}=await t.read();c&&(r+=n.decode(c,{stream:!0})),a&&(r+=n.decode());let l=r.indexOf(o);if(l!==-1)return{shell:r.slice(0,l),streaming:!0,reader:a?null:t,dec:n,rest:r.slice(l+o.length)};let f=r.indexOf(s);if(f!==-1)return{shell:r.slice(0,f),streaming:!0,reader:a?null:t,dec:n,rest:r.slice(f)};if(a)return{shell:r,streaming:!1};let d=i.exec(r);if(d){let u=d.index+d[0].length;return{shell:r.slice(0,u),streaming:!0,reader:t,dec:n,rest:r.slice(u)}}}}function zs(e){let t=/<template\s+data-webjs-resolve="([^"]+)"\s*>/i.exec(e);if(!t)return null;let n=t[1],r=t.index+t[0].length,s=/<(\/?)template\b[^>]*>/gi;s.lastIndex=r;let o=1,i;for(;i=s.exec(e);)if(i[1]==="/"){if(o--,o===0)return{id:n,content:e.slice(r,i.index),rest:e.slice(i.index+i[0].length)}}else o++;return null}function Vs(e,t){let n=document.getElementById(e);if(!n)return;let r=document.createElement("template");r.innerHTML=t;let s=[...r.content.childNodes];n.replaceWith(r.content);for(let o of s)o.nodeType===1&&Yn(o)}async function Ks(e,t,n,r){let s=n,o=()=>{let i;for(;i=zs(s);){if(!r())return!1;Vs(i.id,i.content),s=i.rest}return!0};if(!e){o();return}try{for(;;){if(!o()){try{await e.cancel()}catch{}return}let{value:i,done:c}=await e.read();if(i&&(s+=t.decode(i,{stream:!0})),c){s+=t.decode(),o();return}}}catch{}}function qt(e){for(let t of e.querySelectorAll("script"))t.replaceWith(Gn(t))}function La(e){return L.get(pe(e))||null}function Oa(){return fe.size}function Ma(){L.clear(),fe.clear(),Re.length=0,et.clear(),Wt(),zn()}function Ia(){return j}function Pa(){return++j}function $a(){return D}function Fa(e){D=e}function Ba(){On.clear(),Mn=!1}function Ua(e){return Ht.test(e)}var as,Z,M,j,Rn,D,Lt,Ht,Ss,On,Mn,ba,O,wa,xs,ks,_a,Sa,Aa,L,fe,Re,et,Le,tt,X,Ne,nt,Bt,Ut,$n,kn=Q(()=>{xn();jt();jt();rs();jn();as="text/vnd.webjs-stream.html";Z=!1,M=null,j=0,Rn=null;D=null,Lt=null;Ht=/\.(?:pdf|zip|tar|gz|7z|rar|dmg|exe|msi|deb|rpm|apk|ipa|xlsx?|docx?|pptx?|csv|odt|ods|odp|rtf|epub|mobi|xml|json|rss|atom|txt|md|wasm|mp3|mp4|mov|avi|webm|ogg|flac|wav|m4a|m4v|mkv|png|jpe?g|gif|webp|avif|bmp|ico|svg|tiff?|heic)$/i;Ss="_top";On=new Set;Mn=!1;ba=16,O=new Map;wa=8,xs=3e4,ks=3,_a=24,Sa=100,Aa=250,L=new Map,fe=new Set,Re=[],et=new Set,Le=null,tt=null,X=null,Ne=new WeakMap,nt=new Set;Bt=new WeakMap;Ut=new WeakMap;$n=new Set(["value","checked","selected","indeterminate","disabled","open","popover"]);(typeof window>"u"||window.__WEBJS_CLIENT_ROUTER__!==!1)&&Bn()});function Gt(e,...t){return{_$webjs:"template",strings:e,values:t}}function N(e){return!!e&&typeof e=="object"&&e._$webjs==="template"}var v="wjm-";function to(e,...t){let n=e[0];for(let r=1;r<e.length;r++)n+=String(t[r-1]??"")+e[r];return{_$webjsCss:!0,text:n}}function me(e){return!!e&&typeof e=="object"&&e._$webjsCss===!0}function Yt(e,t){if(!(!t||!t.length))if("adoptedStyleSheets"in e&&typeof CSSStyleSheet<"u"){let n=t.map(r=>{let s=new CSSStyleSheet;return s.replaceSync(r.text),s});e.adoptedStyleSheets=n}else{let n=e,r=document.createElement("style");r.textContent=t.map(s=>s.text).join(`
2
2
  `),n.appendChild(r)}}function ot(e){return!e||!e.length?"":`<style>${e.map(t=>t.text).join(`
3
- `)}</style>`}var be=Object.freeze({"@":"event",".":"prop","?":"bool"});function nr(e){return Object.prototype.hasOwnProperty.call(be,e)}function it(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function $(e){return String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")}var rr=Symbol.for("webjs.repeat");function sr(e,t,n){return{[rr]:!0,items:[...e],keyFn:t,templateFn:n}}function Q(e){return!!e&&typeof e=="object"&&e[rr]===!0}function Jt(e){return{_$webjs:"unsafe-html",value:String(e??"")}}function ge(e){return!!e&&typeof e=="object"&&e._$webjs==="unsafe-html"}function eo(e){return{_$webjs:"live",value:e}}function ye(e){return!!e&&typeof e=="object"&&e._$webjs==="live"}function to(e,t){return{_$webjs:"keyed",key:e,value:t}}function ee(e){return!!e&&typeof e=="object"&&e._$webjs==="keyed"}function no(e,t){return{_$webjs:"guard",deps:e,fn:t}}function te(e){return!!e&&typeof e=="object"&&e._$webjs==="guard"}function ro(e){return{_$webjs:"template-content",template:e}}function we(e){return!!e&&typeof e=="object"&&e._$webjs==="template-content"}function so(e){return{_$webjs:"ref",target:e}}function ne(e){return!!e&&typeof e=="object"&&e._$webjs==="ref"}function oo(){return{value:void 0}}function io(e){return{_$webjs:"cache",value:e}}function re(e){return!!e&&typeof e=="object"&&e._$webjs==="cache"}function ao(...e){return{_$webjs:"until",args:e}}function se(e){return!!e&&typeof e=="object"&&e._$webjs==="until"}function co(e,t){return{_$webjs:"async-append",iterable:e,mapper:t}}function _e(e){return!!e&&typeof e=="object"&&e._$webjs==="async-append"}function lo(e,t){return{_$webjs:"async-replace",iterable:e,mapper:t}}function Se(e){return!!e&&typeof e=="object"&&e._$webjs==="async-replace"}function uo(e){return{_$webjs:"watch",signal:e}}function oe(e){return!!e&&typeof e=="object"&&e._$webjs==="watch"}var F=null,W=!1,Ee=0,Ae=null,Xt=0,or=(e,t)=>Object.is(e,t),ct=()=>{},ir=()=>!1;function ar(e,t){e.liveConsumers||(e.liveConsumers=new Set);let n=e.liveConsumers.size===0;if(e.liveConsumers.add(t),n){if(e.producers&&e.producers.length>0)for(let r of e.producers)ar(r,e);if(e.watched)try{e.watched.call(e.wrapper)}catch(r){console.error(r)}}}function Fe(e,t){if(e.liveConsumers&&(e.liveConsumers.delete(t),e.liveConsumers.size===0)){if(e.producers&&e.producers.length>0)for(let n of e.producers)Fe(n,e);if(e.unwatched)try{e.unwatched.call(e.wrapper)}catch(n){console.error(n)}}}function rn(e){if(W)throw new Error("Signal read during notification phase");if(F===null)return;let t=F,n=t.nextProducerIndex++;n<t.producers.length&&t.producers[n]!==e&&en(t)&&Fe(t.producers[n],t),t.producers[n]!==e&&(t.producers[n]=e,en(t)&&ar(e,t)),t.producerLastReadVersions[n]=e.version}function en(e){return e.consumerIsAlwaysLive||e.liveConsumers&&e.liveConsumers.size>0}function cr(e){if(!e.liveConsumers||e.liveConsumers.size===0)return;let t=W;W=!0;try{for(let n of e.liveConsumers)n.dirty||fo(n)}finally{W=t}}function fo(e){e.dirty=!0,cr(e),e.consumerMarkedDirty.call(e.wrapper||e)}function lt(e){if(!(!e.dirty&&e.lastCleanEpoch===Ee)){if(!e.producerMustRecompute()&&!po(e)){e.dirty=!1,e.lastCleanEpoch=Ee;return}e.producerRecomputeValue(),e.dirty=!1,e.lastCleanEpoch=Ee}}function po(e){for(let t=0;t<e.producers.length;t++){let n=e.producers[t],r=e.producerLastReadVersions[t];if(r!==n.version||(lt(n),r!==n.version))return!0}return!1}function tn(e){e&&(e.nextProducerIndex=0);let t=F;return F=e,t}function nn(e,t){if(F=t,!!e){if(en(e))for(let n=e.nextProducerIndex;n<e.producers.length;n++)Fe(e.producers[n],e);for(;e.producers.length>e.nextProducerIndex;)e.producers.pop(),e.producerLastReadVersions.pop()}}var ut=class{constructor(t,n){this.__value=t,this.version=0,this.lastCleanEpoch=Ee,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.liveConsumers=void 0,this.consumerAllowSignalWrites=!0,this.consumerIsAlwaysLive=!1,this.producerMustRecompute=ir,this.producerRecomputeValue=ct,this.consumerMarkedDirty=ct,this.wrapper=this,this.__isSignal=!0,this.__equal=n?.equals||or,this.watched=n?.[sn],this.unwatched=n?.[on]}get(){return rn(this),this.__value}peek(){return this.__value}set(t){if(W)throw new Error("Signal write during notification phase");this.__equal.call(this,this.__value,t)||(this.__value=t,this.version++,Ee++,Ae!==null?lr(this):cr(this))}};function lr(e){let t=W;W=!0;try{if(!e.liveConsumers)return;for(let n of e.liveConsumers)n.dirty||(n.dirty=!0,n.__isWatcher?Ae.add(n):lr(n))}finally{W=t}}var Zt=Symbol("unset"),Qt=Symbol("computing"),at=Symbol("errored"),Be=class{constructor(t,n){this.__fn=t,this.__value=Zt,this.__error=null,this.version=0,this.lastCleanEpoch=-1,this.dirty=!0,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!1,this.wrapper=this,this.__isSignal=!0,this.__isComputed=!0,this.__equal=n?.equals||or,this.watched=n?.[sn],this.unwatched=n?.[on];let r=this;this.producerMustRecompute=function(){return r.__value===Zt||r.__value===Qt},this.producerRecomputeValue=function(){if(r.__value===Qt)throw new Error("Detected cycle in computations.");let s=r.__value;r.__value=Qt;let o=tn(r),i,c=!1;try{i=r.__fn.call(r.wrapper)}catch(l){i=at,r.__error=l,c=!0}finally{nn(r,o)}if(!c&&(s!==Zt&&s!==at)&&r.__equal.call(r.wrapper,s,i)){r.__value=s;return}r.__value=i,r.version++},this.consumerMarkedDirty=ct}get(){if(lt(this),rn(this),this.__value===at)throw this.__error;return this.__value}peek(){if(lt(this),this.__value===at)throw this.__error;return this.__value}},ft=class{constructor(t){this.__notify=t,this.version=0,this.lastCleanEpoch=Ee,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!0,this.producerMustRecompute=ir,this.producerRecomputeValue=ct,this.wrapper=this,this.__isWatcher=!0;let n=this;this.consumerMarkedDirty=function(){n.__fire()}}__fire(){this.__notify&&this.__notify.call(this)}watch(...t){if(t.length===0){this.dirty=!1;return}let n=tn(this);try{for(let r of t)rn(r),r.__isComputed&&lt(r)}finally{nn(this,n)}this.dirty=!1}unwatch(...t){for(let n=this.producers.length-1;n>=0;n--)t.includes(this.producers[n])&&(Fe(this.producers[n],this),this.producers.splice(n,1),this.producerLastReadVersions.splice(n,1),this.nextProducerIndex=Math.min(this.nextProducerIndex,this.producers.length))}getPending(){return this.producers.filter(t=>t.__isComputed&&t.dirty)}observe(t){let n=tn(this),r;try{r=t()}finally{nn(this,n)}return this.dirty=!1,r}dispose(){for(let t of this.producers)Fe(t,this);this.producers=[],this.producerLastReadVersions=[],this.__notify=null}},sn=Symbol("watched"),on=Symbol("unwatched");function ho(e){let t=F;F=null;try{return e()}finally{F=t}}function mo(e){return e.producers.slice()}function bo(e){return e.liveConsumers?[...e.liveConsumers]:[]}function go(e){return!!e.liveConsumers&&e.liveConsumers.size>0}function yo(e){return e.producers.length>0}function wo(){return F&&F.__isComputed?F:null}function _o(e){Xt++,Ae===null&&(Ae=new Set);try{e()}finally{if(Xt--,Xt===0){let t=Ae;Ae=null;for(let n of t)n.__fire()}}}var Ue={State:ut,Computed:Be,subtle:{Watcher:ft,untrack:ho,introspectSources:mo,introspectSinks:bo,hasSinks:go,hasSources:yo,currentComputed:wo,watched:sn,unwatched:on}};function So(e,t){return new ut(e,t)}function Ao(e,t){return new Be(e,t)}function Eo(e){return!!(e&&typeof e=="object"&&e.__isSignal===!0)}function vo(e){let t=!1,n=!1,r=new Be(e),s=new ft(()=>{t||n||(t=!0,queueMicrotask(()=>{if(t=!1,!n){try{r.get()}catch(o){console.error(o)}s.watch()}}))});s.watch(r);try{r.get()}catch(o){console.error(o)}return()=>{n||(n=!0,s.dispose())}}var Co=`${v}s`,xo=`${v}e`;function ur(e){if(!e||e.nodeType!==8)return!1;let t=e.nodeValue;return t===Co||t===xo}function ko(e){for(let t of e.addedNodes)if(ur(t))return!0;for(let t of e.removedNodes)if(ur(t))return!0;return!1}function mr(){return typeof HTMLElement<"u"&&typeof HTMLSlotElement<"u"}var De=mr(),ie=Symbol("webjs.slot.state"),V="data-webjs-light",ae="data-projection",He="actual",br="fallback",mt=Symbol("webjs.slot.fallbackFrag"),To=64,qe=null,an=null,dt=null,fr=!1;function No(){fr||(De=mr(),De&&(qe=HTMLSlotElement.prototype.assignedNodes,an=HTMLSlotElement.prototype.assignedElements,dt=Object.getOwnPropertyDescriptor(Element.prototype,"assignedSlot"),HTMLSlotElement.prototype.assignedNodes=function(t){return this.hasAttribute(V)&&!dr(this)?cn(this,t):qe?qe.call(this,t):[]},HTMLSlotElement.prototype.assignedElements=function(t){return this.hasAttribute(V)&&!dr(this)?cn(this,t).filter(n=>n.nodeType===1):an?an.call(this,t):[]},Object.defineProperty(Element.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let t=dt&&dt.get?dt.get.call(this):null;return t||jo(this)}}),fr=!0))}No();function dr(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.host)return!0;t=r}return!1}function cn(e,t){if(e.getAttribute(ae)===br)return[];let n=Array.from(e.childNodes);return!t||!t.flatten?n:ln(n,new Set,0)}function ln(e,t,n){if(n>=To)return e.slice();let r=[];for(let s of e)if(s.nodeType===1&&s.tagName==="SLOT"){let o=s;if(t.has(o))continue;if(t.add(o),o.hasAttribute(V)){let i=cn(o,{flatten:!1});if(i.length>0)for(let c of ln(i,t,n+1))r.push(c);else for(let c of ln(Array.from(o.childNodes),t,n+1))r.push(c)}else if(qe){let i=qe.call(o,{flatten:!0});for(let c of i)r.push(c)}else r.push(s)}else r.push(s);return r}function jo(e){let t=e.parentElement;for(;t;){if(t.tagName==="SLOT"&&t.hasAttribute(V))return t.getAttribute(ae)===He?t:null;t=t.parentElement}return null}function z(e){let t=e,n=t[ie];return n||(n={assignedByName:new Map,pendingByName:new Map,lastSnapshot:new WeakMap,nameObservers:new WeakMap,childObserver:null,scheduled:!1,ownedSlots:new Set},t[ie]=n),n}function un(e){return!!e[ie]}function gr(e){let t=z(e);for(;e.firstChild;){let n=e.firstChild,r=pt(n);ht(t.assignedByName,r,n),e.removeChild(n)}}function yr(e){let t=z(e),n=e.querySelectorAll(`slot[${V}]`);for(let r of n){let s=r;if(s.getAttribute(ae)!==He)continue;let o=s.getAttribute("name")||null;if(!t.assignedByName.has(o)){let i=Array.from(s.childNodes);t.assignedByName.set(o,i),t.lastSnapshot.set(s,i.slice())}}}function pt(e){if(e.nodeType!==1)return null;let n=e.getAttribute("slot");return n||null}function ht(e,t,n){let r=e.get(t);r||(r=[],e.set(t,r)),r.push(n)}function wr(e,t,n){if(!n.length)return;let r=e.get(t);r||(r=[],e.set(t,r));for(let s of n)r.push(s)}function _r(e){if(!De)return;let t=z(e);t.childObserver||(t.childObserver=new MutationObserver(n=>{let r=!1;for(let s of n)if(!ko(s)){if(s.type==="childList"){for(let o of s.addedNodes)o.parentElement===e&&(ht(t.assignedByName,pt(o),o),r=!0);for(let o of s.removedNodes)e.contains(o)||pr(t,o)&&(r=!0)}else if(s.type==="attributes"&&s.attributeName==="slot"){let o=s.target;(pr(t,o)||o.parentElement===e)&&(ht(t.assignedByName,pt(o),o),r=!0)}}r&&bt(e)}),t.childObserver.observe(e,{childList:!0,attributes:!0,attributeFilter:["slot"],subtree:!0}))}function Sr(e){let t=e[ie];if(t){t.childObserver&&(t.childObserver.disconnect(),t.childObserver=null);for(let n of t.ownedSlots){let r=t.nameObservers.get(n);r&&(r.disconnect(),t.nameObservers.delete(n))}}}function pr(e,t){for(let[n,r]of e.assignedByName){let s=r.indexOf(t);if(s!==-1)return r.splice(s,1),r.length===0&&e.assignedByName.delete(n),!0}return!1}function bt(e){let t=z(e);t.scheduled||(t.scheduled=!0,queueMicrotask(()=>{t.scheduled=!1,Ro(e)}))}function Ro(e){if(!De)return;let t=e[ie];if(!t)return;let n=Array.from(e.querySelectorAll(`slot[${V}]`)),r=new Set(n);for(let i of t.ownedSlots)r.has(i)||Lo(t,i);for(let i of r)t.ownedSlots.has(i)||Io(e,i);t.ownedSlots=r;let s=new Map;for(let i of n){let c=i.getAttribute("name")||null,a=s.get(c);a||(a=[],s.set(c,a)),a.push(i)}for(let i of s.keys()){let c=t.pendingByName.get(i);if(c&&c.length){let a=t.assignedByName.get(i)||[],l=[];for(let f of c)l.push(f);for(let f of a)l.indexOf(f)===-1&&l.push(f);t.assignedByName.set(i,l),t.pendingByName.delete(i)}}let o=[];for(let[i,c]of s){let a=t.assignedByName.get(i)||[];for(let l=0;l<c.length;l++){let f=c[l];l===0&&a.length>0?Oo(t,f,a)&&o.push(f):Mo(t,f)&&o.push(f)}}for(let i of o)Po(i)}function Lo(e,t){let n=e.nameObservers.get(t);n&&(n.disconnect(),e.nameObservers.delete(t));let r=e.lastSnapshot.get(t);if(r&&r.length>0){let s=t.getAttribute("name")||null;wr(e.pendingByName,s,r)}e.lastSnapshot.delete(t)}function Oo(e,t,n){let r=t.getAttribute(ae)!==He,s=e.lastSnapshot.get(t)||[];if(!r&&$o(s,n))return!1;let i=t[mt];if(r&&i)for(;t.firstChild;)i.appendChild(t.firstChild);else for(;t.firstChild;)t.removeChild(t.firstChild);for(let c of n)t.appendChild(c);return t.setAttribute(ae,He),e.lastSnapshot.set(t,n.slice()),!0}function Mo(e,t){let n=t.getAttribute(ae)===He;if(t.setAttribute(ae,br),!n)return hr(t),!1;for(e.lastSnapshot.delete(t);t.firstChild;)t.removeChild(t.firstChild);return hr(t),!0}function hr(e){let t=e[mt];!t||t.childNodes.length===0||e.appendChild(t)}function Io(e,t){if(!De)return;let n=z(e);if(n.nameObservers.has(t))return;let r=new MutationObserver(()=>bt(e));r.observe(t,{attributes:!0,attributeFilter:["name"]}),n.nameObservers.set(t,r)}function Ar(e,t){if(!un(e))return;let n=z(e),r=n.lastSnapshot.get(t);if(!r||r.length===0)return;let s=t.getAttribute("name")||null;for(let i of r)i.parentNode===t&&t.removeChild(i);wr(n.pendingByName,s,r),n.lastSnapshot.delete(t);let o=n.nameObservers.get(t);o&&(o.disconnect(),n.nameObservers.delete(t)),n.ownedSlots.delete(t)}function Po(e){e.dispatchEvent(new Event("slotchange",{bubbles:!0,composed:!1}))}function $o(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var Er=new WeakMap,fn=Symbol.for("webjs.instance");function xe(e,t){let n=t,r=n[fn];if(N(e)){let s=e;if(r&&r.strings===s.strings){ve(r,s.values);return}r&&vr(r,t);let o=t.firstChild;o&&o.nodeType===8&&o.data==="webjs-hydrate"&&o.remove();let i=Uo(s,t);n[fn]=i;return}if(r&&vr(r,t),n[fn]=null,t.replaceChildren(),!(e==null||e===!1||e===!0)){if(Array.isArray(e)){for(let s of e){let o=document.createTextNode(String(s??""));t.appendChild(o)}return}t.appendChild(document.createTextNode(String(e)))}}function yt(e){let{strings:t}=e,n=Er.get(t);if(n)return n;let r=[],s="",o="text",i="",c=0,a="",l=0,f=null,d="",u="";for(let g=0;g<t.length;g++){let m=t[g];for(let h=0;h<m.length;h++){let p=m[h];switch(o){case"text":s+=p,p==="<"&&(o="tag-open");break;case"tag-open":s+=p,p==="!"?o="bang-1":p==="/"?(o="tag-name",d=""):/[a-zA-Z]/.test(p)?(o="tag-name",d=p.toLowerCase()):o="text";break;case"bang-1":s+=p,o=p==="-"?"bang-dash":"tag-name";break;case"bang-dash":s+=p,p==="-"?(o="comment",l=0):o="tag-name";break;case"comment":s+=p,p==="-"?l+=1:(p===">"&&l>=2&&(o="text"),l=0);break;case"tag-name":s+=p,p===">"?(o=d==="script"||d==="style"?"rawtext":"text",o==="rawtext"&&(u="")):/\s/.test(p)?o="in-tag":d+=p.toLowerCase();break;case"in-tag":s+=p,p===">"?(o=d==="script"||d==="style"?"rawtext":"text",o==="rawtext"&&(u="")):!/\s/.test(p)&&p!=="/"&&(o="attr-name",i=p,c=s.length-1);break;case"rawtext":s+=p,u=(u+p.toLowerCase()).slice(-9),(u.endsWith("<\/script>")||u.endsWith("</style>"))&&(o="text",u="",d="");break;case"attr-name":p==="="?(o="after-eq",s+=p):/\s/.test(p)?(o="in-tag",i="",s+=p):p===">"?(o="text",i="",s+=p):(i+=p,s+=p);break;case"after-eq":p==='"'||p==="'"?(o="attr-quoted",a=p,s+=p):/\s/.test(p)?(o="in-tag",i="",s+=p):p===">"?(o="text",i="",s+=p):(o="attr-unquoted",s+=p);break;case"attr-unquoted":/\s/.test(p)?(o="in-tag",i="",s+=p):(p===">"&&(o="text",i=""),s+=p);break;case"attr-quoted":s+=p,p===a&&(o="in-tag",i="");break;case"skip-attr":if(p===a){if(f){let y=f.firstPartIdx,w=[];for(let E=y;E<r.length;E++)(r[E].kind==="noop"||r[E].kind==="attr-mixed")&&w.push(E);let S=[],A=t[w[0]],C=A.lastIndexOf(a);S.push(C>=0?A.slice(C+1):A);for(let E=1;E<w.length;E++)S.push(t[w[E]]);let T=t[w[w.length-1]+1],I=T.indexOf(a);S.push(I>=0?T.slice(0,I):T),r[y]={kind:"attr-mixed",path:[],name:f.name,statics:S,group:w},f=null}o="in-tag",i=""}break}}if(g<t.length-1){let h=r.length;if(o==="comment"){l=0,r.push({kind:"noop",path:[]});continue}if(o==="rawtext"){u="",r.push({kind:"noop",path:[]});continue}if(o==="text")s+=`<!--${v}${h}-->`,r.push({kind:"child",path:[]});else if(o==="in-tag"){let p=`data-${v}${h}`;s+=`${p}=""`,r.push({kind:"element",path:[]})}else if(o==="after-eq"){let p=i[0],y=i.slice(1);if(nr(p)){s=s.slice(0,c);let w=be[p],S=`data-${v}${h}`;s+=`${S}=""`,r.push({kind:w,path:[],name:y})}else{s=s.slice(0,c);let w=`data-${v}${h}`;s+=`${w}=""`,r.push({kind:"attr",path:[],name:i})}o="in-tag",i=""}else if(o==="attr-quoted"||o==="attr-unquoted"){s=s.slice(0,c);let p=`data-${v}${h}`;s+=`${p}=""`,f={name:i,firstPartIdx:h},r.push({kind:"noop",path:[]}),o="skip-attr"}else o==="skip-attr"&&r.push({kind:"noop",path:[]})}}let b=document.createElement("template");return b.innerHTML=s,Fo(b.content,r),Bo(b.content,r),n={templateEl:b,parts:r},Er.set(t,n),n}function Fo(e,t){let n=e.querySelectorAll("slot");for(let r of n){r.setAttribute(V,"");let s=t.length;r.setAttribute(`data-${v}${s}`,""),t.push({kind:"slot",path:[]})}}function Bo(e,t){let n=[];function r(s){for(let o=0;o<s.childNodes.length;o++){let i=s.childNodes[o];if(n.push(o),i.nodeType===8){let c=i.data;if(c.startsWith(v)){let a=Number(c.slice(v.length));t[a]&&t[a].kind==="child"&&(t[a].path=n.slice())}}else if(i.nodeType===1){let c=i,a=[];for(let l of c.attributes)if(l.name.startsWith(`data-${v}`)){let f=Number(l.name.slice(`data-${v}`.length));t[f]&&t[f].kind!=="child"&&(t[f].path=n.slice()),a.push(l.name)}for(let l of a)c.removeAttribute(l);r(i)}n.pop()}}r(e)}function Uo(e,t){let{templateEl:n,parts:r}=yt(e),s=n.content.cloneNode(!0),o=document.createComment(`${v}s`),i=document.createComment(`${v}e`),c=r.map(l=>wt(l,s)),a=[];for(let l=0;l<e.values.length;l++)ce(c[l],e.values[l],void 0,e.values),a.push(e.values[l]);t.replaceChildren(o,...s.childNodes,i);for(let l of c)l.kind==="slot"&&ce(l,void 0,void 0,[]);return{strings:e.strings,bound:c,lastValues:a,startNode:o,endNode:i}}function wt(e,t){if(e.kind==="noop")return{kind:"noop"};let n=t;for(let s of e.path)n=n.childNodes[s];if(e.kind==="child")return{kind:"child",marker:n};let r=n;if(e.kind==="event"){let s={kind:"event",el:r,name:e.name||"",handler:null,dispatcher(o){s.handler?.(o)}};return r.addEventListener(s.name,s.dispatcher),s}if(e.kind==="attr")return{kind:"attr",el:r,name:e.name||""};if(e.kind==="attr-mixed")return{kind:"attr-mixed",el:r,name:e.name||"",statics:e.statics||[],group:e.group||[]};if(e.kind==="prop")return{kind:"prop",el:r,name:e.name||""};if(e.kind==="bool")return{kind:"bool",el:r,name:e.name||""};if(e.kind==="element")return{kind:"element",el:r};if(e.kind==="slot")return{kind:"slot",slotEl:r,applied:!1};throw new Error(`unknown part kind ${e.kind}`)}function ve(e,t){for(let n=0;n<t.length;n++){let r=t[n];Object.is(r,e.lastValues[n])||(ce(e.bound[n],r,e.lastValues[n],t),e.lastValues[n]=r)}}function vr(e,t){for(let n of e.bound){if(n.kind==="event"&&n.el.removeEventListener(n.name,n.dispatcher),n.kind==="element"){let r=n.lastTarget;if(r){if(typeof r=="function")try{r(void 0)}catch{}else typeof r=="object"&&(r.value=void 0);n.lastTarget=void 0,n.__lastEl=void 0}}if(n.kind==="slot"){let r=dn(n.slotEl);r&&Ar(r,n.slotEl)}}t.replaceChildren()}function ce(e,t,n,r){if(ye(t)){let s=t.value;if(e.kind==="prop"&&e.el[e.name]===s||e.kind==="attr"&&e.el.getAttribute(e.name)===String(s)||e.kind==="bool"&&e.el.hasAttribute(e.name)===!!s)return;t=s}switch(e.kind){case"child":Ho(e,t);break;case"attr":{t==null||t===!1?e.el.removeAttribute(e.name):e.el.setAttribute(e.name,String(t));break}case"prop":e.el[e.name]=t;break;case"bool":t?e.el.setAttribute(e.name,""):e.el.removeAttribute(e.name);break;case"event":e.handler=typeof t=="function"?t:null;break;case"element":Do(e,t);break;case"attr-mixed":{let s=e,o=s.statics[0];for(let i=0;i<s.group.length;i++)o+=String((r?r[s.group[i]]:t)??""),o+=s.statics[i+1]||"";e.el.setAttribute(e.name,o);break}case"slot":{if(e.applied)break;let s=e.slotEl,o=()=>{e.applied=!0;let c=dn(s);if(!c||qo(s))return;let a=document.createDocumentFragment();for(;s.firstChild;)a.appendChild(s.firstChild);s[mt]=a,bt(c)};dn(s)?o():queueMicrotask(o);break}case"noop":break}}function dn(e){let t=e.parentElement;for(;t;){if(t[ie])return t;t=t.parentElement}return null}function qo(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.host)return!0;t=r}return!1}function Do(e,t){let n=e,r=ne(t)?t.target:void 0,s=n.__refTarget,o=r!==s;if(o&&s)if(typeof s=="function")try{s(void 0)}catch{}else typeof s=="object"&&(s.value=void 0);if(o||n.__refElement!==e.el){if(n.__refTarget=r,r)if(typeof r=="function"){if(!o&&n.__refElement!==void 0)try{r(void 0)}catch{}try{r(e.el)}catch{}}else typeof r=="object"&&(r.value=e.el);n.__refElement=e.el,e.lastTarget=r}}function Ho(e,t){return Zo(e,t),B(e,t)}function B(e,t){let n=e.marker;if(ge(t)){K(e);let s=String(t.value??""),o=document.createElement("template");o.innerHTML=s;let i=[...o.content.childNodes],c=document.createDocumentFragment();for(let a of i)c.appendChild(a);n.parentNode?.insertBefore(c,n),e.child=i;return}if(ee(t)){let s=t,o=e.__keyedKey;o!==void 0&&!Object.is(o,s.key)&&K(e),e.__keyedKey=s.key,B(e,s.value);return}if(te(t)){let s=t,o=e.__guardDeps,i=s.deps;if(o!==void 0&&(Array.isArray(o)&&Array.isArray(i)?Xo(o,i):Object.is(o,i)))return;e.__guardDeps=Array.isArray(i)?i.slice():i,B(e,s.fn());return}if(we(t)){K(e);let s=t.template;if(s&&s.content){let o=s.content.cloneNode(!0),i=[...o.childNodes];n.parentNode?.insertBefore(o,n),e.child=i}return}if(ne(t))return;if(re(t))return Qo(e,t.value);if(se(t))return ei(e,t.args);if(oe(t))return ti(e,t.signal);if(_e(t))return ni(e,t);if(Se(t))return ri(e,t);if(Q(t)){if(e.child&&e.child.kind==="repeat"){zo(e,t);return}K(e);let s={kind:"repeat",map:new Map};e.child=s,Vo(n,s,t);return}if(Array.isArray(t)){if(e.child&&e.child.kind==="array"){Yo(e,t);return}K(e);let s={kind:"array",items:[]};e.child=s,Go(n,s,t);return}if(e.child){let s=e.child;if(s.kind==="repeat")Cr(s),e.child=void 0;else if(s.kind==="array")kr(s),e.child=void 0;else if(s.kind==="async-stream")Rr(s),e.child=void 0;else if("strings"in e.child){let o=e.child;if(N(t)&&o.strings===t.strings){ve(o,t.values);return}Ce(o.startNode,o.endNode),e.child=void 0}else{for(let o of e.child)o.parentNode&&o.parentNode.removeChild(o);e.child=void 0}}if(t==null||t===!1||t===!0)return;if(N(t)){let s=t,{templateEl:o,parts:i}=yt(s),c=o.content.cloneNode(!0),a=document.createComment(`${v}s`),l=document.createComment(`${v}e`),f=i.map(b=>wt(b,c)),d=[];for(let b=0;b<s.values.length;b++)ce(f[b],s.values[b],void 0,s.values),d.push(s.values[b]);let u=[a,...c.childNodes,l];n.parentNode?.insertBefore(Wo(u),n);for(let b of f)b.kind==="slot"&&ce(b,void 0,void 0,[]);e.child={strings:s.strings,bound:f,lastValues:d,startNode:a,endNode:l};return}let r=document.createTextNode(String(t));n.parentNode?.insertBefore(r,n),e.child=[r]}function Wo(e){let t=document.createDocumentFragment();for(let n of e)t.appendChild(n);return t}function Ce(e,t){if(!e.parentNode)return;let n=e;for(;n&&n!==t;){let r=n.nextSibling;n.parentNode?.removeChild(n),n=r}t.parentNode===e.parentNode&&t.parentNode?.removeChild(t)}function hn(e){let{templateEl:t,parts:n}=yt(e),r=t.content.cloneNode(!0),s=document.createComment(`${v}s`),o=document.createComment(`${v}e`),i=n.map(l=>wt(l,r)),c=[];for(let l=0;l<e.values.length;l++)ce(i[l],e.values[l],void 0,e.values),c.push(e.values[l]);let a=document.createDocumentFragment();for(a.appendChild(s);r.firstChild;)a.appendChild(r.firstChild);return a.appendChild(o),{inst:{strings:e.strings,bound:i,lastValues:c,startNode:s,endNode:o},frag:a}}function We(e){for(let t of e.bound)if(t.kind==="event"&&t.el.removeEventListener(t.name,t.dispatcher),t.kind==="element"){let n=t.lastTarget;if(n){if(typeof n=="function")try{n(void 0)}catch{}else typeof n=="object"&&(n.value=void 0);t.lastTarget=void 0,t.__lastEl=void 0}}}function Vo(e,t,n){let{items:r,keyFn:s,templateFn:o}=n,i=e.parentNode;if(!i)return;let c=document.createDocumentFragment();for(let a=0;a<r.length;a++){let l=s(r[a],a),f=o(r[a],a);if(!N(f))continue;let{inst:d,frag:u}=hn(f);t.map.set(l,d),c.appendChild(u)}i.insertBefore(c,e)}function zo(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let s=e.child,{items:o,keyFn:i,templateFn:c}=t,a=new Map;for(let l=0;l<o.length;l++){let f=i(o[l],l),d=c(o[l],l);if(!N(d))continue;let u=s.map.get(f);if(u&&u.strings===d.strings)ve(u,d.values),pn(u.startNode,u.endNode,r,n),a.set(f,u),s.map.delete(f);else{u&&(We(u),Ce(u.startNode,u.endNode),s.map.delete(f));let{inst:b,frag:g}=hn(d);r.insertBefore(g,n),a.set(f,b)}}for(let l of s.map.values())We(l),Ce(l.startNode,l.endNode);s.map=a}function Cr(e){for(let t of e.map.values())We(t),Ce(t.startNode,t.endNode);e.map.clear()}function Ko(e){return e.type==="tpl"?e.inst.startNode:e.type==="text"?e.node:null}function gt(e){e.type==="tpl"?(We(e.inst),Ce(e.inst.startNode,e.inst.endNode)):e.type==="text"&&e.node.parentNode?.removeChild(e.node)}function xr(e){if(N(e)){let{inst:t,frag:n}=hn(e);return{item:{type:"tpl",inst:t},frag:n}}if(e!=null&&e!==!1&&e!==!0){let t=document.createTextNode(String(e));return{item:{type:"text",node:t},frag:t}}return{item:{type:"empty"},frag:null}}function Go(e,t,n){let r=e.parentNode;if(!r)return;let s=document.createDocumentFragment(),o=[];for(let i of n){let{item:c,frag:a}=xr(i);a&&s.appendChild(a),o.push(c)}r.insertBefore(s,e),t.items=o}function Yo(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let s=e.child,o=s.items,i=[];for(let c=0;c<t.length;c++){let a=t[c],l=o[c];if(N(a)){let u=a;if(l&&l.type==="tpl"&&l.inst.strings===u.strings){ve(l.inst,u.values),i.push(l);continue}}else if(a!=null&&a!==!1&&a!==!0){if(l&&l.type==="text"){let u=String(a);l.node.data!==u&&(l.node.data=u),i.push(l);continue}}else{l&&gt(l),i.push({type:"empty"});continue}let{item:f,frag:d}=xr(a);d&&r.insertBefore(d,Jo(o,c,n)),l&&gt(l),i.push(f)}for(let c=t.length;c<o.length;c++)gt(o[c]);s.items=i}function Jo(e,t,n){for(let r=t;r<e.length;r++){let s=Ko(e[r]);if(s&&s.parentNode)return s}return n}function kr(e){for(let t of e.items)gt(t);e.items=[]}function pn(e,t,n,r){if(t.nextSibling===r&&e.parentNode===n)return;let s=document.createDocumentFragment(),o=e;for(;o;){let i=o.nextSibling;if(s.appendChild(o),o===t)break;o=i}n.insertBefore(s,r)}function Xo(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0}function K(e){let t=e;if(t.__untilState&&(t.__untilState.aborted=!0,t.__untilState=void 0),t.__watchSub&&Tr(t),!e.child)return;let n=e.child;if(n.kind==="repeat")Cr(n);else if(n.kind==="array")kr(n);else if(n.kind==="async-stream")Rr(n);else if("strings"in n){let r=e.child;We(r),Ce(r.startNode,r.endNode)}else for(let r of e.child)r.parentNode&&r.parentNode.removeChild(r);e.child=void 0}function Zo(e,t){let n=e;n.__untilState&&!se(t)&&(n.__untilState.aborted=!0,n.__untilState=void 0),n.__guardDeps!==void 0&&!te(t)&&(n.__guardDeps=void 0),n.__cacheMap&&!re(t)&&(n.__cacheMap=void 0),n.__keyedKey!==void 0&&!ee(t)&&(n.__keyedKey=void 0),n.__watchSub&&!oe(t)&&Tr(n)}function Qo(e,t){let n=e.marker,r=e,s=r.__cacheMap;s||(s=new Map,r.__cacheMap=s);let o=e.child;if(o&&"strings"in o){let c=o;if(N(t)&&c.strings===t.strings){ve(c,t.values);return}let a=document.createDocumentFragment();pn(c.startNode,c.endNode,a,null),s.set(c.strings,{inst:c,holder:a}),e.child=void 0}if(N(t)){let c=t,a=s.get(c.strings);if(a){s.delete(c.strings),e.child&&K(e),pn(a.inst.startNode,a.inst.endNode,n.parentNode,n),ve(a.inst,c.values),e.child=a.inst;return}}B(e,t)}function ei(e,t){let n=e,r=n.__untilState,s=n.__untilArgs,o=(u,b)=>!!(Object.is(u,b)||N(u)&&N(b)&&u.strings===b.strings),c=s&&s.length===t.length&&s.every((u,b)=>o(u,t[b]))&&r?r.highestResolved:1/0;r&&(r.aborted=!0),n.__untilArgs=t.slice();let a={aborted:!1,highestResolved:c};n.__untilState=a;let l=-1,f;for(let u=0;u<t.length;u++){let b=t[u];if(!b||typeof b.then!="function"){l=u,f=b;break}}l!==-1&&l<=a.highestResolved?(B(e,f),a.highestResolved=l):l===-1&&!n.__untilEverRendered&&B(e,""),n.__untilEverRendered=!0;let d=Math.min(l===-1?t.length:l,a.highestResolved);for(let u=0;u<d;u++){let b=t[u];!b||typeof b.then!="function"||Promise.resolve(b).then(g=>{a.aborted||u>=a.highestResolved||(a.highestResolved=u,B(e,g))},()=>{})}}function ti(e,t){let n=e;if(n.__watchSig===t&&n.__watchSub){let o;n.__watchSub.observe(()=>{o=t.get()}),B(e,o);return}n.__watchSub&&(n.__watchSub.dispose(),n.__watchSub=void 0),n.__watchSig=t;let r=new Ue.subtle.Watcher(()=>{queueMicrotask(()=>{if(n.__watchSub!==r)return;let o;r.observe(()=>{o=t.get()}),B(e,o)})});n.__watchSub=r;let s;r.observe(()=>{s=t.get()}),B(e,s)}function Tr(e){e.__watchSub&&(e.__watchSub.dispose(),e.__watchSub=void 0,e.__watchSig=void 0)}function ni(e,t){let n=e.child;if(n&&n.kind==="async-stream"&&n.mode==="append"&&n.iterable===t.iterable)return;K(e);let r=t.iterable[Symbol.asyncIterator](),s={kind:"async-stream",mode:"append",aborted:!1,iterable:t.iterable,iterator:r,nodes:[]};e.child=s,Nr(s,e,t)}function ri(e,t){let n=e.child;if(n&&n.kind==="async-stream"&&n.mode==="replace"&&n.iterable===t.iterable)return;K(e);let r=t.iterable[Symbol.asyncIterator](),s={kind:"async-stream",mode:"replace",aborted:!1,iterable:t.iterable,iterator:r,nodes:[]};e.child=s,Nr(s,e,t)}async function Nr(e,t,n){let r=t.marker,s=0;try{for(;!e.aborted;){let o=await e.iterator.next();if(e.aborted||o.done)break;let i=n.mapper?n.mapper(o.value,s):o.value,c=jr(i);if(e.mode==="replace"){for(let l of e.nodes)l.parentNode&&l.parentNode.removeChild(l);e.nodes=[]}let a=document.createDocumentFragment();for(let l of c)a.appendChild(l);r.parentNode?.insertBefore(a,r),e.nodes.push(...c),s++}}catch(o){typeof console<"u"&&console.error("[webjs] asyncStream error:",o)}}function jr(e){if(e==null||e===!1||e===!0)return[];if(N(e)){let t=e,{templateEl:n,parts:r}=yt(t),s=n.content.cloneNode(!0),o=r.map(i=>wt(i,s));for(let i=0;i<t.values.length;i++)ce(o[i],t.values[i],void 0,t.values);return[...s.childNodes]}if(Array.isArray(e)){let t=[];for(let n of e)t.push(...jr(n));return t}return[document.createTextNode(String(e))]}function Rr(e){e.aborted=!0;for(let t of e.nodes)t.parentNode&&t.parentNode.removeChild(t);e.nodes=[];try{e.iterator.return?.()?.catch?.(()=>{})}catch{}}var Lr=null;function _t(e){Lr=e||null}function si(){return Lr||void 0}var Or=Symbol.for("webjs:registry"),Mr=Symbol.for("webjs:classToTag"),St=globalThis,U=St[Or]||(St[Or]=new Map),Ir=St[Mr]||(St[Mr]=new WeakMap),At=typeof window<"u"&&typeof customElements<"u";function mn(e,t){if(!e||typeof e!="string"||!e.includes("-"))throw new Error(`customElements.define: tag "${e}" must contain a hyphen (HTML spec)`);let n=t.lazy===!0,r=U.get(e);r?(r.cls=t,r.lazy=n):U.set(e,{cls:t,moduleUrl:null,lazy:n,tag:e}),Ir.set(t,e)}if(At){let e=customElements.define.bind(customElements);customElements.define=function(t,n,r){customElements.get(t)||e(t,n,r),mn(t,n)}}if(!At){let e=globalThis;e.customElements||(e.customElements={define(t,n){mn(t,n)},get(t){return U.get(t)?.cls},upgrade(){},whenDefined(t){let n=U.get(t);return Promise.resolve(n?.cls)}})}function bn(e,t){At?customElements.define(e,t):mn(e,t)}function oi(e,t){if(At)return;let n=U.get(e);if(n){n.moduleUrl=t;return}U.set(e,{cls:null,moduleUrl:t,lazy:!1,tag:e})}function gn(e){return U.get(e)?.cls}function ii(e){return U.get(e)?.moduleUrl||null}function ai(e){return U.get(e)?.lazy===!0}function Et(e){return Ir.get(e)}function yn(){return[...U.keys()]}ke();var Dr=typeof window<"u"&&typeof HTMLElement<"u";function _i(e,t){return e!==t}function Si(){return{states:new Set,shadowRoot:null,form:null,labels:[],role:"",willValidate:!0,validity:{},validationMessage:"",setFormValue(){},setValidity(){},checkValidity(){return!0},reportValidity(){return!0}}}var vt=class{constructor(){this.__ssrAttrs=new Map,this.__internals=null}get attributes(){return[...this.__ssrAttrs].map(([t,n])=>({name:t,value:n}))}getAttribute(t){let n=this.__ssrAttrs.get(String(t).toLowerCase());return n===void 0?null:n}setAttribute(t,n){this.__ssrAttrs.set(String(t).toLowerCase(),String(n))}removeAttribute(t){this.__ssrAttrs.delete(String(t).toLowerCase())}hasAttribute(t){return this.__ssrAttrs.has(String(t).toLowerCase())}toggleAttribute(t,n){let r=String(t).toLowerCase(),s=this.__ssrAttrs.has(r);return(n===void 0?!s:n)?(this.__ssrAttrs.set(r,""),!0):(this.__ssrAttrs.delete(r),!1)}getAttributeNames(){return[...this.__ssrAttrs.keys()]}closest(t){let n=String(t).trim().toLowerCase();if(!/^[a-z][a-z0-9-]*$/.test(n))return null;if(this.__ssrTag===n)return this;let r=this.__ssrAncestors;if(!Array.isArray(r))return null;for(let s=r.length-1;s>=0;s--)if(r[s]&&r[s].__ssrTag===n)return r[s];return null}get dataset(){if(this.__dataset)return this.__dataset;let t=this,n=r=>"data-"+String(r).replace(/[A-Z]/g,s=>"-"+s.toLowerCase());return this.__dataset=new Proxy({},{get(r,s){if(typeof s!="string")return;let o=t.getAttribute(n(s));return o===null?void 0:o},set(r,s,o){return typeof s=="string"&&t.setAttribute(n(s),o),!0},has(r,s){return typeof s=="string"&&t.hasAttribute(n(s))},deleteProperty(r,s){return typeof s=="string"&&t.removeAttribute(n(s)),!0},ownKeys(){return t.getAttributeNames().filter(r=>r.startsWith("data-")).map(r=>r.slice(5).replace(/-([a-z])/g,(s,o)=>o.toUpperCase()))},getOwnPropertyDescriptor(r,s){if(typeof s=="string"&&t.hasAttribute(n(s)))return{enumerable:!0,configurable:!0,value:t.getAttribute(n(s))}}}),this.__dataset}get className(){return this.getAttribute("class")??""}set className(t){this.setAttribute("class",t)}get hidden(){return this.hasAttribute("hidden")}set hidden(t){this.toggleAttribute("hidden",!!t)}get id(){return this.getAttribute("id")??""}set id(t){this.setAttribute("id",t)}get title(){return this.getAttribute("title")??""}set title(t){this.setAttribute("title",t)}get slot(){return this.getAttribute("slot")??""}set slot(t){this.setAttribute("slot",t)}get role(){return this.getAttribute("role")}set role(t){t==null?this.removeAttribute("role"):this.setAttribute("role",t)}get tabIndex(){let t=this.getAttribute("tabindex");return t===null?-1:Number.parseInt(t,10)||0}set tabIndex(t){this.setAttribute("tabindex",String(t))}addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}attachInternals(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");return this.__internals=Si(),this.__internals}},Ai=["ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaCurrent","ariaDescription","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText"];for(let e of Ai){let t="aria-"+e.slice(4).toLowerCase();Object.defineProperty(vt.prototype,e,{configurable:!0,get(){return this.getAttribute(t)},set(n){n==null?this.removeAttribute(t):this.setAttribute(t,String(n))}})}var Ei=Dr?HTMLElement:vt,Hr=Symbol("webjs.factoryProps"),Ur=new WeakSet,Te=class e extends Ei{static shadow=!1;static hydrate=void 0;static properties={};static styles=null;static register(t){bn(t,this)}static get observedAttributes(){let t=this.properties||{};return Object.keys(t).filter(n=>!(typeof t[n]=="object"&&t[n].state)).map(n=>typeof t[n]=="object"&&t[n].attribute||wn(n))}constructor(){super(),this._renderRoot=null,this._scheduled=!1,this._connected=!1,this.__controllers=new Set,this.__firstRendered=!1,this._changedProperties=new Map,this._updateResolve=null,this._updatePromise=Promise.resolve(!0),this._isUpdating=!1,this._assertFactoryProperties(),this._initializeProperties()}_assertFactoryProperties(){let t=this.constructor;if(Ur.has(t))return;let n=t;for(;n&&n!==e;){if(Object.hasOwn(n,"properties")&&!Object.hasOwn(n,Hr)){let r=n.name||"a component";throw new Error(`${r}: \`static properties\` is no longer supported. Declare reactive properties via the factory instead: \`class ${r} extends WebComponent({ count: Number })\`. Use the \`prop()\` helper for options (\`prop(Number, { reflect: true })\`) and set defaults in the constructor after \`super()\`. See https://docs.webjs.dev/docs/components.`)}n=Object.getPrototypeOf(n)}Ur.add(t)}_initializeProperties(){let n=this.constructor.properties;if(!(!n||typeof n!="object")){this.__propValues={};for(let[r,s]of Object.entries(n)){let o=typeof s=="object"?s:{type:s},i=this[r];Object.defineProperty(this,r,{configurable:!0,enumerable:!0,get:()=>this.__propValues[r],set:c=>{let a=this.__propValues[r];(o.hasChanged||_i)(c,a)&&(this.__propValues[r]=c,o.reflect&&!o.state&&this._connected&&this._reflectAttribute(r,c,o),this.requestUpdate(r,a))}}),i!==void 0?this.__propValues[r]=i:o.default!==void 0&&(this.__propValues[r]=typeof o.default=="function"?o.default():o.default)}}}_reflectAttribute(t,n,r){let s=r.attribute||wn(t);if(!this.__reflectingAttribute){this.__reflectingAttribute=!0;try{if(r.converter&&r.converter.toAttribute){let o=r.converter.toAttribute(n,r.type);o==null?this.removeAttribute(s):this.setAttribute(s,o)}else r.type===Boolean?n?this.setAttribute(s,""):this.removeAttribute(s):n==null?this.removeAttribute(s):r.type===Object||r.type===Array?this.setAttribute(s,JSON.stringify(n)):this.setAttribute(s,String(n))}finally{this.__reflectingAttribute=!1}}}connectedCallback(){if(!Dr)return;if(this.__webjsPropsHydrated||(this.__webjsPropsHydrated=!0,this._hydratePropAttrs()),this.constructor.hydrate==="visible"&&typeof IntersectionObserver<"u"&&!this.__hydrationActivated){this.__hydrationActivated=!1,this.__hydrationObserver=new IntersectionObserver(n=>{for(let r of n)if(r.isIntersecting){this.__hydrationObserver.unobserve(this),this.__hydrationObserver.disconnect(),this.__hydrationObserver=null,this.__hydrationActivated=!0,this._activate();return}},{rootMargin:"200px"}),this.__hydrationObserver.observe(this);return}this._activate()}_hydratePropAttrs(){let t=[],n=this.attributes;for(let r=0;r<n.length;r++){let s=n[r].name;s.startsWith("data-webjs-prop-")&&t.push(s)}for(let r of t){let s=this.getAttribute(r);if(this.removeAttribute(r),s==null)continue;let o=qr(r.slice(16));try{this[o]=D(s)}catch(i){console.warn(`[webjs] failed to decode ${r} on <${this.tagName.toLowerCase()}>: ${i&&i.message}`)}}}_activate(){this._connected=!0,this._reflectDeclaredAttributes();let t=this.constructor;if(t.shadow===!0){let n=!!this.shadowRoot;this.shadowRoot||this.attachShadow({mode:"open"}),this._renderRoot=this.shadowRoot;let r=t.styles,s=Array.isArray(r)?r:me(r)?[r]:[];if(s.length){if(n){let o=this.shadowRoot.querySelector("style");o&&o.remove()}Yt(this._renderRoot,s)}}else this._renderRoot=this,t.styles&&console.warn(`[webjs] <${Et(t)||this.tagName?.toLowerCase()}> has static shadow = false AND static styles. static styles only works with shadow DOM (adoptedStyleSheets). For light DOM, use global CSS or <style> in render().`),un(this)||(this.__isHydrating()?(z(this),yr(this)):gr(this));for(let n of this.__controllers)n.hostConnected&&n.hostConnected();this._updateResolve===null&&(this._updatePromise=new Promise(n=>{this._updateResolve=n})),this._scheduled=!0,queueMicrotask(()=>{this._scheduled=!1;try{this._performRender()}catch(n){console.error("[webjs] lifecycle hook threw during initial render:",n)}this._renderRoot===this&&_r(this)})}__isHydrating(){let t=this.firstChild,n=t!=null&&t.nodeType===8&&t.data==="webjs-hydrate";return n&&(this.__hydratedAtActivate=!0),n}disconnectedCallback(){this._connected=!1,this.__hydrationObserver&&(this.__hydrationObserver.disconnect(),this.__hydrationObserver=null),this._renderRoot===this&&Sr(this),this.__signalWatcher&&(this.__signalWatcher.dispose(),this.__signalWatcher=void 0);for(let t of this.__controllers)t.hostDisconnected&&t.hostDisconnected()}attributeChangedCallback(t,n,r){if(this.__reflectingAttribute)return;let o=this.constructor.properties||{},i,c;for(let[f,d]of Object.entries(o))if(((typeof d=="object"?d:{type:d}).attribute||wn(f))===t){i=f,c=d;break}if(c===void 0&&(i=qr(t),c=o[i]||o[t]),c===void 0)return;let a=typeof c=="object"?c:{type:c},l;if(a.converter&&a.converter.fromAttribute)l=a.converter.fromAttribute(r,a.type);else if(a.type===Number)l=r==null?null:Number(r);else if(a.type===Boolean)l=r!=null&&r!=="false";else if(a.type===Object||a.type===Array)try{l=r==null?null:JSON.parse(r)}catch{l=r}else l=r;this[i]!==l&&(this[i]=l,this._connected&&this.requestUpdate())}requestUpdate(t,n){t!==void 0&&!this._changedProperties.has(t)&&this._changedProperties.set(t,n),this._scheduleUpdate()}_scheduleUpdate(){this._updateResolve===null&&(this._updatePromise=new Promise(t=>{this._updateResolve=t})),!this._isUpdating&&(this._scheduled||!this._connected||(this._scheduled=!0,queueMicrotask(()=>{this._scheduled=!1;try{this._performRender()}catch(t){console.error("[webjs] lifecycle hook threw during update cycle:",t)}})))}_performRender(){if(!this._renderRoot)return;let t=this._changedProperties;this._isUpdating=!0;let n=!1,r=null;try{if(this.shouldUpdate(t)){this.willUpdate(t);for(let s of this.__controllers)s.hostUpdate&&s.hostUpdate();this.__renderToken=(this.__renderToken||0)+1,this.__renderAbort&&this.__renderAbort.abort(),this.__renderAbort=typeof AbortController<"u"?new AbortController:null,_t(this.__renderAbort?this.__renderAbort.signal:null);try{let s=this.update(t);s&&typeof s.then=="function"&&(r=s)}catch(s){this._handleRenderError(s)}finally{_t(null)}if(!r){for(let s of this.__controllers)s.hostUpdated&&s.hostUpdated();n=!0}}}catch(s){console.error("[webjs] lifecycle hook threw during update phase:",s)}finally{this._isUpdating=!1,(n||r)&&(this._changedProperties=new Map)}if(r){let s=this.__renderToken;this.__pendingAsyncCommits=(this.__pendingAsyncCommits||0)+1,r.then(()=>{if(this.__pendingAsyncCommits--,s===this.__renderToken){for(let o of this.__controllers)o.hostUpdated&&o.hostUpdated();this._postCommit(t)}});return}n?this._postCommit(t):this.__pendingAsyncCommits||this._resolveUpdate()}_resolveUpdate(){if(this._updateResolve){let t=this._changedProperties.size===0;this._updateResolve(t),this._updateResolve=null}}performServerUpdate(){let t=this._changedProperties;this._isUpdating=!0;try{this.willUpdate(t);for(let n of this.__controllers)n.hostUpdate&&n.hostUpdate();this._reflectDeclaredAttributes()}finally{this._isUpdating=!1}}_reflectDeclaredAttributes(){let t=this.constructor.properties||{};for(let n of Object.keys(t)){let r=t[n];!r||!r.reflect||r.state||this._reflectAttribute(n,this[n],r)}}shouldUpdate(t){return!0}willUpdate(t){}update(t){this.__signalWatcher||(this.__signalWatcher=new Ue.subtle.Watcher(()=>{this._connected&&this.requestUpdate()}));let n;if(this.__signalWatcher.observe(()=>{n=this.render()}),n&&typeof n.then=="function")return this._commitAsync(n);xe(n,this._renderRoot)}_commitAsync(t){let n=this.__renderToken;if(this.__firstRendered&&this._overridesRenderFallback())try{let r=this.renderFallback();r!==void 0&&xe(r,this._renderRoot)}catch(r){console.error("[webjs] renderFallback() threw:",r)}return Promise.resolve(t).then(r=>{n===this.__renderToken&&xe(r,this._renderRoot)},r=>{n===this.__renderToken&&this._handleRenderError(r instanceof Error?r:new Error(String(r)))})}_overridesRenderFallback(){return this.renderFallback!==Ct.prototype.renderFallback}_handleRenderError(t){console.error(`[webjs] render error in <${Et(this.constructor)||this.tagName?.toLowerCase()}>:`,t);try{let n=this.renderError(t);n!==void 0&&xe(n,this._renderRoot)}catch(n){console.error("[webjs] renderError() also threw:",n)}}_postCommit(t){try{this.__firstRendered||(this.__firstRendered=!0,this.firstUpdated(t)),this.updated(t)}catch(n){console.error("[webjs] lifecycle hook threw during post-commit phase:",n)}finally{this._resolveUpdate()}}updated(t){}firstUpdated(t){}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._updatePromise}addController(t){this.__controllers.add(t),this._connected&&t.hostConnected&&t.hostConnected()}removeController(t){this.__controllers.delete(t)}render(){return""}renderError(t){}renderFallback(){}};function wn(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function qr(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Ct(e){return new.target?Reflect.construct(Te,arguments,new.target):class extends Te{static properties=e;static[Hr]=!0}}Object.setPrototypeOf(Ct,Te);Ct.prototype=Te.prototype;function vi(e,t={}){return e&&typeof e=="object"&&!("call"in e)&&(t=e,e=void 0),{...e?{type:e}:{},...t}}var Oc=Symbol.for("webjs.suspense");function Ci(e){return{_$webjsSuspense:!0,fallback:e.fallback,children:e.children}}function xt(e){return!!e&&typeof e=="object"&&e._$webjsSuspense===!0}ke();var _n=null;function xi(e){_n=e}function Sn(){if(!_n)return"";try{return _n()||""}catch{return""}}async function ki(e,t={ssr:!0}){let n=t&&t.suspenseCtx,r=t&&t.dev!==void 0?t.dev:n&&n.dev;n&&n.dev===void 0&&r!==void 0&&(n.dev=r);let s=await k(e,n);return t&&t.ssr===!1?s:await Y(s,n,[],r)}async function k(e,t){if(e==null||e===!1||e===!0)return"";if(e&&typeof e.then=="function")return e=await e,k(e,t);if(ge(e))return String(e.value??"");if(ye(e))return k(e.value,t);if(oe(e))return k(e.signal.get(),t);if(ee(e))return k(e.value,t);if(te(e))return k(e.fn(),t);if(we(e)){let n=e.template;return String(n?.innerHTML??"")}if(ne(e))return"";if(re(e))return k(e.value,t);if(se(e)){let n=e.args;for(let r of n)if(!r||typeof r.then!="function")return k(r,t);if(n.length>0)try{let r=await Promise.race(n.map(s=>Promise.resolve(s).catch(()=>{})));return k(r,t)}catch{return""}return""}if(_e(e)||Se(e))return"";if(Array.isArray(e))return(await Promise.all(e.map(r=>k(r,t)))).join("");if(Q(e)){let n=e;return(await Promise.all(n.items.map((s,o)=>k(n.templateFn(s,o),t)))).join("")}if(xt(e)){let n=e,r=await k(n.fallback,t);if(t){let s=`s${t.nextId++}`;return t.pending.push({id:s,promise:Promise.resolve(n.children)}),`<webjs-boundary id="${s}">${r}</webjs-boundary>`}return r}return N(e)?Ti(e,t):it(String(e))}async function Ti(e,t){let{strings:n,values:r}=e,s="",o="text",i="",c=0,a="",l=0,f="",d="";for(let u=0;u<n.length;u++){let b=n[u];for(let g=0;g<b.length;g++){let m=b[g];switch(o){case"text":s+=m,m==="<"&&(o="tag-open");break;case"tag-open":s+=m,m==="!"?o="bang-1":m==="/"?(o="tag-name",f=""):/[a-zA-Z]/.test(m)?(o="tag-name",f=m.toLowerCase()):o="text";break;case"bang-1":s+=m,o=m==="-"?"bang-dash":"tag-name";break;case"bang-dash":s+=m,m==="-"?(o="comment",l=0):o="tag-name";break;case"comment":s+=m,m==="-"?l+=1:(m===">"&&l>=2&&(o="text"),l=0);break;case"tag-name":s+=m,m===">"?(o=kt(f)?"rawtext":"text",o==="rawtext"&&(d="")):/\s/.test(m)?o="in-tag":f+=m.toLowerCase();break;case"in-tag":s+=m,m===">"?(o=kt(f)?"rawtext":"text",o==="rawtext"&&(d="")):!/\s/.test(m)&&m!=="/"&&(o="attr-name",i=m,c=s.length-1);break;case"rawtext":s+=m,d=(d+m.toLowerCase()).slice(-9),(d.endsWith("<\/script>")||d.endsWith("</style>"))&&(o="text",d="",f="");break;case"attr-name":m==="="?(o="after-eq",s+=m):/\s/.test(m)?(o="in-tag",i="",s+=m):m===">"?(o="text",i="",s+=m):(i+=m,s+=m);break;case"after-eq":m==='"'||m==="'"?(o="attr-quoted",a=m,s+=m):/\s/.test(m)?(o="in-tag",i="",s+=m):m===">"?(o="text",i="",s+=m):(o="attr-unquoted",s+=m);break;case"attr-unquoted":/\s/.test(m)?(o="in-tag",i="",s+=m):(m===">"&&(o="text",i=""),s+=m);break;case"attr-quoted":s+=m,m===a&&(o="in-tag",i="");break}}if(u<r.length){let g=r[u];if(g&&typeof g.then=="function"&&(g=await g),o==="comment")s+=String(g??""),l=0;else if(o==="rawtext")s+=String(g??""),d="";else if(o==="text")s+=await k(g,t);else if(o==="after-eq"){let m=i[0],h=i.slice(1),p=be[m];if(p==="event")s=s.slice(0,c),o="in-tag",i="";else if(p==="prop"){if(s=s.slice(0,c),f==="webjs-suspense"&&h==="fallback"){let y=await k(g,t);s+=`data-webjs-fallback="${$(y)}"`,o="in-tag",i="";continue}if(!f.includes("-")){o="in-tag",i="";continue}if(g===void 0){o="in-tag",i="";continue}try{let y=await Ke(g);s+=`data-webjs-prop-${Hi(h)}="${$(y)}"`}catch(y){console.warn(`[webjs] property binding .${h} has an unserializable value during SSR. Dropping. The browser will see the property as undefined. Detail: ${y&&y.message}`)}o="in-tag",i=""}else p==="bool"?(s=s.slice(0,c),g&&(s+=`${h}=""`),o="in-tag",i=""):(s+=`"${$(String(g??""))}"`,o="in-tag",i="")}else(o==="attr-quoted"||o==="attr-unquoted")&&(s+=$(String(g??"")))}}return s}var Ni=new Set(["document","window","localStorage","sessionStorage","navigator","matchMedia","requestAnimationFrame","getComputedStyle","IntersectionObserver","MutationObserver","ResizeObserver"]),ji=new Set(["attachShadow","querySelector","querySelectorAll","getBoundingClientRect","focus","blur","scrollIntoView"]);function Ri(e){let t=e&&typeof e.message=="string"?e.message:"",n=/^(\w+) is not defined\b/.exec(t);return e instanceof ReferenceError&&n&&Ni.has(n[1])?`\`${n[1]}\` is a browser-only global and is undefined during SSR.`:(n=/\.(\w+) is not a function\b/.exec(t),e instanceof TypeError&&n&&ji.has(n[1])?`\`${n[1]}\` is an HTMLElement method that does not exist on the server-side component instance during SSR.`:null)}function Li(){return typeof process<"u"&&process.env&&!0}function zr(e,t,n){if(!(n===void 0?!Li():!!n))return"";let s=t&&t.message?t.message:String(t);return Gt`<div data-webjs-error="${e}" style="border:1px solid #f5c2c7;background:#f8d7da;color:#842029;padding:8px 12px;border-radius:6px;font:13px/1.4 system-ui,sans-serif">
3
+ `)}</style>`}var be=Object.freeze({"@":"event",".":"prop","?":"bool"});function nr(e){return Object.prototype.hasOwnProperty.call(be,e)}function it(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function $(e){return String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;")}var rr=Symbol.for("webjs.repeat");function sr(e,t,n){return{[rr]:!0,items:[...e],keyFn:t,templateFn:n}}function ee(e){return!!e&&typeof e=="object"&&e[rr]===!0}function Jt(e){return{_$webjs:"unsafe-html",value:String(e??"")}}function ge(e){return!!e&&typeof e=="object"&&e._$webjs==="unsafe-html"}function no(e){return{_$webjs:"live",value:e}}function ye(e){return!!e&&typeof e=="object"&&e._$webjs==="live"}function ro(e,t){return{_$webjs:"keyed",key:e,value:t}}function te(e){return!!e&&typeof e=="object"&&e._$webjs==="keyed"}function so(e,t){return{_$webjs:"guard",deps:e,fn:t}}function ne(e){return!!e&&typeof e=="object"&&e._$webjs==="guard"}function oo(e){return{_$webjs:"template-content",template:e}}function we(e){return!!e&&typeof e=="object"&&e._$webjs==="template-content"}function io(e){return{_$webjs:"ref",target:e}}function re(e){return!!e&&typeof e=="object"&&e._$webjs==="ref"}function ao(){return{value:void 0}}function co(e){return{_$webjs:"cache",value:e}}function se(e){return!!e&&typeof e=="object"&&e._$webjs==="cache"}function lo(...e){return{_$webjs:"until",args:e}}function oe(e){return!!e&&typeof e=="object"&&e._$webjs==="until"}function uo(e,t){return{_$webjs:"async-append",iterable:e,mapper:t}}function _e(e){return!!e&&typeof e=="object"&&e._$webjs==="async-append"}function fo(e,t){return{_$webjs:"async-replace",iterable:e,mapper:t}}function Se(e){return!!e&&typeof e=="object"&&e._$webjs==="async-replace"}function po(e){return{_$webjs:"watch",signal:e}}function ie(e){return!!e&&typeof e=="object"&&e._$webjs==="watch"}var F=null,W=!1,Ee=0,Ae=null,Xt=0,or=(e,t)=>Object.is(e,t),ct=()=>{},ir=()=>!1;function ar(e,t){e.liveConsumers||(e.liveConsumers=new Set);let n=e.liveConsumers.size===0;if(e.liveConsumers.add(t),n){if(e.producers&&e.producers.length>0)for(let r of e.producers)ar(r,e);if(e.watched)try{e.watched.call(e.wrapper)}catch(r){console.error(r)}}}function Fe(e,t){if(e.liveConsumers&&(e.liveConsumers.delete(t),e.liveConsumers.size===0)){if(e.producers&&e.producers.length>0)for(let n of e.producers)Fe(n,e);if(e.unwatched)try{e.unwatched.call(e.wrapper)}catch(n){console.error(n)}}}function rn(e){if(W)throw new Error("Signal read during notification phase");if(F===null)return;let t=F,n=t.nextProducerIndex++;n<t.producers.length&&t.producers[n]!==e&&en(t)&&Fe(t.producers[n],t),t.producers[n]!==e&&(t.producers[n]=e,en(t)&&ar(e,t)),t.producerLastReadVersions[n]=e.version}function en(e){return e.consumerIsAlwaysLive||e.liveConsumers&&e.liveConsumers.size>0}function cr(e){if(!e.liveConsumers||e.liveConsumers.size===0)return;let t=W;W=!0;try{for(let n of e.liveConsumers)n.dirty||ho(n)}finally{W=t}}function ho(e){e.dirty=!0,cr(e),e.consumerMarkedDirty.call(e.wrapper||e)}function lt(e){if(!(!e.dirty&&e.lastCleanEpoch===Ee)){if(!e.producerMustRecompute()&&!mo(e)){e.dirty=!1,e.lastCleanEpoch=Ee;return}e.producerRecomputeValue(),e.dirty=!1,e.lastCleanEpoch=Ee}}function mo(e){for(let t=0;t<e.producers.length;t++){let n=e.producers[t],r=e.producerLastReadVersions[t];if(r!==n.version||(lt(n),r!==n.version))return!0}return!1}function tn(e){e&&(e.nextProducerIndex=0);let t=F;return F=e,t}function nn(e,t){if(F=t,!!e){if(en(e))for(let n=e.nextProducerIndex;n<e.producers.length;n++)Fe(e.producers[n],e);for(;e.producers.length>e.nextProducerIndex;)e.producers.pop(),e.producerLastReadVersions.pop()}}var ut=class{constructor(t,n){this.__value=t,this.version=0,this.lastCleanEpoch=Ee,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.liveConsumers=void 0,this.consumerAllowSignalWrites=!0,this.consumerIsAlwaysLive=!1,this.producerMustRecompute=ir,this.producerRecomputeValue=ct,this.consumerMarkedDirty=ct,this.wrapper=this,this.__isSignal=!0,this.__equal=n?.equals||or,this.watched=n?.[sn],this.unwatched=n?.[on]}get(){return rn(this),this.__value}peek(){return this.__value}set(t){if(W)throw new Error("Signal write during notification phase");this.__equal.call(this,this.__value,t)||(this.__value=t,this.version++,Ee++,Ae!==null?lr(this):cr(this))}};function lr(e){let t=W;W=!0;try{if(!e.liveConsumers)return;for(let n of e.liveConsumers)n.dirty||(n.dirty=!0,n.__isWatcher?Ae.add(n):lr(n))}finally{W=t}}var Zt=Symbol("unset"),Qt=Symbol("computing"),at=Symbol("errored"),Be=class{constructor(t,n){this.__fn=t,this.__value=Zt,this.__error=null,this.version=0,this.lastCleanEpoch=-1,this.dirty=!0,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!1,this.wrapper=this,this.__isSignal=!0,this.__isComputed=!0,this.__equal=n?.equals||or,this.watched=n?.[sn],this.unwatched=n?.[on];let r=this;this.producerMustRecompute=function(){return r.__value===Zt||r.__value===Qt},this.producerRecomputeValue=function(){if(r.__value===Qt)throw new Error("Detected cycle in computations.");let s=r.__value;r.__value=Qt;let o=tn(r),i,c=!1;try{i=r.__fn.call(r.wrapper)}catch(l){i=at,r.__error=l,c=!0}finally{nn(r,o)}if(!c&&(s!==Zt&&s!==at)&&r.__equal.call(r.wrapper,s,i)){r.__value=s;return}r.__value=i,r.version++},this.consumerMarkedDirty=ct}get(){if(lt(this),rn(this),this.__value===at)throw this.__error;return this.__value}peek(){if(lt(this),this.__value===at)throw this.__error;return this.__value}},ft=class{constructor(t){this.__notify=t,this.version=0,this.lastCleanEpoch=Ee,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!0,this.producerMustRecompute=ir,this.producerRecomputeValue=ct,this.wrapper=this,this.__isWatcher=!0;let n=this;this.consumerMarkedDirty=function(){n.__fire()}}__fire(){this.__notify&&this.__notify.call(this)}watch(...t){if(t.length===0){this.dirty=!1;return}let n=tn(this);try{for(let r of t)rn(r),r.__isComputed&&lt(r)}finally{nn(this,n)}this.dirty=!1}unwatch(...t){for(let n=this.producers.length-1;n>=0;n--)t.includes(this.producers[n])&&(Fe(this.producers[n],this),this.producers.splice(n,1),this.producerLastReadVersions.splice(n,1),this.nextProducerIndex=Math.min(this.nextProducerIndex,this.producers.length))}getPending(){return this.producers.filter(t=>t.__isComputed&&t.dirty)}observe(t){let n=tn(this),r;try{r=t()}finally{nn(this,n)}return this.dirty=!1,r}dispose(){for(let t of this.producers)Fe(t,this);this.producers=[],this.producerLastReadVersions=[],this.__notify=null}},sn=Symbol("watched"),on=Symbol("unwatched");function bo(e){let t=F;F=null;try{return e()}finally{F=t}}function go(e){return e.producers.slice()}function yo(e){return e.liveConsumers?[...e.liveConsumers]:[]}function wo(e){return!!e.liveConsumers&&e.liveConsumers.size>0}function _o(e){return e.producers.length>0}function So(){return F&&F.__isComputed?F:null}function Ao(e){Xt++,Ae===null&&(Ae=new Set);try{e()}finally{if(Xt--,Xt===0){let t=Ae;Ae=null;for(let n of t)n.__fire()}}}var Ue={State:ut,Computed:Be,subtle:{Watcher:ft,untrack:bo,introspectSources:go,introspectSinks:yo,hasSinks:wo,hasSources:_o,currentComputed:So,watched:sn,unwatched:on}};function Eo(e,t){return new ut(e,t)}function vo(e,t){return new Be(e,t)}function Co(e){return!!(e&&typeof e=="object"&&e.__isSignal===!0)}function xo(e){let t=!1,n=!1,r=new Be(e),s=new ft(()=>{t||n||(t=!0,queueMicrotask(()=>{if(t=!1,!n){try{r.get()}catch(o){console.error(o)}s.watch()}}))});s.watch(r);try{r.get()}catch(o){console.error(o)}return()=>{n||(n=!0,s.dispose())}}var ko=`${v}s`,To=`${v}e`;function ur(e){if(!e||e.nodeType!==8)return!1;let t=e.nodeValue;return t===ko||t===To}function No(e){for(let t of e.addedNodes)if(ur(t))return!0;for(let t of e.removedNodes)if(ur(t))return!0;return!1}function mr(){return typeof HTMLElement<"u"&&typeof HTMLSlotElement<"u"}var qe=mr(),ae=Symbol("webjs.slot.state"),z="data-webjs-light",ce="data-projection",He="actual",br="fallback",mt=Symbol("webjs.slot.fallbackFrag"),jo=64,De=null,an=null,dt=null,fr=!1;function Ro(){fr||(qe=mr(),qe&&(De=HTMLSlotElement.prototype.assignedNodes,an=HTMLSlotElement.prototype.assignedElements,dt=Object.getOwnPropertyDescriptor(Element.prototype,"assignedSlot"),HTMLSlotElement.prototype.assignedNodes=function(t){return this.hasAttribute(z)&&!dr(this)?cn(this,t):De?De.call(this,t):[]},HTMLSlotElement.prototype.assignedElements=function(t){return this.hasAttribute(z)&&!dr(this)?cn(this,t).filter(n=>n.nodeType===1):an?an.call(this,t):[]},Object.defineProperty(Element.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let t=dt&&dt.get?dt.get.call(this):null;return t||Lo(this)}}),fr=!0))}Ro();function dr(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.host)return!0;t=r}return!1}function cn(e,t){if(e.getAttribute(ce)===br)return[];let n=Array.from(e.childNodes);return!t||!t.flatten?n:ln(n,new Set,0)}function ln(e,t,n){if(n>=jo)return e.slice();let r=[];for(let s of e)if(s.nodeType===1&&s.tagName==="SLOT"){let o=s;if(t.has(o))continue;if(t.add(o),o.hasAttribute(z)){let i=cn(o,{flatten:!1});if(i.length>0)for(let c of ln(i,t,n+1))r.push(c);else for(let c of ln(Array.from(o.childNodes),t,n+1))r.push(c)}else if(De){let i=De.call(o,{flatten:!0});for(let c of i)r.push(c)}else r.push(s)}else r.push(s);return r}function Lo(e){let t=e.parentElement;for(;t;){if(t.tagName==="SLOT"&&t.hasAttribute(z))return t.getAttribute(ce)===He?t:null;t=t.parentElement}return null}function V(e){let t=e,n=t[ae];return n||(n={assignedByName:new Map,pendingByName:new Map,lastSnapshot:new WeakMap,nameObservers:new WeakMap,childObserver:null,scheduled:!1,ownedSlots:new Set},t[ae]=n),n}function un(e){return!!e[ae]}function gr(e){let t=V(e);for(;e.firstChild;){let n=e.firstChild,r=pt(n);ht(t.assignedByName,r,n),e.removeChild(n)}}function yr(e){let t=V(e),n=e.querySelectorAll(`slot[${z}]`);for(let r of n){let s=r;if(s.getAttribute(ce)!==He)continue;let o=s.getAttribute("name")||null;if(!t.assignedByName.has(o)){let i=Array.from(s.childNodes);t.assignedByName.set(o,i),t.lastSnapshot.set(s,i.slice())}}}function pt(e){if(e.nodeType!==1)return null;let n=e.getAttribute("slot");return n||null}function ht(e,t,n){let r=e.get(t);r||(r=[],e.set(t,r)),r.push(n)}function wr(e,t,n){if(!n.length)return;let r=e.get(t);r||(r=[],e.set(t,r));for(let s of n)r.push(s)}function _r(e){if(!qe)return;let t=V(e);t.childObserver||(t.childObserver=new MutationObserver(n=>{let r=!1;for(let s of n)if(!No(s)){if(s.type==="childList"){for(let o of s.addedNodes)o.parentElement===e&&(ht(t.assignedByName,pt(o),o),r=!0);for(let o of s.removedNodes)e.contains(o)||pr(t,o)&&(r=!0)}else if(s.type==="attributes"&&s.attributeName==="slot"){let o=s.target;(pr(t,o)||o.parentElement===e)&&(ht(t.assignedByName,pt(o),o),r=!0)}}r&&bt(e)}),t.childObserver.observe(e,{childList:!0,attributes:!0,attributeFilter:["slot"],subtree:!0}))}function Sr(e){let t=e[ae];if(t){t.childObserver&&(t.childObserver.disconnect(),t.childObserver=null);for(let n of t.ownedSlots){let r=t.nameObservers.get(n);r&&(r.disconnect(),t.nameObservers.delete(n))}}}function pr(e,t){for(let[n,r]of e.assignedByName){let s=r.indexOf(t);if(s!==-1)return r.splice(s,1),r.length===0&&e.assignedByName.delete(n),!0}return!1}function bt(e){let t=V(e);t.scheduled||(t.scheduled=!0,queueMicrotask(()=>{t.scheduled=!1,Oo(e)}))}function Oo(e){if(!qe)return;let t=e[ae];if(!t)return;let n=Array.from(e.querySelectorAll(`slot[${z}]`)),r=new Set(n);for(let i of t.ownedSlots)r.has(i)||Mo(t,i);for(let i of r)t.ownedSlots.has(i)||$o(e,i);t.ownedSlots=r;let s=new Map;for(let i of n){let c=i.getAttribute("name")||null,a=s.get(c);a||(a=[],s.set(c,a)),a.push(i)}for(let i of s.keys()){let c=t.pendingByName.get(i);if(c&&c.length){let a=t.assignedByName.get(i)||[],l=[];for(let f of c)l.push(f);for(let f of a)l.indexOf(f)===-1&&l.push(f);t.assignedByName.set(i,l),t.pendingByName.delete(i)}}let o=[];for(let[i,c]of s){let a=t.assignedByName.get(i)||[];for(let l=0;l<c.length;l++){let f=c[l];l===0&&a.length>0?Io(t,f,a)&&o.push(f):Po(t,f)&&o.push(f)}}for(let i of o)Fo(i)}function Mo(e,t){let n=e.nameObservers.get(t);n&&(n.disconnect(),e.nameObservers.delete(t));let r=e.lastSnapshot.get(t);if(r&&r.length>0){let s=t.getAttribute("name")||null;wr(e.pendingByName,s,r)}e.lastSnapshot.delete(t)}function Io(e,t,n){let r=t.getAttribute(ce)!==He,s=e.lastSnapshot.get(t)||[];if(!r&&Bo(s,n))return!1;let i=t[mt];if(r&&i)for(;t.firstChild;)i.appendChild(t.firstChild);else for(;t.firstChild;)t.removeChild(t.firstChild);for(let c of n)t.appendChild(c);return t.setAttribute(ce,He),e.lastSnapshot.set(t,n.slice()),!0}function Po(e,t){let n=t.getAttribute(ce)===He;if(t.setAttribute(ce,br),!n)return hr(t),!1;for(e.lastSnapshot.delete(t);t.firstChild;)t.removeChild(t.firstChild);return hr(t),!0}function hr(e){let t=e[mt];!t||t.childNodes.length===0||e.appendChild(t)}function $o(e,t){if(!qe)return;let n=V(e);if(n.nameObservers.has(t))return;let r=new MutationObserver(()=>bt(e));r.observe(t,{attributes:!0,attributeFilter:["name"]}),n.nameObservers.set(t,r)}function Ar(e,t){if(!un(e))return;let n=V(e),r=n.lastSnapshot.get(t);if(!r||r.length===0)return;let s=t.getAttribute("name")||null;for(let i of r)i.parentNode===t&&t.removeChild(i);wr(n.pendingByName,s,r),n.lastSnapshot.delete(t);let o=n.nameObservers.get(t);o&&(o.disconnect(),n.nameObservers.delete(t)),n.ownedSlots.delete(t)}function Fo(e){e.dispatchEvent(new Event("slotchange",{bubbles:!0,composed:!1}))}function Bo(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var Er=new WeakMap,fn=Symbol.for("webjs.instance");function xe(e,t){let n=t,r=n[fn];if(N(e)){let s=e;if(r&&r.strings===s.strings){ve(r,s.values);return}r&&vr(r,t);let o=t.firstChild;o&&o.nodeType===8&&o.data==="webjs-hydrate"&&o.remove();let i=qo(s,t);n[fn]=i;return}if(r&&vr(r,t),n[fn]=null,t.replaceChildren(),!(e==null||e===!1||e===!0)){if(Array.isArray(e)){for(let s of e){let o=document.createTextNode(String(s??""));t.appendChild(o)}return}t.appendChild(document.createTextNode(String(e)))}}function yt(e){let{strings:t}=e,n=Er.get(t);if(n)return n;let r=[],s="",o="text",i="",c=0,a="",l=0,f=null,d="",u="";for(let g=0;g<t.length;g++){let m=t[g];for(let h=0;h<m.length;h++){let p=m[h];switch(o){case"text":s+=p,p==="<"&&(o="tag-open");break;case"tag-open":s+=p,p==="!"?o="bang-1":p==="/"?(o="tag-name",d=""):/[a-zA-Z]/.test(p)?(o="tag-name",d=p.toLowerCase()):o="text";break;case"bang-1":s+=p,o=p==="-"?"bang-dash":"tag-name";break;case"bang-dash":s+=p,p==="-"?(o="comment",l=0):o="tag-name";break;case"comment":s+=p,p==="-"?l+=1:(p===">"&&l>=2&&(o="text"),l=0);break;case"tag-name":s+=p,p===">"?(o=d==="script"||d==="style"?"rawtext":"text",o==="rawtext"&&(u="")):/\s/.test(p)?o="in-tag":d+=p.toLowerCase();break;case"in-tag":s+=p,p===">"?(o=d==="script"||d==="style"?"rawtext":"text",o==="rawtext"&&(u="")):!/\s/.test(p)&&p!=="/"&&(o="attr-name",i=p,c=s.length-1);break;case"rawtext":s+=p,u=(u+p.toLowerCase()).slice(-9),(u.endsWith("<\/script>")||u.endsWith("</style>"))&&(o="text",u="",d="");break;case"attr-name":p==="="?(o="after-eq",s+=p):/\s/.test(p)?(o="in-tag",i="",s+=p):p===">"?(o="text",i="",s+=p):(i+=p,s+=p);break;case"after-eq":p==='"'||p==="'"?(o="attr-quoted",a=p,s+=p):/\s/.test(p)?(o="in-tag",i="",s+=p):p===">"?(o="text",i="",s+=p):(o="attr-unquoted",s+=p);break;case"attr-unquoted":/\s/.test(p)?(o="in-tag",i="",s+=p):(p===">"&&(o="text",i=""),s+=p);break;case"attr-quoted":s+=p,p===a&&(o="in-tag",i="");break;case"skip-attr":if(p===a){if(f){let y=f.firstPartIdx,w=[];for(let _=y;_<r.length;_++)(r[_].kind==="noop"||r[_].kind==="attr-mixed")&&w.push(_);let A=[],E=t[w[0]],C=E.lastIndexOf(a);A.push(C>=0?E.slice(C+1):E);for(let _=1;_<w.length;_++)A.push(t[w[_]]);let T=t[w[w.length-1]+1],I=T.indexOf(a);A.push(I>=0?T.slice(0,I):T),r[y]={kind:"attr-mixed",path:[],name:f.name,statics:A,group:w};for(let _=1;_<w.length;_++)r[w[_]]={kind:"noop",path:[],mixedAnchor:y};f=null}o="in-tag",i=""}break}}if(g<t.length-1){let h=r.length;if(o==="comment"){l=0,r.push({kind:"noop",path:[]});continue}if(o==="rawtext"){u="",r.push({kind:"noop",path:[]});continue}if(o==="text")s+=`<!--${v}${h}-->`,r.push({kind:"child",path:[]});else if(o==="in-tag"){let p=`data-${v}${h}`;s+=`${p}=""`,r.push({kind:"element",path:[]})}else if(o==="after-eq"){let p=i[0],y=i.slice(1);if(nr(p)){s=s.slice(0,c);let w=be[p],A=`data-${v}${h}`;s+=`${A}=""`,r.push({kind:w,path:[],name:y})}else{s=s.slice(0,c);let w=`data-${v}${h}`;s+=`${w}=""`,r.push({kind:"attr",path:[],name:i})}o="in-tag",i=""}else if(o==="attr-quoted"||o==="attr-unquoted"){s=s.slice(0,c);let p=`data-${v}${h}`;s+=`${p}=""`,f={name:i,firstPartIdx:h},r.push({kind:"noop",path:[]}),o="skip-attr"}else o==="skip-attr"&&r.push({kind:"noop",path:[]})}}let b=document.createElement("template");return b.innerHTML=s,Uo(b.content,r),Do(b.content,r),n={templateEl:b,parts:r},Er.set(t,n),n}function Uo(e,t){let n=e.querySelectorAll("slot");for(let r of n){r.setAttribute(z,"");let s=t.length;r.setAttribute(`data-${v}${s}`,""),t.push({kind:"slot",path:[]})}}function Do(e,t){let n=[];function r(s){for(let o=0;o<s.childNodes.length;o++){let i=s.childNodes[o];if(n.push(o),i.nodeType===8){let c=i.data;if(c.startsWith(v)){let a=Number(c.slice(v.length));t[a]&&t[a].kind==="child"&&(t[a].path=n.slice())}}else if(i.nodeType===1){let c=i,a=[];for(let l of c.attributes)if(l.name.startsWith(`data-${v}`)){let f=Number(l.name.slice(`data-${v}`.length));t[f]&&t[f].kind!=="child"&&(t[f].path=n.slice()),a.push(l.name)}for(let l of a)c.removeAttribute(l);r(i)}n.pop()}}r(e)}function qo(e,t){let{templateEl:n,parts:r}=yt(e),s=n.content.cloneNode(!0),o=document.createComment(`${v}s`),i=document.createComment(`${v}e`),c=r.map(l=>wt(l,s)),a=[];for(let l=0;l<e.values.length;l++)G(c[l],e.values[l],void 0,e.values),a.push(e.values[l]);t.replaceChildren(o,...s.childNodes,i);for(let l of c)l.kind==="slot"&&G(l,void 0,void 0,[]);return{strings:e.strings,bound:c,lastValues:a,startNode:o,endNode:i}}function wt(e,t){if(e.kind==="noop")return{kind:"noop",mixedAnchor:e.mixedAnchor};let n=t;for(let s of e.path)n=n.childNodes[s];if(e.kind==="child")return{kind:"child",marker:n};let r=n;if(e.kind==="event"){let s={kind:"event",el:r,name:e.name||"",handler:null,dispatcher(o){s.handler?.(o)}};return r.addEventListener(s.name,s.dispatcher),s}if(e.kind==="attr")return{kind:"attr",el:r,name:e.name||""};if(e.kind==="attr-mixed")return{kind:"attr-mixed",el:r,name:e.name||"",statics:e.statics||[],group:e.group||[]};if(e.kind==="prop")return{kind:"prop",el:r,name:e.name||""};if(e.kind==="bool")return{kind:"bool",el:r,name:e.name||""};if(e.kind==="element")return{kind:"element",el:r};if(e.kind==="slot")return{kind:"slot",slotEl:r,applied:!1};throw new Error(`unknown part kind ${e.kind}`)}function ve(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(Object.is(r,e.lastValues[n]))continue;let s=e.bound[n],o=s.mixedAnchor;s.kind==="noop"&&o!=null?G(e.bound[o],t[o],e.lastValues[o],t):G(s,r,e.lastValues[n],t),e.lastValues[n]=r}}function vr(e,t){for(let n of e.bound){if(n.kind==="event"&&n.el.removeEventListener(n.name,n.dispatcher),n.kind==="element"){let r=n.lastTarget;if(r){if(typeof r=="function")try{r(void 0)}catch{}else typeof r=="object"&&(r.value=void 0);n.lastTarget=void 0,n.__lastEl=void 0}}if(n.kind==="slot"){let r=dn(n.slotEl);r&&Ar(r,n.slotEl)}}t.replaceChildren()}function G(e,t,n,r){if(ye(t)){let s=t.value;if(e.kind==="prop"&&e.el[e.name]===s||e.kind==="attr"&&e.el.getAttribute(e.name)===String(s)||e.kind==="bool"&&e.el.hasAttribute(e.name)===!!s)return;t=s}switch(e.kind){case"child":zo(e,t);break;case"attr":{t==null||t===!1?e.el.removeAttribute(e.name):e.el.setAttribute(e.name,String(t));break}case"prop":e.el[e.name]=t;break;case"bool":t?e.el.setAttribute(e.name,""):e.el.removeAttribute(e.name);break;case"event":e.handler=typeof t=="function"?t:null;break;case"element":Wo(e,t);break;case"attr-mixed":{let s=e,o=s.statics[0];for(let i=0;i<s.group.length;i++)o+=String((r?r[s.group[i]]:t)??""),o+=s.statics[i+1]||"";e.el.setAttribute(e.name,o);break}case"slot":{if(e.applied)break;let s=e.slotEl,o=()=>{e.applied=!0;let c=dn(s);if(!c||Ho(s))return;let a=document.createDocumentFragment();for(;s.firstChild;)a.appendChild(s.firstChild);s[mt]=a,bt(c)};dn(s)?o():queueMicrotask(o);break}case"noop":break}}function dn(e){let t=e.parentElement;for(;t;){if(t[ae])return t;t=t.parentElement}return null}function Ho(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.host)return!0;t=r}return!1}function Wo(e,t){let n=e,r=re(t)?t.target:void 0,s=n.__refTarget,o=r!==s;if(o&&s)if(typeof s=="function")try{s(void 0)}catch{}else typeof s=="object"&&(s.value=void 0);if(o||n.__refElement!==e.el){if(n.__refTarget=r,r)if(typeof r=="function"){if(!o&&n.__refElement!==void 0)try{r(void 0)}catch{}try{r(e.el)}catch{}}else typeof r=="object"&&(r.value=e.el);n.__refElement=e.el,e.lastTarget=r}}function zo(e,t){return ei(e,t),B(e,t)}function B(e,t){let n=e.marker;if(ge(t)){K(e);let s=String(t.value??""),o=document.createElement("template");o.innerHTML=s;let i=[...o.content.childNodes],c=document.createDocumentFragment();for(let a of i)c.appendChild(a);n.parentNode?.insertBefore(c,n),e.child=i;return}if(te(t)){let s=t,o=e.__keyedKey;o!==void 0&&!Object.is(o,s.key)&&K(e),e.__keyedKey=s.key,B(e,s.value);return}if(ne(t)){let s=t,o=e.__guardDeps,i=s.deps;if(o!==void 0&&(Array.isArray(o)&&Array.isArray(i)?Qo(o,i):Object.is(o,i)))return;e.__guardDeps=Array.isArray(i)?i.slice():i,B(e,s.fn());return}if(we(t)){K(e);let s=t.template;if(s&&s.content){let o=s.content.cloneNode(!0),i=[...o.childNodes];n.parentNode?.insertBefore(o,n),e.child=i}return}if(re(t))return;if(se(t))return ti(e,t.value);if(oe(t))return ni(e,t.args);if(ie(t))return ri(e,t.signal);if(_e(t))return si(e,t);if(Se(t))return oi(e,t);if(ee(t)){if(e.child&&e.child.kind==="repeat"){Go(e,t);return}K(e);let s={kind:"repeat",map:new Map};e.child=s,Ko(n,s,t);return}if(Array.isArray(t)){if(e.child&&e.child.kind==="array"){Xo(e,t);return}K(e);let s={kind:"array",items:[]};e.child=s,Jo(n,s,t);return}if(e.child){let s=e.child;if(s.kind==="repeat")Cr(s),e.child=void 0;else if(s.kind==="array")kr(s),e.child=void 0;else if(s.kind==="async-stream")Rr(s),e.child=void 0;else if("strings"in e.child){let o=e.child;if(N(t)&&o.strings===t.strings){ve(o,t.values);return}Ce(o.startNode,o.endNode),e.child=void 0}else{for(let o of e.child)o.parentNode&&o.parentNode.removeChild(o);e.child=void 0}}if(t==null||t===!1||t===!0)return;if(N(t)){let s=t,{templateEl:o,parts:i}=yt(s),c=o.content.cloneNode(!0),a=document.createComment(`${v}s`),l=document.createComment(`${v}e`),f=i.map(b=>wt(b,c)),d=[];for(let b=0;b<s.values.length;b++)G(f[b],s.values[b],void 0,s.values),d.push(s.values[b]);let u=[a,...c.childNodes,l];n.parentNode?.insertBefore(Vo(u),n);for(let b of f)b.kind==="slot"&&G(b,void 0,void 0,[]);e.child={strings:s.strings,bound:f,lastValues:d,startNode:a,endNode:l};return}let r=document.createTextNode(String(t));n.parentNode?.insertBefore(r,n),e.child=[r]}function Vo(e){let t=document.createDocumentFragment();for(let n of e)t.appendChild(n);return t}function Ce(e,t){if(!e.parentNode)return;let n=e;for(;n&&n!==t;){let r=n.nextSibling;n.parentNode?.removeChild(n),n=r}t.parentNode===e.parentNode&&t.parentNode?.removeChild(t)}function hn(e){let{templateEl:t,parts:n}=yt(e),r=t.content.cloneNode(!0),s=document.createComment(`${v}s`),o=document.createComment(`${v}e`),i=n.map(l=>wt(l,r)),c=[];for(let l=0;l<e.values.length;l++)G(i[l],e.values[l],void 0,e.values),c.push(e.values[l]);let a=document.createDocumentFragment();for(a.appendChild(s);r.firstChild;)a.appendChild(r.firstChild);return a.appendChild(o),{inst:{strings:e.strings,bound:i,lastValues:c,startNode:s,endNode:o},frag:a}}function We(e){for(let t of e.bound)if(t.kind==="event"&&t.el.removeEventListener(t.name,t.dispatcher),t.kind==="element"){let n=t.lastTarget;if(n){if(typeof n=="function")try{n(void 0)}catch{}else typeof n=="object"&&(n.value=void 0);t.lastTarget=void 0,t.__lastEl=void 0}}}function Ko(e,t,n){let{items:r,keyFn:s,templateFn:o}=n,i=e.parentNode;if(!i)return;let c=document.createDocumentFragment();for(let a=0;a<r.length;a++){let l=s(r[a],a),f=o(r[a],a);if(!N(f))continue;let{inst:d,frag:u}=hn(f);t.map.set(l,d),c.appendChild(u)}i.insertBefore(c,e)}function Go(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let s=e.child,{items:o,keyFn:i,templateFn:c}=t,a=new Map;for(let l=0;l<o.length;l++){let f=i(o[l],l),d=c(o[l],l);if(!N(d))continue;let u=s.map.get(f);if(u&&u.strings===d.strings)ve(u,d.values),pn(u.startNode,u.endNode,r,n),a.set(f,u),s.map.delete(f);else{u&&(We(u),Ce(u.startNode,u.endNode),s.map.delete(f));let{inst:b,frag:g}=hn(d);r.insertBefore(g,n),a.set(f,b)}}for(let l of s.map.values())We(l),Ce(l.startNode,l.endNode);s.map=a}function Cr(e){for(let t of e.map.values())We(t),Ce(t.startNode,t.endNode);e.map.clear()}function Yo(e){return e.type==="tpl"?e.inst.startNode:e.type==="text"?e.node:null}function gt(e){e.type==="tpl"?(We(e.inst),Ce(e.inst.startNode,e.inst.endNode)):e.type==="text"&&e.node.parentNode?.removeChild(e.node)}function xr(e){if(N(e)){let{inst:t,frag:n}=hn(e);return{item:{type:"tpl",inst:t},frag:n}}if(e!=null&&e!==!1&&e!==!0){let t=document.createTextNode(String(e));return{item:{type:"text",node:t},frag:t}}return{item:{type:"empty"},frag:null}}function Jo(e,t,n){let r=e.parentNode;if(!r)return;let s=document.createDocumentFragment(),o=[];for(let i of n){let{item:c,frag:a}=xr(i);a&&s.appendChild(a),o.push(c)}r.insertBefore(s,e),t.items=o}function Xo(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let s=e.child,o=s.items,i=[];for(let c=0;c<t.length;c++){let a=t[c],l=o[c];if(N(a)){let u=a;if(l&&l.type==="tpl"&&l.inst.strings===u.strings){ve(l.inst,u.values),i.push(l);continue}}else if(a!=null&&a!==!1&&a!==!0){if(l&&l.type==="text"){let u=String(a);l.node.data!==u&&(l.node.data=u),i.push(l);continue}}else{l&&gt(l),i.push({type:"empty"});continue}let{item:f,frag:d}=xr(a);d&&r.insertBefore(d,Zo(o,c,n)),l&&gt(l),i.push(f)}for(let c=t.length;c<o.length;c++)gt(o[c]);s.items=i}function Zo(e,t,n){for(let r=t;r<e.length;r++){let s=Yo(e[r]);if(s&&s.parentNode)return s}return n}function kr(e){for(let t of e.items)gt(t);e.items=[]}function pn(e,t,n,r){if(t.nextSibling===r&&e.parentNode===n)return;let s=document.createDocumentFragment(),o=e;for(;o;){let i=o.nextSibling;if(s.appendChild(o),o===t)break;o=i}n.insertBefore(s,r)}function Qo(e,t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Object.is(e[n],t[n]))return!1;return!0}function K(e){let t=e;if(t.__untilState&&(t.__untilState.aborted=!0,t.__untilState=void 0),t.__watchSub&&Tr(t),!e.child)return;let n=e.child;if(n.kind==="repeat")Cr(n);else if(n.kind==="array")kr(n);else if(n.kind==="async-stream")Rr(n);else if("strings"in n){let r=e.child;We(r),Ce(r.startNode,r.endNode)}else for(let r of e.child)r.parentNode&&r.parentNode.removeChild(r);e.child=void 0}function ei(e,t){let n=e;n.__untilState&&!oe(t)&&(n.__untilState.aborted=!0,n.__untilState=void 0),n.__guardDeps!==void 0&&!ne(t)&&(n.__guardDeps=void 0),n.__cacheMap&&!se(t)&&(n.__cacheMap=void 0),n.__keyedKey!==void 0&&!te(t)&&(n.__keyedKey=void 0),n.__watchSub&&!ie(t)&&Tr(n)}function ti(e,t){let n=e.marker,r=e,s=r.__cacheMap;s||(s=new Map,r.__cacheMap=s);let o=e.child;if(o&&"strings"in o){let c=o;if(N(t)&&c.strings===t.strings){ve(c,t.values);return}let a=document.createDocumentFragment();pn(c.startNode,c.endNode,a,null),s.set(c.strings,{inst:c,holder:a}),e.child=void 0}if(N(t)){let c=t,a=s.get(c.strings);if(a){s.delete(c.strings),e.child&&K(e),pn(a.inst.startNode,a.inst.endNode,n.parentNode,n),ve(a.inst,c.values),e.child=a.inst;return}}B(e,t)}function ni(e,t){let n=e,r=n.__untilState,s=n.__untilArgs,o=(u,b)=>!!(Object.is(u,b)||N(u)&&N(b)&&u.strings===b.strings),c=s&&s.length===t.length&&s.every((u,b)=>o(u,t[b]))&&r?r.highestResolved:1/0;r&&(r.aborted=!0),n.__untilArgs=t.slice();let a={aborted:!1,highestResolved:c};n.__untilState=a;let l=-1,f;for(let u=0;u<t.length;u++){let b=t[u];if(!b||typeof b.then!="function"){l=u,f=b;break}}l!==-1&&l<=a.highestResolved?(B(e,f),a.highestResolved=l):l===-1&&!n.__untilEverRendered&&B(e,""),n.__untilEverRendered=!0;let d=Math.min(l===-1?t.length:l,a.highestResolved);for(let u=0;u<d;u++){let b=t[u];!b||typeof b.then!="function"||Promise.resolve(b).then(g=>{a.aborted||u>=a.highestResolved||(a.highestResolved=u,B(e,g))},()=>{})}}function ri(e,t){let n=e;if(n.__watchSig===t&&n.__watchSub){let o;n.__watchSub.observe(()=>{o=t.get()}),B(e,o);return}n.__watchSub&&(n.__watchSub.dispose(),n.__watchSub=void 0),n.__watchSig=t;let r=new Ue.subtle.Watcher(()=>{queueMicrotask(()=>{if(n.__watchSub!==r)return;let o;r.observe(()=>{o=t.get()}),B(e,o)})});n.__watchSub=r;let s;r.observe(()=>{s=t.get()}),B(e,s)}function Tr(e){e.__watchSub&&(e.__watchSub.dispose(),e.__watchSub=void 0,e.__watchSig=void 0)}function si(e,t){let n=e.child;if(n&&n.kind==="async-stream"&&n.mode==="append"&&n.iterable===t.iterable)return;K(e);let r=t.iterable[Symbol.asyncIterator](),s={kind:"async-stream",mode:"append",aborted:!1,iterable:t.iterable,iterator:r,nodes:[]};e.child=s,Nr(s,e,t)}function oi(e,t){let n=e.child;if(n&&n.kind==="async-stream"&&n.mode==="replace"&&n.iterable===t.iterable)return;K(e);let r=t.iterable[Symbol.asyncIterator](),s={kind:"async-stream",mode:"replace",aborted:!1,iterable:t.iterable,iterator:r,nodes:[]};e.child=s,Nr(s,e,t)}async function Nr(e,t,n){let r=t.marker,s=0;try{for(;!e.aborted;){let o=await e.iterator.next();if(e.aborted||o.done)break;let i=n.mapper?n.mapper(o.value,s):o.value,c=jr(i);if(e.mode==="replace"){for(let l of e.nodes)l.parentNode&&l.parentNode.removeChild(l);e.nodes=[]}let a=document.createDocumentFragment();for(let l of c)a.appendChild(l);r.parentNode?.insertBefore(a,r),e.nodes.push(...c),s++}}catch(o){typeof console<"u"&&console.error("[webjs] asyncStream error:",o)}}function jr(e){if(e==null||e===!1||e===!0)return[];if(N(e)){let t=e,{templateEl:n,parts:r}=yt(t),s=n.content.cloneNode(!0),o=r.map(i=>wt(i,s));for(let i=0;i<t.values.length;i++)G(o[i],t.values[i],void 0,t.values);return[...s.childNodes]}if(Array.isArray(e)){let t=[];for(let n of e)t.push(...jr(n));return t}return[document.createTextNode(String(e))]}function Rr(e){e.aborted=!0;for(let t of e.nodes)t.parentNode&&t.parentNode.removeChild(t);e.nodes=[];try{e.iterator.return?.()?.catch?.(()=>{})}catch{}}var Lr=null;function _t(e){Lr=e||null}function ii(){return Lr||void 0}var Or=Symbol.for("webjs:registry"),Mr=Symbol.for("webjs:classToTag"),St=globalThis,U=St[Or]||(St[Or]=new Map),Ir=St[Mr]||(St[Mr]=new WeakMap),At=typeof window<"u"&&typeof customElements<"u";function mn(e,t){if(!e||typeof e!="string"||!e.includes("-"))throw new Error(`customElements.define: tag "${e}" must contain a hyphen (HTML spec)`);let n=t.lazy===!0,r=U.get(e);r?(r.cls=t,r.lazy=n):U.set(e,{cls:t,moduleUrl:null,lazy:n,tag:e}),Ir.set(t,e)}if(At){let e=customElements.define.bind(customElements);customElements.define=function(t,n,r){customElements.get(t)||e(t,n,r),mn(t,n)}}if(!At){let e=globalThis;e.customElements||(e.customElements={define(t,n){mn(t,n)},get(t){return U.get(t)?.cls},upgrade(){},whenDefined(t){let n=U.get(t);return Promise.resolve(n?.cls)}})}function bn(e,t){At?customElements.define(e,t):mn(e,t)}function ai(e,t){if(At)return;let n=U.get(e);if(n){n.moduleUrl=t;return}U.set(e,{cls:null,moduleUrl:t,lazy:!1,tag:e})}function gn(e){return U.get(e)?.cls}function ci(e){return U.get(e)?.moduleUrl||null}function li(e){return U.get(e)?.lazy===!0}function Et(e){return Ir.get(e)}function yn(){return[...U.keys()]}ke();var qr=typeof window<"u"&&typeof HTMLElement<"u";function Ai(e,t){return e!==t}function Ei(){return{states:new Set,shadowRoot:null,form:null,labels:[],role:"",willValidate:!0,validity:{},validationMessage:"",setFormValue(){},setValidity(){},checkValidity(){return!0},reportValidity(){return!0}}}var vt=class{constructor(){this.__ssrAttrs=new Map,this.__internals=null}get attributes(){return[...this.__ssrAttrs].map(([t,n])=>({name:t,value:n}))}getAttribute(t){let n=this.__ssrAttrs.get(String(t).toLowerCase());return n===void 0?null:n}setAttribute(t,n){this.__ssrAttrs.set(String(t).toLowerCase(),String(n))}removeAttribute(t){this.__ssrAttrs.delete(String(t).toLowerCase())}hasAttribute(t){return this.__ssrAttrs.has(String(t).toLowerCase())}toggleAttribute(t,n){let r=String(t).toLowerCase(),s=this.__ssrAttrs.has(r);return(n===void 0?!s:n)?(this.__ssrAttrs.set(r,""),!0):(this.__ssrAttrs.delete(r),!1)}getAttributeNames(){return[...this.__ssrAttrs.keys()]}closest(t){let n=String(t).trim().toLowerCase();if(!/^[a-z][a-z0-9-]*$/.test(n))return null;if(this.__ssrTag===n)return this;let r=this.__ssrAncestors;if(!Array.isArray(r))return null;for(let s=r.length-1;s>=0;s--)if(r[s]&&r[s].__ssrTag===n)return r[s];return null}get dataset(){if(this.__dataset)return this.__dataset;let t=this,n=r=>"data-"+String(r).replace(/[A-Z]/g,s=>"-"+s.toLowerCase());return this.__dataset=new Proxy({},{get(r,s){if(typeof s!="string")return;let o=t.getAttribute(n(s));return o===null?void 0:o},set(r,s,o){return typeof s=="string"&&t.setAttribute(n(s),o),!0},has(r,s){return typeof s=="string"&&t.hasAttribute(n(s))},deleteProperty(r,s){return typeof s=="string"&&t.removeAttribute(n(s)),!0},ownKeys(){return t.getAttributeNames().filter(r=>r.startsWith("data-")).map(r=>r.slice(5).replace(/-([a-z])/g,(s,o)=>o.toUpperCase()))},getOwnPropertyDescriptor(r,s){if(typeof s=="string"&&t.hasAttribute(n(s)))return{enumerable:!0,configurable:!0,value:t.getAttribute(n(s))}}}),this.__dataset}get className(){return this.getAttribute("class")??""}set className(t){this.setAttribute("class",t)}get hidden(){return this.hasAttribute("hidden")}set hidden(t){this.toggleAttribute("hidden",!!t)}get id(){return this.getAttribute("id")??""}set id(t){this.setAttribute("id",t)}get title(){return this.getAttribute("title")??""}set title(t){this.setAttribute("title",t)}get slot(){return this.getAttribute("slot")??""}set slot(t){this.setAttribute("slot",t)}get role(){return this.getAttribute("role")}set role(t){t==null?this.removeAttribute("role"):this.setAttribute("role",t)}get tabIndex(){let t=this.getAttribute("tabindex");return t===null?-1:Number.parseInt(t,10)||0}set tabIndex(t){this.setAttribute("tabindex",String(t))}addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}attachInternals(){if(this.__internals!==null)throw new Error("Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.");return this.__internals=Ei(),this.__internals}},vi=["ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaCurrent","ariaDescription","ariaDisabled","ariaExpanded","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText"];for(let e of vi){let t="aria-"+e.slice(4).toLowerCase();Object.defineProperty(vt.prototype,e,{configurable:!0,get(){return this.getAttribute(t)},set(n){n==null?this.removeAttribute(t):this.setAttribute(t,String(n))}})}var Ci=qr?HTMLElement:vt,Hr=Symbol("webjs.factoryProps"),Ur=new WeakSet,Te=class e extends Ci{static shadow=!1;static hydrate=void 0;static properties={};static styles=null;static register(t){bn(t,this)}static get observedAttributes(){let t=this.properties||{};return Object.keys(t).filter(n=>!(typeof t[n]=="object"&&t[n].state)).map(n=>typeof t[n]=="object"&&t[n].attribute||wn(n))}constructor(){super(),this._renderRoot=null,this._scheduled=!1,this._connected=!1,this.__controllers=new Set,this.__firstRendered=!1,this._changedProperties=new Map,this._updateResolve=null,this._updatePromise=Promise.resolve(!0),this._isUpdating=!1,this._assertFactoryProperties(),this._initializeProperties()}_assertFactoryProperties(){let t=this.constructor;if(Ur.has(t))return;let n=t;for(;n&&n!==e;){if(Object.hasOwn(n,"properties")&&!Object.hasOwn(n,Hr)){let r=n.name||"a component";throw new Error(`${r}: \`static properties\` is no longer supported. Declare reactive properties via the factory instead: \`class ${r} extends WebComponent({ count: Number })\`. Use the \`prop()\` helper for options (\`prop(Number, { reflect: true })\`) and set defaults in the constructor after \`super()\`. See https://docs.webjs.dev/docs/components.`)}n=Object.getPrototypeOf(n)}Ur.add(t)}_initializeProperties(){let n=this.constructor.properties;if(!(!n||typeof n!="object")){this.__propValues={};for(let[r,s]of Object.entries(n)){let o=typeof s=="object"?s:{type:s},i=this[r];Object.defineProperty(this,r,{configurable:!0,enumerable:!0,get:()=>this.__propValues[r],set:c=>{let a=this.__propValues[r];(o.hasChanged||Ai)(c,a)&&(this.__propValues[r]=c,o.reflect&&!o.state&&this._connected&&this._reflectAttribute(r,c,o),this.requestUpdate(r,a))}}),i!==void 0?this.__propValues[r]=i:o.default!==void 0&&(this.__propValues[r]=typeof o.default=="function"?o.default():o.default)}}}_reflectAttribute(t,n,r){let s=r.attribute||wn(t);if(!this.__reflectingAttribute){this.__reflectingAttribute=!0;try{if(r.converter&&r.converter.toAttribute){let o=r.converter.toAttribute(n,r.type);o==null?this.removeAttribute(s):this.setAttribute(s,o)}else r.type===Boolean?n?this.setAttribute(s,""):this.removeAttribute(s):n==null?this.removeAttribute(s):r.type===Object||r.type===Array?this.setAttribute(s,JSON.stringify(n)):this.setAttribute(s,String(n))}finally{this.__reflectingAttribute=!1}}}connectedCallback(){if(!qr)return;if(this.__webjsPropsHydrated||(this.__webjsPropsHydrated=!0,this._hydratePropAttrs()),this.constructor.hydrate==="visible"&&typeof IntersectionObserver<"u"&&!this.__hydrationActivated){this.__hydrationActivated=!1,this.__hydrationObserver=new IntersectionObserver(n=>{for(let r of n)if(r.isIntersecting){this.__hydrationObserver.unobserve(this),this.__hydrationObserver.disconnect(),this.__hydrationObserver=null,this.__hydrationActivated=!0,this._activate();return}},{rootMargin:"200px"}),this.__hydrationObserver.observe(this);return}this._activate()}_hydratePropAttrs(){let t=[],n=this.attributes;for(let r=0;r<n.length;r++){let s=n[r].name;s.startsWith("data-webjs-prop-")&&t.push(s)}for(let r of t){let s=this.getAttribute(r);if(this.removeAttribute(r),s==null)continue;let o=Dr(r.slice(16));try{this[o]=q(s)}catch(i){console.warn(`[webjs] failed to decode ${r} on <${this.tagName.toLowerCase()}>: ${i&&i.message}`)}}}_activate(){this._connected=!0,this._reflectDeclaredAttributes();let t=this.constructor;if(t.shadow===!0){let n=!!this.shadowRoot;this.shadowRoot||this.attachShadow({mode:"open"}),this._renderRoot=this.shadowRoot;let r=t.styles,s=Array.isArray(r)?r:me(r)?[r]:[];if(s.length){if(n){let o=this.shadowRoot.querySelector("style");o&&o.remove()}Yt(this._renderRoot,s)}}else this._renderRoot=this,t.styles&&console.warn(`[webjs] <${Et(t)||this.tagName?.toLowerCase()}> has static shadow = false AND static styles. static styles only works with shadow DOM (adoptedStyleSheets). For light DOM, use global CSS or <style> in render().`),un(this)||(this.__isHydrating()?(V(this),yr(this)):gr(this));for(let n of this.__controllers)n.hostConnected&&n.hostConnected();this._updateResolve===null&&(this._updatePromise=new Promise(n=>{this._updateResolve=n})),this._scheduled=!0,queueMicrotask(()=>{this._scheduled=!1;try{this._performRender()}catch(n){console.error("[webjs] lifecycle hook threw during initial render:",n)}this._renderRoot===this&&_r(this)})}__isHydrating(){let t=this.firstChild,n=t!=null&&t.nodeType===8&&t.data==="webjs-hydrate";return n&&(this.__hydratedAtActivate=!0),n}disconnectedCallback(){this._connected=!1,this.__hydrationObserver&&(this.__hydrationObserver.disconnect(),this.__hydrationObserver=null),this._renderRoot===this&&Sr(this),this.__signalWatcher&&(this.__signalWatcher.dispose(),this.__signalWatcher=void 0);for(let t of this.__controllers)t.hostDisconnected&&t.hostDisconnected()}attributeChangedCallback(t,n,r){if(this.__reflectingAttribute)return;let o=this.constructor.properties||{},i,c;for(let[f,d]of Object.entries(o))if(((typeof d=="object"?d:{type:d}).attribute||wn(f))===t){i=f,c=d;break}if(c===void 0&&(i=Dr(t),c=o[i]||o[t]),c===void 0)return;let a=typeof c=="object"?c:{type:c},l;if(a.converter&&a.converter.fromAttribute)l=a.converter.fromAttribute(r,a.type);else if(a.type===Number)l=r==null?null:Number(r);else if(a.type===Boolean)l=r!=null&&r!=="false";else if(a.type===Object||a.type===Array)try{l=r==null?null:JSON.parse(r)}catch{l=r}else l=r;this[i]!==l&&(this[i]=l,this._connected&&this.requestUpdate())}requestUpdate(t,n){t!==void 0&&!this._changedProperties.has(t)&&this._changedProperties.set(t,n),this._scheduleUpdate()}_scheduleUpdate(){this._updateResolve===null&&(this._updatePromise=new Promise(t=>{this._updateResolve=t})),!this._isUpdating&&(this._scheduled||!this._connected||(this._scheduled=!0,queueMicrotask(()=>{this._scheduled=!1;try{this._performRender()}catch(t){console.error("[webjs] lifecycle hook threw during update cycle:",t)}})))}_performRender(){if(!this._renderRoot)return;let t=this._changedProperties;this._isUpdating=!0;let n=!1,r=null;try{if(this.shouldUpdate(t)){this.willUpdate(t);for(let s of this.__controllers)s.hostUpdate&&s.hostUpdate();this.__renderToken=(this.__renderToken||0)+1,this.__renderAbort&&this.__renderAbort.abort(),this.__renderAbort=typeof AbortController<"u"?new AbortController:null,_t(this.__renderAbort?this.__renderAbort.signal:null);try{let s=this.update(t);s&&typeof s.then=="function"&&(r=s)}catch(s){this._handleRenderError(s)}finally{_t(null)}if(!r){for(let s of this.__controllers)s.hostUpdated&&s.hostUpdated();n=!0}}}catch(s){console.error("[webjs] lifecycle hook threw during update phase:",s)}finally{this._isUpdating=!1,(n||r)&&(this._changedProperties=new Map)}if(r){let s=this.__renderToken;this.__pendingAsyncCommits=(this.__pendingAsyncCommits||0)+1,r.then(()=>{if(this.__pendingAsyncCommits--,s===this.__renderToken){for(let o of this.__controllers)o.hostUpdated&&o.hostUpdated();this._postCommit(t)}});return}n?this._postCommit(t):this.__pendingAsyncCommits||this._resolveUpdate()}_resolveUpdate(){if(this._updateResolve){let t=this._changedProperties.size===0;this._updateResolve(t),this._updateResolve=null}}performServerUpdate(){let t=this._changedProperties;this._isUpdating=!0;try{this.willUpdate(t);for(let n of this.__controllers)n.hostUpdate&&n.hostUpdate();this._reflectDeclaredAttributes()}finally{this._isUpdating=!1}}_reflectDeclaredAttributes(){let t=this.constructor.properties||{};for(let n of Object.keys(t)){let r=t[n];!r||!r.reflect||r.state||this._reflectAttribute(n,this[n],r)}}shouldUpdate(t){return!0}willUpdate(t){}update(t){this.__signalWatcher||(this.__signalWatcher=new Ue.subtle.Watcher(()=>{this._connected&&this.requestUpdate()}));let n;if(this.__signalWatcher.observe(()=>{n=this.render()}),n&&typeof n.then=="function")return this._commitAsync(n);xe(n,this._renderRoot)}_commitAsync(t){let n=this.__renderToken;if(this.__firstRendered&&this._overridesRenderFallback())try{let r=this.renderFallback();r!==void 0&&xe(r,this._renderRoot)}catch(r){console.error("[webjs] renderFallback() threw:",r)}return Promise.resolve(t).then(r=>{n===this.__renderToken&&xe(r,this._renderRoot)},r=>{n===this.__renderToken&&this._handleRenderError(r instanceof Error?r:new Error(String(r)))})}_overridesRenderFallback(){return this.renderFallback!==Ct.prototype.renderFallback}_handleRenderError(t){console.error(`[webjs] render error in <${Et(this.constructor)||this.tagName?.toLowerCase()}>:`,t);try{let n=this.renderError(t);n!==void 0&&xe(n,this._renderRoot)}catch(n){console.error("[webjs] renderError() also threw:",n)}}_postCommit(t){try{this.__firstRendered||(this.__firstRendered=!0,this.firstUpdated(t)),this.updated(t)}catch(n){console.error("[webjs] lifecycle hook threw during post-commit phase:",n)}finally{this._resolveUpdate()}}updated(t){}firstUpdated(t){}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._updatePromise}addController(t){this.__controllers.add(t),this._connected&&t.hostConnected&&t.hostConnected()}removeController(t){this.__controllers.delete(t)}render(){return""}renderError(t){}renderFallback(){}};function wn(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function Dr(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Ct(e){return new.target?Reflect.construct(Te,arguments,new.target):class extends Te{static properties=e;static[Hr]=!0}}Object.setPrototypeOf(Ct,Te);Ct.prototype=Te.prototype;function xi(e,t={}){return e&&typeof e=="object"&&!("call"in e)&&(t=e,e=void 0),{...e?{type:e}:{},...t}}var Bc=Symbol.for("webjs.suspense");function ki(e){return{_$webjsSuspense:!0,fallback:e.fallback,children:e.children}}function xt(e){return!!e&&typeof e=="object"&&e._$webjsSuspense===!0}ke();var _n=null;function Ti(e){_n=e}function Sn(){if(!_n)return"";try{return _n()||""}catch{return""}}async function Ni(e,t={ssr:!0}){let n=t&&t.suspenseCtx,r=t&&t.dev!==void 0?t.dev:n&&n.dev;n&&n.dev===void 0&&r!==void 0&&(n.dev=r);let s=await k(e,n);return t&&t.ssr===!1?s:await J(s,n,[],r)}async function k(e,t){if(e==null||e===!1||e===!0)return"";if(e&&typeof e.then=="function")return e=await e,k(e,t);if(ge(e))return String(e.value??"");if(ye(e))return k(e.value,t);if(ie(e))return k(e.signal.get(),t);if(te(e))return k(e.value,t);if(ne(e))return k(e.fn(),t);if(we(e)){let n=e.template;return String(n?.innerHTML??"")}if(re(e))return"";if(se(e))return k(e.value,t);if(oe(e)){let n=e.args;for(let r of n)if(!r||typeof r.then!="function")return k(r,t);if(n.length>0)try{let r=await Promise.race(n.map(s=>Promise.resolve(s).catch(()=>{})));return k(r,t)}catch{return""}return""}if(_e(e)||Se(e))return"";if(Array.isArray(e))return(await Promise.all(e.map(r=>k(r,t)))).join("");if(ee(e)){let n=e;return(await Promise.all(n.items.map((s,o)=>k(n.templateFn(s,o),t)))).join("")}if(xt(e)){let n=e,r=await k(n.fallback,t);if(t){let s=`s${t.nextId++}`;return t.pending.push({id:s,promise:Promise.resolve(n.children)}),`<webjs-boundary id="${s}">${r}</webjs-boundary>`}return r}return N(e)?ji(e,t):it(String(e))}async function ji(e,t){let{strings:n,values:r}=e,s="",o="text",i="",c=0,a="",l=0,f="",d="";for(let u=0;u<n.length;u++){let b=n[u];for(let g=0;g<b.length;g++){let m=b[g];switch(o){case"text":s+=m,m==="<"&&(o="tag-open");break;case"tag-open":s+=m,m==="!"?o="bang-1":m==="/"?(o="tag-name",f=""):/[a-zA-Z]/.test(m)?(o="tag-name",f=m.toLowerCase()):o="text";break;case"bang-1":s+=m,o=m==="-"?"bang-dash":"tag-name";break;case"bang-dash":s+=m,m==="-"?(o="comment",l=0):o="tag-name";break;case"comment":s+=m,m==="-"?l+=1:(m===">"&&l>=2&&(o="text"),l=0);break;case"tag-name":s+=m,m===">"?(o=kt(f)?"rawtext":"text",o==="rawtext"&&(d="")):/\s/.test(m)?o="in-tag":f+=m.toLowerCase();break;case"in-tag":s+=m,m===">"?(o=kt(f)?"rawtext":"text",o==="rawtext"&&(d="")):!/\s/.test(m)&&m!=="/"&&(o="attr-name",i=m,c=s.length-1);break;case"rawtext":s+=m,d=(d+m.toLowerCase()).slice(-9),(d.endsWith("<\/script>")||d.endsWith("</style>"))&&(o="text",d="",f="");break;case"attr-name":m==="="?(o="after-eq",s+=m):/\s/.test(m)?(o="in-tag",i="",s+=m):m===">"?(o="text",i="",s+=m):(i+=m,s+=m);break;case"after-eq":m==='"'||m==="'"?(o="attr-quoted",a=m,s+=m):/\s/.test(m)?(o="in-tag",i="",s+=m):m===">"?(o="text",i="",s+=m):(o="attr-unquoted",s+=m);break;case"attr-unquoted":/\s/.test(m)?(o="in-tag",i="",s+=m):(m===">"&&(o="text",i=""),s+=m);break;case"attr-quoted":s+=m,m===a&&(o="in-tag",i="");break}}if(u<r.length){let g=r[u];if(g&&typeof g.then=="function"&&(g=await g),o==="comment")s+=String(g??""),l=0;else if(o==="rawtext")s+=String(g??""),d="";else if(o==="text")s+=await k(g,t);else if(o==="after-eq"){let m=i[0],h=i.slice(1),p=be[m];if(p==="event")s=s.slice(0,c),o="in-tag",i="";else if(p==="prop"){if(s=s.slice(0,c),f==="webjs-suspense"&&h==="fallback"){let y=await k(g,t);s+=`data-webjs-fallback="${$(y)}"`,o="in-tag",i="";continue}if(!f.includes("-")){o="in-tag",i="";continue}if(g===void 0){o="in-tag",i="";continue}try{let y=await Ke(g);s+=`data-webjs-prop-${zi(h)}="${$(y)}"`}catch(y){console.warn(`[webjs] property binding .${h} has an unserializable value during SSR. Dropping. The browser will see the property as undefined. Detail: ${y&&y.message}`)}o="in-tag",i=""}else p==="bool"?(s=s.slice(0,c),g&&(s+=`${h}=""`),o="in-tag",i=""):(s+=`"${$(String(g??""))}"`,o="in-tag",i="")}else(o==="attr-quoted"||o==="attr-unquoted")&&(s+=$(String(g??"")))}}return s}var Ri=new Set(["document","window","localStorage","sessionStorage","navigator","matchMedia","requestAnimationFrame","getComputedStyle","IntersectionObserver","MutationObserver","ResizeObserver"]),Li=new Set(["attachShadow","querySelector","querySelectorAll","getBoundingClientRect","focus","blur","scrollIntoView"]);function Oi(e){let t=e&&typeof e.message=="string"?e.message:"",n=/^(\w+) is not defined\b/.exec(t);return e instanceof ReferenceError&&n&&Ri.has(n[1])?`\`${n[1]}\` is a browser-only global and is undefined during SSR.`:(n=/\.(\w+) is not a function\b/.exec(t),e instanceof TypeError&&n&&Li.has(n[1])?`\`${n[1]}\` is an HTMLElement method that does not exist on the server-side component instance during SSR.`:null)}function Mi(){return typeof process<"u"&&process.env&&!0}function Vr(e,t,n){if(!(n===void 0?!Mi():!!n))return"";let s=t&&t.message?t.message:String(t);return Gt`<div data-webjs-error="${e}" style="border:1px solid #f5c2c7;background:#f8d7da;color:#842029;padding:8px 12px;border-radius:6px;font:13px/1.4 system-ui,sans-serif">
4
4
  <strong>&lt;${e}&gt; failed to render</strong>
5
5
  <div style="margin-top:4px;white-space:pre-wrap">${s}</div>
6
- </div>`}async function Y(e,t,n=[],r){e=await Ii(e,t,n,r);let s=yn();if(!s.length)return e;let o=[...s].sort((d,u)=>u.length-d.length),i=new RegExp(`<(${o.map(Ge).join("|")})(?=[\\s>/])((?:"[^"]*"|'[^']*'|[^>])*?)(/?)>`,"g"),c=[];for(let d of e.matchAll(i)){let[u,b,g,m]=d,h=gn(b);if(!h)continue;t&&t.usedComponents&&t.usedComponents.add(b);let p=m?`<${b}${g}>`:u,y=null;try{let w=h.shadow===!0;y=new h,y.__ssrTag=b,y.__ssrAncestors=n;let S=Vr(g),A=Wi(S),C=new Set(Object.keys(Vr(g)).map(E=>E.toLowerCase()));Bi(y,S),qi(y,S,h);for(let[E,_]of Object.entries(A))y[E]=_;typeof y.performServerUpdate=="function"&&y.performServerUpdate();let T=y.render?y.render():"";T&&typeof T.then=="function"&&(T=await T),p=Ui(p,y,C);let I=await k(T,t);if(w){let E=await Y(I,t,[...n,y],r),_=h.styles,P=Array.isArray(_)?_:_&&me(_)?[_]:[],he=ot(P);c.push({start:d.index,end:d.index+u.length,text:`${p}<template shadowrootmode="open">${he}${E}</template>`})}else{if(I.trim()===""){c.push({start:d.index,end:d.index+u.length,text:`${p}<!--webjs-hydrate-->`});continue}let _="",P=d.index+u.length;if(!m){let Kt=d.index+u.length,st=Ye(e,Kt,b);if(st!==-1){_=e.slice(Kt,st);let Ys=new RegExp(`</${Ge(b)}\\s*>`,"i"),Js=e.slice(st),er=Ys.exec(Js),Xs=er?er[0].length:`</${b}>`.length;P=st+Xs}else _=e.slice(Kt),P=e.length}let he=$i(_),rt=Fi(I,he),Gs=await Y(rt,t,[...n,y],r);c.push({start:d.index,end:P,text:`${p}<!--webjs-hydrate-->${Gs}</${b}>`})}}catch(w){let S=Ri(w);console.error(S?`[webjs] SSR failed for <${b}>: ${S} It was touched in the component's constructor or render(), which run during SSR. Move browser-only work to connectedCallback() or a lifecycle hook (firstUpdated/updated), which SSR never calls; seed first-paint defaults in the constructor only from server-known inputs (attributes / props).`:`[webjs] SSR failed for <${b}>:`,w);let A=w instanceof Error?w:new Error(String(w)),C="";try{let _;y&&typeof y.renderError=="function"&&(_=y.renderError(A)),_===void 0&&(_=zr(b,A,r)),C=await k(_,t),C.trim()&&(C=await Y(C,t,y?[...n,y]:n,r))}catch(_){console.error(`[webjs] renderError() for <${b}> also threw:`,_),C=""}let T=d.index+u.length;if(!m){let _=d.index+u.length,P=Ye(e,_,b);if(P!==-1){let rt=new RegExp(`</${Ge(b)}\\s*>`,"i").exec(e.slice(P));T=P+(rt?rt[0].length:`</${b}>`.length)}else T=e.length}let I=h.shadow===!0,E;if(I){let _=h.styles,P=Array.isArray(_)?_:_&&me(_)?[_]:[],he=ot(P);E=`${p}<template shadowrootmode="open">${he}${C}</template>`}else E=`${p}<!--webjs-hydrate-->${C}</${b}>`;c.push({start:d.index,end:T,text:E})}}if(!c.length)return e;c.sort((d,u)=>d.start-u.start);let a=[],l=-1;for(let d of c)d.start>=l&&(a.push(d),l=d.end);let f=e;for(let d=a.length-1;d>=0;d--){let{start:u,end:b,text:g}=a[d];f=f.slice(0,u)+g+f.slice(b)}return f}var Oi=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function Mi(e){return Oi.has(e.toLowerCase())}async function Ii(e,t,n=[],r){if(e.indexOf("<webjs-suspense")===-1)return e;let s=/<webjs-suspense((?:"[^"]*"|'[^']*'|[^>])*?)>/i,o="",i=e;for(let c=0;c<1e4;c++){let a=s.exec(i);if(!a){o+=i;break}let l=a.index,f=a.index+a[0].length;o+=i.slice(0,l);let d=a[1]||"",u=/data-webjs-fallback="([^"]*)"/i.exec(d),b=u?Tt(u[1]):"",g=Ye(i,f,"webjs-suspense"),m,h;if(g===-1)m=i.slice(f),h="";else{m=i.slice(f,g);let p=/<\/webjs-suspense\s*>/i.exec(i.slice(g));h=i.slice(g+(p?p[0].length:17))}if(t){let p=`s${t.nextId++}`;t.pending.push({id:p,promise:Promise.resolve(Jt(m))}),o+=`<webjs-suspense id="${p}">${b}</webjs-suspense>`}else{let p=await Y(m,t,n,r);o+=`<webjs-suspense>${p}</webjs-suspense>`}i=h}return o}function Ye(e,t,n){let r=Ge(n),s=new RegExp(`<${r}(?:[\\s>/])`,"gi"),o=new RegExp(`</${r}\\s*>`,"gi");s.lastIndex=t,o.lastIndex=t;let i=1;for(;i>0;){let c=s.exec(e),a=o.exec(e);if(!a)return-1;if(c&&c.index<a.index)i++,o.lastIndex=c.index+1;else{if(i--,i===0)return a.index;s.lastIndex=a.index+1}}return-1}function Pi(e){let t=/\bslot\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/i.exec(e);if(!t)return null;let n=t[1]??t[2]??t[3]??"";return n===""?null:n}function $i(e){let t=new Map,n="",r=0;for(;r<e.length;){let s=e.indexOf("<",r);if(s===-1){n+=e.slice(r);break}s>r&&(n+=e.slice(r,s));let o=e.slice(s);if(o.startsWith("<!--")){let h=e.indexOf("-->",s+4);if(h===-1){n+=o,r=e.length;break}n+=e.slice(s,h+3),r=h+3;continue}if(o.startsWith("<!")||o.startsWith("</")){let h=e.indexOf(">",s);if(h===-1){n+=o,r=e.length;break}n+=e.slice(s,h+1),r=h+1;continue}let i=/^<([a-zA-Z][\w-]*)((?:"[^"]*"|'[^']*'|[^>])*?)(\/?)>/.exec(o);if(!i){n+="<",r=s+1;continue}let[c,a,l,f]=i,d=a.toLowerCase(),u=!!f||Mi(d),b=Pi(l),g;if(u)g=s+c.length;else{let h=s+c.length,p=Ye(e,h,d);if(p===-1){let C=e.slice(s);b!==null?Wr(t,b,C):n+=C,r=e.length;continue}let y=new RegExp(`</${Ge(d)}\\s*>`,"i"),w=e.slice(p),S=y.exec(w),A=S?S[0].length:`</${d}>`.length;g=p+A}let m=e.slice(s,g);b!==null?Wr(t,b,m):n+=m,r=g}return n.length>0&&t.set(null,n),t}function Wr(e,t,n){let r=e.get(t);r!==void 0?e.set(t,r+n):e.set(t,n)}function Fi(e,t){let n=new Set,r="",s=0,o=/<slot((?:"[^"]*"|'[^']*'|[^>])*?)(\/?)>/gi,i;for(;(i=o.exec(e))!==null;){r+=e.slice(s,i.index);let[c,a,l]=i,f=!!l,d=/\bname\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/i.exec(a),u=d?d[1]??d[2]??d[3]:null,b=a.replace(/\bname\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/i,"").trim(),g="",m;if(f)m=i.index+c.length;else{let w=i.index+c.length,S=Ye(e,w,"slot");if(S===-1)g=e.slice(w),m=e.length;else{g=e.slice(w,S);let A=/<\/slot\s*>/i,C=e.slice(S),T=A.exec(C),I=T?T[0].length:7;m=S+I}}let h=t.get(u),p=u!==null?` name="${$(u)}"`:"",y=b?` ${b}`:"";h!==void 0&&!n.has(u)?(n.add(u),r+=`<slot data-webjs-light data-projection="actual"${p}${y}>${h}</slot>`):r+=`<slot data-webjs-light data-projection="fallback"${p}${y}>${g}</slot>`,s=m,o.lastIndex=m}return r+=e.slice(s),r}function Ge(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kt(e){return e==="script"||e==="style"}function Vr(e){let t={},n=/([a-zA-Z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+)))?/g,r;for(;(r=n.exec(e))!==null;)t[r[1]]=r[2]??r[3]??r[4]??"";return t}function Bi(e,t){if(!(!e||typeof e.setAttribute!="function"))for(let[n,r]of Object.entries(t))e.setAttribute(n,Tt(r))}function Ui(e,t,n){if(!t||typeof t.getAttributeNames!="function")return e;let r="";for(let s of t.getAttributeNames()){let o=String(s).toLowerCase();if(n.has(o))continue;let i=t.getAttribute(s);r+=i===""?` ${o}`:` ${o}="${$(String(i))}"`}return r?`${e.slice(0,-1)}${r}>`:e}function qi(e,t,n){let r=n.properties||{};for(let[s,o]of Object.entries(t)){let i,c;for(let[l,f]of Object.entries(r))if(((typeof f=="object"?f:{type:f}).attribute||Di(l))===s){i=l,c=f;break}if(c===void 0&&(c=r[s]||r[An(s)],i=r[s]?s:An(s)),!c){e[i]=o;continue}let a=typeof c=="object"?c:{type:c};if(a.type===Number)e[i]=Number(o);else if(a.type===Boolean)e[i]=o!=="false";else if(a.type===Object||a.type===Array)try{e[i]=JSON.parse(Tt(o))}catch{e[i]=o}else e[i]=o}}function An(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Di(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function Hi(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function Tt(e){return e.replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&amp;/g,"&")}function Wi(e){let t={};for(let n of Object.keys(e)){if(!n.startsWith("data-webjs-prop-"))continue;let r=An(n.slice(16));try{t[r]=D(Tt(e[n]))}catch{}delete e[n]}return t}function Vi(e,t={ssr:!0}){let n=t&&t.suspenseCtx,r=t&&t.dev!==void 0?t.dev:n&&n.dev;return n&&n.dev===void 0&&r!==void 0&&(n.dev=r),new ReadableStream({async start(s){try{if(t&&t.ssr===!1)await R(e,n,s);else{let o=await k(e,n),i=await Y(o,n,[],r);s.enqueue(i)}n&&n.pending.length&&await Ki(n,s,r),s.close()}catch(o){s.error(o)}}})}async function R(e,t,n){if(!(e==null||e===!1||e===!0)){if(e&&typeof e.then=="function")return e=await e,R(e,t,n);if(ge(e)){n.enqueue(String(e.value??""));return}if(ye(e))return R(e.value,t,n);if(oe(e))return R(e.signal.get(),t,n);if(ee(e))return R(e.value,t,n);if(te(e))return R(e.fn(),t,n);if(we(e)){let r=e.template;n.enqueue(String(r?.innerHTML??""));return}if(!ne(e)){if(re(e))return R(e.value,t,n);if(se(e)){let r=e.args;for(let s of r)if(!s||typeof s.then!="function")return R(s,t,n);if(r.length>0)try{let s=await Promise.race(r.map(o=>Promise.resolve(o).catch(()=>{})));return R(s,t,n)}catch{return}return}if(!(_e(e)||Se(e))){if(Array.isArray(e)){for(let r of e)await R(r,t,n);return}if(Q(e)){let r=e;for(let s=0;s<r.items.length;s++)await R(r.templateFn(r.items[s],s),t,n);return}if(xt(e)){let r=e;if(t){let s=`s${t.nextId++}`;n.enqueue(`<webjs-boundary id="${s}">`),await R(r.fallback,t,n),n.enqueue("</webjs-boundary>"),t.pending.push({id:s,promise:Promise.resolve(r.children)})}else await R(r.fallback,t,n);return}if(N(e)){await zi(e,t,n);return}n.enqueue(it(String(e)))}}}}async function zi(e,t,n){let{strings:r,values:s}=e,o="text",i="",c=0,a="",l=0,f="",d="",u="";for(let b=0;b<r.length;b++){let g=r[b];for(let m=0;m<g.length;m++){let h=g[m];switch(o){case"text":u+=h,h==="<"&&(o="tag-open");break;case"tag-open":u+=h,h==="!"?o="bang-1":h==="/"?(o="tag-name",f=""):/[a-zA-Z]/.test(h)?(o="tag-name",f=h.toLowerCase()):o="text";break;case"bang-1":u+=h,o=h==="-"?"bang-dash":"tag-name";break;case"bang-dash":u+=h,h==="-"?(o="comment",l=0):o="tag-name";break;case"comment":u+=h,h==="-"?l+=1:(h===">"&&l>=2&&(o="text"),l=0);break;case"tag-name":u+=h,h===">"?(o=kt(f)?"rawtext":"text",o==="rawtext"&&(d="")):/\s/.test(h)?o="in-tag":f+=h.toLowerCase();break;case"in-tag":u+=h,h===">"?(o=kt(f)?"rawtext":"text",o==="rawtext"&&(d="")):!/\s/.test(h)&&h!=="/"&&(o="attr-name",i=h,c=u.length-1);break;case"rawtext":u+=h,d=(d+h.toLowerCase()).slice(-9),(d.endsWith("<\/script>")||d.endsWith("</style>"))&&(o="text",d="",f="");break;case"attr-name":h==="="?(o="after-eq",u+=h):/\s/.test(h)?(o="in-tag",i="",u+=h):h===">"?(o="text",i="",u+=h):(i+=h,u+=h);break;case"after-eq":h==='"'||h==="'"?(o="attr-quoted",a=h,u+=h):/\s/.test(h)?(o="in-tag",i="",u+=h):h===">"?(o="text",i="",u+=h):(o="attr-unquoted",u+=h);break;case"attr-unquoted":/\s/.test(h)?(o="in-tag",i="",u+=h):(h===">"&&(o="text",i=""),u+=h);break;case"attr-quoted":u+=h,h===a&&(o="in-tag",i="");break}}if(b<s.length){let m=s[b];if(m&&typeof m.then=="function"&&(m=await m),o==="comment")u+=String(m??""),l=0;else if(o==="rawtext")u+=String(m??""),d="";else if(o==="text")u&&(n.enqueue(u),u=""),await R(m,t,n);else if(o==="after-eq"){let h=i[0],p=i.slice(1),y=be[h];y==="event"||y==="prop"?(u=u.slice(0,c),o="in-tag",i=""):y==="bool"?(u=u.slice(0,c),m&&(u+=`${p}=""`),o="in-tag",i=""):(u+=`"${$(String(m??""))}"`,o="in-tag",i="")}else(o==="attr-quoted"||o==="attr-unquoted")&&(u+=$(String(m??"")))}}u&&n.enqueue(u)}async function Ki(e,t,n){let r=Sn(),s=r?` nonce="${$(r)}"`:"";for(;e.pending.length;){let o=e.pending.splice(0);await Promise.all(o.map(async({id:i,promise:c})=>{try{let a=await c,l=await k(a,e),f=await Y(l,e,[],n);t.enqueue(`<template data-webjs-resolve="${i}">${f}</template><script${s}>(function(){var t=document.currentScript.previousElementSibling;var b=document.getElementById("${i}");if(b&&t){b.replaceWith(t.content.cloneNode(true));t.remove()}document.currentScript.remove()})()<\/script>`)}catch(a){console.error(`[webjs] Suspense boundary "${i}" rejected:`,a);try{let l=a instanceof Error?a:new Error(String(a)),f=await Y(await k(zr("webjs-suspense",l,n),e),e,[],n);t.enqueue(`<template data-webjs-resolve="${i}">${f}</template><script${s}>(function(){var t=document.currentScript.previousElementSibling;var b=document.getElementById("${i}");if(b&&t){b.replaceWith(t.content.cloneNode(true));t.remove()}document.currentScript.remove()})()<\/script>`)}catch(l){console.error(`[webjs] Suspense boundary "${i}" error render also threw:`,l)}}}))}}var Kr=Symbol.for("webjs.notFound"),Gr=Symbol.for("webjs.redirect");function Gi(){let e=new Error("webjs: notFound()");throw e.__webjs=Kr,e}function Yi(e,t){let n=typeof t=="object"&&t!==null?t.status:t,r=new Error(`webjs: redirect(${e})`);throw r.__webjs=Gr,r.url=e,r.status=typeof n=="number"?n:void 0,r}function Ji(e){return!!e&&e.__webjs===Kr}function Xi(e){return!!e&&e.__webjs===Gr}function Zi(e,t={}){let n=t.reconnect!==!1,r=0,s=!1,o=null,i=[];function c(){s||(o=new WebSocket(Qi(e),t.protocols),o.onopen=a=>{for(r=0;i.length&&o&&o.readyState===WebSocket.OPEN;)o.send(i.shift());t.onOpen?.(a)},o.onmessage=a=>{let l=a.data;if(typeof l=="string")try{l=JSON.parse(l)}catch{}t.onMessage?.(l,a)},o.onerror=a=>{t.onError?.(a)},o.onclose=a=>{if(t.onClose?.(a),!s&&n){let l=Math.min(1e3*2**r++,3e4);setTimeout(c,l)}})}return c(),{send(a){let l=typeof a=="string"||a instanceof ArrayBuffer||ArrayBuffer.isView(a)?a:JSON.stringify(a);o&&o.readyState===WebSocket.OPEN?o.send(l):i.push(l)},close(a,l){s=!0;try{o?.close(a,l)}catch{}},get socket(){return o},get readyState(){return o?.readyState??3}}}function Qi(e){if(/^wss?:\/\//i.test(e))return e;let t=typeof location<"u"&&location.protocol==="https:"?"wss:":"ws:",n=typeof location<"u"?location.host:"";return`${t}//${n}${e.startsWith("/")?e:"/"+e}`}ke();var En="application/vnd.webjs+json";async function ea(e,t={}){let n=new Headers(t.headers||{});n.has("accept")||n.set("accept",En);let r=t.body;r!=null&&typeof r=="object"&&!(r instanceof FormData)&&!(r instanceof Blob)&&!(r instanceof ArrayBuffer)&&!(r instanceof URLSearchParams)&&!(typeof ReadableStream<"u"&&r instanceof ReadableStream)&&!ArrayBuffer.isView(r)&&(r=await Ke(r),n.has("content-type")||n.set("content-type",En));let s=await fetch(e,{...t,headers:n,body:r}),o=s.headers.get("content-type")||"",i=await s.text(),c=o.includes(En)?i?D(i):null:o.includes("application/json")?i?JSON.parse(i):null:i;if(!s.ok){let a=c&&c.error||`richFetch ${e} -> ${s.status}`,l=new Error(a);throw l.status=s.status,l.body=c,l}return c}ke();kn();xn();jt();var Jn=class{constructor(t,n){this.host=t,this.options=n,this.updates=[],this._nextId=0}get value(){let t=this.options.source();if(!this.options.update)return this.updates.length>0?this.updates[this.updates.length-1].payload:t;for(let n of this.updates)t=this.options.update(t,n.payload);return t}add(t,n){let r=`opt-${++this._nextId}`;this.updates.push({id:r,payload:t}),this.host?.requestUpdate?.();let s=()=>{let o=this.updates.findIndex(i=>i.id===r);o!==-1&&(this.updates.splice(o,1),this.host?.requestUpdate?.())};return n&&typeof n.then=="function"&&(typeof n.finally=="function"?n.finally(()=>s()).catch(()=>{}):n.then(()=>s(),()=>s())),s}};async function Ia(e,t,n){let r=e.get();e.set(t);let s;try{s=await n()}catch(o){throw e.set(r),o}return s&&s.success===!1&&e.set(r),s}function Pa(e,t,n){return e&&typeof e.get=="function"&&typeof e.set=="function"?Ia(e,t,n):new Jn(e,t)}jn();var Vt=0,zs=new Map,$e=new Map,$a=1e3;function Fa(e){if(!(!Array.isArray(e)||!e.length)){Vt+=1;for(let t of e)t&&zs.set(t,Vt)}}function Ba(){return Vt}function Ua(e,t,n){if(!(!Array.isArray(t)||!t.length)&&($e.delete(e),$e.set(e,{tags:t.slice(),since:typeof n=="number"?n:Vt}),$e.size>$a)){let r=$e.keys().next().value;r!==void 0&&$e.delete(r)}}function qa(e){let t=$e.get(e);if(!t)return!1;for(let n of t.tags)if((zs.get(n)||0)>t.since)return!0;return!1}function Da(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}var Ha="application/vnd.webjs+stream",Wa=1,Va=2,za=3,Ks=new Uint8Array(0);function Ka(e,t){let n=t||Ks,r=n.length,s=new Uint8Array(5+r);return s[0]=e&255,s[1]=r>>>24&255,s[2]=r>>>16&255,s[3]=r>>>8&255,s[4]=r&255,r&&s.set(n,5),s}function Ga(){let e=Ks;return{push(t){if(t&&t.length){let r=new Uint8Array(e.length+t.length);r.set(e,0),r.set(t,e.length),e=r}let n=[];for(;e.length>=5;){let r=e[0],s=(e[1]<<24|e[2]<<16|e[3]<<8|e[4])>>>0;if(e.length<5+s)break;let o=e.slice(5,5+s);n.push({type:r,payload:o}),e=e.slice(5+s)}return n}}}var Ya=Symbol.for("webjs.context");function Ja(e){return{__context__:Ya,name:e}}var zt=class extends Event{constructor(t,n,r=!1){super("context-request",{bubbles:!0,composed:!0}),this.context=t,this.callback=n,this.subscribe=r}},Xn=class{constructor(t,{context:n,initialValue:r}){this._host=t,this._context=n,this._value=r,this._subscriptions=new Set,this._onRequest=s=>{let o=s;if(o.context===this._context)if(s.stopPropagation(),o.subscribe){let i={callback:o.callback},c=()=>{this._subscriptions.delete(i)};this._subscriptions.add(i),o.callback(this._value,c)}else o.callback(this._value)},typeof t.addController=="function"&&t.addController(this)}get value(){return this._value}setValue(t){if(!Object.is(this._value,t)){this._value=t;for(let n of this._subscriptions){let r=()=>{this._subscriptions.delete(n)};n.callback(t,r)}}}hostConnected(){this._host.addEventListener("context-request",this._onRequest)}hostDisconnected(){this._host.removeEventListener("context-request",this._onRequest),this._subscriptions.clear()}},Zn=class{constructor(t,{context:n,subscribe:r=!0}){this._host=t,this._context=n,this._subscribe=r,this._value=void 0,this._unsubscribe=void 0,typeof t.addController=="function"&&t.addController(this)}get value(){return this._value}hostConnected(){this._dispatchRequest()}hostDisconnected(){this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=void 0)}_dispatchRequest(){let t=new zt(this._context,(n,r)=>{let s=this._value;this._value=n,r&&(this._unsubscribe=r),!Object.is(s,n)&&typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()},this._subscribe);this._host.dispatchEvent(t)}};function Xa(){return typeof window<"u"}var H={INITIAL:0,PENDING:1,COMPLETE:2,ERROR:3},Qn=class{constructor(t,{task:n,args:r,autoRun:s=!0}){this._host=t,this._taskFn=n,this._argsFn=r||(()=>[]),this._autoRun=s,this._status=H.INITIAL,this._value=void 0,this._error=void 0,this._abortController=null,this._prevArgs=null,typeof t.addController=="function"&&t.addController(this)}get status(){return this._status}get value(){return this._value}get error(){return this._error}async run(){this.abort();let t=new AbortController;this._abortController=t;let n=this._argsFn();this._prevArgs=n,this._status=H.PENDING,this._error=void 0,this._requestHostUpdate();try{let r=await this._taskFn(...n,{signal:t.signal});if(t.signal.aborted)return;this._value=r,this._status=H.COMPLETE,this._error=void 0}catch(r){if(t.signal.aborted)return;this._error=r,this._status=H.ERROR,this._value=void 0}finally{this._abortController===t&&(this._abortController=null)}this._requestHostUpdate()}abort(){this._abortController&&(this._abortController.abort(),this._abortController=null)}render(t={}){switch(this._status){case H.INITIAL:return t.initial?.();case H.PENDING:return t.pending?.();case H.COMPLETE:return t.complete?.(this._value);case H.ERROR:return t.error?.(this._error);default:return}}hostUpdate(){if(!this._autoRun||!Xa())return;let t=this._argsFn();this._argsEqual(this._prevArgs,t)||this.run()}hostUpdated(){}hostConnected(){}hostDisconnected(){this.abort()}_requestHostUpdate(){typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()}_argsEqual(t,n){if(t===null||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}};export{Zn as ContextConsumer,Xn as ContextProvider,zt as ContextRequestEvent,Wa as FRAME_CHUNK,Va as FRAME_END,za as FRAME_ERROR,v as MARKER,ss as SEED_MISS,Ha as STREAM_CONTENT_TYPE,Ue as Signal,Ci as Suspense,Qn as Task,H as TaskStatus,Ct as WebComponent,Cn as WebjsFrame,Tn as WebjsStream,si as activeActionSignal,Yt as adoptStyles,yn as allTags,co as asyncAppend,lo as asyncReplace,_o as batch,io as cache,Ao as computed,Zi as connectWS,qa as consumeStale,Ja as createContext,Ga as createFrameDecoder,oo as createRef,Sn as cspNonce,Qs as css,Fr as deserialize,us as disableClientRouter,vo as effect,Bn as enableClientRouter,Ka as encodeFrame,$ as escapeAttr,it as escapeText,Ba as fetchMark,no as guard,Gt as html,_e as isAsyncAppend,Se as isAsyncReplace,me as isCSS,re as isCache,te as isGuard,ee as isKeyed,ai as isLazy,ye as isLive,Ji as isNotFound,Xi as isRedirect,ne as isRef,Q as isRepeat,Eo as isSignal,xt as isSuspense,N as isTemplate,we as isTemplateContent,ge as isUnsafeHTML,se as isUntil,oe as isWatch,to as keyed,eo as live,gn as lookup,ii as lookupModuleUrl,Fa as markStale,fs as navigate,Gi as notFound,Pa as optimistic,D as parse,Da as parseTagHeader,oi as primeModuleUrl,vi as prop,Yi as redirect,so as ref,bn as register,Ua as registerKeyTags,xe as render,Nn as renderStream,Vi as renderToStream,ki as renderToString,sr as repeat,ds as revalidate,ea as richFetch,Rt as scanSeeds,$r as serialize,_t as setActiveActionSignal,xi as setCspNonceProvider,So as signal,Ke as stringify,ot as stylesToString,Et as tagOf,aa as takeSeed,ro as templateContent,Jt as unsafeHTML,ao as until,uo as watch};
6
+ </div>`}async function J(e,t,n=[],r){e=await $i(e,t,n,r);let s=yn();if(!s.length)return e;let o=[...s].sort((d,u)=>u.length-d.length),i=new RegExp(`<(${o.map(Ge).join("|")})(?=[\\s>/])((?:"[^"]*"|'[^']*'|[^>])*?)(/?)>`,"g"),c=[];for(let d of e.matchAll(i)){let[u,b,g,m]=d,h=gn(b);if(!h)continue;t&&t.usedComponents&&t.usedComponents.add(b);let p=m?`<${b}${g}>`:u,y=null;try{let w=h.shadow===!0;y=new h,y.__ssrTag=b,y.__ssrAncestors=n;let A=zr(g),E=Vi(A),C=new Set(Object.keys(zr(g)).map(_=>_.toLowerCase()));Di(y,A),Hi(y,A,h);for(let[_,S]of Object.entries(E))y[_]=S;typeof y.performServerUpdate=="function"&&y.performServerUpdate();let T=y.render?y.render():"";T&&typeof T.then=="function"&&(T=await T),p=qi(p,y,C);let I=await k(T,t);if(w){let _=await J(I,t,[...n,y],r),S=h.styles,P=Array.isArray(S)?S:S&&me(S)?[S]:[],he=ot(P);c.push({start:d.index,end:d.index+u.length,text:`${p}<template shadowrootmode="open">${he}${_}</template>`})}else{if(I.trim()===""){c.push({start:d.index,end:d.index+u.length,text:`${p}<!--webjs-hydrate-->`});continue}let S="",P=d.index+u.length;if(!m){let Kt=d.index+u.length,st=Ye(e,Kt,b);if(st!==-1){S=e.slice(Kt,st);let Xs=new RegExp(`</${Ge(b)}\\s*>`,"i"),Zs=e.slice(st),er=Xs.exec(Zs),Qs=er?er[0].length:`</${b}>`.length;P=st+Qs}else S=e.slice(Kt),P=e.length}let he=Bi(S),rt=Ui(I,he),Js=await J(rt,t,[...n,y],r);c.push({start:d.index,end:P,text:`${p}<!--webjs-hydrate-->${Js}</${b}>`})}}catch(w){let A=Oi(w);console.error(A?`[webjs] SSR failed for <${b}>: ${A} It was touched in the component's constructor or render(), which run during SSR. Move browser-only work to connectedCallback() or a lifecycle hook (firstUpdated/updated), which SSR never calls; seed first-paint defaults in the constructor only from server-known inputs (attributes / props).`:`[webjs] SSR failed for <${b}>:`,w);let E=w instanceof Error?w:new Error(String(w)),C="";try{let S;y&&typeof y.renderError=="function"&&(S=y.renderError(E)),S===void 0&&(S=Vr(b,E,r)),C=await k(S,t),C.trim()&&(C=await J(C,t,y?[...n,y]:n,r))}catch(S){console.error(`[webjs] renderError() for <${b}> also threw:`,S),C=""}let T=d.index+u.length;if(!m){let S=d.index+u.length,P=Ye(e,S,b);if(P!==-1){let rt=new RegExp(`</${Ge(b)}\\s*>`,"i").exec(e.slice(P));T=P+(rt?rt[0].length:`</${b}>`.length)}else T=e.length}let I=h.shadow===!0,_;if(I){let S=h.styles,P=Array.isArray(S)?S:S&&me(S)?[S]:[],he=ot(P);_=`${p}<template shadowrootmode="open">${he}${C}</template>`}else _=`${p}<!--webjs-hydrate-->${C}</${b}>`;c.push({start:d.index,end:T,text:_})}}if(!c.length)return e;c.sort((d,u)=>d.start-u.start);let a=[],l=-1;for(let d of c)d.start>=l&&(a.push(d),l=d.end);let f=e;for(let d=a.length-1;d>=0;d--){let{start:u,end:b,text:g}=a[d];f=f.slice(0,u)+g+f.slice(b)}return f}var Ii=new Set(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]);function Pi(e){return Ii.has(e.toLowerCase())}async function $i(e,t,n=[],r){if(e.indexOf("<webjs-suspense")===-1)return e;let s=/<webjs-suspense((?:"[^"]*"|'[^']*'|[^>])*?)>/i,o="",i=e;for(let c=0;c<1e4;c++){let a=s.exec(i);if(!a){o+=i;break}let l=a.index,f=a.index+a[0].length;o+=i.slice(0,l);let d=a[1]||"",u=/data-webjs-fallback="([^"]*)"/i.exec(d),b=u?Tt(u[1]):"",g=Ye(i,f,"webjs-suspense"),m,h;if(g===-1)m=i.slice(f),h="";else{m=i.slice(f,g);let p=/<\/webjs-suspense\s*>/i.exec(i.slice(g));h=i.slice(g+(p?p[0].length:17))}if(t){let p=`s${t.nextId++}`;t.pending.push({id:p,promise:Promise.resolve(Jt(m))}),o+=`<webjs-suspense id="${p}">${b}</webjs-suspense>`}else{let p=await J(m,t,n,r);o+=`<webjs-suspense>${p}</webjs-suspense>`}i=h}return o}function Ye(e,t,n){let r=Ge(n),s=new RegExp(`<${r}(?:[\\s>/])`,"gi"),o=new RegExp(`</${r}\\s*>`,"gi");s.lastIndex=t,o.lastIndex=t;let i=1;for(;i>0;){let c=s.exec(e),a=o.exec(e);if(!a)return-1;if(c&&c.index<a.index)i++,o.lastIndex=c.index+1;else{if(i--,i===0)return a.index;s.lastIndex=a.index+1}}return-1}function Fi(e){let t=/\bslot\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/i.exec(e);if(!t)return null;let n=t[1]??t[2]??t[3]??"";return n===""?null:n}function Bi(e){let t=new Map,n="",r=0;for(;r<e.length;){let s=e.indexOf("<",r);if(s===-1){n+=e.slice(r);break}s>r&&(n+=e.slice(r,s));let o=e.slice(s);if(o.startsWith("<!--")){let h=e.indexOf("-->",s+4);if(h===-1){n+=o,r=e.length;break}n+=e.slice(s,h+3),r=h+3;continue}if(o.startsWith("<!")||o.startsWith("</")){let h=e.indexOf(">",s);if(h===-1){n+=o,r=e.length;break}n+=e.slice(s,h+1),r=h+1;continue}let i=/^<([a-zA-Z][\w-]*)((?:"[^"]*"|'[^']*'|[^>])*?)(\/?)>/.exec(o);if(!i){n+="<",r=s+1;continue}let[c,a,l,f]=i,d=a.toLowerCase(),u=!!f||Pi(d),b=Fi(l),g;if(u)g=s+c.length;else{let h=s+c.length,p=Ye(e,h,d);if(p===-1){let C=e.slice(s);b!==null?Wr(t,b,C):n+=C,r=e.length;continue}let y=new RegExp(`</${Ge(d)}\\s*>`,"i"),w=e.slice(p),A=y.exec(w),E=A?A[0].length:`</${d}>`.length;g=p+E}let m=e.slice(s,g);b!==null?Wr(t,b,m):n+=m,r=g}return n.length>0&&t.set(null,n),t}function Wr(e,t,n){let r=e.get(t);r!==void 0?e.set(t,r+n):e.set(t,n)}function Ui(e,t){let n=new Set,r="",s=0,o=/<slot((?:"[^"]*"|'[^']*'|[^>])*?)(\/?)>/gi,i;for(;(i=o.exec(e))!==null;){r+=e.slice(s,i.index);let[c,a,l]=i,f=!!l,d=/\bname\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+))/i.exec(a),u=d?d[1]??d[2]??d[3]:null,b=a.replace(/\bname\s*=\s*(?:"[^"]*"|'[^']*'|[^\s>]+)/i,"").trim(),g="",m;if(f)m=i.index+c.length;else{let w=i.index+c.length,A=Ye(e,w,"slot");if(A===-1)g=e.slice(w),m=e.length;else{g=e.slice(w,A);let E=/<\/slot\s*>/i,C=e.slice(A),T=E.exec(C),I=T?T[0].length:7;m=A+I}}let h=t.get(u),p=u!==null?` name="${$(u)}"`:"",y=b?` ${b}`:"";h!==void 0&&!n.has(u)?(n.add(u),r+=`<slot data-webjs-light data-projection="actual"${p}${y}>${h}</slot>`):r+=`<slot data-webjs-light data-projection="fallback"${p}${y}>${g}</slot>`,s=m,o.lastIndex=m}return r+=e.slice(s),r}function Ge(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function kt(e){return e==="script"||e==="style"}function zr(e){let t={},n=/([a-zA-Z_:][\w:.-]*)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s>]+)))?/g,r;for(;(r=n.exec(e))!==null;)t[r[1]]=r[2]??r[3]??r[4]??"";return t}function Di(e,t){if(!(!e||typeof e.setAttribute!="function"))for(let[n,r]of Object.entries(t))e.setAttribute(n,Tt(r))}function qi(e,t,n){if(!t||typeof t.getAttributeNames!="function")return e;let r="";for(let s of t.getAttributeNames()){let o=String(s).toLowerCase();if(n.has(o))continue;let i=t.getAttribute(s);r+=i===""?` ${o}`:` ${o}="${$(String(i))}"`}return r?`${e.slice(0,-1)}${r}>`:e}function Hi(e,t,n){let r=n.properties||{};for(let[s,o]of Object.entries(t)){let i,c;for(let[l,f]of Object.entries(r))if(((typeof f=="object"?f:{type:f}).attribute||Wi(l))===s){i=l,c=f;break}if(c===void 0&&(c=r[s]||r[An(s)],i=r[s]?s:An(s)),!c){e[i]=o;continue}let a=typeof c=="object"?c:{type:c};if(a.type===Number)e[i]=Number(o);else if(a.type===Boolean)e[i]=o!=="false";else if(a.type===Object||a.type===Array)try{e[i]=JSON.parse(Tt(o))}catch{e[i]=o}else e[i]=o}}function An(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Wi(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function zi(e){return e.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}function Tt(e){return e.replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&amp;/g,"&")}function Vi(e){let t={};for(let n of Object.keys(e)){if(!n.startsWith("data-webjs-prop-"))continue;let r=An(n.slice(16));try{t[r]=q(Tt(e[n]))}catch{}delete e[n]}return t}function Ki(e,t={ssr:!0}){let n=t&&t.suspenseCtx,r=t&&t.dev!==void 0?t.dev:n&&n.dev;return n&&n.dev===void 0&&r!==void 0&&(n.dev=r),new ReadableStream({async start(s){try{if(t&&t.ssr===!1)await R(e,n,s);else{let o=await k(e,n),i=await J(o,n,[],r);s.enqueue(i)}n&&n.pending.length&&await Yi(n,s,r),s.close()}catch(o){s.error(o)}}})}async function R(e,t,n){if(!(e==null||e===!1||e===!0)){if(e&&typeof e.then=="function")return e=await e,R(e,t,n);if(ge(e)){n.enqueue(String(e.value??""));return}if(ye(e))return R(e.value,t,n);if(ie(e))return R(e.signal.get(),t,n);if(te(e))return R(e.value,t,n);if(ne(e))return R(e.fn(),t,n);if(we(e)){let r=e.template;n.enqueue(String(r?.innerHTML??""));return}if(!re(e)){if(se(e))return R(e.value,t,n);if(oe(e)){let r=e.args;for(let s of r)if(!s||typeof s.then!="function")return R(s,t,n);if(r.length>0)try{let s=await Promise.race(r.map(o=>Promise.resolve(o).catch(()=>{})));return R(s,t,n)}catch{return}return}if(!(_e(e)||Se(e))){if(Array.isArray(e)){for(let r of e)await R(r,t,n);return}if(ee(e)){let r=e;for(let s=0;s<r.items.length;s++)await R(r.templateFn(r.items[s],s),t,n);return}if(xt(e)){let r=e;if(t){let s=`s${t.nextId++}`;n.enqueue(`<webjs-boundary id="${s}">`),await R(r.fallback,t,n),n.enqueue("</webjs-boundary>"),t.pending.push({id:s,promise:Promise.resolve(r.children)})}else await R(r.fallback,t,n);return}if(N(e)){await Gi(e,t,n);return}n.enqueue(it(String(e)))}}}}async function Gi(e,t,n){let{strings:r,values:s}=e,o="text",i="",c=0,a="",l=0,f="",d="",u="";for(let b=0;b<r.length;b++){let g=r[b];for(let m=0;m<g.length;m++){let h=g[m];switch(o){case"text":u+=h,h==="<"&&(o="tag-open");break;case"tag-open":u+=h,h==="!"?o="bang-1":h==="/"?(o="tag-name",f=""):/[a-zA-Z]/.test(h)?(o="tag-name",f=h.toLowerCase()):o="text";break;case"bang-1":u+=h,o=h==="-"?"bang-dash":"tag-name";break;case"bang-dash":u+=h,h==="-"?(o="comment",l=0):o="tag-name";break;case"comment":u+=h,h==="-"?l+=1:(h===">"&&l>=2&&(o="text"),l=0);break;case"tag-name":u+=h,h===">"?(o=kt(f)?"rawtext":"text",o==="rawtext"&&(d="")):/\s/.test(h)?o="in-tag":f+=h.toLowerCase();break;case"in-tag":u+=h,h===">"?(o=kt(f)?"rawtext":"text",o==="rawtext"&&(d="")):!/\s/.test(h)&&h!=="/"&&(o="attr-name",i=h,c=u.length-1);break;case"rawtext":u+=h,d=(d+h.toLowerCase()).slice(-9),(d.endsWith("<\/script>")||d.endsWith("</style>"))&&(o="text",d="",f="");break;case"attr-name":h==="="?(o="after-eq",u+=h):/\s/.test(h)?(o="in-tag",i="",u+=h):h===">"?(o="text",i="",u+=h):(i+=h,u+=h);break;case"after-eq":h==='"'||h==="'"?(o="attr-quoted",a=h,u+=h):/\s/.test(h)?(o="in-tag",i="",u+=h):h===">"?(o="text",i="",u+=h):(o="attr-unquoted",u+=h);break;case"attr-unquoted":/\s/.test(h)?(o="in-tag",i="",u+=h):(h===">"&&(o="text",i=""),u+=h);break;case"attr-quoted":u+=h,h===a&&(o="in-tag",i="");break}}if(b<s.length){let m=s[b];if(m&&typeof m.then=="function"&&(m=await m),o==="comment")u+=String(m??""),l=0;else if(o==="rawtext")u+=String(m??""),d="";else if(o==="text")u&&(n.enqueue(u),u=""),await R(m,t,n);else if(o==="after-eq"){let h=i[0],p=i.slice(1),y=be[h];y==="event"||y==="prop"?(u=u.slice(0,c),o="in-tag",i=""):y==="bool"?(u=u.slice(0,c),m&&(u+=`${p}=""`),o="in-tag",i=""):(u+=`"${$(String(m??""))}"`,o="in-tag",i="")}else(o==="attr-quoted"||o==="attr-unquoted")&&(u+=$(String(m??"")))}}u&&n.enqueue(u)}async function Yi(e,t,n){let r=Sn(),s=r?` nonce="${$(r)}"`:"";for(;e.pending.length;){let o=e.pending.splice(0);await Promise.all(o.map(async({id:i,promise:c})=>{try{let a=await c,l=await k(a,e),f=await J(l,e,[],n);t.enqueue(`<template data-webjs-resolve="${i}">${f}</template><script${s}>(function(){var t=document.currentScript.previousElementSibling;var b=document.getElementById("${i}");if(b&&t){b.replaceWith(t.content.cloneNode(true));t.remove()}document.currentScript.remove()})()<\/script>`)}catch(a){console.error(`[webjs] Suspense boundary "${i}" rejected:`,a);try{let l=a instanceof Error?a:new Error(String(a)),f=await J(await k(Vr("webjs-suspense",l,n),e),e,[],n);t.enqueue(`<template data-webjs-resolve="${i}">${f}</template><script${s}>(function(){var t=document.currentScript.previousElementSibling;var b=document.getElementById("${i}");if(b&&t){b.replaceWith(t.content.cloneNode(true));t.remove()}document.currentScript.remove()})()<\/script>`)}catch(l){console.error(`[webjs] Suspense boundary "${i}" error render also threw:`,l)}}}))}}var Kr=Symbol.for("webjs.notFound"),Gr=Symbol.for("webjs.redirect"),Yr=Symbol.for("webjs.forbidden"),Jr=Symbol.for("webjs.unauthorized");function Ji(){let e=new Error("webjs: notFound()");throw e.__webjs=Kr,e}function Xi(){let e=new Error("webjs: forbidden()");throw e.__webjs=Yr,e}function Zi(){let e=new Error("webjs: unauthorized()");throw e.__webjs=Jr,e}function Qi(e,t){let n=typeof t=="object"&&t!==null?t.status:t,r=new Error(`webjs: redirect(${e})`);throw r.__webjs=Gr,r.url=e,r.status=typeof n=="number"?n:void 0,r}function ea(e){return!!e&&e.__webjs===Kr}function ta(e){return!!e&&e.__webjs===Gr}function na(e){return!!e&&e.__webjs===Yr}function ra(e){return!!e&&e.__webjs===Jr}function sa(e,t={}){let n=t.reconnect!==!1,r=0,s=!1,o=null,i=[];function c(){s||(o=new WebSocket(oa(e),t.protocols),o.onopen=a=>{for(r=0;i.length&&o&&o.readyState===WebSocket.OPEN;)o.send(i.shift());t.onOpen?.(a)},o.onmessage=a=>{let l=a.data;if(typeof l=="string")try{l=JSON.parse(l)}catch{}t.onMessage?.(l,a)},o.onerror=a=>{t.onError?.(a)},o.onclose=a=>{if(t.onClose?.(a),!s&&n){let l=Math.min(1e3*2**r++,3e4);setTimeout(c,l)}})}return c(),{send(a){let l=typeof a=="string"||a instanceof ArrayBuffer||ArrayBuffer.isView(a)?a:JSON.stringify(a);o&&o.readyState===WebSocket.OPEN?o.send(l):i.push(l)},close(a,l){s=!0;try{o?.close(a,l)}catch{}},get socket(){return o},get readyState(){return o?.readyState??3}}}function oa(e){if(/^wss?:\/\//i.test(e))return e;let t=typeof location<"u"&&location.protocol==="https:"?"wss:":"ws:",n=typeof location<"u"?location.host:"";return`${t}//${n}${e.startsWith("/")?e:"/"+e}`}ke();var En="application/vnd.webjs+json";async function ia(e,t={}){let n=new Headers(t.headers||{});n.has("accept")||n.set("accept",En);let r=t.body;r!=null&&typeof r=="object"&&!(r instanceof FormData)&&!(r instanceof Blob)&&!(r instanceof ArrayBuffer)&&!(r instanceof URLSearchParams)&&!(typeof ReadableStream<"u"&&r instanceof ReadableStream)&&!ArrayBuffer.isView(r)&&(r=await Ke(r),n.has("content-type")||n.set("content-type",En));let s=await fetch(e,{...t,headers:n,body:r}),o=s.headers.get("content-type")||"",i=await s.text(),c=o.includes(En)?i?q(i):null:o.includes("application/json")?i?JSON.parse(i):null:i;if(!s.ok){let a=c&&c.error||`richFetch ${e} -> ${s.status}`,l=new Error(a);throw l.status=s.status,l.body=c,l}return c}ke();kn();xn();jt();var Jn=class{constructor(t,n){this.host=t,this.options=n,this.updates=[],this._nextId=0}get value(){let t=this.options.source();if(!this.options.update)return this.updates.length>0?this.updates[this.updates.length-1].payload:t;for(let n of this.updates)t=this.options.update(t,n.payload);return t}add(t,n){let r=`opt-${++this._nextId}`;this.updates.push({id:r,payload:t}),this.host?.requestUpdate?.();let s=()=>{let o=this.updates.findIndex(i=>i.id===r);o!==-1&&(this.updates.splice(o,1),this.host?.requestUpdate?.())};return n&&typeof n.then=="function"&&(typeof n.finally=="function"?n.finally(()=>s()).catch(()=>{}):n.then(()=>s(),()=>s())),s}};async function Da(e,t,n){let r=e.get();e.set(t);let s;try{s=await n()}catch(o){throw e.set(r),o}return s&&s.success===!1&&e.set(r),s}function qa(e,t,n){return e&&typeof e.get=="function"&&typeof e.set=="function"?Da(e,t,n):new Jn(e,t)}jn();var zt=0,Gs=new Map,$e=new Map,Ha=1e3;function Wa(e){if(!(!Array.isArray(e)||!e.length)){zt+=1;for(let t of e)t&&Gs.set(t,zt)}}function za(){return zt}function Va(e,t,n){if(!(!Array.isArray(t)||!t.length)&&($e.delete(e),$e.set(e,{tags:t.slice(),since:typeof n=="number"?n:zt}),$e.size>Ha)){let r=$e.keys().next().value;r!==void 0&&$e.delete(r)}}function Ka(e){let t=$e.get(e);if(!t)return!1;for(let n of t.tags)if((Gs.get(n)||0)>t.since)return!0;return!1}function Ga(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}var Ya="application/vnd.webjs+stream",Ja=1,Xa=2,Za=3,Ys=new Uint8Array(0);function Qa(e,t){let n=t||Ys,r=n.length,s=new Uint8Array(5+r);return s[0]=e&255,s[1]=r>>>24&255,s[2]=r>>>16&255,s[3]=r>>>8&255,s[4]=r&255,r&&s.set(n,5),s}function ec(){let e=Ys;return{push(t){if(t&&t.length){let r=new Uint8Array(e.length+t.length);r.set(e,0),r.set(t,e.length),e=r}let n=[];for(;e.length>=5;){let r=e[0],s=(e[1]<<24|e[2]<<16|e[3]<<8|e[4])>>>0;if(e.length<5+s)break;let o=e.slice(5,5+s);n.push({type:r,payload:o}),e=e.slice(5+s)}return n}}}var tc=Symbol.for("webjs.context");function nc(e){return{__context__:tc,name:e}}var Vt=class extends Event{constructor(t,n,r=!1){super("context-request",{bubbles:!0,composed:!0}),this.context=t,this.callback=n,this.subscribe=r}},Xn=class{constructor(t,{context:n,initialValue:r}){this._host=t,this._context=n,this._value=r,this._subscriptions=new Set,this._onRequest=s=>{let o=s;if(o.context===this._context)if(s.stopPropagation(),o.subscribe){let i={callback:o.callback},c=()=>{this._subscriptions.delete(i)};this._subscriptions.add(i),o.callback(this._value,c)}else o.callback(this._value)},typeof t.addController=="function"&&t.addController(this)}get value(){return this._value}setValue(t){if(!Object.is(this._value,t)){this._value=t;for(let n of this._subscriptions){let r=()=>{this._subscriptions.delete(n)};n.callback(t,r)}}}hostConnected(){this._host.addEventListener("context-request",this._onRequest)}hostDisconnected(){this._host.removeEventListener("context-request",this._onRequest),this._subscriptions.clear()}},Zn=class{constructor(t,{context:n,subscribe:r=!0}){this._host=t,this._context=n,this._subscribe=r,this._value=void 0,this._unsubscribe=void 0,typeof t.addController=="function"&&t.addController(this)}get value(){return this._value}hostConnected(){this._dispatchRequest()}hostDisconnected(){this._unsubscribe&&(this._unsubscribe(),this._unsubscribe=void 0)}_dispatchRequest(){let t=new Vt(this._context,(n,r)=>{let s=this._value;this._value=n,r&&(this._unsubscribe=r),!Object.is(s,n)&&typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()},this._subscribe);this._host.dispatchEvent(t)}};function rc(){return typeof window<"u"}var H={INITIAL:0,PENDING:1,COMPLETE:2,ERROR:3},Qn=class{constructor(t,{task:n,args:r,autoRun:s=!0}){this._host=t,this._taskFn=n,this._argsFn=r||(()=>[]),this._autoRun=s,this._status=H.INITIAL,this._value=void 0,this._error=void 0,this._abortController=null,this._prevArgs=null,typeof t.addController=="function"&&t.addController(this)}get status(){return this._status}get value(){return this._value}get error(){return this._error}async run(){this.abort();let t=new AbortController;this._abortController=t;let n=this._argsFn();this._prevArgs=n,this._status=H.PENDING,this._error=void 0,this._requestHostUpdate();try{let r=await this._taskFn(...n,{signal:t.signal});if(t.signal.aborted)return;this._value=r,this._status=H.COMPLETE,this._error=void 0}catch(r){if(t.signal.aborted)return;this._error=r,this._status=H.ERROR,this._value=void 0}finally{this._abortController===t&&(this._abortController=null)}this._requestHostUpdate()}abort(){this._abortController&&(this._abortController.abort(),this._abortController=null)}render(t={}){switch(this._status){case H.INITIAL:return t.initial?.();case H.PENDING:return t.pending?.();case H.COMPLETE:return t.complete?.(this._value);case H.ERROR:return t.error?.(this._error);default:return}}hostUpdate(){if(!this._autoRun||!rc())return;let t=this._argsFn();this._argsEqual(this._prevArgs,t)||this.run()}hostUpdated(){}hostConnected(){}hostDisconnected(){this.abort()}_requestHostUpdate(){typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()}_argsEqual(t,n){if(t===null||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}};export{Zn as ContextConsumer,Xn as ContextProvider,Vt as ContextRequestEvent,Ja as FRAME_CHUNK,Xa as FRAME_END,Za as FRAME_ERROR,v as MARKER,is as SEED_MISS,Ya as STREAM_CONTENT_TYPE,Ue as Signal,ki as Suspense,Qn as Task,H as TaskStatus,Ct as WebComponent,Cn as WebjsFrame,Tn as WebjsStream,ii as activeActionSignal,Yt as adoptStyles,yn as allTags,uo as asyncAppend,fo as asyncReplace,Ao as batch,co as cache,vo as computed,sa as connectWS,Ka as consumeStale,nc as createContext,ec as createFrameDecoder,ao as createRef,Sn as cspNonce,to as css,Fr as deserialize,ds as disableClientRouter,xo as effect,Bn as enableClientRouter,Qa as encodeFrame,$ as escapeAttr,it as escapeText,za as fetchMark,Xi as forbidden,so as guard,Gt as html,_e as isAsyncAppend,Se as isAsyncReplace,me as isCSS,se as isCache,na as isForbidden,ne as isGuard,te as isKeyed,li as isLazy,ye as isLive,ea as isNotFound,ta as isRedirect,re as isRef,ee as isRepeat,Co as isSignal,xt as isSuspense,N as isTemplate,we as isTemplateContent,ra as isUnauthorized,ge as isUnsafeHTML,oe as isUntil,ie as isWatch,ro as keyed,no as live,gn as lookup,ci as lookupModuleUrl,Wa as markStale,ps as navigate,Ji as notFound,qa as optimistic,q as parse,Ga as parseTagHeader,ai as primeModuleUrl,xi as prop,Qi as redirect,io as ref,bn as register,Va as registerKeyTags,xe as render,Nn as renderStream,Ki as renderToStream,Ni as renderToString,sr as repeat,hs as revalidate,ia as richFetch,Rt as scanSeeds,$r as serialize,_t as setActiveActionSignal,Ti as setCspNonceProvider,Eo as signal,Ke as stringify,ot as stylesToString,Et as tagOf,pa as takeSeed,oo as templateContent,Zi as unauthorized,Jt as unsafeHTML,lo as until,po as watch};
7
7
  //# sourceMappingURL=webjs-core.js.map