@webjsdev/core 0.7.48 → 0.7.50
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.
- package/README.md +3 -2
- package/dist/webjs-core-browser.js +4 -4
- package/dist/webjs-core-browser.js.map +3 -3
- package/dist/webjs-core-testing.js +18 -18
- package/dist/webjs-core-testing.js.map +3 -3
- package/dist/webjs-core.js +5 -5
- package/dist/webjs-core.js.map +3 -3
- package/index-browser.js +12 -4
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
- package/src/attribute-reader.js +178 -0
- package/src/component.d.ts +10 -0
- package/src/component.js +89 -32
- package/src/html-entities.js +2179 -0
- package/src/render-client.js +4 -5
- package/src/render-server.js +192 -90
- package/src/router-client.js +28 -10
- package/src/webjs-config.d.ts +13 -2
- package/src/websocket-client.js +5 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var Cs=Object.defineProperty;var F=(e,t)=>()=>(e&&(t=e(e=0)),t);var oo=(e,t)=>{for(var n in t)Cs(e,n,{get:t[n],enumerable:!0})};function Ke(e){return Object.prototype.hasOwnProperty.call(xn,e)}var xn,Tn=F(()=>{xn=Object.freeze({"@":"event",".":"prop","?":"bool"})});function Ts(e){return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function io(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<")}var gt=F(()=>{});function jn(e){if(typeof e!="function")return null;let t=e[so];return typeof t=="string"&&t?t:null}function Rn(e,t,n){if(typeof e!="function")return!1;let r=String(t).toLowerCase(),o=String(n||"").toLowerCase();return r==="action"?o==="form":r==="formaction"?o==="button"||o==="input":!1}function ao(e,t,n=!0){if(!e||e===O&&n)return;let r=e===O?'a second "name" attribute':`name="${e}"`;throw new Error(`[webjs] formaction=\${action} on <${t||"button"}> cannot be used when the element already carries a "name" attribute (found ${r}). The action identity is submitted as the button's own name/value pair, so there is no room for a second one. Move the action to the enclosing <form action=\${action}> or drop the submitter's "name".`)}function co(e,t){let n=String(e||"").toLowerCase(),r=t==null?null:String(t).toLowerCase();if(js(n,r)){if(n==="input"&&r==="image")throw new Error('[webjs] formaction=${action} is not supported on <input type="image"> because image submitters submit coordinate pairs (name.x/name.y) instead of name=value, so the action identity would never arrive. Use a <button> instead.');if(n==="input")throw new Error('[webjs] formaction=${action} is not supported on <input type="submit"> because the action identity has to occupy the submitter\'s "value", which on this control is also its visible label, so the button would render captioned with the action\'s id and could not be given a real one. Use <button formaction=${action}>Publish</button>, whose label is its children.');return}throw new Error(`[webjs] formaction=\${action} on <${n}>${r?` type="${r}"`:""} requires a submitter control, and formaction is inert on anything else. Use <button formaction=\${action}>.`)}function js(e,t){let n=t==null?null:String(t).toLowerCase();return e==="button"?n==null||n===""||n==="submit":e==="input"?n==="submit"||n==="image":!1}function lo(e){throw new Error(`[webjs] formaction=\${action} on <${e||"button"}> cannot be used when the element already carries a "value" attribute. The action identity is submitted as the button's own name/value pair, so both halves are taken. Drop the "value", or dispatch on it from one form-level action instead.`)}function uo(e){throw new Error(`[webjs] a bound formaction=\${action} on <${e||"button"}> cannot also carry a plain formaction attribute: the two name different targets and the renderers resolve them differently. Drop the static attribute.`)}function fo(e){throw new Error(`[webjs] formaction=\${action} on <${e||"button"}> cannot be used with a "form" attribute, which re-points the submitter at a form other than the bound one it sits in. Keep the submitter inside its bound <form>.`)}function po(e,t){if(e)throw new Error(`[webjs] two formaction=\${action} holes were found on one <${t||"button"}>. Only one can win, and the two renderers pick differently, so bind exactly one action per submitter.`)}function ho(e,t){let r=(e||[]).filter(o=>On(o))[0];if(r)throw new Error(`[webjs] a <${t||"button"}> submitter binds .${r}=. That property is a reflected IDL attribute on a submitter, so a property binding is dropped at SSR and written to the attribute in the browser: the page would render on the server and throw on hydration. Write it as a plain attribute.`)}function On(e){let t=String(e).toLowerCase();return t==="name"||t==="value"||t==="formaction"||t==="formmethod"||t==="formenctype"}function Rs(e,t,n){let r=t==null?null:String(t),o=n==null?null:String(n);if(r!=null&&/^dialog$/i.test(r))throw new Error(`[webjs] formaction=\${action} on <${e}> cannot be combined with formmethod="dialog", which dismisses a <dialog> instead of submitting, so the bound action would never run. Drop one of the two.`);if(r!=null&&!/^post$/i.test(r))throw new Error(`[webjs] <${e} formmethod="${r}" formaction=\${action}> cannot work: a bound server action is submitted as a POST body, and a "${r}" submission sends none, so the action would never run. Drop the formmethod attribute (WebJs emits formmethod="post" on a bound submitter), or drop the binding.`);if(o!=null&&!bo.has(o.toLowerCase()))throw new Error(`[webjs] <${e} formenctype="${o}" formaction=\${action}> cannot work: a form submission is parsed as multipart/form-data or application/x-www-form-urlencoded, and a "${o}" body is neither, so the bound action could never read it. Drop the formenctype attribute (WebJs emits multipart/form-data on a bound submitter).`)}function Ye(e,t,n){if(wt(e)&&$s(t))throw new Error(Ds(t,n))}function mo(e,t,n){Fs(t,n)&&Ye(e,t,n)}function Ln(e,t){if(e)return e;let n=t==="button"||t==="input"?"formaction=":"action=";throw new Error(`[webjs] the function in ${n} on <${t||"form"}> is not a server action. Only a function imported from a 'use server' *.server.{js,ts} module can be bound to a form or a submitter, because the identity the browser submits has to resolve back to something the server can run. Move the handler into a server action and import it, or pass a url string.`)}function Os(e,t){if(e!=null&&!/^post$/i.test(e))throw new Error(`[webjs] <form method="${e}" action=\${action}> cannot work: a bound server action is submitted as a POST body, and a "${e}" form sends no body. Drop the method attribute (WebJs emits method="post") or remove the bound action.`);if(t!=null&&!bo.has(t.toLowerCase()))throw new Error(`[webjs] <form enctype="${t}" action=\${action}> cannot work: a form submission is parsed as multipart/form-data or application/x-www-form-urlencoded, and a "${t}" body is neither, so the submission would run under JS and do nothing without it. Drop the enctype attribute (WebJs emits multipart/form-data).`)}function Ls(e){if(e.duplicateAction)throw new Error("[webjs] two action=${...} holes were found on one <form>. A form can carry only one action binding. Move one to a submit button's formaction=${action} or remove the duplicate.");if(e.staticAction)throw new Error('[webjs] a bound <form action=${action}> also carries a plain action="..." attribute. A bound form posts to the page\'s own url, so the two say different things: without JS the browser would post to the written url and with JS it would not. Drop the action attribute, or drop the binding.');let t=e.propAttrs&&e.propAttrs[0];if(t)throw new Error(`[webjs] a bound <form action=\${action}> also binds .${t}=. A property binding on a native element is dropped at SSR and applied in the browser, so the form would submit one way with JS and another way without it. Write it as a plain attribute.`)}function Ps(e,t){let n=e!==$&&e!=null,r=t!==$&&t!=null;return Os(n?e:null,r?t:null),{method:n?null:"post",enctype:r?null:"multipart/form-data"}}function yo(e,t,n){let r=t!==$&&t!=null,o=n!==$&&n!=null;return Rs(e,r?t:null,o?n:null),{formMethod:r?null:"post",formEnctype:o?null:"multipart/form-data"}}function go(e,t,n,r,o){let i=typeof t=="function"?jn(t):null;if(!i){typeof t=="function"&&Ln(null,e.localName),Is(e,n,r,o.propAttrs);return}Ls(o);let s=Ps(n,r);e.removeAttribute("action"),ze(e,"method",n,s.method),ze(e,"enctype",r,s.enctype),Ms(e,i)}function ze(e,t,n,r){if(r!==null){e.setAttribute(t,r);return}n!==$&&e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Ms(e,t){let n=e.firstElementChild,r=n&&n.localName==="input"&&n.getAttribute("name")===O?n:null;if(!r){for(let o of e.children)if(o.localName==="input"&&o.getAttribute("name")===O){r=o;break}}r||(r=e.ownerDocument.createElement("input"),r.setAttribute("type","hidden"),r.setAttribute("name",O),e.insertBefore(r,e.firstChild)),r.getAttribute("value")!==t&&r.setAttribute("value",t)}function Is(e,t,n,r){let o=e.firstElementChild;if(o&&o.localName==="input"&&o.getAttribute("name")===O)o.remove();else for(let s of e.children)if(s.localName==="input"&&s.getAttribute("name")===O){s.remove();break}let i=s=>(r||[]).some(a=>{let c=String(a).toLowerCase();return c===s||s==="enctype"&&c==="encoding"});t===$&&!i("method")&&e.removeAttribute("method"),n===$&&!i("enctype")&&e.removeAttribute("enctype")}function wo(e,t,n,r){let o=i=>(r||[]).some(s=>String(s).toLowerCase()===i);t===$&&!o("formmethod")&&e.removeAttribute("formmethod"),n===$&&!o("formenctype")&&e.removeAttribute("formenctype")}function Fs(e,t){let n=String(e).toLowerCase();Ke(n[0])&&(n=n.slice(1));let r=String(t||"").toLowerCase();return n==="action"?r==="form":n==="formaction"?r==="button"||r==="input":!1}function wt(e,t){if(typeof e=="function")return!0;if(!Array.isArray(e))return!1;let n=t||new Set;return n.has(e)?!1:(n.add(e),e.some(r=>wt(r,n)))}function $s(e){let t=String(e).toLowerCase();return Ke(t[0])&&(t=t.slice(1)),t==="action"||t==="formaction"}function Ds(e,t){return`[webjs] a function was interpolated into ${String(e).toLowerCase()}= on <${t||"form"}>. Stringifying a function into HTML would leak its source (a 'use server' action's body included) to every visitor, so this is refused. To run a server action from a form, write an unquoted action=\${action} on the <form> itself or a formaction=\${action} on a <button> inside a bound form. Anywhere else, pass a URL string.`}var O,so,bo,$,Ge=F(()=>{Tn();gt();O="__webjs_action",so="$$webjsAction";bo=new Set(["multipart/form-data","application/x-www-form-urlencoded"]);$=Symbol("webjs.attr.absent")});function Ro(){return typeof HTMLElement<"u"&&typeof HTMLSlotElement<"u"}function ha(){if(No||(ie=Ro(),!ie))return;Ze=HTMLSlotElement.prototype.assignedNodes,zn=HTMLSlotElement.prototype.assignedElements,Lt=Object.getOwnPropertyDescriptor(Element.prototype,"assignedSlot"),HTMLSlotElement.prototype.assignedNodes=function(n){return this.hasAttribute(k)&&!Gn(this)?er(this,n):Ze?Ze.call(this,n):[]},HTMLSlotElement.prototype.assignedElements=function(n){return this.hasAttribute(k)&&!Gn(this)?er(this,n).filter(r=>r.nodeType===1):zn?zn.call(this,n):[]},Object.defineProperty(Element.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let n=Lt&&Lt.get?Lt.get.call(this):null;return n||xo(this)}});let e=Object.getOwnPropertyDescriptor(Text.prototype,"assignedSlot");Object.defineProperty(Text.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let n=e&&e.get?e.get.call(this):null;return n||xo(this)}}),Yn=HTMLSlotElement.prototype.assign,HTMLSlotElement.prototype.assign=function(...n){if(this.hasAttribute(k)&&!Gn(this)){let r=ma(this);if(r){let o=Q(r);o.manualAssign||(o.manualAssign=new Map);let i=n.filter(Boolean);for(let[s,a]of o.manualAssign){if(s===this)continue;let c=a.filter(l=>{let u=l.deref();return u!==void 0&&i.indexOf(u)===-1});c.length!==a.length&&(c.length?o.manualAssign.set(s,c):o.manualAssign.delete(s))}if(i.length?o.manualAssign.set(this,i.map(s=>new WeakRef(s))):o.manualAssign.delete(this),o.applying&&o.pendingRecordNodes)for(let s of i)o.pendingRecordNodes.add(s);else o.pendingRecordNodes=new Set(i);xe(o),Z(r)}return}return Yn?Yn.apply(this,n):void 0},No=!0}function ir(e,t){let n=e.manualAssign;if(!n||!n.size)return null;for(let[r,o]of n){let i=!1,s=o.filter(a=>{let c=a.deref();return c===void 0?!1:(c===t&&(i=!0),!0)});if(s.length!==o.length&&(s.length?n.set(r,s):n.delete(r)),i){let a=e.host;return a&&(r===a||a.contains(r))?r:null}}return null}function ma(e){for(let t=e.parentElement;t;t=t.parentElement)if(t[v])return X(t,e)?t:null;return null}function Gn(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.nodeType===11&&r.host)return!0;t=r}return!1}function er(e,t){if(e.getAttribute(I)!==V)return[];let n=Array.from(e.childNodes);return!t||!t.flatten?n:tr(n,new Set,0)}function tr(e,t,n){if(n>=pa)return e.slice();let r=[];for(let o of e)if(o.nodeType===1&&o.tagName==="SLOT"){let i=o;if(t.has(i))continue;if(t.add(i),i.hasAttribute(k)){let s=er(i,{flatten:!1});if(s.length>0)for(let a of tr(s,t,n+1))r.push(a);else for(let a of tr(Array.from(i.childNodes),t,n+1))r.push(a)}else if(Ze){let s=Ze.call(i,{flatten:!0});for(let a of s)r.push(a)}else r.push(o)}else r.push(o);return r}function xo(e){let t=e.parentElement;return t&&t.tagName==="SLOT"&&t.hasAttribute(k)&&t.getAttribute(I)===V?t:null}function Q(e){let t=e,n=t[v];return n||(n={host:e,authored:[],assignedByName:new Map,lastSnapshot:new WeakMap},t[v]=n),n}function sr(e){return!!e[v]}function Oo(e){let t=Q(e);for(;e.firstChild;){let n=e.firstChild;t.authored.push(n),_.add(n),e.removeChild(n)}xe(t)}function xe(e){let t=e.assignedByName;t.clear();for(let n of e.authored)ba(t,de(e,n),n)}function de(e,t){let n=ir(e,t);if(n)return H(n.getAttribute("name"));if(e.adoptedKey){let r=e.adoptedKey.get(t);if(r!==void 0)return r}return Po(t)}function Lo(e){let t=Q(e);t.adopted=!0;let n=new Set,r=e.querySelectorAll(`slot[${k}]`);for(let o of r){let i=o;if(!X(e,i)||i.getAttribute(I)!==V||Dt(t,e,i))continue;let s=H(i.getAttribute("name"));if(!n.has(s)){n.add(s);let a=Array.from(i.childNodes);for(let c of a)t.authored.push(c),Po(c)!==s&&(t.adoptedKey||(t.adoptedKey=new WeakMap),t.adoptedKey.set(c,s));t.lastSnapshot.set(i,a.slice())}}for(let o of e.querySelectorAll("wj-slot-park"))if(X(e,o)){for(let i of Array.from(o.childNodes))_.add(i),t.authored.push(i);o.remove()}xe(t)}function H(e){return e==null||e===""||e==="default"?null:e}function Po(e){return e.nodeType!==1?null:H(e.getAttribute("slot"))}function ba(e,t,n){let r=e.get(t);r||(r=[],e.set(t,r)),r.push(n)}function me(e,t,n){let r=Q(e),o=H(t),i=Array.isArray(n)?n.filter(Boolean):n?[n]:[],s=r.authored.findIndex(c=>de(r,c)===o),a=r.authored.filter(c=>de(r,c)===o);r.authored=r.authored.filter(c=>de(r,c)!==o),(s===-1||s>r.authored.length)&&(s=r.authored.length);for(let c of i)c.nodeType===1&&!ir(r,c)&&(o==null?c.removeAttribute("slot"):c.setAttribute("slot",o)),_.add(c);if(r.authored.splice(s,0,...i),r.applying&&r.pendingRecordNodes){for(let c of a)r.pendingRecordNodes.add(c);for(let c of i)r.pendingRecordNodes.add(c)}else r.pendingRecordNodes=new Set([...a,...i]);if(r.adoptedKey){for(let c of a)r.adoptedKey.delete(c);for(let c of i)r.adoptedKey.delete(c)}xe(r),Z(e)}function ya(){oe||!ie||(oe=Node.prototype.appendChild,Mo=Node.prototype.insertBefore,Ne=Node.prototype.removeChild,nr=Node.prototype.replaceChild,Io=Element.prototype.append,Fo=Element.prototype.prepend,$o=Element.prototype.replaceChildren,Pt=Object.getOwnPropertyDescriptor(Element.prototype,"innerHTML"),rr=Object.getOwnPropertyDescriptor(Node.prototype,"textContent"))}function Ft(e,t){let n=e[T];e[T]=!0;try{return t()}finally{e[T]=n,n||ar(e)}}function Do(e){if(!ie)return;let t=e,n=Q(e);n.backstop||(n.backstop=new MutationObserver(r=>$t(e,n,r)),n.backstop.observe(e,{childList:!0,subtree:!1}),n.flipSensor=new MutationObserver(r=>Bo(e,r)),n.flipSensor.observe(e,{attributes:!0,attributeFilter:["slot","name"],subtree:!0}))}function $t(e,t,n){let r=e,o=r[he],i=r[Symbol.for("webjs.instance")],s=!1,a=new Set;for(let c of n){for(let l of c.addedNodes)if(a.add(l),l!==o&&!(i&&qo(i,l))){if(t.authored.indexOf(l)!==-1){s=!0;continue}_.add(l),t.authored.push(l),s=!0}for(let l of c.removedNodes){let u=t.authored.indexOf(l);if(u===-1||e.contains(l))continue;_.has(l)&&l.parentNode==null&&!a.has(l)||(t.authored.splice(u,1),s=!0)}}s&&Z(e)}function ar(e){let t=e,n=t[v];if(!(n&&n.backstop))return;let r=n.backstop.takeRecords();(!(Symbol.for("webjs.instance")in t)||t[Symbol.for("webjs.instance")])&&$t(e,n,r)}function Bo(e,t){let n=e[v];if(!n)return;let r=!1;for(let o of t){if(o.type!=="attributes")continue;let i=o.target;o.attributeName==="name"?i.tagName==="SLOT"&&i.hasAttribute(k)&&X(e,i)&&(r=!0):o.attributeName==="slot"&&(n.adoptedKey&&n.adoptedKey.delete(i),n.authored.indexOf(i)!==-1&&(r=!0))}r&&Z(e)}function Uo(e){let t=e[v];t&&(t.backstop&&($t(e,t,t.backstop.takeRecords()),t.backstop.disconnect(),t.backstop=void 0),t.flipSensor&&(Bo(e,t.flipSensor.takeRecords()),t.flipSensor.disconnect(),t.flipSensor=void 0))}function Ho(e){if(!ie)return;let t=e,n=t[v];if(!n)return;let r=t[Symbol.for("webjs.instance")],o=Symbol.for("webjs.instance")in t,i=!o&&n.adopted===!0,s=!1;for(let a of Array.from(e.childNodes))if(a!==t[he]){if(n.authored.indexOf(a)!==-1){s=!0;continue}o&&(!r||qo(r,a))||!o&&i||(_.add(a),n.authored.push(a),s=!0)}s&&Z(e)}function qo(e,t){if(!e||!e.startNode||!e.endNode)return!1;if(t===e.startNode||t===e.endNode)return!0;for(let n=e.startNode.nextSibling;n&&n!==e.endNode;n=n.nextSibling)if(n===t)return!0;return!1}function ga(e){let t=e,n=t[he];return(!n||!n.isConnected)&&(n||(n=e.ownerDocument.createElement("wj-slot-park"),n.setAttribute("hidden",""),n.style.display="none",t[he]=n),Ft(e,()=>oe.call(e,n))),n}function pe(e){return e instanceof Node||!!(e&&typeof e=="object"&&e.ownerDocument&&e.ownerDocument.defaultView&&e instanceof e.ownerDocument.defaultView.Node)}function Jn(e,t,n){if(n&&!pe(t))return[e.ownerDocument.createTextNode(`${t}`)];if(!pe(t))throw new TypeError("Failed to execute insertion on the host: parameter is not of type Node.");if(t&&t.nodeType===11){let r=Array.from(t.childNodes);Mt(e,r);for(let o of r)Ne.call(t,o);return r}return Mt(e,[t]),[t]}function Mt(e,t){ke(e,t);for(let n of t){if(!pe(n))throw new TypeError("Failed to execute insertion on the host: parameter is not of type Node.");let r=n.nodeType;if(r!==1&&r!==3&&r!==4&&r!==7&&r!==8&&r!==11)throw new DOMException("Failed to execute insertion on the host: the node type may not be inserted here.","HierarchyRequestError")}}function ke(e,t){for(let n of t)if(n===e||n.nodeType===1&&n.contains(e))throw new DOMException("Failed to execute insertion on the host: the new child contains the parent.","HierarchyRequestError")}function Xn(e,t,n){let r=e.authored;for(let i of t){let s=r.indexOf(i);s!==-1&&r.splice(s,1)}let o=n==null?r.length:r.indexOf(n);o===-1&&(o=r.length),r.splice(o,0,...t)}function Wo(e,t){let n=e[v];return n?Dt(n,e,t):!1}function Dt(e,t,n){for(let r=n;r&&r!==t;r=r.parentNode)if(e.authored.indexOf(r)!==-1)return!0;return!1}function Qn(e,t){if(_.has(t))return!0;let n=t.parentNode;if(n==null)return!1;if(n===e||n===e[he])return!0;let r=e[v];return n.nodeType===1&&n.tagName==="SLOT"&&n.hasAttribute(k)&&(r&&r.lastSnapshot.has(n)||e.contains(n)&&X(e,n))}function Zn(e,t){let n=[];for(let i of t)pe(i)?i.nodeType===11?n.push({frag:i}):n.push({node:i}):n.push({text:`${i}`});for(let i of n)i.frag?ke(e,Array.from(i.frag.childNodes)):i.node&&Mt(e,[i.node]);let r=e.ownerDocument.createDocumentFragment();for(let i of n)if(i.text!==void 0)oe.call(r,e.ownerDocument.createTextNode(i.text));else if(i.frag){let s=Array.from(i.frag.childNodes);Mt(e,s);for(let a of s)oe.call(r,a)}else i.node&&(ke(e,[i.node]),oe.call(r,i.node));let o=Array.from(r.childNodes);ke(e,o);for(let i of o)Ne.call(r,i);return o}function J(e,t,n){if(t.applying&&t.pendingRecordNodes)for(let r of n||[])t.pendingRecordNodes.add(r);else t.pendingRecordNodes=new Set(n||[]);if(t.adoptedKey&&n)for(let r of n)t.adoptedKey.delete(r);xe(t),Z(e)}function Vo(e){if(!ie)return;let t=e;if(t[To])return;ya(),t[To]=!0;let n=Q(e);t.appendChild=function(r){if(t[T])return oe.call(this,r);let o=Jn(e,r,!1);for(let i of o)_.add(i);return Xn(n,o,null),J(e,n,o),r},t.insertBefore=function(r,o){if(t[T])return Mo.call(this,r,o);if(!pe(r))throw new TypeError("Failed to execute insertBefore on the host: parameter 1 is not of type Node.");if(o!=null&&!pe(o))throw new TypeError("Failed to execute insertBefore on the host: parameter 2 is not of type Node.");if(ke(e,r.nodeType===11?Array.from(r.childNodes):[r]),o!=null&&(n.authored.indexOf(o)===-1||!Qn(e,o)))throw new DOMException("insertBefore: reference node is not an assigned child of this host","NotFoundError");if(r===o)return r;let i=Jn(e,r,!1);for(let s of i)_.add(s);return Xn(n,i,o||null),J(e,n,i),r},t.removeChild=function(r){if(t[T])return Ne.call(this,r);let o=n.authored.indexOf(r);if(o===-1)return Ne.call(this,r);if(!Qn(e,r))throw new DOMException("removeChild: the node is not an assigned child of this host","NotFoundError");return n.authored.splice(o,1),J(e,n,[r]),r},t.replaceChild=function(r,o){if(t[T])return nr.call(this,r,o);if(n.authored.indexOf(o)===-1)return nr.call(this,r,o);if(!pe(r))throw new TypeError("Failed to execute replaceChild on the host: parameter 1 is not of type Node.");if(ke(e,r.nodeType===11?Array.from(r.childNodes):[r]),!Qn(e,o))throw new DOMException("replaceChild: the node to be replaced is not an assigned child of this host","NotFoundError");if(r===o)return o;let s=Jn(e,r,!1);for(let c of s)_.add(c);for(let c of s){if(c===o)continue;let l=n.authored.indexOf(c);l!==-1&&n.authored.splice(l,1)}let a=n.authored.indexOf(o);return n.authored.splice(a,1,...s),J(e,n,[...s,o]),o},t.append=function(...r){if(t[T])return Io.apply(this,r);let o=Zn(e,r);for(let i of o)_.add(i);Xn(n,o,null),J(e,n,o)},t.prepend=function(...r){if(t[T])return Fo.apply(this,r);let o=Zn(e,r);for(let i of o)_.add(i);for(let i of o){let s=n.authored.indexOf(i);s!==-1&&n.authored.splice(s,1)}n.authored.unshift(...o),J(e,n,o)},t.replaceChildren=function(...r){if(t[T])return $o.apply(this,r);let o=Zn(e,r);for(let s of o)_.add(s);let i=n.authored;n.authored=o.slice(),J(e,n,[...i,...o])},Object.defineProperty(t,"innerHTML",{configurable:!0,get(){return Pt.get.call(this)},set(r){if(t[T]){Pt.set.call(this,r);return}let o=e.ownerDocument.createElement("div");Pt.set.call(o,r===null?"":`${r}`);let i=Array.from(o.childNodes);for(let a of i)_.add(a);let s=n.authored;n.authored=i,J(e,n,[...s,...i])}}),Object.defineProperty(t,"textContent",{configurable:!0,get(){return rr.get.call(this)},set(r){if(t[T]){rr.set.call(this,r);return}let o=r==null||r===""?[]:[e.ownerDocument.createTextNode(`${r}`)];for(let s of o)_.add(s);let i=n.authored;n.authored=o,J(e,n,[...i,...o])}})}function Z(e){if(!ie)return;let t=e[v];if(t){if(t.applying){t.reapply=!0;return}t.applying=!0;try{do{t.reapply=!1;let n=t.pendingRecordNodes||wa;t.pendingRecordNodes=void 0,_a(e,t,n),Aa(e,t),xe(t);let r=[],o=new Set;for(let u of e.querySelectorAll(`slot[${k}]`))if(X(e,u)&&!Dt(t,e,u)){if(!u.hasAttribute(I)&&!(et in u)){o.add(H(u.getAttribute("name")));continue}r.push(u)}let i=new Map;for(let u of r){let f=H(u.getAttribute("name")),d=i.get(f);d||(d=[],i.set(f,d)),d.push(u)}let s=[];for(let[u,f]of i){let d=t.assignedByName.get(u)||[];for(let p=0;p<f.length;p++){let m=f[p],g=d.filter(y=>{let h=ir(t,y);return h?h===m:p===0}),b=g.filter(y=>y===e||y.nodeType===1&&y.contains(e));if(b.length){for(let y of b)_.delete(y);g=g.filter(y=>b.indexOf(y)===-1)}g.length>0?va(t,m,g)&&s.push(m):Ea(t,m)&&s.push(m)}}for(let u of s)ka(t,u);let a=new Set(i.keys());for(let u of o)a.add(u);let c=new Set;for(let u of t.authored)a.has(de(t,u))||c.add(u);let l=e[he];if(l)for(let u of Array.from(l.childNodes))c.has(u)||Ne.call(l,u);if(c.size){let u=ga(e);for(let f of c)f.parentNode!==u&&(_.delete(f),Ft(e,()=>oe.call(u,f)))}if(t.backstop){let u=t.backstop.takeRecords();u.length&&$t(e,t,u)}}while(t.reapply)}finally{t.applying=!1}}}function _a(e,t,n){for(let r of e.querySelectorAll(`slot[${k}][${I}="${V}"]`)){if(!X(e,r)||Dt(t,e,r))continue;let o=r,i=t.lastSnapshot.get(o);if(!i)continue;let s=Array.from(o.childNodes);if(or(s,i))continue;let a=t.authored,c=H(o.getAttribute("name")),l=s.filter(m=>!n.has(m));for(let m of l)a.indexOf(m)===-1&&de(t,m)!==c&&(t.adoptedKey||(t.adoptedKey=new WeakMap),t.adoptedKey.set(m,c));for(let m of a){if(l.indexOf(m)!==-1||de(t,m)!==c)continue;let g=a.indexOf(m),b=0;for(let y=0;y<l.length;y++){let h=a.indexOf(l[y]);h!==-1&&h<g&&(b=y+1)}l.splice(b,0,m)}let u=new Set(l);for(let m of i)u.add(m);let f=-1,d=0;for(let m of a){if(u.has(m)){f===-1&&(f=d);continue}d+=1}let p=a.filter(m=>!u.has(m));(f===-1||f>p.length)&&(f=p.length),p.splice(f,0,...l),t.authored=p}}function Aa(e,t){let n=e[he];t.authored=t.authored.filter(r=>{if(_.has(r))return!0;let o=r.parentNode;return o==null?!1:!!(o===e||o===n||o.nodeType===1&&o.tagName==="SLOT"&&o.hasAttribute(k)&&(t.lastSnapshot.has(o)||e.contains(o)&&X(e,o)))})}function Ko(e){if(!ie)return!1;for(let t of e.querySelectorAll(`slot[${k}][${I}]`))if(X(e,t))return!0;return!1}function X(e,t){let n=t[It];if(n)return n===e;let r=typeof t.getAttribute=="function"?t.getAttribute(da):null;if(r){let o=Sa(t,r);if(o)return o===e}for(let o=t.parentElement;o&&o!==e;o=o.parentElement)if(o.tagName.includes("-"))return!1;return!0}function Sa(e,t){let n=t.toLowerCase();for(let r=e.parentElement;r;r=r.parentElement)if(r.tagName.toLowerCase()===n)return r;return null}function va(e,t,n){for(let l of n)_.delete(l);let r=t.getAttribute(I)!==V,o=e.lastSnapshot.get(t)||[],i=r||!or(o,n);if(!r&&or(Array.from(t.childNodes),n))return e.lastSnapshot.set(t,n.slice()),i;let s=t[et];if(r&&s)for(;t.firstChild;)s.appendChild(t.firstChild);let a=new Set(n);for(let l of Array.from(t.childNodes))a.has(l)||t.removeChild(l);let c=t.firstChild;for(let l of n){if(l===c){c=c.nextSibling;continue}t.insertBefore(l,c)}return t.setAttribute(I,V),e.lastSnapshot.set(t,n.slice()),i}function Ea(e,t){let n=t.getAttribute(I)===V;if(t.setAttribute(I,fa),!n)return jo(t),!1;for(e.lastSnapshot.delete(t);t.firstChild;)t.removeChild(t.firstChild);return jo(t),!0}function jo(e){let t=e[et];!t||t.childNodes.length===0||e.appendChild(t)}function zo(e,t){if(!sr(e))return;let n=Q(e),r=H(t.getAttribute("name")),o=n.assignedByName.get(r);if(o)for(let i of o)i.parentNode===t&&(_.add(i),t.removeChild(i));n.lastSnapshot.delete(t)}function Ca(e){e.dispatchEvent(new Event("slotchange",{bubbles:!0,composed:!1}))}function ka(e,t){e.pendingSlotChanges||(e.pendingSlotChanges=new Set),e.pendingSlotChanges.add(t),!e.slotChangeScheduled&&(e.slotChangeScheduled=!0,queueMicrotask(()=>{e.slotChangeScheduled=!1;let n=e.pendingSlotChanges||new Set;e.pendingSlotChanges=new Set;for(let r of n)Ca(r)}))}function or(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 ie,v,k,I,V,fa,et,It,da,pa,Ze,zn,Lt,Yn,No,T,To,he,_,oe,Mo,Ne,nr,Io,Fo,$o,Pt,rr,wa,Bt=F(()=>{ie=Ro(),v=Symbol("webjs.slot.state"),k="data-webjs-light",I="data-projection",V="actual",fa="fallback",et=Symbol("webjs.slot.fallbackFrag"),It=Symbol("webjs.slot.templateOwner"),da="data-wj-slot-owner",pa=64,Ze=null,zn=null,Lt=null,Yn=null,No=!1;ha();T=Symbol("webjs.slot.rendering"),To=Symbol("webjs.slot.intercepted"),he=Symbol("webjs.slot.park"),_=new WeakSet,oe=null,Mo=null,Ne=null,nr=null,Io=null,Fo=null,$o=null,Pt=null,rr=null;wa=new Set});function ci(e,t,n){rc.has(t)?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}async function br(e){return JSON.stringify(await li(e))}function ye(e){return ui(JSON.parse(e))}async function li(e){let t=oc();return await ic(e,t),be(e,t)}function ui(e){return ae(e,lc())}function oc(){return{refCount:new Map,idOf:new Map,emitted:new Set,nextId:0,blobBytes:new Map,fdEntries:new Map}}async function ic(e,t){let n=[e];for(;n.length;){let r=n.pop();if(!fc(r))continue;let o=t.refCount.get(r)||0;if(t.refCount.set(r,o+1),!(o>0)){if(typeof Blob<"u"&&r instanceof Blob){let i=new Uint8Array(await r.arrayBuffer());t.blobBytes.set(r,i);continue}if(typeof FormData<"u"&&r instanceof FormData){let i=t.fdEntries.get(r)||[...r.entries()];t.fdEntries.set(r,i);for(let[,s]of i)typeof s!="string"&&n.push(s);continue}if(Array.isArray(r))for(let i=0;i<r.length;i++)n.push(r[i]);else if(r instanceof Map)for(let[i,s]of r)n.push(i),n.push(s);else if(r instanceof Set)for(let i of r)n.push(i);else if(dc(r))for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&n.push(r[i])}}for(let[r,o]of t.refCount)o>1&&t.idOf.set(r,t.nextId++)}function be(e,t){if(e===null)return null;if(e===void 0)return{[A]:"undef"};let n=typeof e;if(n==="string"||n==="boolean")return e;if(n==="number")return Number.isNaN(e)?{[A]:"NaN"}:e===1/0?{[A]:"Inf"}:e===-1/0?{[A]:"-Inf"}:Object.is(e,-0)?{[A]:"-0"}:e;if(n==="bigint")return{[A]:"BigInt",v:e.toString()};if(n==="symbol"){let i=Symbol.keyFor(e);if(i===void 0)throw new TypeError("Cannot serialize a local Symbol; only Symbol.for() registered symbols are supported.");return{[A]:"Sym",v:i}}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{[A]:"Ref",v:r};r!==void 0&&t.emitted.add(r);let o;if(e instanceof Date)o={[A]:"Date",v:Number.isNaN(e.getTime())?null:e.toISOString()};else if(e instanceof Error)o={[A]:"Error",v:{name:e.name,message:e.message,stack:e.stack||null}};else if(typeof Blob<"u"&&e instanceof Blob){let i=t.blobBytes.get(e);typeof File<"u"&&e instanceof File?o={[A]:"File",v:st(i),n:e.name,t:e.type||"",m:e.lastModified}:o={[A]:"Blob",v:st(i),t:e.type||""}}else if(typeof FormData<"u"&&e instanceof FormData){let i=t.fdEntries.get(e)||[...e.entries()],s=[];for(let[a,c]of i)s.push([a,be(c,t)]);o={[A]:"FD",v:s}}else if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)o=sc(e);else if(e instanceof Map){let i=[];for(let[s,a]of e)i.push([be(s,t),be(a,t)]);o={[A]:"Map",v:i}}else if(e instanceof Set){let i=[];for(let s of e)i.push(be(s,t));o={[A]:"Set",v:i}}else if(Array.isArray(e))o=e.map(i=>be(i,t));else{o={};for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let s=pc(i)?"_"+i:i;ci(o,s,be(e[i],t))}}if(r!==void 0){if(Array.isArray(o))return{[A]:"Arr",_id:r,v:o};o._id=r}return o}function sc(e){if(e instanceof ArrayBuffer)return{[A]:"buf",v:st(new Uint8Array(e))};if(e instanceof DataView)return{[A]:"dv",v:st(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))};let t=e.constructor.name,n=ac[t];if(!n)throw new TypeError(`Unsupported typed array: ${t}`);let r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return{[A]:n,v:st(r)}}function lc(){return{refs:new Map}}function ae(e,t){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){let i=[];for(let s=0;s<e.length;s++)i.push(ae(e[s],t));return i}let n=e[A];if(typeof n=="string")return uc(e,n,t);let r={},o=e._id;typeof o=="number"&&t.refs.set(o,r);for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="_id")continue;let s=hc(i)?i.slice(1):i;ci(r,s,ae(e[i],t))}return r}function uc(e,t,n){let r=e._id,o=i=>(typeof r=="number"&&n.refs.set(r,i),i);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 o(BigInt(e.v));case"Sym":return o(Symbol.for(e.v));case"Date":return o(e.v==null?new Date(NaN):new Date(e.v));case"Error":{let i=new Error(e.v.message);return i.name=e.v.name,e.v.stack&&(i.stack=e.v.stack),typeof r=="number"&&n.refs.set(r,i),i}case"Map":{let i=new Map;typeof r=="number"&&n.refs.set(r,i);for(let[s,a]of e.v)i.set(ae(s,n),ae(a,n));return i}case"Set":{let i=new Set;typeof r=="number"&&n.refs.set(r,i);for(let s of e.v)i.add(ae(s,n));return i}case"Arr":{let i=[];typeof r=="number"&&n.refs.set(r,i);for(let s of e.v)i.push(ae(s,n));return i}case"Ref":{let i=n.refs.get(e.v);if(i===void 0)throw new TypeError(`Dangling reference: id=${e.v}`);return i}case"Blob":{if(typeof Blob>"u")throw new TypeError("Blob is not available in this environment.");let i=it(e.v);return o(new Blob([i],{type:e.t||""}))}case"File":{if(typeof File>"u")throw new TypeError("File is not available in this environment.");let i=it(e.v);return o(new File([i],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 i=new FormData;o(i);for(let[s,a]of e.v){let c=ae(a,n);i.append(s,c)}return i}default:{if(t==="buf"){let s=it(e.v);return o(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength))}if(t==="dv"){let s=it(e.v);return o(new DataView(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)))}let i=cc[t];if(i){let s=it(e.v),a=s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength);return o(new i(a))}throw new TypeError(`Unknown serialization tag: ${t}`)}}}function fc(e){return e!==null&&typeof e=="object"}function dc(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function pc(e){return/^_+\$wj$/.test(e)||/^_+id$/.test(e)}function hc(e){return/^__+\$wj$/.test(e)||/^__+id$/.test(e)}function st(e){if(fi)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 it(e){if(fi){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 A,rc,ac,cc,fi,at=F(()=>{A="_$wj",rc=new Set(["__proto__","constructor","prototype"]);ac={Int8Array:"i8",Uint8Array:"u8",Uint8ClampedArray:"u8c",Int16Array:"i16",Uint16Array:"u16",Int32Array:"i32",Uint32Array:"u32",Float32Array:"f32",Float64Array:"f64",BigInt64Array:"bi64",BigUint64Array:"bu64"},cc={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};fi=typeof Buffer<"u"&&typeof Buffer.from=="function"});var Ci={};oo(Ci,{observeLazy:()=>Ic,observeViewportOnce:()=>Dc});function Ei(e){let t=wr.get(e);return t||(t=import(e).finally(()=>wr.delete(e)),wr.set(e,t),t)}function Ic(e){for(let[t,n]of Object.entries(e))ge.set(t.toLowerCase(),n);if(typeof IntersectionObserver>"u"){for(let t of ge.values())Ei(t);ge.clear();return}lt||(lt=new IntersectionObserver(Fc,{rootMargin:"200px"})),vi(),typeof MutationObserver<"u"&&new MutationObserver(()=>vi()).observe(document.body,{childList:!0,subtree:!0})}function vi(){if(!(!lt||!ge.size))for(let e of ge.keys())for(let t of document.querySelectorAll(e))lt.observe(t)}function Fc(e){for(let t of e){if(!t.isIntersecting)continue;let n=t.target.tagName.toLowerCase(),r=ge.get(n);r&&(Ei(r),ge.delete(n),lt?.unobserve(t.target))}}function $c(e){for(let t of e){if(!t.isIntersecting)continue;let n=Qt.get(t.target);Qt.delete(t.target),ct?.unobserve(t.target),n&&n()}}function Dc(e,t){return typeof IntersectionObserver>"u"?(t(),()=>{}):(ct||(ct=new IntersectionObserver($c,{rootMargin:"200px"})),Qt.set(e,t),ct.observe(e),()=>{Qt.delete(e),ct?.unobserve(e)})}var ge,lt,wr,ct,Qt,ki=F(()=>{ge=new Map,lt=null,wr=new Map;ct=null,Qt=new WeakMap});var _r,Ar=F(()=>{_r=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(()=>(ki(),Ci)).then(({observeViewportOnce:o})=>{this._webjsLoadedSrc!==n||!this.isConnected||(this._webjsLazyTeardown=o(this,()=>{this._webjsLazyTeardown=null,this._webjsLoad(n)}))})):(this._webjsLoadedSrc=n,this._webjsLoad(n))}_webjsLoad(t){Promise.resolve().then(()=>(Zt(),Ni)).then(({loadFrame:n})=>{this._webjsLoadedSrc!==t||!this.isConnected||n(this,t)})}}:null;typeof customElements<"u"&&_r&&!customElements.get("webjs-frame")&&customElements.define("webjs-frame",_r)});function Uc(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 vr(e,t){let n=t||(typeof document<"u"?document:null);if(!n)return;let r=null;if(typeof e=="string"){let i=n.createElement("template");i.innerHTML=e,r=i.content}else if(e&&e.nodeType)r=e;else return;let o=r.querySelectorAll?Array.from(r.querySelectorAll("webjs-stream")):[];if(o.length)for(let i of o)n.body.append(i);else n.body.append(r)}var Bc,Sr,en=F(()=>{Bc=new Set(["append","prepend","before","after","replace","update"]);Sr=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=[],o=this.getAttribute("target");if(o){let s=n.getElementById(o);s&&(r=[s])}else{let s=this.getAttribute("targets");if(s)try{r=Array.from(n.querySelectorAll(s))}catch{r=[]}}let i=Bc.has(t)?this.querySelector("template"):null;try{for(let s of r){let a=i?i.content.cloneNode(!0):null;Uc(t,s,a)}}finally{this.remove()}}}:null;typeof customElements<"u"&&Sr&&!customElements.get("webjs-stream")&&customElements.define("webjs-stream",Sr)});var xi,Ti=F(()=>{xi=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this.style.display||(this.style.display="contents")}}:null;typeof customElements<"u"&&xi&&!customElements.get("webjs-suspense")&&customElements.define("webjs-suspense",xi)});function tn(e,t){let n=typeof document<"u"?document:null,r=e||n;if(!r||typeof r.querySelectorAll!="function")return;if(t&&t.frame===!0){Er(r,!0);return}Oi();let o=r===n,i=!!n&&!o&&typeof n.contains=="function"&&n.contains(r),s=!!n&&!o&&!i;s&&(Er(n,!0),ce.clear(),kr.clear()),(o||s)&&(Cr=!0);let a=j.ingested+j.replaced;Wc(Er(r),a)}function Er(e,t){let n=null;for(let r of e.querySelectorAll('script[type="application/json"]#__webjs-seeds, script[type="application/json"][data-webjs-seeds]')){let o=qc(r.getAttribute?.("data-webjs-dev"));o!==null&&(n=o),ji(t?null:r.textContent,r)}for(let r of e.querySelectorAll("[data-webjs-seed]"))ji(t?null:r.getAttribute("data-webjs-seed"),r,()=>r.removeAttribute("data-webjs-seed"));return n}function ji(e,t,n){if(e)try{let r=ye(e);if(r&&typeof r=="object")for(let o in r){ce.has(o)?j.replaced++:j.ingested++,ce.set(o,r[o]);let i=o.indexOf("/",o.indexOf("/")+1);i>0&&kr.add(o.slice(0,i))}}catch{}n?n():t.remove?.()}function qc(e){return typeof e!="string"?null:e||"ok"}function Wc(e,t){if(e===null)return;let n=++Hc;Pe={epoch:n,hits:j.hits,misses:j.misses,keyMisses:j.keyMisses,merged:t,marker:e};let r=()=>{!Pe||Pe.epoch!==n||Oi()};try{typeof requestIdleCallback=="function"?requestIdleCallback(r,{timeout:1e3}):setTimeout(r,250)}catch{Pe=null}}function Oi(){let e=Pe;if(Pe=null,!!e)try{Vc(e)}catch{}}function Vc(e){let t=j.hits-e.hits,n=j.misses-e.misses,r=j.ingested+j.replaced-e.merged,o=j.keyMisses-e.keyMisses;if(n===0)return;let i=e.marker==="streamed"?"This page streams (a Suspense or <webjs-suspense> boundary), and a streamed render emits no seeds, so every action call on it goes to the network.":e.marker==="drop"?"The page's seeds could not be serialized, so the whole block was dropped. Something an action returned is not serializer-safe; the server response reports collected above emitted.":o===0?null:"The key is the action file hash plus the function name plus the serialized arguments, so an argument the SSR render never used misses (a deliberate refetch after hydration misses too, and is expected). A miss on an action this page never seeded is NOT counted here, because a mutation or a client-only read could never have been seeded.";if(i===null)return;let a=e.marker==="streamed"||e.marker==="drop"?`${n} of ${t+n} action call(s) in the hydration window went to the network`:`${o} action call(s) in the hydration window asked for a key this page seeded under DIFFERENT arguments`;console.warn(`[webjs] SSR action seeding: ${a} (${r} seed(s) on this page, ${ce.size} still unconsumed). ${i} See https://webjs.dev/docs/data-fetching for the seeding reference.`)}function Kc(e,t,n){Cr||(Cr=!0,tn());let r=`${e}/${t}/${n}`;if(ce.has(r)){let o=ce.get(r);return ce.delete(r),j.hits++,o}return j.misses++,kr.has(`${e}/${t}`)&&j.keyMisses++,Ri}function zc(){return{...j,pending:ce.size}}var ce,Ri,Cr,j,kr,Pe,Hc,Nr=F(()=>{at();ce=new Map,Ri=Symbol("webjs.seed.miss"),Cr=!1,j={ingested:0,replaced:0,hits:0,misses:0,keyMisses:0},kr=new Set,Pe=null,Hc=0});function xr(e){if(!(!Array.isArray(e)||!e.length)){nn+=1;for(let t of e)t&&Li.set(t,nn)}}function Gc(){return nn}function Jc(e,t,n){if(!(!Array.isArray(t)||!t.length)&&(Me.delete(e),Me.set(e,{tags:t.slice(),since:typeof n=="number"?n:nn}),Me.size>Yc)){let r=Me.keys().next().value;r!==void 0&&Me.delete(r)}}function Xc(e){let t=Me.get(e);if(!t)return!1;for(let n of t.tags)if((Li.get(n)||0)>t.since)return!0;return!1}function Tr(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}var nn,Li,Me,Yc,jr=F(()=>{nn=0,Li=new Map,Me=new Map,Yc=1e3});var Ni={};oo(Ni,{_FALLBACK_MARKER_KEY:()=>cn,_FRAME_TOP:()=>Qi,_LIVE_ATTRS:()=>Fr,_activateSwappedRange:()=>Zr,_activeFrameId:()=>Xi,_addNewHeadElements:()=>Dr,_applyOptimisticLoading:()=>Jr,_applyStreamedResolve:()=>_s,_applySwap:()=>Gr,_blurOutgoingFocus:()=>sn,_buildHaveHeader:()=>yt,_buildSubmitFormData:()=>Gi,_bumpNavToken:()=>$l,_clearFormBusy:()=>hs,_clearFrameBusy:()=>ds,_collectBoundaries:()=>qe,_currentPageUrl:()=>Dl,_diffElementInPlace:()=>mn,_eligibleAnchorHref:()=>un,_encodeSubmitBody:()=>Yi,_findAnchorInPath:()=>Ji,_getSubmitAction:()=>Ki,_getSubmitEnctype:()=>zi,_getSubmitMethod:()=>Vi,_isNonHtmlPath:()=>ql,_isPreBootNavigation:()=>es,_keyOf:()=>He,_markFormBusy:()=>ps,_markFrameBusy:()=>fs,_mergeHead:()=>ys,_navToken:()=>Fl,_onPopState:()=>Hr,_onSubmit:()=>qr,_parseHTML:()=>Br,_planBoundarySwap:()=>ts,_prefetch:()=>We,_prefetchAnchor:()=>as,_prefetchCache:()=>S,_prefetchHasHoverPointer:()=>is,_prefetchInflightSize:()=>Pl,_prefetchMode:()=>fn,_prefetchPeek:()=>Ll,_prefetchSaysSaveData:()=>Kr,_prefetchSuppressed:()=>ss,_prefetchTake:()=>cs,_reactivateScripts:()=>wn,_readStreamedShell:()=>gs,_reconcileChildren:()=>vn,_regraftPermanentElements:()=>ms,_regraftPermanentInSlice:()=>Sn,_resetParseProbe:()=>Zc,_resetPrefetch:()=>Ml,_resetWarnOnce:()=>Ul,_resolveTargetFrameId:()=>Wr,_restoreOptimistic:()=>ut,_runWithTransition:()=>on,_setCurrentPageUrl:()=>Bl,_setHardNavigate:()=>Il,_shouldFullLoadDuringParse:()=>Hl,_snapshotCache:()=>R,_streamBoundariesProgressively:()=>As,_takeResolveUnit:()=>ws,_viewTransitionsEnabled:()=>Yr,collectBoundaries:()=>qe,disableClientRouter:()=>Ui,enableClientRouter:()=>Ur,loadFrame:()=>il,navigate:()=>Hi,planBoundarySwap:()=>ts,revalidate:()=>qi});function Br(e){if(!/^\s*(?:<!doctype|<html)/i.test(e)&&typeof document<"u"&&document.implementation)try{let n=document.implementation.createHTMLDocument();if(typeof n.body.setHTMLUnsafe=="function")n.body.setHTMLUnsafe(e);else{let r=n.createElement("template");r.innerHTML=e,n.body.appendChild(r.content)}return n}catch{}return typeof Document<"u"&&typeof Document.parseHTMLUnsafe=="function"&&Qc()?Document.parseHTMLUnsafe(e):el(e)}function Qc(){if(Ie!==null)return Ie;try{Ie=Document.parseHTMLUnsafe("<!doctype html><body><!--c--><i></i>")?.body?.firstChild?.nodeType===8}catch{Ie=!1}return Ie}function Zc(){Ie=null}function el(e){return typeof DOMParser>"u"?null:new DOMParser().parseFromString(e,"text/html")}function tl(){Rr||typeof MutationObserver>"u"||typeof customElements>"u"||(Rr=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 o of r.querySelectorAll("*"))o.tagName?.includes("-")&&customElements.upgrade(o)}}),Rr.observe(document.body,{childList:!0,subtree:!0}))}function Bi(){if(typeof document>"u"||!document.documentElement)return()=>{};q&&q();let e=document.documentElement,t=e.style.getPropertyValue("overflow-anchor");e.style.setProperty("overflow-anchor","none");let n=null,r=()=>{if(q===r){if(q=null,n&&(clearTimeout(n),n=null),typeof window<"u")for(let o of an)window.removeEventListener(o,r,{capture:!0});t?e.style.setProperty("overflow-anchor",t):e.style.removeProperty("overflow-anchor")}};if(q=r,n=setTimeout(r,nl),typeof window<"u")for(let o of an)window.addEventListener(o,r,{capture:!0,passive:!0});return r}function rl(e,t){if(typeof window>"u"||typeof requestAnimationFrame!="function")return;D&&D();let n=0,r=null,o=null,i=()=>{if(D===i){D=null,n&&cancelAnimationFrame(n),r&&(clearTimeout(r),r=null),o&&(o(),o=null);for(let a of an)window.removeEventListener(a,i,{capture:!0})}},s=()=>{if(D!==i)return;if(document.documentElement.scrollHeight-window.innerHeight>=e){window.scrollTo({left:t,top:e,behavior:"instant"}),o=Bi(),n&&(cancelAnimationFrame(n),n=0);return}n=requestAnimationFrame(s)};D=i;for(let a of an)window.addEventListener(a,i,{capture:!0,passive:!0});r=setTimeout(i,Di),n=requestAnimationFrame(s)}function ol(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function Ur(){te||typeof document>"u"||(te=!0,document.addEventListener("click",Wi,!1),document.addEventListener("submit",qr,!1),window.addEventListener("popstate",Hr),document.addEventListener("pointerover",Ue,!0),document.addEventListener("focusin",Ue,!0),document.addEventListener("touchstart",Ue,{capture:!0,passive:!0}),document.addEventListener("pointerout",ls,!0),document.addEventListener("webjs:navigate",Ir),tl(),Ir(),typeof history<"u"&&"scrollRestoration"in history&&(rn=history.scrollRestoration,history.scrollRestoration="manual"),typeof location<"u"&&(G=location.href),cl())}function Ui(){te&&(te=!1,document.removeEventListener("click",Wi,!1),document.removeEventListener("submit",qr,!1),window.removeEventListener("popstate",Hr),document.removeEventListener("pointerover",Ue,!0),document.removeEventListener("focusin",Ue,!0),document.removeEventListener("touchstart",Ue,{capture:!0}),document.removeEventListener("pointerout",ls,!0),document.removeEventListener("webjs:navigate",Ir),An(),zr(),ue&&(ue.disconnect(),ue=null),typeof history<"u"&&rn!==null&&(history.scrollRestoration=rn,rn=null),ft+=1,q&&q(),D&&D(),G=null)}async function Hi(e,t){let n=new URL(e,location.href);if(n.origin!==location.origin){_e(e);return}await Vr(n.href,t?.replace??!1,null)}async function il(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};B&&B.abort(),B=new AbortController;let o=B.signal,i=++N;return dn(r.href,n,!1,null,"GET",null,o,i)}function qi(e){if(!e){R.clear(),S.clear();return}let t=new URL(e,location.href),n=t.pathname+t.search;R.delete(n),S.delete(n)}function Wi(e){if(!te||e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=Ji(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||_n.test(r.pathname))return;e.preventDefault();let o=Wr(t);Vr(n,!1,o)}function Hr(e){Vr(location.href,!0,null)}function qr(e){if(!te||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 o=Vi(t,n);if(o==="dialog")return;let i=zi(t,n),s=o==="get"||o==="head",a=Ki(t,n),c;try{c=new URL(a,location.href)}catch{return}if(c.origin!==location.origin||_n.test(c.pathname))return;let l=Gi(t,n);if(al(t,n,o,l),!s&&i==="text/plain")return;let u=Yi(l,i);e.preventDefault();let f=Wr(n||t);dl(c.href,o,u,f,t)}function Vi(e,t){return(t&&t.getAttribute("formmethod")||e.getAttribute("method")||"get").toLowerCase()}function Ki(e,t){return t&&t.hasAttribute("formaction")?t.getAttribute("formaction")||"":e.getAttribute("action")||e.action||location.href}function sl(e){let t=String(e||"").toLowerCase();return t==="multipart/form-data"?"multipart/form-data":t==="text/plain"?"text/plain":"application/x-www-form-urlencoded"}function zi(e,t){return sl(t&&t.getAttribute("formenctype")||e.getAttribute("enctype"))}function Yi(e,t){if(t==="multipart/form-data")return e;let n=new URLSearchParams;for(let[r,o]of e)n.append(r,typeof o=="string"?o:o.name);return n}function Gi(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 Ji(e){for(let t of e.composedPath())if(t instanceof HTMLAnchorElement)return t;return null}function Xi(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 Wr(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===Qi)return null;let r=typeof document<"u"?document.getElementById(n):null;return r&&r.tagName&&r.tagName.toLowerCase()==="webjs-frame"?n:(Ae(`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 Xi(e)}function Ae(e,t,n="warn"){if(Lr.has(e)||(Lr.add(e),typeof console>"u"))return;let r=n==="error"?console.error:console.warn;r&&r.call(console,t)}function al(e,t,n,r){if(typeof process<"u"&&process.env||!r.has(O))return;let o="";try{o=new URL(e.getAttribute("action")||location.href,location.href).pathname}catch{o=location.pathname}if(n!=="post"){Ae(`submit-nowhere:${o}:${n}`,`[webjs] this submission carries a bound server action's identity but submits as ${n.toUpperCase()}, which sends no body, so the identity rides the query string and the action never runs. A submitter's own formmethod overrides the form's, and WebJs honours it rather than refusing it, so check for a formmethod on the button that was pressed.`,"error");return}let i=t&&t.getAttribute("formenctype")||e.getAttribute("enctype")||"application/x-www-form-urlencoded";if(i.toLowerCase()==="text/plain"){Ae(`submit-nowhere:${o}:${i}`,`[webjs] this submission carries a bound server action's identity but declares enctype="${i}", which the server cannot parse. The router declines to send it so both paths behave the same way, and both are answered with a 405. Drop the enctype and let the binding supply it.`,"error");return}o&&o!==location.pathname&&Ae(`submit-elsewhere:${o}`,`[webjs] this submission carries a bound server action's identity but posts to "${o}" rather than this page, because the enclosing <form> declares its own action. A bound submitter emits no formaction, so the form's target wins, which is what native HTML does. The action runs only if "${o}" is a page route; against a route.ts or another origin the identity is ignored and nothing runs. Drop the form's action attribute to keep the submission on this page.`)}function Zi(e,t){return!e&&!t&&typeof document<"u"&&document.readyState==="loading"}function es(e,t,n,r){if(e!=="navigate"||!t||r&&r===n)return!1;try{return new URL(t).origin===new URL(n).origin}catch{return!1}}function cl(){if(typeof location>"u"||Mi)return;Mi=!0;let e=null;try{e=sessionStorage.getItem(cn),sessionStorage.removeItem(cn)}catch{}let t="";try{let n=performance.getEntriesByType("navigation")[0];t=n?n.type:""}catch{}es(t,document.referrer,location.href,e)&&le("pre-boot-navigation",location.href,!1)}function le(e,t,n=!0){if(n)try{sessionStorage.setItem(cn,t)}catch{}if(typeof document<"u"&&typeof CustomEvent<"u")try{document.dispatchEvent(new CustomEvent("webjs:navigation-fallback",{detail:{cause:e,href:t,willReload:n}}))}catch{}typeof process<"u"&&process.env||Ae(`fallback:${e}`,n?`[webjs] client router fell back to a full page load (${e}) navigating to ${t}. This is correct (no DOM corruption), just not a soft nav.`:`[webjs] client router degraded a soft navigation (${e}) for ${t}, without a full page load.`)}function ll(e){typeof process<"u"&&process.env||Ae(`stream-drop:${e}`,`[webjs] dropped a streamed Suspense resolve for "${e}": no #${e} boundary in the DOM. Benign if this navigation was superseded or degraded. A stuck skeleton here means the shell swap did not place the boundary.`)}function Ii(){if(typeof process<"u"&&process.env||Pr||typeof document>"u"||typeof getComputedStyle!="function")return;let e=document.documentElement;if(!e)return;Pr=!0;let t;try{t=getComputedStyle(e).scrollBehavior}catch{return}t==="smooth"&&Ae("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 ln(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 qe(e){let t=new Map,n=[],r=!1;function o(i){if(!r){if(i.nodeType===8){let s=i.data.trim();if(s.startsWith("wj:children:")){let a=s.slice(12),c=a.lastIndexOf(":");if(c<=0||c===a.length-1){r=!0;return}let l=a.slice(0,c),u=a.slice(c+1);if(t.has(l)||n.some(f=>f.segment===l)){r=!0;return}n.push({segment:l,routeKey:u,start:i});return}if(s.startsWith("/wj:children")){let a=s.slice(12).replace(/^:/,""),c=n.pop();if(!c||c.segment!==a){r=!0;return}if(c.start.parentNode!==i.parentNode){r=!0;return}{let l=c.start.parentNode.tagName;if(l==="TABLE"||l==="TBODY"||l==="THEAD"||l==="TFOOT"||l==="TR"){r=!0;return}}t.set(c.segment,{routeKey:c.routeKey,start:c.start,end:i});return}return}if(i.hasChildNodes&&i.hasChildNodes())for(let s=i.firstChild;s&&!r;s=s.nextSibling)o(s)}}return o(e),r||n.length>0?null:t}function ts(e,t){let n=[...e.keys()].filter(s=>t.has(s)).sort((s,a)=>s.length-a.length);if(n.length===0)return null;for(let s of n)if(e.get(s).routeKey!==t.get(s).routeKey){let a=null;for(let c of n){if(c===s)break;s.startsWith(c==="/"?c:c+"/")&&(a=c)}return a?{mode:"replace",segment:a,live:e.get(a),incoming:t.get(a)}:null}let r=n[n.length-1],o=s=>{let a=null;for(let c of s.keys())(a===null||c.length>a.length)&&(a=c);return a};return{mode:o(e)===r&&o(t)===r?"morph":"replace",segment:r,live:e.get(r),incoming:t.get(r)}}function ns(e){let t=fe(e);document.dispatchEvent(new CustomEvent("webjs:before-cache",{detail:{url:e}})),R.has(t)&&R.delete(t);let n={html:document.documentElement.outerHTML,scrollX:typeof window<"u"&&window.scrollX||0,scrollY:typeof window<"u"&&window.scrollY||0};for(R.set(t,n);R.size>ul;){let r=R.keys().next().value;R.delete(r)}}function fl(e){let t=fe(e),n=R.get(t);return n==null?null:(R.delete(t),R.set(t,n),typeof n=="string"?{html:n,scrollX:0,scrollY:0}:n)}function fe(e){let t=new URL(e,location.href);return t.pathname+t.search}async function Vr(e,t,n){if(Zi(t,n)&&typeof location<"u"){le("readyState-loading",e),_e(e);return}B&&B.abort(),B=new AbortController;let r=B.signal,o=++N;n||(ft+=1,q&&q(),D&&D()),G&&ns(G);let i=setTimeout(()=>{ln(!0),i=null},150),s=null;t||(s=Jr());try{if(t){let a=fl(e);if(a){let c=Br(a.html);if(c){Gr(c,n,!0,null);let l=()=>{};if(typeof window<"u"){let d=()=>{window.scrollTo({left:a.scrollX,top:a.scrollY,behavior:"instant"}),window.scrollY>=a.scrollY-1?l=Bi():rl(a.scrollY,a.scrollX)};if(Yr()&&typeof document.startViewTransition=="function"){let p=ft;mt.then(()=>{p!==ft||!te||d()}).catch(()=>{})}else d()}let u=dn(e,n,!1,s,"GET",null,r,o,!0).catch(()=>{}),f=new Promise(d=>setTimeout(d,Di));Promise.all([u,f]).then(()=>ol(l));return}}typeof window<"u"&&window.scrollTo({left:0,top:0,behavior:"instant"})}await dn(e,n,!t,s,"GET",null,r,o)}finally{i&&clearTimeout(i),o===N&&(ln(!1),typeof location<"u"&&(G=location.href))}}async function dl(e,t,n,r,o){B&&B.abort(),B=new AbortController;let i=B.signal,s=++N;r||(ft+=1,q&&q(),D&&D());let a=t==="get"||t==="head",c=new URL(e,location.href);if(a){c.search="";for(let[p,m]of n)c.searchParams.append(p,typeof m=="string"?m:m.name)}G&&ns(G);let l=setTimeout(()=>{ln(!0),l=null},150),u=Jr(),f=o?ps(o,s,c.href):null,d=!1;try{let p=await dn(c.href,r,!0,u,a?"GET":t.toUpperCase(),a?null:n,i,s);d=!!(p&&p.ok),!a&&s===N&&(R.clear(),S.clear())}finally{f&&hs(f,s,c.href,d),l&&clearTimeout(l),s===N&&(ln(!1),typeof location<"u"&&(G=location.href))}}function yt(){let e=qe(document.body);return e?[...e.entries()].map(([t,n])=>`${t}:${n.routeKey}`).join(","):""}function Kr(){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 is(){try{if(typeof matchMedia=="function")return matchMedia("(hover: hover) and (pointer: fine)").matches}catch{}return!0}function yl(e){let t=e.getAttribute("rel");return t?t.toLowerCase().split(/\s+/).filter(Boolean):[]}function un(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||_n.test(n.pathname)?null:t}function ss(e){if(e.hasAttribute("data-no-prefetch"))return!0;let t=yl(e);return t.includes("external")||t.includes("no-prefetch")}function fn(e){if(ss(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 is()?"intent":"viewport"}}function We(e){if(!te||typeof fetch!="function"||Kr())return;let t=fe(e);if(typeof location<"u"&&t===fe(location.href)||we.has(t)||dt.has(t))return;let n=S.get(t);if(n&&Mr()-n.at<rs)return;if(we.size>=os){for(dt.add(t),De.push(e);De.length>hl;){let i=De.shift();dt.delete(fe(i))}return}let r=yt();if(!r&&typeof document<"u"&&document.readyState==="loading")return;we.add(t);let o={"x-webjs-router":"1","x-webjs-prefetch":"1"};r&&(o["x-webjs-have"]=r),fetch(e,{method:"GET",headers:o,credentials:"same-origin",cache:"no-cache"}).then(async i=>{let s=i.headers.get("content-type")||"";if(!/^text\/html\b/i.test(s)||i.status>=400)return;let a=i.headers.get("x-webjs-build"),c=i.headers.get("x-webjs-src"),l=typeof document<"u"?document.querySelector('script[type="importmap"]'):null,u=l?l.getAttribute("data-webjs-build"):null,f=l?l.getAttribute("data-webjs-src"):null;(a&&u&&a!==u||c&&f&&c!==f)&&(R.clear(),S.clear());let d=i.redirected&&i.url?i.url:e,p=await i.text();wl(t,{html:p,build:a,src:c,finalUrl:d,at:Mr()})}).catch(()=>{}).finally(()=>{we.delete(t),gl()})}function gl(){for(;De.length&&we.size<os;){let e=De.shift();dt.delete(fe(e)),We(e)}}function wl(e,t){for(S.has(e)&&S.delete(e),S.set(e,t);S.size>pl;){let n=S.keys().next().value;S.delete(n)}typeof document<"u"&&document.dispatchEvent(new CustomEvent("webjs:prefetch",{detail:{url:t.finalUrl,key:e,from:"prefetch"}}))}function as(e){let t=/<!--wj:children:([^>]*?)-->/.exec(e||"");return t?t[1]:null}function cs(e,t){let n=fe(e),r=S.get(n);if(!r)return null;if(Mr()-r.at>=rs)return S.delete(n),null;let o=as(r.html);return o&&!new Set(String(t??(yt()||"")).split(",").filter(Boolean)).has(o)?(S.delete(n),null):(S.delete(n),r)}function Mr(){try{if(typeof performance<"u"&&typeof performance.now=="function")return performance.now()}catch{}return 0}function Ue(e){if(!te)return;let t=us(e.target);if(!t)return;let n=fn(t);if(n==="none"||n==="render")return;let r=un(t);if(r){if(e.type==="touchstart"){We(r);return}n==="intent"&&(pt===t&&Be||(An(),pt=t,Be=setTimeout(()=>{Be=null,pt=null,We(r)},ml)))}}function ls(e){let t=us(e.target);t&&t===pt&&An()}function An(){Be&&(clearTimeout(Be),Be=null),pt=null}function zr(){for(let e of ht)clearTimeout(e);ht.clear(),Fe=new WeakMap}function us(e){let t=e;for(;t;){if(t instanceof HTMLAnchorElement)return t;let n=t.nodeType===1?t:null;if(n){let o=n.closest&&n.closest("a");if(o instanceof HTMLAnchorElement)return o}let r=t.getRootNode?t.getRootNode():null;t=r&&r.host?r.host:null}return null}function Ir(){if(typeof document>"u"||Kr())return;let e=typeof IntersectionObserver<"u";e&&(ue?(ue.disconnect(),zr()):ue=new IntersectionObserver(t=>{for(let n of t){let r=n.target;if(n.isIntersecting){if(Fe.has(r))continue;let o=setTimeout(()=>{ht.delete(o),Fe.delete(r),ue.unobserve(r);let i=un(r);i&&fn(r)==="viewport"&&We(i)},bl);Fe.set(r,o),ht.add(o)}else{let o=Fe.get(r);o&&(clearTimeout(o),ht.delete(o),Fe.delete(r))}}},{threshold:.5}));for(let t of document.querySelectorAll("a[href]")){let n=fn(t);if(n==="render"){let r=un(t);r&&We(r)}else n==="viewport"&&e&&ue.observe(t)}}function _l(e){if(typeof document>"u"||!document.body)return!1;let t=qe(document.body);if(!t)return!1;let n,r=-1;for(let[c,l]of t)c.length>r&&(r=c.length,n=l);if(!n)return!1;let o=n.start.parentNode;if(!o||n.start.parentNode!==n.end.parentNode)return!1;let i=document.createElement("div");i.setAttribute("role","alert"),i.setAttribute("data-webjs-nav-error","");let s=e?`This page could not be loaded. (status ${e})`:"This page could not be loaded.";i.textContent=s;let a=document.createRange();return a.setStartAfter(n.start),a.setEndBefore(n.end),a.deleteContents(),o.insertBefore(i,n.end),!0}function Or(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||_l(t)||typeof location<"u"&&(le("navigation-error-unrecoverable",e),_e(e))}async function dn(e,t,n,r,o,i,s,a,c){o=o||"GET";let l=typeof a=="number"?a:N,u,f=null,d=null,p=null,m=null,g=!1,b=e,y=t?fs(t,l):null;try{try{let w=o==="GET"&&!i&&!t?cs(e,r?r.haveKeys:void 0):null;if(w)u=w.html,d=w.build,p=w.src,b=w.finalUrl,m=200,g=!0;else{let L={"x-webjs-router":"1"},Se=yt();Se&&(L["x-webjs-have"]=Se),t&&(L["x-webjs-frame"]=t),i!=null&&o!=="GET"&&o!=="HEAD"&&(L.accept=Pi+", text/html");let ve={method:o,headers:L,credentials:"same-origin",cache:"no-cache"};s&&(ve.signal=s),i!=null&&o!=="GET"&&o!=="HEAD"&&(ve.body=i);let E=await fetch(e,ve);m=E.status,g=E.ok;let Ve=Tr(E.headers.get("x-webjs-invalidate"));Ve.length&&xr(Ve);let x=E.headers.get("content-type")||"",vs=/^text\/html\b/i.test(x);if(x.toLowerCase().indexOf(Pi)===0){let Es=await E.text();return l===N&&(ut(r),vr(Es)),{ok:g,status:m,aborted:!1}}if(E.redirected&&E.url&&(b=E.url),E.status===204||E.status===205)return l===N&&n&&history.pushState(null,"",b),{ok:g,status:m,aborted:!1};if(!vs)return l===N&&(ut(r),Or(e,E.status,null)),{ok:!1,status:m,aborted:!1};d=E.headers.get("x-webjs-build"),p=E.headers.get("x-webjs-src");let Cn=await gs(E);u=Cn.shell,Cn.streaming&&(f=Cn)}}catch(w){return w&&w.name==="AbortError"?{ok:!1,status:null,aborted:!0}:l!==N?{ok:!1,status:null,aborted:!0}:(ut(r),Or(e,null,w instanceof Error?w:new Error(String(w))),{ok:!1,status:null,aborted:!1})}if(l!==N){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:!1,status:m,aborted:!0}}let h=Br(u);if(!h)return ut(r),Or(e,null,new Error("navigation response did not parse as HTML")),{ok:!1,status:m,aborted:!1};if(Gr(h,t,!!c,b,d,p)==="discard"){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:g,status:m,aborted:!1}}if(n&&history.pushState(null,"",b),n){let w=new URL(b);if(w.hash){let L=document.getElementById(w.hash.slice(1));L?L.scrollIntoView():(Ii(),window.scrollTo({left:0,top:0,behavior:"instant"}))}else Ii(),window.scrollTo({left:0,top:0,behavior:"instant"})}return f&&(f.reader||f.rest)&&mt.then(()=>As(f.reader,f.dec,f.rest,()=>l===N)),document.dispatchEvent(new CustomEvent("webjs:navigate",{detail:{url:b,frameId:t,from:"navigate"}})),{ok:g,status:m,aborted:!1}}finally{y&&ds(y,l)}}function fs(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=pn.has(n);return pn.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 ds(e,t){if(pn.get(e)!==t)return;pn.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 ps(e,t,n){let r=hn.has(e);return hn.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 hs(e,t,n,r){if(hn.get(e)!==t)return;hn.delete(e),e.setAttribute("aria-busy","false");let o=new CustomEvent("webjs:submit-end",{bubbles:!0,detail:{form:e,url:n,ok:!!r}});e.isConnected?e.dispatchEvent(o):typeof document<"u"?document.dispatchEvent(o):e.dispatchEvent(o)}function Fi(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+=ee(r);return n}function Yr(){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 on(e,t){let n=typeof document<"u"?document.startViewTransition:void 0;if(Yr()&&typeof n=="function"){let r=n.call(document,e);return r&&r.finished&&typeof r.finished.then=="function"?r.finished.then(()=>{t&&t()}).catch(()=>{}):t&&t(),r&&r.updateCallbackDone&&typeof r.updateCallbackDone.then=="function"?r.updateCallbackDone.catch(()=>{}):Promise.resolve()}return e(),t&&t(),Promise.resolve()}function ms(e,t){if(!e||!t||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll("[data-webjs-permanent][id]");for(let r of n){let o=r.id;if(!o)continue;let i=null;try{i=t.querySelector(`#${CSS.escape(o)}`)}catch{i=null}if(!i||!r.hasAttribute||!r.hasAttribute("data-webjs-permanent"))continue;let s=i.parentNode;s&&i!==r&&(s.replaceChild(r,i),bt.add(r))}}function Sn(e,t){let n=[];for(let r of e){if(r.nodeType!==1)continue;let o=r;if(o.hasAttribute&&o.hasAttribute("data-webjs-permanent")&&o.id&&n.push(o),typeof o.querySelectorAll=="function")for(let i of o.querySelectorAll("[data-webjs-permanent][id]"))n.push(i)}if(n.length)for(let r of n){let o=r.id;if(!o)continue;let i=Al(t,o);if(!i||i===r)continue;let s=i.parentNode;if(s)s.replaceChild(r,i),bt.add(r);else{let a=t.indexOf(i);a!==-1&&(t[a]=r,bt.add(r))}}}function Al(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 o=null;try{o=r.querySelector(`#${CSS.escape(t)}`)}catch{o=null}if(o)return o}}return null}function Sl(e){if(!(!e||!e.start))for(let t=e.start.nextSibling;t&&t!==e.end;t=t.nextSibling)t.nodeType===1&&$e(t)}function Gr(e,t,n,r,o,i){let s=!1,a=()=>{if(!s){s=!0;try{tn(e,{frame:!!t})}catch{}}};try{for(let p of e.querySelectorAll("[data-wj-host]"))p.setAttribute("data-wj-serialized","")}catch{}try{typeof sessionStorage<"u"&&(!r||t||n)&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}if(r&&!t&&!n){let p=document.querySelector('script[type="importmap"]'),m=p?p.getAttribute("data-webjs-build"):null,g=!1;if(o&&m&&(g=o!==m),!g&&e.head&&e.head.children.length>0){let b=Fi(document),y=Fi(e);b!==y&&(g=!0)}if(g&&typeof location<"u"){R.clear(),S.clear();try{let b="webjs:importmap-reload";if(sessionStorage&&sessionStorage.getItem(b))sessionStorage.removeItem(b),le("deploy-mismatch-reload-suppressed",r,!1);else{sessionStorage&&sessionStorage.setItem(b,"1"),le("deploy-mismatch",r),_e(r);return}}catch{le("deploy-mismatch",r),_e(r);return}}else if(!g){let b=p?p.getAttribute("data-webjs-src"):null;i&&b&&i!==b&&(R.clear(),S.clear(),p&&p.setAttribute("data-webjs-src",i));try{typeof sessionStorage<"u"&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}}}if(t){a();let p=document.querySelector(`webjs-frame#${CSS.escape(t)}`),m=e.querySelector(`webjs-frame#${CSS.escape(t)}`);if(p&&m){Dr(e.head),mt=on(()=>{jl(p,m),wn(p),$e(p),$i(e.body),sn()},()=>$e(p));return}let g=new CustomEvent("webjs:frame-missing",{bubbles:!0,cancelable:!0,detail:{frameId:t,url:r||(typeof location<"u"?location.href:null),document:e}});(p||document).dispatchEvent(g),g.defaultPrevented||console.warn(`[webjs] frame "${t}" was not in the navigation response, leaving it unchanged. Handle "webjs:frame-missing" (preventDefault) to override.`);return}let c=qe(document.body),l=qe(e.body),u=c&&l?ts(c,l):null;if(u){a();let{mode:p,live:m,incoming:g}=u;Dr(e.head),mt=on(()=>{p==="replace"?vl(m,g):El(m,g,e),xl(m.start,g.start),$i(e.body),sn()},()=>Sl(m));return}if(r&&!n&&typeof location<"u"){le(c?l?"no-shared-boundary":"incoming-boundaries-malformed":"live-boundaries-malformed",r),_e(r);return}if(r&&n)return le("revalidation-discarded",r,!1),"discard";a(),ys(e.head),ms(document.body,e.body);let f=[...e.body.childNodes];mt=on(()=>{document.body.replaceChildren(...f),wn(document.body),$e(document.body),sn()},()=>$e(document.body))}function sn(){let e=document.activeElement;!e||e===document.body||e===document.documentElement||typeof e.blur=="function"&&e.blur()}function vl(e,t){let n=e.start.parentNode;if(!n)return;let r=[];for(let i=e.start.nextSibling;i&&i!==e.end;i=i.nextSibling)r.push(i);let o=[];for(let i=t.start.nextSibling;i&&i!==t.end;i=i.nextSibling)o.push(document.importNode(i,!0));Sn(r,o);for(let i of r)i.parentNode===n&&n.removeChild(i);for(let i of o)n.insertBefore(i,e.end);Zr(e)}function El(e,t,n){if(!e||!t)return;let r=e.start.parentNode;if(!r)return;let o=[];for(let s=e.start.nextSibling;s&&s!==e.end;s=s.nextSibling)o.push(s);let i=[];for(let s=t.start.nextSibling;s&&s!==t.end;s=s.nextSibling)i.push(document.importNode(s,!0));Sn(o,i),Cl(r,e.start,e.end,o,i),Zr(e)}function Cl(e,t,n,r,o){let i=new Map;for(let c of r){if(c.nodeType!==1)continue;let l=He(c);l&&i.set(l,c)}let s=n,a=[];for(let c of o){if(c.nodeType===1){let l=He(c);if(l&&i.has(l)){let u=i.get(l);mn(u,c),a.push(u),i.delete(l);continue}}a.push(c)}for(let c of r)if(c.parentNode===e){if(c.nodeType===1&&a.includes(c))continue;e.removeChild(c)}for(let c of a)e.insertBefore(c,s)}function mn(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),!Fr.has(r.name)&&r.name!=="data-wj-serialized"&&e.getAttribute(r.name)!==r.value&&e.setAttribute(r.name,r.value);for(let r of[...e.attributes])Fr.has(r.name)||n.has(r.name)||e.removeAttribute(r.name);if(kl(e)){Tl(e,t);return}vn(e,t)}function kl(e){let t=e;return t[Symbol.for("webjs.instance")]!=null||t[v]!=null}function Nl(e,t){for(let n=e.parentElement;n&&n!==t;n=n.parentElement)if(n.tagName.includes("-"))return!1;return!0}function bn(e){let t=new Map,n=`slot[${k}][${I}="${V}"]`;for(let r of e.querySelectorAll(n)){let o=r;if(!Nl(o,e)||Wo(e,o))continue;let i=!1;for(let a=o.parentElement;a&&a!==e;a=a.parentElement)if(a.tagName==="SLOT"&&a.hasAttribute(k)&&a.getAttribute(I)===V){i=!0;break}if(i)continue;let s=H(o.getAttribute("name"));t.has(s)||t.set(s,o)}return t}function xl(e,t){let n=e.parentNode;if(!n||n.nodeType!==1)return;let r=n;if(r.tagName!=="SLOT"||!r.hasAttribute(k))return;let o=null;for(let f=r.parentElement;f;f=f.parentElement){if(f[v]){o=f;break}if(f.tagName.includes("-"))return}if(!o)return;let i=H(r.getAttribute("name"));me(o,i,[...r.childNodes]);let s=t.parentNode;if(!s||s.nodeType!==1)return;let a=s;if(a.tagName!=="SLOT")return;let c=null;for(let f=a.parentElement;f;f=f.parentElement)if(f.tagName.includes("-")){c=f;break}if(!c||c.tagName!==o.tagName)return;let l=bn(o),u=bn(c);for(let f of new Set([...l.keys(),...u.keys()])){if(f===i)continue;let d=u.get(f);d?me(o,f,[...d.childNodes].map(p=>document.importNode(p,!0))):l.get(f)&&me(o,f,null)}}function Tl(e,t){if(!e[v])return;let n=bn(e),r=bn(t);if(n.size===0&&r.size===0)return;let o=new Set([...n.keys(),...r.keys()]);for(let i of o){let s=n.get(i),a=r.get(i);s&&a?(vn(s,a),me(e,i,[...s.childNodes])):a?me(e,i,[...a.childNodes].map(c=>document.importNode(c,!0))):me(e,i,null)}}function vn(e,t){let n=[...e.childNodes],r=[...t.childNodes].map(a=>document.importNode(a,!0));Sn(n,r);let o=new Map;for(let a of n){if(a.nodeType!==1)continue;let c=He(a);c&&o.set(c,a)}let i=[];for(let a=0;a<r.length;a++){let c=r[a];if(c.nodeType===1){let l=He(c);if(l&&o.has(l)){let f=o.get(l);mn(f,c),i.push(f),o.delete(l);continue}let u=n[a];if(u&&u.nodeType===1&&!He(u)&&u.tagName===c.tagName){mn(u,c),i.push(u);continue}}else if(c.nodeType===3){let l=n[a];if(l&&l.nodeType===3){l.nodeValue!==c.nodeValue&&(l.nodeValue=c.nodeValue),i.push(l);continue}}else if(c.nodeType===8){let l=n[a];if(l&&l.nodeType===8){l.nodeValue!==c.nodeValue&&(l.nodeValue=c.nodeValue),i.push(l);continue}}i.push(c)}let s=new Set(i);for(let a of n)!s.has(a)&&a.parentNode===e&&e.removeChild(a);for(let a=0;a<i.length;a++){let c=i[a];(c.parentNode!==e||e.childNodes[a]!==c)&&e.insertBefore(c,e.childNodes[a]||null)}}function He(e){let t=e.getAttribute("data-key");return t?`${e.tagName}:k:${t}`:e.id?`${e.tagName}:i:${e.id}`:null}function Jr(){let e=qe(document.body);if(!e||e.size===0)return null;let t=[...e.keys()].sort((c,l)=>l.length-c.length),n=null,r=null;for(let c of t){let l=document.getElementById(`wj-loading:${c}`);if(l instanceof HTMLTemplateElement){n=c,r=l;break}}if(n===null||r===null)return null;let o=e.get(n),i=yt(),s=[];for(let c=o.start.nextSibling;c&&c!==o.end;c=c.nextSibling)s.push(c);let a=document.createRange();return a.setStartAfter(o.start),a.setEndBefore(o.end),a.deleteContents(),o.start.parentNode.insertBefore(r.content.cloneNode(!0),o.end),{slot:o,oldChildren:s,token:N,haveKeys:i}}function ut(e){if(!e||e.token!==N)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 o of n)t.start.parentNode.insertBefore(o,t.end)}function jl(e,t){vn(e,t)}function bs(){if(typeof document>"u")return"";let e=document.querySelector('meta[name="csp-nonce"]');return e&&e.getAttribute("content")||""}function yn(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 Xr(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 ee(e){if(!e.hasAttribute("nonce"))return e.outerHTML;let t=e.cloneNode(!0);return t.removeAttribute("nonce"),t.outerHTML}function gn(e){let t=e.getAttribute("name");if(t)return"name="+t;let n=e.getAttribute("property");if(n)return"property="+n;let r=e.getAttribute("http-equiv");return r?"http-equiv="+r:e.hasAttribute("charset")?"charset":null}function Rl(e){if(!e.querySelector("meta"))return;let t=o=>{let i=new Map;for(let s of o.querySelectorAll("meta")){let a=gn(s);if(!a||a===$r)continue;let c=i.get(a);c?c.push(s):i.set(a,[s])}return i},n=t(e),r=t(document.head);for(let[o,i]of n){let s=r.get(o)||[],a=i.map(ee).join(`
|
|
1
|
+
var ks=Object.defineProperty;var F=(e,t)=>()=>(e&&(t=e(e=0)),t);var ro=(e,t)=>{for(var n in t)ks(e,n,{get:t[n],enumerable:!0})};function Ke(e){return Object.prototype.hasOwnProperty.call(xn,e)}var xn,Tn=F(()=>{xn=Object.freeze({"@":"event",".":"prop","?":"bool"})});function Rs(e){return String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function oo(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<")}var gt=F(()=>{});function jn(e){if(typeof e!="function")return null;let t=e[io];return typeof t=="string"&&t?t:null}function Rn(e,t,n){if(typeof e!="function")return!1;let r=String(t).toLowerCase(),o=String(n||"").toLowerCase();return r==="action"?o==="form":r==="formaction"?o==="button"||o==="input":!1}function so(e,t,n=!0){if(!e||e===O&&n)return;let r=e===O?'a second "name" attribute':`name="${e}"`;throw new Error(`[webjs] formaction=\${action} on <${t||"button"}> cannot be used when the element already carries a "name" attribute (found ${r}). The action identity is submitted as the button's own name/value pair, so there is no room for a second one. Move the action to the enclosing <form action=\${action}> or drop the submitter's "name".`)}function ao(e,t){let n=String(e||"").toLowerCase(),r=t==null?null:String(t).toLowerCase();if(Os(n,r)){if(n==="input"&&r==="image")throw new Error('[webjs] formaction=${action} is not supported on <input type="image"> because image submitters submit coordinate pairs (name.x/name.y) instead of name=value, so the action identity would never arrive. Use a <button> instead.');if(n==="input")throw new Error('[webjs] formaction=${action} is not supported on <input type="submit"> because the action identity has to occupy the submitter\'s "value", which on this control is also its visible label, so the button would render captioned with the action\'s id and could not be given a real one. Use <button formaction=${action}>Publish</button>, whose label is its children.');return}throw new Error(`[webjs] formaction=\${action} on <${n}>${r?` type="${r}"`:""} requires a submitter control, and formaction is inert on anything else. Use <button formaction=\${action}>.`)}function Os(e,t){let n=t==null?null:String(t).toLowerCase();return e==="button"?n==null||n===""||n==="submit":e==="input"?n==="submit"||n==="image":!1}function co(e){throw new Error(`[webjs] formaction=\${action} on <${e||"button"}> cannot be used when the element already carries a "value" attribute. The action identity is submitted as the button's own name/value pair, so both halves are taken. Drop the "value", or dispatch on it from one form-level action instead.`)}function lo(e){throw new Error(`[webjs] a bound formaction=\${action} on <${e||"button"}> cannot also carry a plain formaction attribute: the two name different targets and the renderers resolve them differently. Drop the static attribute.`)}function uo(e){throw new Error(`[webjs] formaction=\${action} on <${e||"button"}> cannot be used with a "form" attribute, which re-points the submitter at a form other than the bound one it sits in. Keep the submitter inside its bound <form>.`)}function fo(e,t){if(e)throw new Error(`[webjs] two formaction=\${action} holes were found on one <${t||"button"}>. Only one can win, and the two renderers pick differently, so bind exactly one action per submitter.`)}function po(e,t){let r=(e||[]).filter(o=>On(o))[0];if(r)throw new Error(`[webjs] a <${t||"button"}> submitter binds .${r}=. That property is a reflected IDL attribute on a submitter, so a property binding is dropped at SSR and written to the attribute in the browser: the page would render on the server and throw on hydration. Write it as a plain attribute.`)}function On(e){let t=String(e).toLowerCase();return t==="name"||t==="value"||t==="formaction"||t==="formmethod"||t==="formenctype"}function Ls(e,t,n){let r=t==null?null:String(t),o=n==null?null:String(n);if(r!=null&&/^dialog$/i.test(r))throw new Error(`[webjs] formaction=\${action} on <${e}> cannot be combined with formmethod="dialog", which dismisses a <dialog> instead of submitting, so the bound action would never run. Drop one of the two.`);if(r!=null&&!/^post$/i.test(r))throw new Error(`[webjs] <${e} formmethod="${r}" formaction=\${action}> cannot work: a bound server action is submitted as a POST body, and a "${r}" submission sends none, so the action would never run. Drop the formmethod attribute (WebJs emits formmethod="post" on a bound submitter), or drop the binding.`);if(o!=null&&!mo.has(o.toLowerCase()))throw new Error(`[webjs] <${e} formenctype="${o}" formaction=\${action}> cannot work: a form submission is parsed as multipart/form-data or application/x-www-form-urlencoded, and a "${o}" body is neither, so the bound action could never read it. Drop the formenctype attribute (WebJs emits multipart/form-data on a bound submitter).`)}function Ge(e,t,n){if(wt(e)&&Bs(t))throw new Error(Us(t,n))}function ho(e,t,n){Ds(t,n)&&Ge(e,t,n)}function Ln(e,t){if(e)return e;let n=t==="button"||t==="input"?"formaction=":"action=";throw new Error(`[webjs] the function in ${n} on <${t||"form"}> is not a server action. Only a function imported from a 'use server' *.server.{js,ts} module can be bound to a form or a submitter, because the identity the browser submits has to resolve back to something the server can run. Move the handler into a server action and import it, or pass a url string.`)}function Ps(e,t){if(e!=null&&!/^post$/i.test(e))throw new Error(`[webjs] <form method="${e}" action=\${action}> cannot work: a bound server action is submitted as a POST body, and a "${e}" form sends no body. Drop the method attribute (WebJs emits method="post") or remove the bound action.`);if(t!=null&&!mo.has(t.toLowerCase()))throw new Error(`[webjs] <form enctype="${t}" action=\${action}> cannot work: a form submission is parsed as multipart/form-data or application/x-www-form-urlencoded, and a "${t}" body is neither, so the submission would run under JS and do nothing without it. Drop the enctype attribute (WebJs emits multipart/form-data).`)}function Ms(e){if(e.duplicateAction)throw new Error("[webjs] two action=${...} holes were found on one <form>. A form can carry only one action binding. Move one to a submit button's formaction=${action} or remove the duplicate.");if(e.staticAction)throw new Error('[webjs] a bound <form action=${action}> also carries a plain action="..." attribute. A bound form posts to the page\'s own url, so the two say different things: without JS the browser would post to the written url and with JS it would not. Drop the action attribute, or drop the binding.');let t=e.propAttrs&&e.propAttrs[0];if(t)throw new Error(`[webjs] a bound <form action=\${action}> also binds .${t}=. A property binding on a native element is dropped at SSR and applied in the browser, so the form would submit one way with JS and another way without it. Write it as a plain attribute.`)}function Is(e,t){let n=e!==$&&e!=null,r=t!==$&&t!=null;return Ps(n?e:null,r?t:null),{method:n?null:"post",enctype:r?null:"multipart/form-data"}}function bo(e,t,n){let r=t!==$&&t!=null,o=n!==$&&n!=null;return Ls(e,r?t:null,o?n:null),{formMethod:r?null:"post",formEnctype:o?null:"multipart/form-data"}}function yo(e,t,n,r,o){let i=typeof t=="function"?jn(t):null;if(!i){typeof t=="function"&&Ln(null,e.localName),$s(e,n,r,o.propAttrs);return}Ms(o);let s=Is(n,r);e.removeAttribute("action"),Ye(e,"method",n,s.method),Ye(e,"enctype",r,s.enctype),Fs(e,i)}function Ye(e,t,n,r){if(r!==null){e.setAttribute(t,r);return}n!==$&&e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Fs(e,t){let n=e.firstElementChild,r=n&&n.localName==="input"&&n.getAttribute("name")===O?n:null;if(!r){for(let o of e.children)if(o.localName==="input"&&o.getAttribute("name")===O){r=o;break}}r||(r=e.ownerDocument.createElement("input"),r.setAttribute("type","hidden"),r.setAttribute("name",O),e.insertBefore(r,e.firstChild)),r.getAttribute("value")!==t&&r.setAttribute("value",t)}function $s(e,t,n,r){let o=e.firstElementChild;if(o&&o.localName==="input"&&o.getAttribute("name")===O)o.remove();else for(let s of e.children)if(s.localName==="input"&&s.getAttribute("name")===O){s.remove();break}let i=s=>(r||[]).some(a=>{let c=String(a).toLowerCase();return c===s||s==="enctype"&&c==="encoding"});t===$&&!i("method")&&e.removeAttribute("method"),n===$&&!i("enctype")&&e.removeAttribute("enctype")}function go(e,t,n,r){let o=i=>(r||[]).some(s=>String(s).toLowerCase()===i);t===$&&!o("formmethod")&&e.removeAttribute("formmethod"),n===$&&!o("formenctype")&&e.removeAttribute("formenctype")}function Ds(e,t){let n=String(e).toLowerCase();Ke(n[0])&&(n=n.slice(1));let r=String(t||"").toLowerCase();return n==="action"?r==="form":n==="formaction"?r==="button"||r==="input":!1}function wt(e,t){if(typeof e=="function")return!0;if(!Array.isArray(e))return!1;let n=t||new Set;return n.has(e)?!1:(n.add(e),e.some(r=>wt(r,n)))}function Bs(e){let t=String(e).toLowerCase();return Ke(t[0])&&(t=t.slice(1)),t==="action"||t==="formaction"}function Us(e,t){return`[webjs] a function was interpolated into ${String(e).toLowerCase()}= on <${t||"form"}>. Stringifying a function into HTML would leak its source (a 'use server' action's body included) to every visitor, so this is refused. To run a server action from a form, write an unquoted action=\${action} on the <form> itself or a formaction=\${action} on a <button> inside a bound form. Anywhere else, pass a URL string.`}var O,io,mo,$,Je=F(()=>{Tn();gt();O="__webjs_action",io="$$webjsAction";mo=new Set(["multipart/form-data","application/x-www-form-urlencoded"]);$=Symbol("webjs.attr.absent")});function jo(){return typeof HTMLElement<"u"&&typeof HTMLSlotElement<"u"}function ba(){if(No||(ie=jo(),!ie))return;et=HTMLSlotElement.prototype.assignedNodes,Kn=HTMLSlotElement.prototype.assignedElements,Lt=Object.getOwnPropertyDescriptor(Element.prototype,"assignedSlot"),HTMLSlotElement.prototype.assignedNodes=function(n){return this.hasAttribute(N)&&!Gn(this)?er(this,n):et?et.call(this,n):[]},HTMLSlotElement.prototype.assignedElements=function(n){return this.hasAttribute(N)&&!Gn(this)?er(this,n).filter(r=>r.nodeType===1):Kn?Kn.call(this,n):[]},Object.defineProperty(Element.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let n=Lt&&Lt.get?Lt.get.call(this):null;return n||ko(this)}});let e=Object.getOwnPropertyDescriptor(Text.prototype,"assignedSlot");Object.defineProperty(Text.prototype,"assignedSlot",{configurable:!0,enumerable:!0,get:function(){let n=e&&e.get?e.get.call(this):null;return n||ko(this)}}),Yn=HTMLSlotElement.prototype.assign,HTMLSlotElement.prototype.assign=function(...n){if(this.hasAttribute(N)&&!Gn(this)){let r=ya(this);if(r){let o=Q(r);o.manualAssign||(o.manualAssign=new Map);let i=n.filter(Boolean);for(let[s,a]of o.manualAssign){if(s===this)continue;let c=a.filter(l=>{let u=l.deref();return u!==void 0&&i.indexOf(u)===-1});c.length!==a.length&&(c.length?o.manualAssign.set(s,c):o.manualAssign.delete(s))}if(i.length?o.manualAssign.set(this,i.map(s=>new WeakRef(s))):o.manualAssign.delete(this),o.applying&&o.pendingRecordNodes)for(let s of i)o.pendingRecordNodes.add(s);else o.pendingRecordNodes=new Set(i);xe(o),Z(r)}return}return Yn?Yn.apply(this,n):void 0},No=!0}function ir(e,t){let n=e.manualAssign;if(!n||!n.size)return null;for(let[r,o]of n){let i=!1,s=o.filter(a=>{let c=a.deref();return c===void 0?!1:(c===t&&(i=!0),!0)});if(s.length!==o.length&&(s.length?n.set(r,s):n.delete(r)),i){let a=e.host;return a&&(r===a||a.contains(r))?r:null}}return null}function ya(e){for(let t=e.parentElement;t;t=t.parentElement)if(t[v])return X(t,e)?t:null;return null}function Gn(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.nodeType===11&&r.host)return!0;t=r}return!1}function er(e,t){if(e.getAttribute(I)!==V)return[];let n=Array.from(e.childNodes);return!t||!t.flatten?n:tr(n,new Set,0)}function tr(e,t,n){if(n>=ma)return e.slice();let r=[];for(let o of e)if(o.nodeType===1&&o.tagName==="SLOT"){let i=o;if(t.has(i))continue;if(t.add(i),i.hasAttribute(N)){let s=er(i,{flatten:!1});if(s.length>0)for(let a of tr(s,t,n+1))r.push(a);else for(let a of tr(Array.from(i.childNodes),t,n+1))r.push(a)}else if(et){let s=et.call(i,{flatten:!0});for(let a of s)r.push(a)}else r.push(o)}else r.push(o);return r}function ko(e){let t=e.parentElement;return t&&t.tagName==="SLOT"&&t.hasAttribute(N)&&t.getAttribute(I)===V?t:null}function Q(e){let t=e,n=t[v];return n||(n={host:e,authored:[],assignedByName:new Map,lastSnapshot:new WeakMap},t[v]=n),n}function sr(e){return!!e[v]}function Ro(e){let t=Q(e);for(;e.firstChild;){let n=e.firstChild;t.authored.push(n),_.add(n),e.removeChild(n)}xe(t)}function xe(e){let t=e.assignedByName;t.clear();for(let n of e.authored)ga(t,de(e,n),n)}function de(e,t){let n=ir(e,t);if(n)return H(n.getAttribute("name"));if(e.adoptedKey){let r=e.adoptedKey.get(t);if(r!==void 0)return r}return Lo(t)}function Oo(e){let t=Q(e);t.adopted=!0;let n=new Set,r=e.querySelectorAll(`slot[${N}]`);for(let o of r){let i=o;if(!X(e,i)||i.getAttribute(I)!==V||Dt(t,e,i))continue;let s=H(i.getAttribute("name"));if(!n.has(s)){n.add(s);let a=Array.from(i.childNodes);for(let c of a)t.authored.push(c),Lo(c)!==s&&(t.adoptedKey||(t.adoptedKey=new WeakMap),t.adoptedKey.set(c,s));t.lastSnapshot.set(i,a.slice())}}for(let o of e.querySelectorAll("wj-slot-park"))if(X(e,o)){for(let i of Array.from(o.childNodes))_.add(i),t.authored.push(i);o.remove()}xe(t)}function H(e){return e==null||e===""||e==="default"?null:e}function Lo(e){return e.nodeType!==1?null:H(e.getAttribute("slot"))}function ga(e,t,n){let r=e.get(t);r||(r=[],e.set(t,r)),r.push(n)}function me(e,t,n){let r=Q(e),o=H(t),i=Array.isArray(n)?n.filter(Boolean):n?[n]:[],s=r.authored.findIndex(c=>de(r,c)===o),a=r.authored.filter(c=>de(r,c)===o);r.authored=r.authored.filter(c=>de(r,c)!==o),(s===-1||s>r.authored.length)&&(s=r.authored.length);for(let c of i)c.nodeType===1&&!ir(r,c)&&(o==null?c.removeAttribute("slot"):c.setAttribute("slot",o)),_.add(c);if(r.authored.splice(s,0,...i),r.applying&&r.pendingRecordNodes){for(let c of a)r.pendingRecordNodes.add(c);for(let c of i)r.pendingRecordNodes.add(c)}else r.pendingRecordNodes=new Set([...a,...i]);if(r.adoptedKey){for(let c of a)r.adoptedKey.delete(c);for(let c of i)r.adoptedKey.delete(c)}xe(r),Z(e)}function wa(){oe||!ie||(oe=Node.prototype.appendChild,Po=Node.prototype.insertBefore,ke=Node.prototype.removeChild,nr=Node.prototype.replaceChild,Mo=Element.prototype.append,Io=Element.prototype.prepend,Fo=Element.prototype.replaceChildren,Pt=Object.getOwnPropertyDescriptor(Element.prototype,"innerHTML"),rr=Object.getOwnPropertyDescriptor(Node.prototype,"textContent"))}function Ft(e,t){let n=e[T];e[T]=!0;try{return t()}finally{e[T]=n,n||ar(e)}}function $o(e){if(!ie)return;let t=e,n=Q(e);n.backstop||(n.backstop=new MutationObserver(r=>$t(e,n,r)),n.backstop.observe(e,{childList:!0,subtree:!1}),n.flipSensor=new MutationObserver(r=>Do(e,r)),n.flipSensor.observe(e,{attributes:!0,attributeFilter:["slot","name"],subtree:!0}))}function $t(e,t,n){let r=e,o=r[he],i=r[Symbol.for("webjs.instance")],s=!1,a=new Set;for(let c of n){for(let l of c.addedNodes)if(a.add(l),l!==o&&!(i&&Ho(i,l))){if(t.authored.indexOf(l)!==-1){s=!0;continue}_.add(l),t.authored.push(l),s=!0}for(let l of c.removedNodes){let u=t.authored.indexOf(l);if(u===-1||e.contains(l))continue;_.has(l)&&l.parentNode==null&&!a.has(l)||(t.authored.splice(u,1),s=!0)}}s&&Z(e)}function ar(e){let t=e,n=t[v];if(!(n&&n.backstop))return;let r=n.backstop.takeRecords();(!(Symbol.for("webjs.instance")in t)||t[Symbol.for("webjs.instance")])&&$t(e,n,r)}function Do(e,t){let n=e[v];if(!n)return;let r=!1;for(let o of t){if(o.type!=="attributes")continue;let i=o.target;o.attributeName==="name"?i.tagName==="SLOT"&&i.hasAttribute(N)&&X(e,i)&&(r=!0):o.attributeName==="slot"&&(n.adoptedKey&&n.adoptedKey.delete(i),n.authored.indexOf(i)!==-1&&(r=!0))}r&&Z(e)}function Bo(e){let t=e[v];t&&(t.backstop&&($t(e,t,t.backstop.takeRecords()),t.backstop.disconnect(),t.backstop=void 0),t.flipSensor&&(Do(e,t.flipSensor.takeRecords()),t.flipSensor.disconnect(),t.flipSensor=void 0))}function Uo(e){if(!ie)return;let t=e,n=t[v];if(!n)return;let r=t[Symbol.for("webjs.instance")],o=Symbol.for("webjs.instance")in t,i=!o&&n.adopted===!0,s=!1;for(let a of Array.from(e.childNodes))if(a!==t[he]){if(n.authored.indexOf(a)!==-1){s=!0;continue}o&&(!r||Ho(r,a))||!o&&i||(_.add(a),n.authored.push(a),s=!0)}s&&Z(e)}function Ho(e,t){if(!e||!e.startNode||!e.endNode)return!1;if(t===e.startNode||t===e.endNode)return!0;for(let n=e.startNode.nextSibling;n&&n!==e.endNode;n=n.nextSibling)if(n===t)return!0;return!1}function _a(e){let t=e,n=t[he];return(!n||!n.isConnected)&&(n||(n=e.ownerDocument.createElement("wj-slot-park"),n.setAttribute("hidden",""),n.style.display="none",t[he]=n),Ft(e,()=>oe.call(e,n))),n}function pe(e){return e instanceof Node||!!(e&&typeof e=="object"&&e.ownerDocument&&e.ownerDocument.defaultView&&e instanceof e.ownerDocument.defaultView.Node)}function Jn(e,t,n){if(n&&!pe(t))return[e.ownerDocument.createTextNode(`${t}`)];if(!pe(t))throw new TypeError("Failed to execute insertion on the host: parameter is not of type Node.");if(t&&t.nodeType===11){let r=Array.from(t.childNodes);Mt(e,r);for(let o of r)ke.call(t,o);return r}return Mt(e,[t]),[t]}function Mt(e,t){Ne(e,t);for(let n of t){if(!pe(n))throw new TypeError("Failed to execute insertion on the host: parameter is not of type Node.");let r=n.nodeType;if(r!==1&&r!==3&&r!==4&&r!==7&&r!==8&&r!==11)throw new DOMException("Failed to execute insertion on the host: the node type may not be inserted here.","HierarchyRequestError")}}function Ne(e,t){for(let n of t)if(n===e||n.nodeType===1&&n.contains(e))throw new DOMException("Failed to execute insertion on the host: the new child contains the parent.","HierarchyRequestError")}function Xn(e,t,n){let r=e.authored;for(let i of t){let s=r.indexOf(i);s!==-1&&r.splice(s,1)}let o=n==null?r.length:r.indexOf(n);o===-1&&(o=r.length),r.splice(o,0,...t)}function qo(e,t){let n=e[v];return n?Dt(n,e,t):!1}function Dt(e,t,n){for(let r=n;r&&r!==t;r=r.parentNode)if(e.authored.indexOf(r)!==-1)return!0;return!1}function Qn(e,t){if(_.has(t))return!0;let n=t.parentNode;if(n==null)return!1;if(n===e||n===e[he])return!0;let r=e[v];return n.nodeType===1&&n.tagName==="SLOT"&&n.hasAttribute(N)&&(r&&r.lastSnapshot.has(n)||e.contains(n)&&X(e,n))}function Zn(e,t){let n=[];for(let i of t)pe(i)?i.nodeType===11?n.push({frag:i}):n.push({node:i}):n.push({text:`${i}`});for(let i of n)i.frag?Ne(e,Array.from(i.frag.childNodes)):i.node&&Mt(e,[i.node]);let r=e.ownerDocument.createDocumentFragment();for(let i of n)if(i.text!==void 0)oe.call(r,e.ownerDocument.createTextNode(i.text));else if(i.frag){let s=Array.from(i.frag.childNodes);Mt(e,s);for(let a of s)oe.call(r,a)}else i.node&&(Ne(e,[i.node]),oe.call(r,i.node));let o=Array.from(r.childNodes);Ne(e,o);for(let i of o)ke.call(r,i);return o}function J(e,t,n){if(t.applying&&t.pendingRecordNodes)for(let r of n||[])t.pendingRecordNodes.add(r);else t.pendingRecordNodes=new Set(n||[]);if(t.adoptedKey&&n)for(let r of n)t.adoptedKey.delete(r);xe(t),Z(e)}function Wo(e){if(!ie)return;let t=e;if(t[xo])return;wa(),t[xo]=!0;let n=Q(e);t.appendChild=function(r){if(t[T])return oe.call(this,r);let o=Jn(e,r,!1);for(let i of o)_.add(i);return Xn(n,o,null),J(e,n,o),r},t.insertBefore=function(r,o){if(t[T])return Po.call(this,r,o);if(!pe(r))throw new TypeError("Failed to execute insertBefore on the host: parameter 1 is not of type Node.");if(o!=null&&!pe(o))throw new TypeError("Failed to execute insertBefore on the host: parameter 2 is not of type Node.");if(Ne(e,r.nodeType===11?Array.from(r.childNodes):[r]),o!=null&&(n.authored.indexOf(o)===-1||!Qn(e,o)))throw new DOMException("insertBefore: reference node is not an assigned child of this host","NotFoundError");if(r===o)return r;let i=Jn(e,r,!1);for(let s of i)_.add(s);return Xn(n,i,o||null),J(e,n,i),r},t.removeChild=function(r){if(t[T])return ke.call(this,r);let o=n.authored.indexOf(r);if(o===-1)return ke.call(this,r);if(!Qn(e,r))throw new DOMException("removeChild: the node is not an assigned child of this host","NotFoundError");return n.authored.splice(o,1),J(e,n,[r]),r},t.replaceChild=function(r,o){if(t[T])return nr.call(this,r,o);if(n.authored.indexOf(o)===-1)return nr.call(this,r,o);if(!pe(r))throw new TypeError("Failed to execute replaceChild on the host: parameter 1 is not of type Node.");if(Ne(e,r.nodeType===11?Array.from(r.childNodes):[r]),!Qn(e,o))throw new DOMException("replaceChild: the node to be replaced is not an assigned child of this host","NotFoundError");if(r===o)return o;let s=Jn(e,r,!1);for(let c of s)_.add(c);for(let c of s){if(c===o)continue;let l=n.authored.indexOf(c);l!==-1&&n.authored.splice(l,1)}let a=n.authored.indexOf(o);return n.authored.splice(a,1,...s),J(e,n,[...s,o]),o},t.append=function(...r){if(t[T])return Mo.apply(this,r);let o=Zn(e,r);for(let i of o)_.add(i);Xn(n,o,null),J(e,n,o)},t.prepend=function(...r){if(t[T])return Io.apply(this,r);let o=Zn(e,r);for(let i of o)_.add(i);for(let i of o){let s=n.authored.indexOf(i);s!==-1&&n.authored.splice(s,1)}n.authored.unshift(...o),J(e,n,o)},t.replaceChildren=function(...r){if(t[T])return Fo.apply(this,r);let o=Zn(e,r);for(let s of o)_.add(s);let i=n.authored;n.authored=o.slice(),J(e,n,[...i,...o])},Object.defineProperty(t,"innerHTML",{configurable:!0,get(){return Pt.get.call(this)},set(r){if(t[T]){Pt.set.call(this,r);return}let o=e.ownerDocument.createElement("div");Pt.set.call(o,r===null?"":`${r}`);let i=Array.from(o.childNodes);for(let a of i)_.add(a);let s=n.authored;n.authored=i,J(e,n,[...s,...i])}}),Object.defineProperty(t,"textContent",{configurable:!0,get(){return rr.get.call(this)},set(r){if(t[T]){rr.set.call(this,r);return}let o=r==null||r===""?[]:[e.ownerDocument.createTextNode(`${r}`)];for(let s of o)_.add(s);let i=n.authored;n.authored=o,J(e,n,[...i,...o])}})}function Z(e){if(!ie)return;let t=e[v];if(t){if(t.applying){t.reapply=!0;return}t.applying=!0;try{do{t.reapply=!1;let n=t.pendingRecordNodes||Aa;t.pendingRecordNodes=void 0,Sa(e,t,n),va(e,t),xe(t);let r=[],o=new Set;for(let u of e.querySelectorAll(`slot[${N}]`))if(X(e,u)&&!Dt(t,e,u)){if(!u.hasAttribute(I)&&!(tt in u)){o.add(H(u.getAttribute("name")));continue}r.push(u)}let i=new Map;for(let u of r){let f=H(u.getAttribute("name")),d=i.get(f);d||(d=[],i.set(f,d)),d.push(u)}let s=[];for(let[u,f]of i){let d=t.assignedByName.get(u)||[];for(let p=0;p<f.length;p++){let m=f[p],g=d.filter(y=>{let h=ir(t,y);return h?h===m:p===0}),b=g.filter(y=>y===e||y.nodeType===1&&y.contains(e));if(b.length){for(let y of b)_.delete(y);g=g.filter(y=>b.indexOf(y)===-1)}g.length>0?Ca(t,m,g)&&s.push(m):Na(t,m)&&s.push(m)}}for(let u of s)xa(t,u);let a=new Set(i.keys());for(let u of o)a.add(u);let c=new Set;for(let u of t.authored)a.has(de(t,u))||c.add(u);let l=e[he];if(l)for(let u of Array.from(l.childNodes))c.has(u)||ke.call(l,u);if(c.size){let u=_a(e);for(let f of c)f.parentNode!==u&&(_.delete(f),Ft(e,()=>oe.call(u,f)))}if(t.backstop){let u=t.backstop.takeRecords();u.length&&$t(e,t,u)}}while(t.reapply)}finally{t.applying=!1}}}function Sa(e,t,n){for(let r of e.querySelectorAll(`slot[${N}][${I}="${V}"]`)){if(!X(e,r)||Dt(t,e,r))continue;let o=r,i=t.lastSnapshot.get(o);if(!i)continue;let s=Array.from(o.childNodes);if(or(s,i))continue;let a=t.authored,c=H(o.getAttribute("name")),l=s.filter(m=>!n.has(m));for(let m of l)a.indexOf(m)===-1&&de(t,m)!==c&&(t.adoptedKey||(t.adoptedKey=new WeakMap),t.adoptedKey.set(m,c));for(let m of a){if(l.indexOf(m)!==-1||de(t,m)!==c)continue;let g=a.indexOf(m),b=0;for(let y=0;y<l.length;y++){let h=a.indexOf(l[y]);h!==-1&&h<g&&(b=y+1)}l.splice(b,0,m)}let u=new Set(l);for(let m of i)u.add(m);let f=-1,d=0;for(let m of a){if(u.has(m)){f===-1&&(f=d);continue}d+=1}let p=a.filter(m=>!u.has(m));(f===-1||f>p.length)&&(f=p.length),p.splice(f,0,...l),t.authored=p}}function va(e,t){let n=e[he];t.authored=t.authored.filter(r=>{if(_.has(r))return!0;let o=r.parentNode;return o==null?!1:!!(o===e||o===n||o.nodeType===1&&o.tagName==="SLOT"&&o.hasAttribute(N)&&(t.lastSnapshot.has(o)||e.contains(o)&&X(e,o)))})}function Vo(e){if(!ie)return!1;for(let t of e.querySelectorAll(`slot[${N}][${I}]`))if(X(e,t))return!0;return!1}function X(e,t){let n=t[It];if(n)return n===e;let r=typeof t.getAttribute=="function"?t.getAttribute(ha):null;if(r){let o=Ea(t,r);if(o)return o===e}for(let o=t.parentElement;o&&o!==e;o=o.parentElement)if(o.tagName.includes("-"))return!1;return!0}function Ea(e,t){let n=t.toLowerCase();for(let r=e.parentElement;r;r=r.parentElement)if(r.tagName.toLowerCase()===n)return r;return null}function Ca(e,t,n){for(let l of n)_.delete(l);let r=t.getAttribute(I)!==V,o=e.lastSnapshot.get(t)||[],i=r||!or(o,n);if(!r&&or(Array.from(t.childNodes),n))return e.lastSnapshot.set(t,n.slice()),i;let s=t[tt];if(r&&s)for(;t.firstChild;)s.appendChild(t.firstChild);let a=new Set(n);for(let l of Array.from(t.childNodes))a.has(l)||t.removeChild(l);let c=t.firstChild;for(let l of n){if(l===c){c=c.nextSibling;continue}t.insertBefore(l,c)}return t.setAttribute(I,V),e.lastSnapshot.set(t,n.slice()),i}function Na(e,t){let n=t.getAttribute(I)===V;if(t.setAttribute(I,pa),!n)return To(t),!1;for(e.lastSnapshot.delete(t);t.firstChild;)t.removeChild(t.firstChild);return To(t),!0}function To(e){let t=e[tt];!t||t.childNodes.length===0||e.appendChild(t)}function zo(e,t){if(!sr(e))return;let n=Q(e),r=H(t.getAttribute("name")),o=n.assignedByName.get(r);if(o)for(let i of o)i.parentNode===t&&(_.add(i),t.removeChild(i));n.lastSnapshot.delete(t)}function ka(e){e.dispatchEvent(new Event("slotchange",{bubbles:!0,composed:!1}))}function xa(e,t){e.pendingSlotChanges||(e.pendingSlotChanges=new Set),e.pendingSlotChanges.add(t),!e.slotChangeScheduled&&(e.slotChangeScheduled=!0,queueMicrotask(()=>{e.slotChangeScheduled=!1;let n=e.pendingSlotChanges||new Set;e.pendingSlotChanges=new Set;for(let r of n)ka(r)}))}function or(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 ie,v,N,I,V,pa,tt,It,ha,ma,et,Kn,Lt,Yn,No,T,xo,he,_,oe,Po,ke,nr,Mo,Io,Fo,Pt,rr,Aa,Bt=F(()=>{ie=jo(),v=Symbol("webjs.slot.state"),N="data-webjs-light",I="data-projection",V="actual",pa="fallback",tt=Symbol("webjs.slot.fallbackFrag"),It=Symbol("webjs.slot.templateOwner"),ha="data-wj-slot-owner",ma=64,et=null,Kn=null,Lt=null,Yn=null,No=!1;ba();T=Symbol("webjs.slot.rendering"),xo=Symbol("webjs.slot.intercepted"),he=Symbol("webjs.slot.park"),_=new WeakSet,oe=null,Po=null,ke=null,nr=null,Mo=null,Io=null,Fo=null,Pt=null,rr=null;Aa=new Set});function li(e,t,n){sc.has(t)?Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0}):e[t]=n}async function br(e){return JSON.stringify(await ui(e))}function ye(e){return fi(JSON.parse(e))}async function ui(e){let t=ac();return await cc(e,t),be(e,t)}function fi(e){return ae(e,dc())}function ac(){return{refCount:new Map,idOf:new Map,emitted:new Set,nextId:0,blobBytes:new Map,fdEntries:new Map}}async function cc(e,t){let n=[e];for(;n.length;){let r=n.pop();if(!hc(r))continue;let o=t.refCount.get(r)||0;if(t.refCount.set(r,o+1),!(o>0)){if(typeof Blob<"u"&&r instanceof Blob){let i=new Uint8Array(await r.arrayBuffer());t.blobBytes.set(r,i);continue}if(typeof FormData<"u"&&r instanceof FormData){let i=t.fdEntries.get(r)||[...r.entries()];t.fdEntries.set(r,i);for(let[,s]of i)typeof s!="string"&&n.push(s);continue}if(Array.isArray(r))for(let i=0;i<r.length;i++)n.push(r[i]);else if(r instanceof Map)for(let[i,s]of r)n.push(i),n.push(s);else if(r instanceof Set)for(let i of r)n.push(i);else if(mc(r))for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&n.push(r[i])}}for(let[r,o]of t.refCount)o>1&&t.idOf.set(r,t.nextId++)}function be(e,t){if(e===null)return null;if(e===void 0)return{[A]:"undef"};let n=typeof e;if(n==="string"||n==="boolean")return e;if(n==="number")return Number.isNaN(e)?{[A]:"NaN"}:e===1/0?{[A]:"Inf"}:e===-1/0?{[A]:"-Inf"}:Object.is(e,-0)?{[A]:"-0"}:e;if(n==="bigint")return{[A]:"BigInt",v:e.toString()};if(n==="symbol"){let i=Symbol.keyFor(e);if(i===void 0)throw new TypeError("Cannot serialize a local Symbol; only Symbol.for() registered symbols are supported.");return{[A]:"Sym",v:i}}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{[A]:"Ref",v:r};r!==void 0&&t.emitted.add(r);let o;if(e instanceof Date)o={[A]:"Date",v:Number.isNaN(e.getTime())?null:e.toISOString()};else if(e instanceof Error)o={[A]:"Error",v:{name:e.name,message:e.message,stack:e.stack||null}};else if(typeof Blob<"u"&&e instanceof Blob){let i=t.blobBytes.get(e);typeof File<"u"&&e instanceof File?o={[A]:"File",v:st(i),n:e.name,t:e.type||"",m:e.lastModified}:o={[A]:"Blob",v:st(i),t:e.type||""}}else if(typeof FormData<"u"&&e instanceof FormData){let i=t.fdEntries.get(e)||[...e.entries()],s=[];for(let[a,c]of i)s.push([a,be(c,t)]);o={[A]:"FD",v:s}}else if(ArrayBuffer.isView(e)||e instanceof ArrayBuffer)o=lc(e);else if(e instanceof Map){let i=[];for(let[s,a]of e)i.push([be(s,t),be(a,t)]);o={[A]:"Map",v:i}}else if(e instanceof Set){let i=[];for(let s of e)i.push(be(s,t));o={[A]:"Set",v:i}}else if(Array.isArray(e))o=e.map(i=>be(i,t));else{o={};for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i))continue;let s=bc(i)?"_"+i:i;li(o,s,be(e[i],t))}}if(r!==void 0){if(Array.isArray(o))return{[A]:"Arr",_id:r,v:o};o._id=r}return o}function lc(e){if(e instanceof ArrayBuffer)return{[A]:"buf",v:st(new Uint8Array(e))};if(e instanceof DataView)return{[A]:"dv",v:st(new Uint8Array(e.buffer,e.byteOffset,e.byteLength))};let t=e.constructor.name,n=uc[t];if(!n)throw new TypeError(`Unsupported typed array: ${t}`);let r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return{[A]:n,v:st(r)}}function dc(){return{refs:new Map}}function ae(e,t){if(e===null||typeof e!="object")return e;if(Array.isArray(e)){let i=[];for(let s=0;s<e.length;s++)i.push(ae(e[s],t));return i}let n=e[A];if(typeof n=="string")return pc(e,n,t);let r={},o=e._id;typeof o=="number"&&t.refs.set(o,r);for(let i in e){if(!Object.prototype.hasOwnProperty.call(e,i)||i==="_id")continue;let s=yc(i)?i.slice(1):i;li(r,s,ae(e[i],t))}return r}function pc(e,t,n){let r=e._id,o=i=>(typeof r=="number"&&n.refs.set(r,i),i);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 o(BigInt(e.v));case"Sym":return o(Symbol.for(e.v));case"Date":return o(e.v==null?new Date(NaN):new Date(e.v));case"Error":{let i=new Error(e.v.message);return i.name=e.v.name,e.v.stack&&(i.stack=e.v.stack),typeof r=="number"&&n.refs.set(r,i),i}case"Map":{let i=new Map;typeof r=="number"&&n.refs.set(r,i);for(let[s,a]of e.v)i.set(ae(s,n),ae(a,n));return i}case"Set":{let i=new Set;typeof r=="number"&&n.refs.set(r,i);for(let s of e.v)i.add(ae(s,n));return i}case"Arr":{let i=[];typeof r=="number"&&n.refs.set(r,i);for(let s of e.v)i.push(ae(s,n));return i}case"Ref":{let i=n.refs.get(e.v);if(i===void 0)throw new TypeError(`Dangling reference: id=${e.v}`);return i}case"Blob":{if(typeof Blob>"u")throw new TypeError("Blob is not available in this environment.");let i=it(e.v);return o(new Blob([i],{type:e.t||""}))}case"File":{if(typeof File>"u")throw new TypeError("File is not available in this environment.");let i=it(e.v);return o(new File([i],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 i=new FormData;o(i);for(let[s,a]of e.v){let c=ae(a,n);i.append(s,c)}return i}default:{if(t==="buf"){let s=it(e.v);return o(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength))}if(t==="dv"){let s=it(e.v);return o(new DataView(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)))}let i=fc[t];if(i){let s=it(e.v),a=s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength);return o(new i(a))}throw new TypeError(`Unknown serialization tag: ${t}`)}}}function hc(e){return e!==null&&typeof e=="object"}function mc(e){if(e===null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function bc(e){return/^_+\$wj$/.test(e)||/^_+id$/.test(e)}function yc(e){return/^__+\$wj$/.test(e)||/^__+id$/.test(e)}function st(e){if(di)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 it(e){if(di){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 A,sc,uc,fc,di,at=F(()=>{A="_$wj",sc=new Set(["__proto__","constructor","prototype"]);uc={Int8Array:"i8",Uint8Array:"u8",Uint8ClampedArray:"u8c",Int16Array:"i16",Uint16Array:"u16",Int32Array:"i32",Uint32Array:"u32",Float32Array:"f32",Float64Array:"f64",BigInt64Array:"bi64",BigUint64Array:"bu64"},fc={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};di=typeof Buffer<"u"&&typeof Buffer.from=="function"});var Ni={};ro(Ni,{observeLazy:()=>Uc,observeViewportOnce:()=>Wc});function Ci(e){let t=gr.get(e);return t||(t=import(e).finally(()=>gr.delete(e)),gr.set(e,t),t)}function Uc(e){for(let[t,n]of Object.entries(e))ge.set(t.toLowerCase(),n);if(typeof IntersectionObserver>"u"){for(let t of ge.values())Ci(t);ge.clear();return}lt||(lt=new IntersectionObserver(Hc,{rootMargin:"200px"})),Ei(),typeof MutationObserver<"u"&&new MutationObserver(()=>Ei()).observe(document.body,{childList:!0,subtree:!0})}function Ei(){if(!(!lt||!ge.size))for(let e of ge.keys())for(let t of document.querySelectorAll(e))lt.observe(t)}function Hc(e){for(let t of e){if(!t.isIntersecting)continue;let n=t.target.tagName.toLowerCase(),r=ge.get(n);r&&(Ci(r),ge.delete(n),lt?.unobserve(t.target))}}function qc(e){for(let t of e){if(!t.isIntersecting)continue;let n=Qt.get(t.target);Qt.delete(t.target),ct?.unobserve(t.target),n&&n()}}function Wc(e,t){return typeof IntersectionObserver>"u"?(t(),()=>{}):(ct||(ct=new IntersectionObserver(qc,{rootMargin:"200px"})),Qt.set(e,t),ct.observe(e),()=>{Qt.delete(e),ct?.unobserve(e)})}var ge,lt,gr,ct,Qt,ki=F(()=>{ge=new Map,lt=null,gr=new Map;ct=null,Qt=new WeakMap});var wr,_r=F(()=>{wr=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(()=>(ki(),Ni)).then(({observeViewportOnce:o})=>{this._webjsLoadedSrc!==n||!this.isConnected||(this._webjsLazyTeardown=o(this,()=>{this._webjsLazyTeardown=null,this._webjsLoad(n)}))})):(this._webjsLoadedSrc=n,this._webjsLoad(n))}_webjsLoad(t){Promise.resolve().then(()=>(Zt(),xi)).then(({loadFrame:n})=>{this._webjsLoadedSrc!==t||!this.isConnected||n(this,t)})}}:null;typeof customElements<"u"&&wr&&!customElements.get("webjs-frame")&&customElements.define("webjs-frame",wr)});function zc(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 Sr(e,t){let n=t||(typeof document<"u"?document:null);if(!n)return;let r=null;if(typeof e=="string"){let i=n.createElement("template");i.innerHTML=e,r=i.content}else if(e&&e.nodeType)r=e;else return;let o=r.querySelectorAll?Array.from(r.querySelectorAll("webjs-stream")):[];if(o.length)for(let i of o)n.body.append(i);else n.body.append(r)}var Vc,Ar,en=F(()=>{Vc=new Set(["append","prepend","before","after","replace","update"]);Ar=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=[],o=this.getAttribute("target");if(o){let s=n.getElementById(o);s&&(r=[s])}else{let s=this.getAttribute("targets");if(s)try{r=Array.from(n.querySelectorAll(s))}catch{r=[]}}let i=Vc.has(t)?this.querySelector("template"):null;try{for(let s of r){let a=i?i.content.cloneNode(!0):null;zc(t,s,a)}}finally{this.remove()}}}:null;typeof customElements<"u"&&Ar&&!customElements.get("webjs-stream")&&customElements.define("webjs-stream",Ar)});var Ti,ji=F(()=>{Ti=typeof HTMLElement<"u"?class extends HTMLElement{connectedCallback(){this.style.display||(this.style.display="contents")}}:null;typeof customElements<"u"&&Ti&&!customElements.get("webjs-suspense")&&customElements.define("webjs-suspense",Ti)});function tn(e,t){let n=typeof document<"u"?document:null,r=e||n;if(!r||typeof r.querySelectorAll!="function")return;if(t&&t.frame===!0){vr(r,!0);return}Li();let o=r===n,i=!!n&&!o&&typeof n.contains=="function"&&n.contains(r),s=!!n&&!o&&!i;s&&(vr(n,!0),ce.clear(),Cr.clear()),(o||s)&&(Er=!0);let a=j.ingested+j.replaced;Gc(vr(r),a)}function vr(e,t){let n=null;for(let r of e.querySelectorAll('script[type="application/json"]#__webjs-seeds, script[type="application/json"][data-webjs-seeds]')){let o=Yc(r.getAttribute?.("data-webjs-dev"));o!==null&&(n=o),Ri(t?null:r.textContent,r)}for(let r of e.querySelectorAll("[data-webjs-seed]"))Ri(t?null:r.getAttribute("data-webjs-seed"),r,()=>r.removeAttribute("data-webjs-seed"));return n}function Ri(e,t,n){if(e)try{let r=ye(e);if(r&&typeof r=="object")for(let o in r){ce.has(o)?j.replaced++:j.ingested++,ce.set(o,r[o]);let i=o.indexOf("/",o.indexOf("/")+1);i>0&&Cr.add(o.slice(0,i))}}catch{}n?n():t.remove?.()}function Yc(e){return typeof e!="string"?null:e||"ok"}function Gc(e,t){if(e===null)return;let n=++Kc;Me={epoch:n,hits:j.hits,misses:j.misses,keyMisses:j.keyMisses,merged:t,marker:e};let r=()=>{!Me||Me.epoch!==n||Li()};try{typeof requestIdleCallback=="function"?requestIdleCallback(r,{timeout:1e3}):setTimeout(r,250)}catch{Me=null}}function Li(){let e=Me;if(Me=null,!!e)try{Jc(e)}catch{}}function Jc(e){let t=j.hits-e.hits,n=j.misses-e.misses,r=j.ingested+j.replaced-e.merged,o=j.keyMisses-e.keyMisses;if(n===0)return;let i=e.marker==="streamed"?"This page streams (a Suspense or <webjs-suspense> boundary), and a streamed render emits no seeds, so every action call on it goes to the network.":e.marker==="drop"?"The page's seeds could not be serialized, so the whole block was dropped. Something an action returned is not serializer-safe; the server response reports collected above emitted.":o===0?null:"The key is the action file hash plus the function name plus the serialized arguments, so an argument the SSR render never used misses (a deliberate refetch after hydration misses too, and is expected). A miss on an action this page never seeded is NOT counted here, because a mutation or a client-only read could never have been seeded.";if(i===null)return;let a=e.marker==="streamed"||e.marker==="drop"?`${n} of ${t+n} action call(s) in the hydration window went to the network`:`${o} action call(s) in the hydration window asked for a key this page seeded under DIFFERENT arguments`;console.warn(`[webjs] SSR action seeding: ${a} (${r} seed(s) on this page, ${ce.size} still unconsumed). ${i} See https://webjs.dev/docs/data-fetching for the seeding reference.`)}function Xc(e,t,n){Er||(Er=!0,tn());let r=`${e}/${t}/${n}`;if(ce.has(r)){let o=ce.get(r);return ce.delete(r),j.hits++,o}return j.misses++,Cr.has(`${e}/${t}`)&&j.keyMisses++,Oi}function Qc(){return{...j,pending:ce.size}}var ce,Oi,Er,j,Cr,Me,Kc,Nr=F(()=>{at();ce=new Map,Oi=Symbol("webjs.seed.miss"),Er=!1,j={ingested:0,replaced:0,hits:0,misses:0,keyMisses:0},Cr=new Set,Me=null,Kc=0});function kr(e){if(!(!Array.isArray(e)||!e.length)){nn+=1;for(let t of e)t&&Pi.set(t,nn)}}function el(){return nn}function tl(e,t,n){if(!(!Array.isArray(t)||!t.length)&&(Ie.delete(e),Ie.set(e,{tags:t.slice(),since:typeof n=="number"?n:nn}),Ie.size>Zc)){let r=Ie.keys().next().value;r!==void 0&&Ie.delete(r)}}function nl(e){let t=Ie.get(e);if(!t)return!1;for(let n of t.tags)if((Pi.get(n)||0)>t.since)return!0;return!1}function xr(e){return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}var nn,Pi,Ie,Zc,Tr=F(()=>{nn=0,Pi=new Map,Ie=new Map,Zc=1e3});var xi={};ro(xi,{_FALLBACK_MARKER_KEY:()=>cn,_FRAME_TOP:()=>es,_LIVE_ATTRS:()=>Ir,_activateSwappedRange:()=>Qr,_activeFrameId:()=>Zi,_addNewHeadElements:()=>$r,_applyOptimisticLoading:()=>Gr,_applyStreamedResolve:()=>Ss,_applySwap:()=>Yr,_blurOutgoingFocus:()=>sn,_buildHaveHeader:()=>yt,_buildSubmitFormData:()=>Xi,_bumpNavToken:()=>Hl,_clearFormBusy:()=>bs,_clearFrameBusy:()=>hs,_collectBoundaries:()=>We,_currentPageUrl:()=>ql,_diffElementInPlace:()=>mn,_eligibleAnchorHref:()=>un,_encodeSubmitBody:()=>Ji,_findAnchorInPath:()=>Qi,_getSubmitAction:()=>Yi,_getSubmitEnctype:()=>Gi,_getSubmitMethod:()=>Ki,_isNonHtmlPath:()=>Kl,_isPreBootNavigation:()=>ns,_keyOf:()=>qe,_markFormBusy:()=>ms,_markFrameBusy:()=>ps,_mergeHead:()=>ws,_navToken:()=>Ul,_onPopState:()=>Ur,_onSubmit:()=>Hr,_parseHTML:()=>Dr,_planBoundarySwap:()=>rs,_prefetch:()=>Ve,_prefetchAnchor:()=>ls,_prefetchCache:()=>S,_prefetchHasHoverPointer:()=>as,_prefetchInflightSize:()=>$l,_prefetchMode:()=>fn,_prefetchPeek:()=>Fl,_prefetchSaysSaveData:()=>Vr,_prefetchSuppressed:()=>cs,_prefetchTake:()=>us,_reactivateScripts:()=>wn,_readStreamedShell:()=>_s,_reconcileChildren:()=>vn,_regraftPermanentElements:()=>ys,_regraftPermanentInSlice:()=>Sn,_resetParseProbe:()=>ol,_resetPrefetch:()=>Dl,_resetWarnOnce:()=>Vl,_resolveTargetFrameId:()=>qr,_restoreOptimistic:()=>ut,_runWithTransition:()=>on,_setCurrentPageUrl:()=>Wl,_setHardNavigate:()=>Bl,_shouldFullLoadDuringParse:()=>zl,_snapshotCache:()=>R,_streamBoundariesProgressively:()=>vs,_takeResolveUnit:()=>As,_viewTransitionsEnabled:()=>Kr,disableClientRouter:()=>Hi,enableClientRouter:()=>Br,loadFrame:()=>Wi,navigate:()=>qi,revalidate:()=>Vi});function Dr(e){if(!/^\s*(?:<!doctype|<html)/i.test(e)&&typeof document<"u"&&document.implementation)try{let n=document.implementation.createHTMLDocument();if(typeof n.body.setHTMLUnsafe=="function")n.body.setHTMLUnsafe(e);else{let r=n.createElement("template");r.innerHTML=e,n.body.appendChild(r.content)}return n}catch{}return typeof Document<"u"&&typeof Document.parseHTMLUnsafe=="function"&&rl()?Document.parseHTMLUnsafe(e):il(e)}function rl(){if(Fe!==null)return Fe;try{Fe=Document.parseHTMLUnsafe("<!doctype html><body><!--c--><i></i>")?.body?.firstChild?.nodeType===8}catch{Fe=!1}return Fe}function ol(){Fe=null}function il(e){return typeof DOMParser>"u"?null:new DOMParser().parseFromString(e,"text/html")}function sl(){jr||typeof MutationObserver>"u"||typeof customElements>"u"||(jr=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 o of r.querySelectorAll("*"))o.tagName?.includes("-")&&customElements.upgrade(o)}}),jr.observe(document.body,{childList:!0,subtree:!0}))}function Ui(){if(typeof document>"u"||!document.documentElement)return()=>{};q&&q();let e=document.documentElement,t=e.style.getPropertyValue("overflow-anchor");e.style.setProperty("overflow-anchor","none");let n=null,r=()=>{if(q===r){if(q=null,n&&(clearTimeout(n),n=null),typeof window<"u")for(let o of an)window.removeEventListener(o,r,{capture:!0});t?e.style.setProperty("overflow-anchor",t):e.style.removeProperty("overflow-anchor")}};if(q=r,n=setTimeout(r,al),typeof window<"u")for(let o of an)window.addEventListener(o,r,{capture:!0,passive:!0});return r}function cl(e,t){if(typeof window>"u"||typeof requestAnimationFrame!="function")return;D&&D();let n=0,r=null,o=null,i=()=>{if(D===i){D=null,n&&cancelAnimationFrame(n),r&&(clearTimeout(r),r=null),o&&(o(),o=null);for(let a of an)window.removeEventListener(a,i,{capture:!0})}},s=()=>{if(D!==i)return;if(document.documentElement.scrollHeight-window.innerHeight>=e){window.scrollTo({left:t,top:e,behavior:"instant"}),o=Ui(),n&&(cancelAnimationFrame(n),n=0);return}n=requestAnimationFrame(s)};D=i;for(let a of an)window.addEventListener(a,i,{capture:!0,passive:!0});r=setTimeout(i,Bi),n=requestAnimationFrame(s)}function ll(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function Br(){te||typeof document>"u"||(te=!0,document.addEventListener("click",zi,!1),document.addEventListener("submit",Hr,!1),window.addEventListener("popstate",Ur),document.addEventListener("pointerover",He,!0),document.addEventListener("focusin",He,!0),document.addEventListener("touchstart",He,{capture:!0,passive:!0}),document.addEventListener("pointerout",fs,!0),document.addEventListener("webjs:navigate",Mr),sl(),Mr(),typeof history<"u"&&"scrollRestoration"in history&&(rn=history.scrollRestoration,history.scrollRestoration="manual"),typeof location<"u"&&(G=location.href),dl())}function Hi(){te&&(te=!1,document.removeEventListener("click",zi,!1),document.removeEventListener("submit",Hr,!1),window.removeEventListener("popstate",Ur),document.removeEventListener("pointerover",He,!0),document.removeEventListener("focusin",He,!0),document.removeEventListener("touchstart",He,{capture:!0}),document.removeEventListener("pointerout",fs,!0),document.removeEventListener("webjs:navigate",Mr),An(),zr(),ue&&(ue.disconnect(),ue=null),typeof history<"u"&&rn!==null&&(history.scrollRestoration=rn,rn=null),ft+=1,q&&q(),D&&D(),G=null)}async function qi(e,t){let n=new URL(e,location.href);if(n.origin!==location.origin){_e(e);return}await Wr(n.href,t?.replace??!1,null)}async function Wi(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};B&&B.abort(),B=new AbortController;let o=B.signal,i=++k;return dn(r.href,n,!1,null,"GET",null,o,i)}function Vi(e){if(!e){R.clear(),S.clear();return}let t=new URL(e,location.href),n=t.pathname+t.search;R.delete(n),S.delete(n)}function zi(e){if(!te||e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=Qi(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||_n.test(r.pathname))return;e.preventDefault();let o=qr(t);Wr(n,!1,o)}function Ur(e){Wr(location.href,!0,null)}function Hr(e){if(!te||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.hasAttribute("formtarget")?n.getAttribute("formtarget")||"":t.getAttribute("target")||"";if(r&&r!=="_self")return;let o=Ki(t,n);if(o==="dialog")return;let i=Gi(t,n),s=o==="get"||o==="head",a=Yi(t,n),c;try{c=new URL(a,location.href)}catch{return}if(c.origin!==location.origin||_n.test(c.pathname))return;let l=Xi(t,n);if(fl(t,n,o,l),!s&&i==="text/plain")return;let u=Ji(l,i);e.preventDefault();let f=qr(n||t);bl(c.href,o,u,f,t)}function Ki(e,t){return((t&&t.hasAttribute("formmethod")?t.getAttribute("formmethod")||"":e.getAttribute("method")||"")||"get").toLowerCase()}function Yi(e,t){return t&&t.hasAttribute("formaction")?t.getAttribute("formaction")||"":e.getAttribute("action")||e.action||location.href}function ul(e){let t=String(e||"").toLowerCase();return t==="multipart/form-data"?"multipart/form-data":t==="text/plain"?"text/plain":"application/x-www-form-urlencoded"}function Gi(e,t){return ul(t&&t.hasAttribute("formenctype")?t.getAttribute("formenctype"):e.getAttribute("enctype"))}function Ji(e,t){if(t==="multipart/form-data")return e;let n=new URLSearchParams;for(let[r,o]of e)n.append(r,typeof o=="string"?o:o.name);return n}function Xi(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 Qi(e){for(let t of e.composedPath())if(t instanceof HTMLAnchorElement)return t;return null}function Zi(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 qr(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===es)return null;let r=typeof document<"u"?document.getElementById(n):null;return r&&r.tagName&&r.tagName.toLowerCase()==="webjs-frame"?n:(Ae(`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 Zi(e)}function Ae(e,t,n="warn"){if(Or.has(e)||(Or.add(e),typeof console>"u"))return;let r=n==="error"?console.error:console.warn;r&&r.call(console,t)}function fl(e,t,n,r){if(typeof process<"u"&&process.env||!r.has(O))return;let o="";try{o=new URL(e.getAttribute("action")||location.href,location.href).pathname}catch{o=location.pathname}if(n!=="post"){Ae(`submit-nowhere:${o}:${n}`,`[webjs] this submission carries a bound server action's identity but submits as ${n.toUpperCase()}, which sends no body, so the identity rides the query string and the action never runs. A submitter's own formmethod overrides the form's, and WebJs honours it rather than refusing it, so check for a formmethod on the button that was pressed.`,"error");return}let i=t&&t.getAttribute("formenctype")||e.getAttribute("enctype")||"application/x-www-form-urlencoded";if(i.toLowerCase()==="text/plain"){Ae(`submit-nowhere:${o}:${i}`,`[webjs] this submission carries a bound server action's identity but declares enctype="${i}", which the server cannot parse. The router declines to send it so both paths behave the same way, and both are answered with a 405. Drop the enctype and let the binding supply it.`,"error");return}o&&o!==location.pathname&&Ae(`submit-elsewhere:${o}`,`[webjs] this submission carries a bound server action's identity but posts to "${o}" rather than this page, because the enclosing <form> declares its own action. A bound submitter emits no formaction, so the form's target wins, which is what native HTML does. The action runs only if "${o}" is a page route; against a route.ts or another origin the identity is ignored and nothing runs. Drop the form's action attribute to keep the submission on this page.`)}function ts(e,t){return!e&&!t&&typeof document<"u"&&document.readyState==="loading"}function ns(e,t,n,r){if(e!=="navigate"||!t||r&&r===n)return!1;try{return new URL(t).origin===new URL(n).origin}catch{return!1}}function dl(){if(typeof location>"u"||Ii)return;Ii=!0;let e=null;try{e=sessionStorage.getItem(cn),sessionStorage.removeItem(cn)}catch{}let t="";try{let n=performance.getEntriesByType("navigation")[0];t=n?n.type:""}catch{}ns(t,document.referrer,location.href,e)&&le("pre-boot-navigation",location.href,!1)}function le(e,t,n=!0){if(n)try{sessionStorage.setItem(cn,t)}catch{}if(typeof document<"u"&&typeof CustomEvent<"u")try{document.dispatchEvent(new CustomEvent("webjs:navigation-fallback",{detail:{cause:e,href:t,willReload:n}}))}catch{}typeof process<"u"&&process.env||Ae(`fallback:${e}`,n?`[webjs] client router fell back to a full page load (${e}) navigating to ${t}. This is correct (no DOM corruption), just not a soft nav.`:`[webjs] client router degraded a soft navigation (${e}) for ${t}, without a full page load.`)}function pl(e){typeof process<"u"&&process.env||Ae(`stream-drop:${e}`,`[webjs] dropped a streamed Suspense resolve for "${e}": no #${e} boundary in the DOM. Benign if this navigation was superseded or degraded. A stuck skeleton here means the shell swap did not place the boundary.`)}function Fi(){if(typeof process<"u"&&process.env||Lr||typeof document>"u"||typeof getComputedStyle!="function")return;let e=document.documentElement;if(!e)return;Lr=!0;let t;try{t=getComputedStyle(e).scrollBehavior}catch{return}t==="smooth"&&Ae("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 ln(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 We(e){let t=new Map,n=[],r=!1;function o(i){if(!r){if(i.nodeType===8){let s=i.data.trim();if(s.startsWith("wj:children:")){let a=s.slice(12),c=a.lastIndexOf(":");if(c<=0||c===a.length-1){r=!0;return}let l=a.slice(0,c),u=a.slice(c+1);if(t.has(l)||n.some(f=>f.segment===l)){r=!0;return}n.push({segment:l,routeKey:u,start:i});return}if(s.startsWith("/wj:children")){let a=s.slice(12).replace(/^:/,""),c=n.pop();if(!c||c.segment!==a){r=!0;return}if(c.start.parentNode!==i.parentNode){r=!0;return}{let l=c.start.parentNode.tagName;if(l==="TABLE"||l==="TBODY"||l==="THEAD"||l==="TFOOT"||l==="TR"){r=!0;return}}t.set(c.segment,{routeKey:c.routeKey,start:c.start,end:i});return}return}if(i.hasChildNodes&&i.hasChildNodes())for(let s=i.firstChild;s&&!r;s=s.nextSibling)o(s)}}return o(e),r||n.length>0?null:t}function rs(e,t){let n=[...e.keys()].filter(s=>t.has(s)).sort((s,a)=>s.length-a.length);if(n.length===0)return null;for(let s of n)if(e.get(s).routeKey!==t.get(s).routeKey){let a=null;for(let c of n){if(c===s)break;s.startsWith(c==="/"?c:c+"/")&&(a=c)}return a?{mode:"replace",segment:a,live:e.get(a),incoming:t.get(a)}:null}let r=n[n.length-1],o=s=>{let a=null;for(let c of s.keys())(a===null||c.length>a.length)&&(a=c);return a};return{mode:o(e)===r&&o(t)===r?"morph":"replace",segment:r,live:e.get(r),incoming:t.get(r)}}function os(e){let t=fe(e);document.dispatchEvent(new CustomEvent("webjs:before-cache",{detail:{url:e}})),R.has(t)&&R.delete(t);let n={html:document.documentElement.outerHTML,scrollX:typeof window<"u"&&window.scrollX||0,scrollY:typeof window<"u"&&window.scrollY||0};for(R.set(t,n);R.size>hl;){let r=R.keys().next().value;R.delete(r)}}function ml(e){let t=fe(e),n=R.get(t);return n==null?null:(R.delete(t),R.set(t,n),typeof n=="string"?{html:n,scrollX:0,scrollY:0}:n)}function fe(e){let t=new URL(e,location.href);return t.pathname+t.search}async function Wr(e,t,n){if(ts(t,n)&&typeof location<"u"){le("readyState-loading",e),_e(e);return}B&&B.abort(),B=new AbortController;let r=B.signal,o=++k;n||(ft+=1,q&&q(),D&&D()),G&&os(G);let i=setTimeout(()=>{ln(!0),i=null},150),s=null;t||(s=Gr());try{if(t){let a=ml(e);if(a){let c=Dr(a.html);if(c){Yr(c,n,!0,null);let l=()=>{};if(typeof window<"u"){let d=()=>{window.scrollTo({left:a.scrollX,top:a.scrollY,behavior:"instant"}),window.scrollY>=a.scrollY-1?l=Ui():cl(a.scrollY,a.scrollX)};if(Kr()&&typeof document.startViewTransition=="function"){let p=ft;mt.then(()=>{p!==ft||!te||d()}).catch(()=>{})}else d()}let u=dn(e,n,!1,s,"GET",null,r,o,!0).catch(()=>{}),f=new Promise(d=>setTimeout(d,Bi));Promise.all([u,f]).then(()=>ll(l));return}}typeof window<"u"&&window.scrollTo({left:0,top:0,behavior:"instant"})}await dn(e,n,!t,s,"GET",null,r,o)}finally{i&&clearTimeout(i),o===k&&(ln(!1),typeof location<"u"&&(G=location.href))}}async function bl(e,t,n,r,o){B&&B.abort(),B=new AbortController;let i=B.signal,s=++k;r||(ft+=1,q&&q(),D&&D());let a=t==="get"||t==="head",c=new URL(e,location.href);if(a){c.search="";for(let[p,m]of n)c.searchParams.append(p,typeof m=="string"?m:m.name)}G&&os(G);let l=setTimeout(()=>{ln(!0),l=null},150),u=Gr(),f=o?ms(o,s,c.href):null,d=!1;try{let p=await dn(c.href,r,!0,u,a?"GET":t.toUpperCase(),a?null:n,i,s);d=!!(p&&p.ok),!a&&s===k&&(R.clear(),S.clear())}finally{f&&bs(f,s,c.href,d),l&&clearTimeout(l),s===k&&(ln(!1),typeof location<"u"&&(G=location.href))}}function yt(){let e=We(document.body);return e?[...e.entries()].map(([t,n])=>`${t}:${n.routeKey}`).join(","):""}function Vr(){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 as(){try{if(typeof matchMedia=="function")return matchMedia("(hover: hover) and (pointer: fine)").matches}catch{}return!0}function Al(e){let t=e.getAttribute("rel");return t?t.toLowerCase().split(/\s+/).filter(Boolean):[]}function un(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||_n.test(n.pathname)?null:t}function cs(e){if(e.hasAttribute("data-no-prefetch"))return!0;let t=Al(e);return t.includes("external")||t.includes("no-prefetch")}function fn(e){if(cs(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 as()?"intent":"viewport"}}function Ve(e){if(!te||typeof fetch!="function"||Vr())return;let t=fe(e);if(typeof location<"u"&&t===fe(location.href)||we.has(t)||dt.has(t))return;let n=S.get(t);if(n&&Pr()-n.at<is)return;if(we.size>=ss){for(dt.add(t),Be.push(e);Be.length>gl;){let i=Be.shift();dt.delete(fe(i))}return}let r=yt();if(!r&&typeof document<"u"&&document.readyState==="loading")return;we.add(t);let o={"x-webjs-router":"1","x-webjs-prefetch":"1"};r&&(o["x-webjs-have"]=r),fetch(e,{method:"GET",headers:o,credentials:"same-origin",cache:"no-cache"}).then(async i=>{let s=i.headers.get("content-type")||"";if(!/^text\/html\b/i.test(s)||i.status>=400)return;let a=i.headers.get("x-webjs-build"),c=i.headers.get("x-webjs-src"),l=typeof document<"u"?document.querySelector('script[type="importmap"]'):null,u=l?l.getAttribute("data-webjs-build"):null,f=l?l.getAttribute("data-webjs-src"):null;(a&&u&&a!==u||c&&f&&c!==f)&&(R.clear(),S.clear());let d=i.redirected&&i.url?i.url:e,p=await i.text();vl(t,{html:p,build:a,src:c,finalUrl:d,at:Pr()})}).catch(()=>{}).finally(()=>{we.delete(t),Sl()})}function Sl(){for(;Be.length&&we.size<ss;){let e=Be.shift();dt.delete(fe(e)),Ve(e)}}function vl(e,t){for(S.has(e)&&S.delete(e),S.set(e,t);S.size>yl;){let n=S.keys().next().value;S.delete(n)}typeof document<"u"&&document.dispatchEvent(new CustomEvent("webjs:prefetch",{detail:{url:t.finalUrl,key:e,from:"prefetch"}}))}function ls(e){let t=/<!--wj:children:([^>]*?)-->/.exec(e||"");return t?t[1]:null}function us(e,t){let n=fe(e),r=S.get(n);if(!r)return null;if(Pr()-r.at>=is)return S.delete(n),null;let o=ls(r.html);return o&&!new Set(String(t??(yt()||"")).split(",").filter(Boolean)).has(o)?(S.delete(n),null):(S.delete(n),r)}function Pr(){try{if(typeof performance<"u"&&typeof performance.now=="function")return performance.now()}catch{}return 0}function He(e){if(!te)return;let t=ds(e.target);if(!t)return;let n=fn(t);if(n==="none"||n==="render")return;let r=un(t);if(r){if(e.type==="touchstart"){Ve(r);return}n==="intent"&&(pt===t&&Ue||(An(),pt=t,Ue=setTimeout(()=>{Ue=null,pt=null,Ve(r)},wl)))}}function fs(e){let t=ds(e.target);t&&t===pt&&An()}function An(){Ue&&(clearTimeout(Ue),Ue=null),pt=null}function zr(){for(let e of ht)clearTimeout(e);ht.clear(),$e=new WeakMap}function ds(e){let t=e;for(;t;){if(t instanceof HTMLAnchorElement)return t;let n=t.nodeType===1?t:null;if(n){let o=n.closest&&n.closest("a");if(o instanceof HTMLAnchorElement)return o}let r=t.getRootNode?t.getRootNode():null;t=r&&r.host?r.host:null}return null}function Mr(){if(typeof document>"u"||Vr())return;let e=typeof IntersectionObserver<"u";e&&(ue?(ue.disconnect(),zr()):ue=new IntersectionObserver(t=>{for(let n of t){let r=n.target;if(n.isIntersecting){if($e.has(r))continue;let o=setTimeout(()=>{ht.delete(o),$e.delete(r),ue.unobserve(r);let i=un(r);i&&fn(r)==="viewport"&&Ve(i)},_l);$e.set(r,o),ht.add(o)}else{let o=$e.get(r);o&&(clearTimeout(o),ht.delete(o),$e.delete(r))}}},{threshold:.5}));for(let t of document.querySelectorAll("a[href]")){let n=fn(t);if(n==="render"){let r=un(t);r&&Ve(r)}else n==="viewport"&&e&&ue.observe(t)}}function El(e){if(typeof document>"u"||!document.body)return!1;let t=We(document.body);if(!t)return!1;let n,r=-1;for(let[c,l]of t)c.length>r&&(r=c.length,n=l);if(!n)return!1;let o=n.start.parentNode;if(!o||n.start.parentNode!==n.end.parentNode)return!1;let i=document.createElement("div");i.setAttribute("role","alert"),i.setAttribute("data-webjs-nav-error","");let s=e?`This page could not be loaded. (status ${e})`:"This page could not be loaded.";i.textContent=s;let a=document.createRange();return a.setStartAfter(n.start),a.setEndBefore(n.end),a.deleteContents(),o.insertBefore(i,n.end),!0}function Rr(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||El(t)||typeof location<"u"&&(le("navigation-error-unrecoverable",e),_e(e))}async function dn(e,t,n,r,o,i,s,a,c){o=o||"GET";let l=typeof a=="number"?a:k,u,f=null,d=null,p=null,m=null,g=!1,b=e,y=t?ps(t,l):null;try{try{let w=o==="GET"&&!i&&!t?us(e,r?r.haveKeys:void 0):null;if(w)u=w.html,d=w.build,p=w.src,b=w.finalUrl,m=200,g=!0;else{let L={"x-webjs-router":"1"},Se=yt();Se&&(L["x-webjs-have"]=Se),t&&(L["x-webjs-frame"]=t),i!=null&&o!=="GET"&&o!=="HEAD"&&(L.accept=Mi+", text/html");let ve={method:o,headers:L,credentials:"same-origin",cache:"no-cache"};s&&(ve.signal=s),i!=null&&o!=="GET"&&o!=="HEAD"&&(ve.body=i);let E=await fetch(e,ve);m=E.status,g=E.ok;let ze=xr(E.headers.get("x-webjs-invalidate"));ze.length&&kr(ze);let x=E.headers.get("content-type")||"",Cs=/^text\/html\b/i.test(x);if(x.toLowerCase().indexOf(Mi)===0){let Ns=await E.text();return l===k&&(ut(r),Sr(Ns)),{ok:g,status:m,aborted:!1}}if(E.redirected&&E.url&&(b=E.url),E.status===204||E.status===205)return l===k&&n&&history.pushState(null,"",b),{ok:g,status:m,aborted:!1};if(!Cs)return l===k&&(ut(r),Rr(e,E.status,null)),{ok:!1,status:m,aborted:!1};d=E.headers.get("x-webjs-build"),p=E.headers.get("x-webjs-src");let Cn=await _s(E);u=Cn.shell,Cn.streaming&&(f=Cn)}}catch(w){return w&&w.name==="AbortError"?{ok:!1,status:null,aborted:!0}:l!==k?{ok:!1,status:null,aborted:!0}:(ut(r),Rr(e,null,w instanceof Error?w:new Error(String(w))),{ok:!1,status:null,aborted:!1})}if(l!==k){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:!1,status:m,aborted:!0}}let h=Dr(u);if(!h)return ut(r),Rr(e,null,new Error("navigation response did not parse as HTML")),{ok:!1,status:m,aborted:!1};if(Yr(h,t,!!c,b,d,p)==="discard"){if(f&&f.reader)try{f.reader.cancel()}catch{}return{ok:g,status:m,aborted:!1}}if(n&&history.pushState(null,"",b),n){let w=new URL(b);if(w.hash){let L=document.getElementById(w.hash.slice(1));L?L.scrollIntoView():(Fi(),window.scrollTo({left:0,top:0,behavior:"instant"}))}else Fi(),window.scrollTo({left:0,top:0,behavior:"instant"})}return f&&(f.reader||f.rest)&&mt.then(()=>vs(f.reader,f.dec,f.rest,()=>l===k)),document.dispatchEvent(new CustomEvent("webjs:navigate",{detail:{url:b,frameId:t,from:"navigate"}})),{ok:g,status:m,aborted:!1}}finally{y&&hs(y,l)}}function ps(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=pn.has(n);return pn.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 hs(e,t){if(pn.get(e)!==t)return;pn.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 ms(e,t,n){let r=hn.has(e);return hn.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 bs(e,t,n,r){if(hn.get(e)!==t)return;hn.delete(e),e.setAttribute("aria-busy","false");let o=new CustomEvent("webjs:submit-end",{bubbles:!0,detail:{form:e,url:n,ok:!!r}});e.isConnected?e.dispatchEvent(o):typeof document<"u"?document.dispatchEvent(o):e.dispatchEvent(o)}function $i(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+=ee(r);return n}function Kr(){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 on(e,t){let n=typeof document<"u"?document.startViewTransition:void 0;if(Kr()&&typeof n=="function"){let r=n.call(document,e);return r&&r.finished&&typeof r.finished.then=="function"?r.finished.then(()=>{t&&t()}).catch(()=>{}):t&&t(),r&&r.updateCallbackDone&&typeof r.updateCallbackDone.then=="function"?r.updateCallbackDone.catch(()=>{}):Promise.resolve()}return e(),t&&t(),Promise.resolve()}function ys(e,t){if(!e||!t||typeof e.querySelectorAll!="function")return;let n=e.querySelectorAll("[data-webjs-permanent][id]");for(let r of n){let o=r.id;if(!o)continue;let i=null;try{i=t.querySelector(`#${CSS.escape(o)}`)}catch{i=null}if(!i||!r.hasAttribute||!r.hasAttribute("data-webjs-permanent"))continue;let s=i.parentNode;s&&i!==r&&(s.replaceChild(r,i),bt.add(r))}}function Sn(e,t){let n=[];for(let r of e){if(r.nodeType!==1)continue;let o=r;if(o.hasAttribute&&o.hasAttribute("data-webjs-permanent")&&o.id&&n.push(o),typeof o.querySelectorAll=="function")for(let i of o.querySelectorAll("[data-webjs-permanent][id]"))n.push(i)}if(n.length)for(let r of n){let o=r.id;if(!o)continue;let i=Cl(t,o);if(!i||i===r)continue;let s=i.parentNode;if(s)s.replaceChild(r,i),bt.add(r);else{let a=t.indexOf(i);a!==-1&&(t[a]=r,bt.add(r))}}}function Cl(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 o=null;try{o=r.querySelector(`#${CSS.escape(t)}`)}catch{o=null}if(o)return o}}return null}function Nl(e){if(!(!e||!e.start))for(let t=e.start.nextSibling;t&&t!==e.end;t=t.nextSibling)t.nodeType===1&&De(t)}function Yr(e,t,n,r,o,i){let s=!1,a=()=>{if(!s){s=!0;try{tn(e,{frame:!!t})}catch{}}};try{for(let p of e.querySelectorAll("[data-wj-host]"))p.setAttribute("data-wj-serialized","")}catch{}try{typeof sessionStorage<"u"&&(!r||t||n)&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}if(r&&!t&&!n){let p=document.querySelector('script[type="importmap"]'),m=p?p.getAttribute("data-webjs-build"):null,g=!1;if(o&&m&&(g=o!==m),!g&&e.head&&e.head.children.length>0){let b=$i(document),y=$i(e);b!==y&&(g=!0)}if(g&&typeof location<"u"){R.clear(),S.clear();try{let b="webjs:importmap-reload";if(sessionStorage&&sessionStorage.getItem(b))sessionStorage.removeItem(b),le("deploy-mismatch-reload-suppressed",r,!1);else{sessionStorage&&sessionStorage.setItem(b,"1"),le("deploy-mismatch",r),_e(r);return}}catch{le("deploy-mismatch",r),_e(r);return}}else if(!g){let b=p?p.getAttribute("data-webjs-src"):null;i&&b&&i!==b&&(R.clear(),S.clear(),p&&p.setAttribute("data-webjs-src",i));try{typeof sessionStorage<"u"&&sessionStorage.removeItem("webjs:importmap-reload")}catch{}}}if(t){a();let p=document.querySelector(`webjs-frame#${CSS.escape(t)}`),m=e.querySelector(`webjs-frame#${CSS.escape(t)}`);if(p&&m){$r(e.head),mt=on(()=>{Pl(p,m),wn(p),De(p),Di(e.body),sn()},()=>De(p));return}let g=new CustomEvent("webjs:frame-missing",{bubbles:!0,cancelable:!0,detail:{frameId:t,url:r||(typeof location<"u"?location.href:null),document:e}});(p||document).dispatchEvent(g),g.defaultPrevented||console.warn(`[webjs] frame "${t}" was not in the navigation response, leaving it unchanged. Handle "webjs:frame-missing" (preventDefault) to override.`);return}let c=We(document.body),l=We(e.body),u=c&&l?rs(c,l):null;if(u){a();let{mode:p,live:m,incoming:g}=u;$r(e.head),mt=on(()=>{p==="replace"?kl(m,g):xl(m,g,e),Ol(m.start,g.start),Di(e.body),sn()},()=>Nl(m));return}if(r&&!n&&typeof location<"u"){le(c?l?"no-shared-boundary":"incoming-boundaries-malformed":"live-boundaries-malformed",r),_e(r);return}if(r&&n)return le("revalidation-discarded",r,!1),"discard";a(),ws(e.head),ys(document.body,e.body);let f=[...e.body.childNodes];mt=on(()=>{document.body.replaceChildren(...f),wn(document.body),De(document.body),sn()},()=>De(document.body))}function sn(){let e=document.activeElement;!e||e===document.body||e===document.documentElement||typeof e.blur=="function"&&e.blur()}function kl(e,t){let n=e.start.parentNode;if(!n)return;let r=[];for(let i=e.start.nextSibling;i&&i!==e.end;i=i.nextSibling)r.push(i);let o=[];for(let i=t.start.nextSibling;i&&i!==t.end;i=i.nextSibling)o.push(document.importNode(i,!0));Sn(r,o);for(let i of r)i.parentNode===n&&n.removeChild(i);for(let i of o)n.insertBefore(i,e.end);Qr(e)}function xl(e,t,n){if(!e||!t)return;let r=e.start.parentNode;if(!r)return;let o=[];for(let s=e.start.nextSibling;s&&s!==e.end;s=s.nextSibling)o.push(s);let i=[];for(let s=t.start.nextSibling;s&&s!==t.end;s=s.nextSibling)i.push(document.importNode(s,!0));Sn(o,i),Tl(r,e.start,e.end,o,i),Qr(e)}function Tl(e,t,n,r,o){let i=new Map;for(let c of r){if(c.nodeType!==1)continue;let l=qe(c);l&&i.set(l,c)}let s=n,a=[];for(let c of o){if(c.nodeType===1){let l=qe(c);if(l&&i.has(l)){let u=i.get(l);mn(u,c),a.push(u),i.delete(l);continue}}a.push(c)}for(let c of r)if(c.parentNode===e){if(c.nodeType===1&&a.includes(c))continue;e.removeChild(c)}for(let c of a)e.insertBefore(c,s)}function mn(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),!Ir.has(r.name)&&r.name!=="data-wj-serialized"&&e.getAttribute(r.name)!==r.value&&e.setAttribute(r.name,r.value);for(let r of[...e.attributes])Ir.has(r.name)||n.has(r.name)||e.removeAttribute(r.name);if(jl(e)){Ll(e,t);return}vn(e,t)}function jl(e){let t=e;return t[Symbol.for("webjs.instance")]!=null||t[v]!=null}function Rl(e,t){for(let n=e.parentElement;n&&n!==t;n=n.parentElement)if(n.tagName.includes("-"))return!1;return!0}function bn(e){let t=new Map,n=`slot[${N}][${I}="${V}"]`;for(let r of e.querySelectorAll(n)){let o=r;if(!Rl(o,e)||qo(e,o))continue;let i=!1;for(let a=o.parentElement;a&&a!==e;a=a.parentElement)if(a.tagName==="SLOT"&&a.hasAttribute(N)&&a.getAttribute(I)===V){i=!0;break}if(i)continue;let s=H(o.getAttribute("name"));t.has(s)||t.set(s,o)}return t}function Ol(e,t){let n=e.parentNode;if(!n||n.nodeType!==1)return;let r=n;if(r.tagName!=="SLOT"||!r.hasAttribute(N))return;let o=null;for(let f=r.parentElement;f;f=f.parentElement){if(f[v]){o=f;break}if(f.tagName.includes("-"))return}if(!o)return;let i=H(r.getAttribute("name"));me(o,i,[...r.childNodes]);let s=t.parentNode;if(!s||s.nodeType!==1)return;let a=s;if(a.tagName!=="SLOT")return;let c=null;for(let f=a.parentElement;f;f=f.parentElement)if(f.tagName.includes("-")){c=f;break}if(!c||c.tagName!==o.tagName)return;let l=bn(o),u=bn(c);for(let f of new Set([...l.keys(),...u.keys()])){if(f===i)continue;let d=u.get(f);d?me(o,f,[...d.childNodes].map(p=>document.importNode(p,!0))):l.get(f)&&me(o,f,null)}}function Ll(e,t){if(!e[v])return;let n=bn(e),r=bn(t);if(n.size===0&&r.size===0)return;let o=new Set([...n.keys(),...r.keys()]);for(let i of o){let s=n.get(i),a=r.get(i);s&&a?(vn(s,a),me(e,i,[...s.childNodes])):a?me(e,i,[...a.childNodes].map(c=>document.importNode(c,!0))):me(e,i,null)}}function vn(e,t){let n=[...e.childNodes],r=[...t.childNodes].map(a=>document.importNode(a,!0));Sn(n,r);let o=new Map;for(let a of n){if(a.nodeType!==1)continue;let c=qe(a);c&&o.set(c,a)}let i=[];for(let a=0;a<r.length;a++){let c=r[a];if(c.nodeType===1){let l=qe(c);if(l&&o.has(l)){let f=o.get(l);mn(f,c),i.push(f),o.delete(l);continue}let u=n[a];if(u&&u.nodeType===1&&!qe(u)&&u.tagName===c.tagName){mn(u,c),i.push(u);continue}}else if(c.nodeType===3){let l=n[a];if(l&&l.nodeType===3){l.nodeValue!==c.nodeValue&&(l.nodeValue=c.nodeValue),i.push(l);continue}}else if(c.nodeType===8){let l=n[a];if(l&&l.nodeType===8){l.nodeValue!==c.nodeValue&&(l.nodeValue=c.nodeValue),i.push(l);continue}}i.push(c)}let s=new Set(i);for(let a of n)!s.has(a)&&a.parentNode===e&&e.removeChild(a);for(let a=0;a<i.length;a++){let c=i[a];(c.parentNode!==e||e.childNodes[a]!==c)&&e.insertBefore(c,e.childNodes[a]||null)}}function qe(e){let t=e.getAttribute("data-key");return t?`${e.tagName}:k:${t}`:e.id?`${e.tagName}:i:${e.id}`:null}function Gr(){let e=We(document.body);if(!e||e.size===0)return null;let t=[...e.keys()].sort((c,l)=>l.length-c.length),n=null,r=null;for(let c of t){let l=document.getElementById(`wj-loading:${c}`);if(l instanceof HTMLTemplateElement){n=c,r=l;break}}if(n===null||r===null)return null;let o=e.get(n),i=yt(),s=[];for(let c=o.start.nextSibling;c&&c!==o.end;c=c.nextSibling)s.push(c);let a=document.createRange();return a.setStartAfter(o.start),a.setEndBefore(o.end),a.deleteContents(),o.start.parentNode.insertBefore(r.content.cloneNode(!0),o.end),{slot:o,oldChildren:s,token:k,haveKeys:i}}function ut(e){if(!e||e.token!==k)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 o of n)t.start.parentNode.insertBefore(o,t.end)}function Pl(e,t){vn(e,t)}function gs(){if(typeof document>"u")return"";let e=document.querySelector('meta[name="csp-nonce"]');return e&&e.getAttribute("content")||""}function yn(e){let t=document.createElement("script");for(let r of e.attributes)r.name!=="nonce"&&t.setAttribute(r.name,r.value);let n=gs();return n&&t.setAttribute("nonce",n),t.textContent=e.textContent,t}function Jr(e){if(!e.hasAttribute("nonce"))return e.cloneNode(!0);let t=e.cloneNode(!0),n=gs();return n?t.setAttribute("nonce",n):t.removeAttribute("nonce"),t}function ee(e){if(!e.hasAttribute("nonce"))return e.outerHTML;let t=e.cloneNode(!0);return t.removeAttribute("nonce"),t.outerHTML}function gn(e){let t=e.getAttribute("name");if(t)return"name="+t;let n=e.getAttribute("property");if(n)return"property="+n;let r=e.getAttribute("http-equiv");return r?"http-equiv="+r:e.hasAttribute("charset")?"charset":null}function Ml(e){if(!e.querySelector("meta"))return;let t=o=>{let i=new Map;for(let s of o.querySelectorAll("meta")){let a=gn(s);if(!a||a===Fr)continue;let c=i.get(a);c?c.push(s):i.set(a,[s])}return i},n=t(e),r=t(document.head);for(let[o,i]of n){let s=r.get(o)||[],a=i.map(ee).join(`
|
|
2
2
|
`),c=s.map(ee).join(`
|
|
3
|
-
`);if(a!==c){if(i.length===1&&s.length===1){let l=s[0];for(let u of[...l.attributes])l.removeAttribute(u.name);for(let u of i[0].attributes)l.setAttribute(u.name,u.value);continue}for(let l of s)l.remove();for(let l of i)document.head.appendChild(
|
|
4
|
-
`),n.appendChild(r)}}function
|
|
5
|
-
`)}</style>`}Tn();gt();Ge();var _o=Symbol.for("webjs.repeat");function Ao(e,t,n){return{[_o]:!0,items:[...e],keyFn:t,templateFn:n}}function _t(e){return!!e&&typeof e=="object"&&e[_o]===!0}function Bs(e){return{_$webjs:"unsafe-html",value:String(e??"")}}function Pn(e){return!!e&&typeof e=="object"&&e._$webjs==="unsafe-html"}function Us(e){return{_$webjs:"live",value:e}}function At(e){return!!e&&typeof e=="object"&&e._$webjs==="live"}function Hs(e,t){return{_$webjs:"keyed",key:e,value:t}}function St(e){return!!e&&typeof e=="object"&&e._$webjs==="keyed"}function qs(e,t){return{_$webjs:"guard",deps:e,fn:t}}function vt(e){return!!e&&typeof e=="object"&&e._$webjs==="guard"}function Ws(e){return{_$webjs:"template-content",template:e}}function Mn(e){return!!e&&typeof e=="object"&&e._$webjs==="template-content"}function Vs(e){return{_$webjs:"ref",target:e}}function Et(e){return!!e&&typeof e=="object"&&e._$webjs==="ref"}function Ks(){return{value:void 0}}function zs(e){return{_$webjs:"cache",value:e}}function Ct(e){return!!e&&typeof e=="object"&&e._$webjs==="cache"}function Ys(...e){return{_$webjs:"until",args:e}}function kt(e){return!!e&&typeof e=="object"&&e._$webjs==="until"}function Gs(e,t){return{_$webjs:"async-append",iterable:e,mapper:t}}function In(e){return!!e&&typeof e=="object"&&e._$webjs==="async-append"}function Js(e,t){return{_$webjs:"async-replace",iterable:e,mapper:t}}function Fn(e){return!!e&&typeof e=="object"&&e._$webjs==="async-replace"}function Xs(e){return{_$webjs:"watch",signal:e}}function Nt(e){return!!e&&typeof e=="object"&&e._$webjs==="watch"}var U=null,re=!1,Ce=0,Ee=null,$n=0,So=(e,t)=>Object.is(e,t),Tt=()=>{},vo=()=>!1;function Eo(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)Eo(r,e);if(e.watched)try{e.watched.call(e.wrapper)}catch(r){console.error(r)}}}function Je(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)Je(n,e);if(e.unwatched)try{e.unwatched.call(e.wrapper)}catch(n){console.error(n)}}}function Wn(e){if(re)throw new Error("Signal read during notification phase");if(U===null)return;let t=U,n=t.nextProducerIndex++;n<t.producers.length&&t.producers[n]!==e&&Un(t)&&Je(t.producers[n],t),t.producers[n]!==e&&(t.producers[n]=e,Un(t)&&Eo(e,t)),t.producerLastReadVersions[n]=e.version}function Un(e){return e.consumerIsAlwaysLive||e.liveConsumers&&e.liveConsumers.size>0}function Co(e){if(!e.liveConsumers||e.liveConsumers.size===0)return;let t=re;re=!0;try{for(let n of e.liveConsumers)n.dirty||Qs(n)}finally{re=t}}function Qs(e){e.dirty=!0,Co(e),e.consumerMarkedDirty.call(e.wrapper||e)}function jt(e){if(!(!e.dirty&&e.lastCleanEpoch===Ce)){if(!e.producerMustRecompute()&&!Zs(e)){e.dirty=!1,e.lastCleanEpoch=Ce;return}e.producerRecomputeValue(),e.dirty=!1,e.lastCleanEpoch=Ce}}function Zs(e){for(let t=0;t<e.producers.length;t++){let n=e.producers[t],r=e.producerLastReadVersions[t];if(r!==n.version||(jt(n),r!==n.version))return!0}return!1}function Hn(e){e&&(e.nextProducerIndex=0);let t=U;return U=e,t}function qn(e,t){if(U=t,!!e){if(Un(e))for(let n=e.nextProducerIndex;n<e.producers.length;n++)Je(e.producers[n],e);for(;e.producers.length>e.nextProducerIndex;)e.producers.pop(),e.producerLastReadVersions.pop()}}var Rt=class{constructor(t,n){this.__value=t,this.version=0,this.lastCleanEpoch=Ce,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.liveConsumers=void 0,this.consumerAllowSignalWrites=!0,this.consumerIsAlwaysLive=!1,this.producerMustRecompute=vo,this.producerRecomputeValue=Tt,this.consumerMarkedDirty=Tt,this.wrapper=this,this.__isSignal=!0,this.__equal=n?.equals||So,this.watched=n?.[Vn],this.unwatched=n?.[Kn]}get(){return Wn(this),this.__value}peek(){return this.__value}set(t){if(re)throw new Error("Signal write during notification phase");this.__equal.call(this,this.__value,t)||(this.__value=t,this.version++,Ce++,Ee!==null?ko(this):Co(this))}};function ko(e){let t=re;re=!0;try{if(!e.liveConsumers)return;for(let n of e.liveConsumers)n.dirty||(n.dirty=!0,n.__isWatcher?Ee.add(n):ko(n))}finally{re=t}}var Dn=Symbol("unset"),Bn=Symbol("computing"),xt=Symbol("errored"),Xe=class{constructor(t,n){this.__fn=t,this.__value=Dn,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||So,this.watched=n?.[Vn],this.unwatched=n?.[Kn];let r=this;this.producerMustRecompute=function(){return r.__value===Dn||r.__value===Bn},this.producerRecomputeValue=function(){if(r.__value===Bn)throw new Error("Detected cycle in computations.");let o=r.__value;r.__value=Bn;let i=Hn(r),s,a=!1;try{s=r.__fn.call(r.wrapper)}catch(l){s=xt,r.__error=l,a=!0}finally{qn(r,i)}if(!a&&(o!==Dn&&o!==xt)&&r.__equal.call(r.wrapper,o,s)){r.__value=o;return}r.__value=s,r.version++},this.consumerMarkedDirty=Tt}get(){if(jt(this),Wn(this),this.__value===xt)throw this.__error;return this.__value}peek(){if(jt(this),this.__value===xt)throw this.__error;return this.__value}},Ot=class{constructor(t){this.__notify=t,this.version=0,this.lastCleanEpoch=Ce,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!0,this.producerMustRecompute=vo,this.producerRecomputeValue=Tt,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=Hn(this);try{for(let r of t)Wn(r),r.__isComputed&&jt(r)}finally{qn(this,n)}this.dirty=!1}unwatch(...t){for(let n=this.producers.length-1;n>=0;n--)t.includes(this.producers[n])&&(Je(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=Hn(this),r;try{r=t()}finally{qn(this,n)}return this.dirty=!1,r}dispose(){for(let t of this.producers)Je(t,this);this.producers=[],this.producerLastReadVersions=[],this.__notify=null}},Vn=Symbol("watched"),Kn=Symbol("unwatched");function ea(e){let t=U;U=null;try{return e()}finally{U=t}}function ta(e){return e.producers.slice()}function na(e){return e.liveConsumers?[...e.liveConsumers]:[]}function ra(e){return!!e.liveConsumers&&e.liveConsumers.size>0}function oa(e){return e.producers.length>0}function ia(){return U&&U.__isComputed?U:null}function sa(e){$n++,Ee===null&&(Ee=new Set);try{e()}finally{if($n--,$n===0){let t=Ee;Ee=null;for(let n of t)n.__fire()}}}var Qe={State:Rt,Computed:Xe,subtle:{Watcher:Ot,untrack:ea,introspectSources:ta,introspectSinks:na,hasSinks:ra,hasSources:oa,currentComputed:ia,watched:Vn,unwatched:Kn}};function aa(e,t){return new Rt(e,t)}function ca(e,t){return new Xe(e,t)}function la(e){return!!(e&&typeof e=="object"&&e.__isSignal===!0)}function ua(e){let t=!1,n=!1,r=new Xe(e),o=new Ot(()=>{t||n||(t=!0,queueMicrotask(()=>{if(t=!1,!n){try{r.get()}catch(i){console.error(i)}o.watch()}}))});o.watch(r);try{r.get()}catch(i){console.error(i)}return()=>{n||(n=!0,o.dispose())}}Bt();function Jo(e,t){let n=e&&e[v]?e:null;return n?Ft(n,t):t()}var cr=new WeakMap,lr=new WeakMap,Ut=Symbol.for("webjs.instance"),M=null;function Wt(e){return e?e.nodeType===11&&e.host?e.host:e:null}function fr(e,t){let n=e.__commitOwner,r=M;n&&(M=n);try{t()}finally{M=r}}function Oe(e,t){let n=t,r=n[T];n[T]=!0;let o=M;M=t;try{let i=n[Ut];if(P(e)){let s=e;if(i&&i.strings===s.strings){je(i,s.values);return}i&&Go(i,t);let a=t.firstChild;a&&a.nodeType===8&&a.data==="webjs-hydrate"&&a.remove(),n[Ut]=null;let c=Oa(s,t);n[Ut]=c;return}if(i&&Go(i,t),n[Ut]=null,t.replaceChildren(),e==null||e===!1||e===!0)return;if(Array.isArray(e)){for(let s of e){let a=document.createTextNode(String(s??""));t.appendChild(a)}return}t.appendChild(document.createTextNode(String(e)))}finally{M=o,n[T]=r,r||ar(n)}}function Vt(e){let{strings:t}=e,n=cr.get(t);if(n)return n;let r=[],o="",i="text",s="",a=0,c="",l=0,u=null,f="",d="";for(let g=0;g<t.length;g++){let b=t[g];for(let y=0;y<b.length;y++){let h=b[y];switch(i){case"text":o+=h,h==="<"&&(i="tag-open");break;case"tag-open":o+=h,h==="!"?i="bang-1":h==="/"?(i="tag-name",f=""):/[a-zA-Z]/.test(h)?(i="tag-name",f=h.toLowerCase()):i="text";break;case"bang-1":o+=h,i=h==="-"?"bang-dash":"tag-name";break;case"bang-dash":o+=h,h==="-"?(i="comment",l=0):i="tag-name";break;case"comment":o+=h,h==="-"?l+=1:(h===">"&&l>=2&&(i="text"),l=0);break;case"tag-name":o+=h,h===">"?(i=f==="script"||f==="style"?"rawtext":"text",i==="rawtext"&&(d="")):/\s/.test(h)?i="in-tag":f+=h.toLowerCase();break;case"in-tag":o+=h,h===">"?(i=f==="script"||f==="style"?"rawtext":"text",i==="rawtext"&&(d="")):!/\s/.test(h)&&h!=="/"&&(i="attr-name",s=h,a=o.length-1);break;case"rawtext":o+=h,d=(d+h.toLowerCase()).slice(-9),(d.endsWith("<\/script>")||d.endsWith("</style>"))&&(i="text",d="",f="");break;case"attr-name":h==="="?(i="after-eq",o+=h):/\s/.test(h)?(i="in-tag",s="",o+=h):h===">"?(i="text",s="",o+=h):(s+=h,o+=h);break;case"after-eq":h==='"'||h==="'"?(i="attr-quoted",c=h,o+=h):/\s/.test(h)?(i="in-tag",s="",o+=h):h===">"?(i="text",s="",o+=h):(i="attr-unquoted",o+=h);break;case"attr-unquoted":/\s/.test(h)?(i="in-tag",s="",o+=h):(h===">"&&(i="text",s=""),o+=h);break;case"attr-quoted":o+=h,h===c&&(i="in-tag",s="");break;case"skip-attr":if(h===c){if(u){let W=u.firstPartIdx,w=[];for(let x=W;x<r.length;x++)(r[x].kind==="noop"||r[x].kind==="attr-mixed")&&w.push(x);let L=[],Se=t[w[0]],ve=Se.lastIndexOf(c);L.push(ve>=0?Se.slice(ve+1):Se);for(let x=1;x<w.length;x++)L.push(t[w[x]]);let E=t[w[w.length-1]+1],Ve=E.indexOf(c);L.push(Ve>=0?E.slice(0,Ve):E),r[W]={kind:"attr-mixed",path:[],name:u.name,statics:L,group:w};for(let x=1;x<w.length;x++)r[w[x]]={kind:"noop",path:[],mixedAnchor:W};u=null}i="in-tag",s=""}break}}if(g<t.length-1){let y=r.length;if(i==="comment"){l=0,r.push({kind:"noop",path:[]});continue}if(i==="rawtext"){d="",r.push({kind:"noop",path:[]});continue}if(i==="text")o+=`<!--${C}${y}-->`,r.push({kind:"child",path:[]});else if(i==="in-tag"){let h=`data-${C}${y}`;o+=`${h}=""`,r.push({kind:"element",path:[]})}else if(i==="after-eq"){let h=s[0],W=s.slice(1);if(Ke(h)){o=o.slice(0,a);let w=xn[h],L=`data-${C}${y}`;o+=`${L}=""`,r.push({kind:w,path:[],name:W})}else{o=o.slice(0,a);let w=`data-${C}${y}`;o+=`${w}=""`,r.push({kind:"attr",path:[],name:s})}i="in-tag",s=""}else if(i==="attr-quoted"||i==="attr-unquoted"){o=o.slice(0,a);let h=`data-${C}${y}`;o+=`${h}=""`,u={name:s,firstPartIdx:y},r.push({kind:"noop",path:[]}),i="skip-attr"}else i==="skip-attr"&&r.push({kind:"noop",path:[]})}}let p=document.createElement("template");p.innerHTML=o,Na(p.content,r);let m=xa(p.content,r);return n={templateEl:p,parts:r,formActions:m},cr.set(t,n),n}function Na(e,t){let n=e.querySelectorAll("slot");for(let r of n){r.setAttribute(k,"");let o=t.length;r.setAttribute(`data-${C}${o}`,""),t.push({kind:"slot",path:[]})}}function xa(e,t){let n=[],r=[];function o(i){for(let s=0;s<i.childNodes.length;s++){let a=i.childNodes[s];if(n.push(s),a.nodeType===8){let c=a.data;if(c.startsWith(C)){let l=Number(c.slice(C.length));t[l]&&t[l].kind==="child"&&(t[l].path=n.slice())}}else if(a.nodeType===1){let c=a,l=[],u=[];for(let f of c.attributes)if(f.name.startsWith(`data-${C}`)){let d=Number(f.name.slice(`data-${C}`.length));t[d]&&t[d].kind!=="child"&&(t[d].path=n.slice(),u.push({idx:d,kind:t[d].kind,name:t[d].name||""})),l.push(f.name)}if(c.localName==="form"||c.localName==="button"||c.localName==="input"){let f=Ta(c,u,t);f&&r.push(f)}for(let f of l)c.removeAttribute(f);o(a)}n.pop()}}return o(e),r.length?r:null}function Ta(e,t,n){let r=e.localName==="form",o=r?"action":"formaction",i=r?"method":"formmethod",s=r?"enctype":"formenctype",a=t.filter(b=>b.kind==="attr"&&b.name.toLowerCase()===o);if(!a.length)return null;let c=[],l=[],u=[],f=r?[]:t.filter(b=>b.name.toLowerCase()==="name"&&(b.kind==="attr"||b.kind==="attr-mixed"||b.kind==="bool")).map(b=>({i:b.idx,kind:b.kind})),d=!r&&e.hasAttribute("name"),p=!r&&e.hasAttribute("form"),m=!r&&e.hasAttribute("value"),g=r?[]:t.filter(b=>b.name.toLowerCase()==="value"&&(b.kind==="attr"||b.kind==="attr-mixed"||b.kind==="bool")).map(b=>({i:b.idx,kind:b.kind}));for(let b of t){let y=String(b.name).toLowerCase();if(b.kind==="prop"){r?(y==="method"||y==="enctype"||y==="encoding")&&u.push(b.name):On(y)&&u.push(b.name);continue}if(y!==i&&y!==s||b.kind!=="attr"&&b.kind!=="attr-mixed"&&b.kind!=="bool")continue;let h=n[b.idx],W={i:b.idx,kind:b.kind};b.kind==="attr-mixed"&&(W.statics=h.statics||[],W.group=h.group||[]),(y===i?c:l).push(W)}return{isForm:r,tag:e.localName,actionIdxs:a.map(b=>b.idx),duplicateAction:a.length>1,staticAction:e.getAttribute(o)!=null,authoredName:d,authoredValue:m,authoredForm:p,propAttrs:u,nameParts:f,valueParts:g,staticMethod:e.getAttribute(i),staticEnctype:e.getAttribute(s),methodParts:c,enctypeParts:l}}function rt(e,t,n){if(e)for(let r of[!0,!1])for(let o of e){if(o.isForm!==r)continue;let i=o.actionIdxs[0],s=o.isForm?"action":"formaction";for(let l of o.actionIdxs)if(Rn(Te(n[l]),s,o.tag)){i=l;break}let a=t[i];if(!a||!a.el)continue;let c=Te(n[i]);if(o.isForm)go(a.el,c,Ht(o.methodParts,o.staticMethod,n),Ht(o.enctypeParts,o.staticEnctype,n),o);else{let l=u=>u.some(f=>f.kind==="bool"?!!Te(n[f.i]):!0);Ra(a.el,c,o,l(o.nameParts),l(o.valueParts),Ht(o.methodParts,o.staticMethod,n),Ht(o.enctypeParts,o.staticEnctype,n))}}}function ja(e){(lr.has(e)||e.getAttribute("name")===O)&&(e.getAttribute("name")===O&&e.removeAttribute("name"),e.removeAttribute("value"),lr.delete(e))}function Ra(e,t,n,r,o,i,s){let a=typeof t=="function"?jn(t):null;if(!a){typeof t=="function"&&Ln(null,e.localName),ja(e),wo(e,i,s,n.propAttrs);return}po(n.duplicateAction,e.localName),ho(n.propAttrs,e.localName),n.staticAction&&uo(e.localName),(n.authoredValue||o)&&lo(e.localName),(n.authoredName||r)&&ao(e.getAttribute("name")||O,e.localName,!1),(n.authoredForm||e.hasAttribute("form"))&&fo(e.localName),co(e.localName,e.getAttribute("type"));let c=yo(e.localName,i,s);e.removeAttribute("formaction"),e.setAttribute("name",O),e.setAttribute("value",a),ze(e,"formmethod",i,c.formMethod),ze(e,"formenctype",s,c.formEnctype),lr.set(e,a)}function Oa(e,t){let{templateEl:n,parts:r,formActions:o}=Vt(e),i=n.content.cloneNode(!0),s=document.createComment(`${C}s`),a=document.createComment(`${C}e`),c=r.map(f=>Kt(f,i)),l=[];for(let f=0;f<e.values.length;f++)z(c[f],e.values[f],void 0,e.values),l.push(e.values[f]);rt(o,c,e.values),t.replaceChildren(s,...i.childNodes,a);let u=t.nodeType===1&&t[v]?t:null;for(let f of c)f.kind==="slot"&&(u&&f.slotEl&&(f.slotEl[It]=u),z(f,void 0,void 0,[]));return{strings:e.strings,bound:c,lastValues:l,startNode:s,endNode:a}}function Kt(e,t){if(e.kind==="noop")return{kind:"noop",mixedAnchor:e.mixedAnchor};let n=t;for(let o of e.path)n=n.childNodes[o];if(e.kind==="child")return{kind:"child",marker:n};let r=n;if(e.kind==="event"){let o={kind:"event",el:r,name:e.name||"",handler:null,dispatcher(i){o.handler?.(i)}};return r.addEventListener(o.name,o.dispatcher),o}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}`)}var Yo=Symbol("webjs.commitFailed");function je(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(Object.is(r,e.lastValues[n]))continue;let o=e.bound[n],i=o.mixedAnchor;try{o.kind==="noop"&&i!=null?z(e.bound[i],t[i],e.lastValues[i],t):z(o,r,e.lastValues[n],t)}catch(s){throw e.lastValues[n]=Yo,o.kind==="noop"&&i!=null&&(e.lastValues[i]=Yo),s}e.lastValues[n]=r}rt(cr.get(e.strings)?.formActions??null,e.bound,t)}function Go(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 if(typeof r=="object")try{r.value=void 0}catch{}n.lastTarget=void 0,n.__lastEl=void 0}}if(n.kind==="slot"){let r=tt(n.slotEl);r&&zo(r,n.slotEl)}}t.replaceChildren()}function Ht(e,t,n){for(let r of e){if(r.kind==="bool")return Te(n[r.i])?"":$;if(r.kind==="attr"){let a=Te(n[r.i]);return a==null?"":String(a)}let o=r.statics||[],i=r.group||[],s=o[0]||"";for(let a=0;a<i.length;a++)s+=String(Te(n[i[a]])??""),s+=o[a+1]||"";return s}return t??$}function Te(e){return At(e)?e.value:e}function z(e,t,n,r){if(At(t)){let o=t.value;if(e.kind==="prop"&&e.el[e.name]===o||e.kind==="attr"&&e.el.getAttribute(e.name)===String(o)||e.kind==="bool"&&e.el.hasAttribute(e.name)===!!o)return;t=o}switch(e.kind){case"child":Ma(e,t);break;case"attr":{t==null||t===!1?e.el.removeAttribute(e.name):Rn(t,e.name,e.el.localName)||(Ye(t,e.name,e.el.localName),e.el.setAttribute(e.name,String(t)));break}case"prop":mo(t,e.name,e.el.localName),e.el[e.name]=t;break;case"bool":Ye(t,e.name,e.el.localName),t?e.el.setAttribute(e.name,""):e.el.removeAttribute(e.name);break;case"event":e.handler=typeof t=="function"?t:null;break;case"element":Pa(e,t);break;case"attr-mixed":{let o=e,i=o.statics[0];for(let s=0;s<o.group.length;s++){let a=r?r[o.group[s]]:t;Ye(a,e.name,e.el.localName),i+=String(a??""),i+=o.statics[s+1]||""}e.el.setAttribute(e.name,i);break}case"slot":{if(e.applied)break;let o=e.slotEl,i=()=>{let a=tt(o);if(!a){e.applied=!0;return}if(!a.contains(o)){a.isConnected?queueMicrotask(i):e.applied=!0;return}if(e.applied=!0,La(o))return;let c=document.createDocumentFragment();for(;o.firstChild;)c.appendChild(o.firstChild);o[et]=c,queueMicrotask(()=>Z(a))},s=tt(o);s&&s.contains(o)?i():queueMicrotask(i);break}case"noop":break}}function tt(e){let t=e[It];if(t&&t.isConnected)return t;let n=e.parentElement;for(;n;){if(n[v])return n;n=n.parentElement}return null}function La(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.nodeType===11&&r.host)return!0;t=r}return!1}function Pa(e,t){let n=e,r=Et(t)?t.target:void 0,o=n.__refTarget,i=r!==o;if(i&&o)if(typeof o=="function")try{o(void 0)}catch{}else typeof o=="object"&&(o.value=void 0);if(i||n.__refElement!==e.el){if(n.__refTarget=r,r)if(typeof r=="function"){if(!i&&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 Ma(e,t){return Va(e,t),K(e,t)}function K(e,t){return Jo(e.marker&&e.marker.parentNode,()=>Ia(e,t))}function Ia(e,t){let n=e.marker;if(Pn(t)){se(e);let o=String(t.value??""),i=document.createElement("template");i.innerHTML=o;let s=[...i.content.childNodes],a=document.createDocumentFragment();for(let c of s)a.appendChild(c);n.parentNode?.insertBefore(a,n),e.child=s;return}if(St(t)){let o=t,i=e.__keyedKey;i!==void 0&&!Object.is(i,o.key)&&se(e),e.__keyedKey=o.key,K(e,o.value);return}if(vt(t)){let o=t,i=e.__guardDeps,s=o.deps;if(i!==void 0&&(Array.isArray(i)&&Array.isArray(s)?Wa(i,s):Object.is(i,s)))return;let a=Array.isArray(s)?s.slice():s;K(e,o.fn()),e.__guardDeps=a;return}if(Mn(t)){se(e);let o=t.template;if(o&&o.content){let i=o.content.cloneNode(!0),s=[...i.childNodes];n.parentNode?.insertBefore(i,n),e.child=s}return}if(Et(t))return;if(Ct(t))return Ka(e,t.value);if(kt(t))return za(e,t.args);if(Nt(t))return Ya(e,t.signal);if(In(t))return Ga(e,t);if(Fn(t))return Ja(e,t);if(_t(t)){if(e.child&&e.child.kind==="repeat"){Da(e,t);return}se(e);let o={kind:"repeat",map:new Map};e.child=o,$a(n,o,t);return}if(Array.isArray(t)){if(e.child&&e.child.kind==="array"){Ha(e,t);return}se(e);let o={kind:"array",items:[]};e.child=o,Ua(n,o,t);return}if(e.child){let o=e.child;if(o.kind==="repeat")Xo(o),e.child=void 0;else if(o.kind==="array")Zo(o),e.child=void 0;else if(o.kind==="async-stream")ri(o),e.child=void 0;else if("strings"in e.child){let i=e.child;if(P(t)&&i.strings===t.strings){je(i,t.values);return}Re(i.startNode,i.endNode),e.child=void 0}else{for(let i of e.child)i.parentNode&&i.parentNode.removeChild(i);e.child=void 0}}if(t==null||t===!1||t===!0)return;if(P(t)){let o=t,{templateEl:i,parts:s,formActions:a}=Vt(o),c=i.content.cloneNode(!0),l=document.createComment(`${C}s`),u=document.createComment(`${C}e`),f=s.map(m=>Kt(m,c)),d=[];for(let m=0;m<o.values.length;m++)z(f[m],o.values[m],void 0,o.values),d.push(o.values[m]);rt(a,f,o.values);let p=[l,...c.childNodes,u];n.parentNode?.insertBefore(Fa(p),n);for(let m of f)m.kind==="slot"&&z(m,void 0,void 0,[]);e.child={strings:o.strings,bound:f,lastValues:d,startNode:l,endNode:u};return}let r=document.createTextNode(String(t));n.parentNode?.insertBefore(r,n),e.child=[r]}function Fa(e){let t=document.createDocumentFragment();for(let n of e)t.appendChild(n);return t}function Re(e,t){let n=e.parentNode;if(!n)return;let r=e;for(;r&&r!==t;){let o=r.nextSibling;r.parentNode?.removeChild(r),r=o}t.parentNode===n&&n.removeChild(t)}function dr(e){let{templateEl:t,parts:n,formActions:r}=Vt(e),o=t.content.cloneNode(!0),i=document.createComment(`${C}s`),s=document.createComment(`${C}e`),a=n.map(u=>Kt(u,o)),c=[];for(let u=0;u<e.values.length;u++)z(a[u],e.values[u],void 0,e.values),c.push(e.values[u]);rt(r,a,e.values);for(let u of a)u.kind==="slot"&&z(u,void 0,void 0,[]);let l=document.createDocumentFragment();for(l.appendChild(i);o.firstChild;)l.appendChild(o.firstChild);return l.appendChild(s),{inst:{strings:e.strings,bound:a,lastValues:c,startNode:i,endNode:s},frag:l}}function nt(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 if(typeof n=="object")try{n.value=void 0}catch{}t.lastTarget=void 0,t.__lastEl=void 0}}}function $a(e,t,n){let{items:r,keyFn:o,templateFn:i}=n,s=e.parentNode;if(!s)return;let a=document.createDocumentFragment();for(let c=0;c<r.length;c++){let l=o(r[c],c),u=i(r[c],c);if(!P(u))continue;let{inst:f,frag:d}=dr(u);t.map.set(l,f),a.appendChild(d)}s.insertBefore(a,e)}function Da(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let o=e.child,{items:i,keyFn:s,templateFn:a}=t,c=new Map;try{for(let l=0;l<i.length;l++){let u=s(i[l],l),f=a(i[l],l);if(!P(f))continue;let d=o.map.get(u);if(d&&d.strings===f.strings)je(d,f.values),ur(d.startNode,d.endNode,r,n),c.set(u,d),o.map.delete(u);else{d&&(o.map.delete(u),nt(d),Re(d.startNode,d.endNode));let{inst:p,frag:m}=dr(f);r.insertBefore(m,n),c.set(u,p)}}for(let[l,u]of[...o.map]){o.map.delete(l);try{nt(u)}finally{Re(u.startNode,u.endNode)}}o.map=c}catch(l){for(let[u,f]of c)o.map.set(u,f);throw l}}function Xo(e){for(let[t,n]of[...e.map]){e.map.delete(t);try{nt(n)}finally{Re(n.startNode,n.endNode)}}e.map.clear()}function Ba(e){return e.type==="tpl"?e.inst.startNode:e.type==="text"?e.node:null}function qt(e){e.type==="tpl"?(nt(e.inst),Re(e.inst.startNode,e.inst.endNode)):e.type==="text"&&e.node.parentNode?.removeChild(e.node)}function Qo(e){if(P(e)){let{inst:t,frag:n}=dr(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 Ua(e,t,n){let r=e.parentNode;if(!r)return;let o=document.createDocumentFragment(),i=[];for(let s of n){let{item:a,frag:c}=Qo(s);c&&o.appendChild(c),i.push(a)}r.insertBefore(o,e),t.items=i}function Ha(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let o=e.child,i=o.items,s=[],a=0;try{for(let c=0;c<t.length;c++){let l=t[c],u=i[c];if(P(l)){let p=l;if(u&&u.type==="tpl"&&u.inst.strings===p.strings){je(u.inst,p.values),s.push(u),a=c+1;continue}}else if(l!=null&&l!==!1&&l!==!0){if(u&&u.type==="text"){let p=String(l);u.node.data!==p&&(u.node.data=p),s.push(u),a=c+1;continue}}else{u&&qt(u),s.push({type:"empty"}),a=c+1;continue}let{item:f,frag:d}=Qo(l);d&&r.insertBefore(d,qa(i,c,n)),s.push(f),u&&qt(u),a=c+1}for(let c=t.length;c<i.length;c++)qt(i[c]),a=c+1;o.items=s}catch(c){throw o.items=s.concat(i.slice(a)),c}}function qa(e,t,n){for(let r=t;r<e.length;r++){let o=Ba(e[r]);if(o&&o.parentNode)return o}return n}function Zo(e){for(let t of e.items)qt(t);e.items=[]}function ur(e,t,n,r){if(t.nextSibling===r&&e.parentNode===n)return;let o=document.createDocumentFragment(),i=e;for(;i;){let s=i.nextSibling;if(o.appendChild(i),i===t)break;i=s}n.insertBefore(o,r)}function Wa(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 se(e){let t=e;if(t.__untilState&&(t.__untilState.aborted=!0,t.__untilState=void 0),t.__watchSub&&ei(t),!e.child)return;let n=e.child;if(n.kind==="repeat")Xo(n);else if(n.kind==="array")Zo(n);else if(n.kind==="async-stream")ri(n);else if("strings"in n){let r=e.child;nt(r),Re(r.startNode,r.endNode)}else for(let r of e.child)r.parentNode&&r.parentNode.removeChild(r);e.child=void 0}function Va(e,t){let n=e;n.__untilState&&!kt(t)&&(n.__untilState.aborted=!0,n.__untilState=void 0),n.__guardDeps!==void 0&&!vt(t)&&(n.__guardDeps=void 0),n.__cacheMap&&!Ct(t)&&(n.__cacheMap=void 0),n.__keyedKey!==void 0&&!St(t)&&(n.__keyedKey=void 0),n.__watchSub&&!Nt(t)&&ei(n)}function Ka(e,t){let n=e.marker,r=e,o=r.__cacheMap;o||(o=new Map,r.__cacheMap=o);let i=e.child;if(i&&"strings"in i){let a=i;if(P(t)&&a.strings===t.strings){je(a,t.values);return}let c=document.createDocumentFragment();ur(a.startNode,a.endNode,c,null),o.set(a.strings,{inst:a,holder:c}),e.child=void 0}if(P(t)){let a=t,c=o.get(a.strings);if(c){o.delete(a.strings),e.child&&se(e),ur(c.inst.startNode,c.inst.endNode,n.parentNode,n),je(c.inst,a.values),e.child=c.inst;let l=new Set;for(let u=c.inst.startNode.nextSibling;u&&u!==c.inst.endNode;u=u.nextSibling){if(u.nodeType!==1)continue;let f=u;if(f.matches("slot[data-webjs-light]")){let d=tt(f);d&&l.add(d)}for(let d of f.querySelectorAll("slot[data-webjs-light]")){let p=tt(d);p&&l.add(p)}}for(let u of l)Z(u);return}}K(e,t)}function za(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=n.__untilState,o=n.__untilArgs,i=(d,p)=>!!(Object.is(d,p)||P(d)&&P(p)&&d.strings===p.strings),a=o&&o.length===t.length&&o.every((d,p)=>i(d,t[p]))&&r?r.highestResolved:1/0;r&&(r.aborted=!0),n.__untilArgs=t.slice();let c={aborted:!1,highestResolved:a};n.__untilState=c;let l=-1,u;for(let d=0;d<t.length;d++){let p=t[d];if(!p||typeof p.then!="function"){l=d,u=p;break}}l!==-1&&l<=c.highestResolved?(K(e,u),c.highestResolved=l):l===-1&&!n.__untilEverRendered&&K(e,""),n.__untilEverRendered=!0;let f=Math.min(l===-1?t.length:l,c.highestResolved);for(let d=0;d<f;d++){let p=t[d];!p||typeof p.then!="function"||Promise.resolve(p).then(m=>{if(!c.aborted&&!(d>=c.highestResolved)){try{fr(e,()=>K(e,m))}catch(g){pr(e,g);return}c.highestResolved=d}},()=>{})}}function pr(e,t){let n;try{n=t instanceof Error?t:new Error(String(t))}catch{n=new Error("render error (unstringifiable thrown value)")}let r=e.__commitOwner;if(r&&typeof r._handleRenderError=="function"){r._handleRenderError(n);return}throw n}function Ya(e,t){let n=e;if(M&&(n.__commitOwner=Wt(M)),n.__watchSig===t&&n.__watchSub){let i;n.__watchSub.observe(()=>{i=t.get()}),K(e,i);return}n.__watchSub&&(n.__watchSub.dispose(),n.__watchSub=void 0),n.__watchSig=t;let r=new Qe.subtle.Watcher(()=>{queueMicrotask(()=>{if(n.__watchSub!==r)return;let i;try{r.observe(()=>{i=t.get()}),fr(e,()=>K(e,i))}catch(s){pr(e,s)}})});n.__watchSub=r;let o;r.observe(()=>{o=t.get()}),K(e,o)}function ei(e){e.__watchSub&&(e.__watchSub.dispose(),e.__watchSub=void 0,e.__watchSig=void 0)}function Ga(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=e.child;if(r&&r.kind==="async-stream"&&r.mode==="append"&&r.iterable===t.iterable)return;se(e);let o=t.iterable[Symbol.asyncIterator](),i={kind:"async-stream",mode:"append",aborted:!1,iterable:t.iterable,iterator:o,nodes:[]};e.child=i,ti(i,e,t)}function Ja(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=e.child;if(r&&r.kind==="async-stream"&&r.mode==="replace"&&r.iterable===t.iterable)return;se(e);let o=t.iterable[Symbol.asyncIterator](),i={kind:"async-stream",mode:"replace",aborted:!1,iterable:t.iterable,iterator:o,nodes:[]};e.child=i,ti(i,e,t)}async function ti(e,t,n){let r=t.marker,o=0;for(;!e.aborted;){let i,s;try{if(i=await e.iterator.next(),e.aborted||i.done)break;s=n.mapper?n.mapper(i.value,o):i.value}catch(a){typeof console<"u"&&console.error("[webjs] asyncStream error:",a);return}try{fr(t,()=>{let a=ni(s);Jo(r.parentNode,()=>{if(e.mode==="replace"){for(let l of e.nodes)l.parentNode&&l.parentNode.removeChild(l);e.nodes=[]}let c=document.createDocumentFragment();for(let l of a)c.appendChild(l);r.parentNode?.insertBefore(c,r),e.nodes.push(...a)})})}catch(a){e.aborted=!0;try{e.iterator.return?.()?.catch?.(()=>{})}catch{}pr(t,a);return}o++}}function ni(e){if(e==null||e===!1||e===!0)return[];if(P(e)){let t=e,{templateEl:n,parts:r,formActions:o}=Vt(t),i=n.content.cloneNode(!0),s=r.map(a=>Kt(a,i));for(let a=0;a<t.values.length;a++)z(s[a],t.values[a],void 0,t.values);rt(o,s,t.values);for(let a of s)a.kind==="slot"&&z(a,void 0,void 0,[]);return[...i.childNodes]}if(Array.isArray(e)){let t=[];for(let n of e)t.push(...ni(n));return t}return[document.createTextNode(String(e))]}function ri(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 oi=null;function zt(e){oi=e||null}function Xa(){return oi||void 0}Ge();var ii=Symbol.for("webjs:registry"),si=Symbol.for("webjs:classToTag"),Yt=globalThis,Y=Yt[ii]||(Yt[ii]=new Map),ai=Yt[si]||(Yt[si]=new WeakMap),Gt=typeof window<"u"&&typeof customElements<"u";function hr(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=Y.get(e);r?(r.cls=t,r.lazy=n):Y.set(e,{cls:t,moduleUrl:null,lazy:n,tag:e}),ai.set(t,e)}if(Gt){let e=customElements.define.bind(customElements);customElements.define=function(t,n,r){customElements.get(t)||e(t,n,r),hr(t,n)}}if(!Gt){let e=globalThis;e.customElements||(e.customElements={define(t,n){hr(t,n)},get(t){return Y.get(t)?.cls},upgrade(){},whenDefined(t){let n=Y.get(t);return Promise.resolve(n?.cls)}})}function mr(e,t){Gt?customElements.define(e,t):hr(e,t)}function Qa(e,t){if(Gt)return;let n=Y.get(e);if(n){n.moduleUrl=t;return}Y.set(e,{cls:null,moduleUrl:t,lazy:!1,tag:e})}function Za(e){return Y.get(e)?.cls}function ec(e){return Y.get(e)?.moduleUrl||null}function tc(e){return Y.get(e)?.lazy===!0}function ot(e){return ai.get(e)}function nc(){return[...Y.keys()]}at();Bt();var mi=typeof window<"u"&&typeof HTMLElement<"u";function mc(e,t){return e!==t}function bc(e){try{return String(e)}catch{return Object.prototype.toString.call(e)}}function di(e,t,n){if(typeof console>"u"||!console.warn)return;let r=ot(e.constructor)||e.tagName?.toLowerCase()||"unknown";console.warn(`[webjs] reflect:true property "${t}" on <${r}> holds a function (or an array carrying one), which has no HTML attribute representation. Removing "${n}" instead of stringifying it (a stringified function writes its source into the page, so a server action's body would ship to the browser). Pass a string, or drop reflect on this property.`)}function yc(){return{states:new Set,shadowRoot:null,form:null,labels:[],role:"",willValidate:!0,validity:{},validationMessage:"",setFormValue(){},setValidity(){},checkValidity(){return!0},reportValidity(){return!0}}}var Jt=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(),o=this.__ssrAttrs.has(r);return(n===void 0?!o: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 o=r.length-1;o>=0;o--)if(r[o]&&r[o].__ssrTag===n)return r[o];return null}get dataset(){if(this.__dataset)return this.__dataset;let t=this,n=r=>"data-"+String(r).replace(/[A-Z]/g,o=>"-"+o.toLowerCase());return this.__dataset=new Proxy({},{get(r,o){if(typeof o!="string")return;let i=t.getAttribute(n(o));return i===null?void 0:i},set(r,o,i){return typeof o=="string"&&t.setAttribute(n(o),i),!0},has(r,o){return typeof o=="string"&&t.hasAttribute(n(o))},deleteProperty(r,o){return typeof o=="string"&&t.removeAttribute(n(o)),!0},ownKeys(){return t.getAttributeNames().filter(r=>r.startsWith("data-")).map(r=>r.slice(5).replace(/-([a-z])/g,(o,i)=>i.toUpperCase()))},getOwnPropertyDescriptor(r,o){if(typeof o=="string"&&t.hasAttribute(n(o)))return{enumerable:!0,configurable:!0,value:t.getAttribute(n(o))}}}),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=yc(),this.__internals}},gc=["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 gc){let t="aria-"+e.slice(4).toLowerCase();Object.defineProperty(Jt.prototype,e,{configurable:!0,get(){return this.getAttribute(t)},set(n){n==null?this.removeAttribute(t):this.setAttribute(t,String(n))}})}var wc=mi?HTMLElement:Jt,bi=Symbol("webjs.factoryProps"),pi=new WeakSet,Le=class e extends wc{static shadow=!1;static hydrate=void 0;static properties={};static styles=null;static register(t){mr(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||yr(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(pi.has(t))return;let n=t;for(;n&&n!==e;){if(Object.hasOwn(n,"properties")&&!Object.hasOwn(n,bi)){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://webjs.dev/docs/components.`)}n=Object.getPrototypeOf(n)}pi.add(t)}_initializeProperties(){let n=this.constructor.properties;if(!(!n||typeof n!="object")){this.__propValues={};for(let[r,o]of Object.entries(n)){let i=typeof o=="object"?o:{type:o},s=this[r];Object.defineProperty(this,r,{configurable:!0,enumerable:!0,get:()=>this.__propValues[r],set:a=>{let c=this.__propValues[r];(i.hasChanged||mc)(a,c)&&(this.__propValues[r]=a,i.reflect&&!i.state&&this._connected&&this._reflectAttribute(r,a,i),this.requestUpdate(r,c))}}),s!==void 0?this.__propValues[r]=s:i.default!==void 0&&(this.__propValues[r]=typeof i.default=="function"?i.default():i.default)}}}_reflectAttribute(t,n,r){let o=r.attribute||yr(t);if(!this.__reflectingAttribute){this.__reflectingAttribute=!0;try{if(r.converter&&r.converter.toAttribute){let i=r.converter.toAttribute(n,r.type);i==null?this.removeAttribute(o):this.setAttribute(o,i)}else typeof n=="function"?(this.removeAttribute(o),di(this,t,o)):r.type===Boolean?n?this.setAttribute(o,""):this.removeAttribute(o):n==null?this.removeAttribute(o):r.type===Object||r.type===Array?this.setAttribute(o,JSON.stringify(n)):wt(n)?(this.removeAttribute(o),di(this,t,o)):this.setAttribute(o,String(n))}finally{this.__reflectingAttribute=!1}}}connectedCallback(){if(!mi)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 o=n[r].name;o.startsWith("data-webjs-prop-")&&t.push(o)}for(let r of t){let o=this.getAttribute(r);if(this.removeAttribute(r),o==null)continue;let i=hi(r.slice(16));try{this[i]=ye(o)}catch(s){console.warn(`[webjs] failed to decode ${r} on <${this.tagName.toLowerCase()}>: ${s&&s.message}`)}}}_activate(){this._connected=!0,this._reflectDeclaredAttributes();let t=this.constructor;if(t.shadow!==!0&&!this.hasAttribute("data-wj-host")&&this.setAttribute("data-wj-host",""),t.shadow===!0){let n=!!this.shadowRoot;this.shadowRoot||this.attachShadow({mode:"open"}),this._renderRoot=this.shadowRoot;let r=t.styles,o=Array.isArray(r)?r:kn(r)?[r]:[];if(o.length){if(n){let i=this.shadowRoot.querySelector("style");i&&i.remove()}Nn(this._renderRoot,o)}}else this._renderRoot=this,t.styles&&console.warn(`[webjs] <${ot(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().`),sr(this)?Ho(this):this.__isHydrating()||this.hasAttribute("data-wj-serialized")||Ko(this)?(this.removeAttribute("data-wj-serialized"),Q(this),Lo(this)):Oo(this),Vo(this),Do(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)}})}__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),Uo(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 i=this.constructor.properties||{},s,a;for(let[u,f]of Object.entries(i))if(((typeof f=="object"?f:{type:f}).attribute||yr(u))===t){s=u,a=f;break}if(a===void 0&&(s=hi(t),a=i[s]||i[t]),a===void 0)return;let c=typeof a=="object"?a:{type:a},l;if(c.converter&&c.converter.fromAttribute)l=c.converter.fromAttribute(r,c.type);else if(c.type===Number)l=r==null?null:Number(r);else if(c.type===Boolean)l=r!=null&&r!=="false";else if(c.type===Object||c.type===Array)try{l=r==null?null:JSON.parse(r)}catch{l=r}else l=r;this[s]!==l&&(this[s]=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 o of this.__controllers)o.hostUpdate&&o.hostUpdate();this.__renderToken=(this.__renderToken||0)+1,this.__renderAbort&&this.__renderAbort.abort(),this.__renderAbort=typeof AbortController<"u"?new AbortController:null,zt(this.__renderAbort?this.__renderAbort.signal:null);try{let o=this.update(t);o&&typeof o.then=="function"&&(r=o)}catch(o){this._handleRenderError(o)}finally{zt(null)}if(!r){for(let o of this.__controllers)o.hostUpdated&&o.hostUpdated();n=!0}}}catch(o){console.error("[webjs] lifecycle hook threw during update phase:",o)}finally{this._isUpdating=!1,(n||r)&&(this._changedProperties=new Map)}if(r){let o=this.__renderToken;this.__pendingAsyncCommits=(this.__pendingAsyncCommits||0)+1;let i=()=>{if(this.__pendingAsyncCommits--,o===this.__renderToken){for(let s of this.__controllers)s.hostUpdated&&s.hostUpdated();this._postCommit(t)}};r.then(i,s=>{try{o===this.__renderToken&&this._handleRenderError(s instanceof Error?s:new Error(bc(s)))}finally{i()}});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 Qe.subtle.Watcher(()=>{this._connected&&this.requestUpdate()}));let n;if(this.__signalWatcher.observe(()=>{n=this.render()}),n&&typeof n.then=="function")return this._commitAsync(n);Oe(n,this._renderRoot)}_commitAsync(t){let n=this.__renderToken;if(this.__firstRendered&&this._overridesRenderFallback())try{let r=this.renderFallback();r!==void 0&&Oe(r,this._renderRoot)}catch(r){console.error("[webjs] renderFallback() threw:",r)}return Promise.resolve(t).then(r=>{if(n===this.__renderToken)try{Oe(r,this._renderRoot)}catch(o){this._handleRenderError(o instanceof Error?o:new Error(String(o)))}},r=>{n===this.__renderToken&&this._handleRenderError(r instanceof Error?r:new Error(String(r)))})}_overridesRenderFallback(){return this.renderFallback!==Xt.prototype.renderFallback}_handleRenderError(t){console.error(`[webjs] render error in <${ot(this.constructor)||this.tagName?.toLowerCase()}>:`,t);try{let n=this.renderError(t);n!==void 0&&Oe(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 yr(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function hi(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Xt(e){return new.target?Reflect.construct(Le,arguments,new.target):class extends Le{static properties=e;static[bi]=!0}}Object.setPrototypeOf(Xt,Le);Xt.prototype=Le.prototype;function _c(e,t={}){return e&&typeof e=="object"&&!("call"in e)&&(t=e,e=void 0),{...e?{type:e}:{},...t}}gt();var yi=Symbol.for("webjs.notFound"),gi=Symbol.for("webjs.redirect"),wi=Symbol.for("webjs.forbidden"),_i=Symbol.for("webjs.unauthorized");function Ac(){let e=new Error("webjs: notFound()");throw e.__webjs=yi,e}function Sc(){let e=new Error("webjs: forbidden()");throw e.__webjs=wi,e}function vc(){let e=new Error("webjs: unauthorized()");throw e.__webjs=_i,e}function Ec(e,t){let n=typeof t=="object"&&t!==null?t.status:t,r=new Error(`webjs: redirect(${e})`);throw r.__webjs=gi,r.url=e,r.status=typeof n=="number"?n:void 0,r}function Cc(e){return!!e&&e.__webjs===yi}function kc(e){return!!e&&e.__webjs===gi}function Nc(e){return!!e&&e.__webjs===wi}function xc(e){return!!e&&e.__webjs===_i}var Ai=null;function Tc(){if(!Ai)return"";try{return Ai()||""}catch{return""}}var Si=null;function jc(e){if(typeof e!="string"||!e||!Si)return e;try{return Si(e)||e}catch{return e}}Ge();var qu=Symbol.for("webjs.suspense");function Rc(e){return{_$webjsSuspense:!0,fallback:e.fallback,children:e.children}}function Oc(e){return!!e&&typeof e=="object"&&e._$webjsSuspense===!0}function Lc(e,t={}){let n=t.reconnect!==!1,r=0,o=!1,i=null,s=[];function a(){o||(i=new WebSocket(Pc(e),t.protocols),i.onopen=c=>{for(r=0;s.length&&i&&i.readyState===WebSocket.OPEN;)i.send(s.shift());t.onOpen?.(c)},i.onmessage=c=>{let l=c.data;if(typeof l=="string")try{l=JSON.parse(l)}catch{}t.onMessage?.(l,c)},i.onerror=c=>{t.onError?.(c)},i.onclose=c=>{if(t.onClose?.(c),!o&&n){let l=Math.min(1e3*2**r++,3e4);setTimeout(a,l)}})}return a(),{send(c){let l=typeof c=="string"||c instanceof ArrayBuffer||ArrayBuffer.isView(c)?c:JSON.stringify(c);i&&i.readyState===WebSocket.OPEN?i.send(l):s.push(l)},close(c,l){o=!0;try{i?.close(c,l)}catch{}},get socket(){return i},get readyState(){return i?.readyState??3}}}function Pc(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}`}at();var gr="application/vnd.webjs+json";async function Mc(e,t={}){let n=new Headers(t.headers||{});n.has("accept")||n.set("accept",gr);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 br(r),n.has("content-type")||n.set("content-type",gr));let o=await fetch(e,{...t,headers:n,body:r}),i=o.headers.get("content-type")||"",s=await o.text(),a=i.includes(gr)?s?ye(s):null:i.includes("application/json")?s?JSON.parse(s):null:s;if(!o.ok){let c=a&&a.error||`richFetch ${e} -> ${o.status}`,l=new Error(c);throw l.status=o.status,l.body=a,l}return a}at();Zt();Zt();Ar();en();var eo=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 o=()=>{let i=this.updates.findIndex(s=>s.id===r);i!==-1&&(this.updates.splice(i,1),this.host?.requestUpdate?.())};return n&&typeof n.then=="function"&&(typeof n.finally=="function"?n.finally(()=>o()).catch(()=>{}):n.then(()=>o(),()=>o())),o}};async function Wl(e,t,n){let r=e.get();e.set(t);let o;try{o=await n()}catch(i){throw e.set(r),i}return o&&o.success===!1&&e.set(r),o}function Vl(e,t,n){return e&&typeof e.get=="function"&&typeof e.set=="function"?Wl(e,t,n):new eo(e,t)}Nr();jr();var Kl="application/vnd.webjs+stream",zl=1,Yl=2,Gl=3,Ss=new Uint8Array(0);function Jl(e,t){let n=t||Ss,r=n.length,o=new Uint8Array(5+r);return o[0]=e&255,o[1]=r>>>24&255,o[2]=r>>>16&255,o[3]=r>>>8&255,o[4]=r&255,r&&o.set(n,5),o}function Xl(){let e=Ss;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],o=(e[1]<<24|e[2]<<16|e[3]<<8|e[4])>>>0;if(e.length<5+o)break;let i=e.slice(5,5+o);n.push({type:r,payload:i}),e=e.slice(5+o)}return n}}}var Ql=Symbol.for("webjs.context");function Zl(e){return{__context__:Ql,name:e}}var En=class extends Event{constructor(t,n,r=!1){super("context-request",{bubbles:!0,composed:!0}),this.context=t,this.callback=n,this.subscribe=r}},to=class{constructor(t,{context:n,initialValue:r}){this._host=t,this._context=n,this._value=r,this._subscriptions=new Set,this._onRequest=o=>{let i=o;if(i.context===this._context)if(o.stopPropagation(),i.subscribe){let s={callback:i.callback},a=()=>{this._subscriptions.delete(s)};this._subscriptions.add(s),i.callback(this._value,a)}else i.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()}},no=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 En(this._context,(n,r)=>{let o=this._value;this._value=n,r&&(this._unsubscribe=r),!Object.is(o,n)&&typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()},this._subscribe);this._host.dispatchEvent(t)}};function eu(){return typeof window<"u"}var ne={INITIAL:0,PENDING:1,COMPLETE:2,ERROR:3},ro=class{constructor(t,{task:n,args:r,autoRun:o=!0}){this._host=t,this._taskFn=n,this._argsFn=r||(()=>[]),this._autoRun=o,this._status=ne.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=ne.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=ne.COMPLETE,this._error=void 0}catch(r){if(t.signal.aborted)return;this._error=r,this._status=ne.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 ne.INITIAL:return t.initial?.();case ne.PENDING:return t.pending?.();case ne.COMPLETE:return t.complete?.(this._value);case ne.ERROR:return t.error?.(this._error);default:return}}hostUpdate(){if(!this._autoRun||!eu())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{no as ContextConsumer,to as ContextProvider,En as ContextRequestEvent,O as FORM_ACTION_FIELD,so as FORM_ACTION_ID_KEY,zl as FRAME_CHUNK,Yl as FRAME_END,Gl as FRAME_ERROR,C as MARKER,Ri as SEED_MISS,Kl as STREAM_CONTENT_TYPE,Qe as Signal,Rc as Suspense,ro as Task,ne as TaskStatus,Xt as WebComponent,_r as WebjsFrame,Sr as WebjsStream,Xa as activeActionSignal,Nn as adoptStyles,nc as allTags,jc as asset,Gs as asyncAppend,Js as asyncReplace,sa as batch,zs as cache,ca as computed,Lc as connectWS,Xc as consumeStale,Zl as createContext,Xl as createFrameDecoder,Ks as createRef,Tc as cspNonce,Ns as css,ui as deserialize,Ui as disableClientRouter,ua as effect,Ur as enableClientRouter,Jl as encodeFrame,io as escapeAttr,Ts as escapeText,Gc as fetchMark,Sc as forbidden,qs as guard,ks as html,In as isAsyncAppend,Fn as isAsyncReplace,kn as isCSS,Ct as isCache,Nc as isForbidden,vt as isGuard,St as isKeyed,tc as isLazy,At as isLive,Cc as isNotFound,kc as isRedirect,Et as isRef,_t as isRepeat,la as isSignal,Oc as isSuspense,P as isTemplate,Mn as isTemplateContent,xc as isUnauthorized,Pn as isUnsafeHTML,kt as isUntil,Nt as isWatch,Hs as keyed,Us as live,Za as lookup,ec as lookupModuleUrl,xr as markStale,Hi as navigate,Ac as notFound,Vl as optimistic,ye as parse,Tr as parseTagHeader,Qa as primeModuleUrl,_c as prop,Ec as redirect,Vs as ref,mr as register,Jc as registerKeyTags,Oe as render,vr as renderStream,Ao as repeat,qi as revalidate,Mc as richFetch,tn as scanSeeds,zc as seedStats,li as serialize,zt as setActiveActionSignal,aa as signal,br as stringify,xs as stylesToString,ot as tagOf,Kc as takeSeed,Ws as templateContent,vc as unauthorized,Bs as unsafeHTML,Ys as until,Xs as watch};
|
|
3
|
+
`);if(a!==c){if(i.length===1&&s.length===1){let l=s[0];for(let u of[...l.attributes])l.removeAttribute(u.name);for(let u of i[0].attributes)l.setAttribute(u.name,u.value);continue}for(let l of s)l.remove();for(let l of i)document.head.appendChild(Jr(l))}}for(let[o,i]of r)if(!n.has(o))for(let s of i)s.remove()}function $r(e){let t=e.querySelector("title");t&&(document.title=t.textContent||"");let n=new Set;for(let r of document.head.children)n.add(ee(r));for(let r of e.children)r.tagName==="SCRIPT"&&r.getAttribute("type")==="importmap"||r.tagName!=="BASE"&&r.tagName!=="TITLE"&&(r.tagName==="META"&&gn(r)||n.has(ee(r))||(r.tagName==="SCRIPT"?document.head.appendChild(yn(r)):document.head.appendChild(Jr(r))));Ml(e)}function Il(e){return e.tagName==="STYLE"?!0:e.tagName==="LINK"&&(e.getAttribute("rel")||"").toLowerCase().split(/\s+/).includes("stylesheet")}function ws(e){let t=document.head,n=e.querySelector("title");n&&(document.title=n.textContent||"");let r=new Set;for(let i of t.children)i.tagName==="SCRIPT"&&i.getAttribute("type")==="importmap"||i.tagName!=="BASE"&&r.add(ee(i));let o=new Set;for(let i of e.children)i.tagName==="SCRIPT"&&i.getAttribute("type")==="importmap"||i.tagName!=="BASE"&&o.add(ee(i));for(let i of[...t.children])i.tagName==="SCRIPT"&&i.getAttribute("type")==="importmap"||i.tagName!=="BASE"&&i.tagName!=="TITLE"&&(Il(i)||i.tagName==="META"&&gn(i)===Fr||o.has(ee(i))||i.remove());for(let i of e.children)i.tagName==="SCRIPT"&&i.getAttribute("type")==="importmap"||i.tagName!=="BASE"&&i.tagName!=="TITLE"&&(i.tagName==="META"&&gn(i)===Fr||r.has(ee(i))||(i.tagName==="SCRIPT"?t.appendChild(yn(i)):t.appendChild(Jr(i))))}function De(e){typeof customElements>"u"||Xr(e)}function Xr(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&&Xr(n.shadowRoot))}function Di(e){for(let t of e.querySelectorAll("template[data-webjs-resolve]")){let n=t.cloneNode(!0);document.body.appendChild(n);let r=n.getAttribute("data-webjs-resolve"),o=window.__webjsResolve;r&&typeof o=="function"&&o(r)}}async function _s(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="",o="<template data-webjs-resolve",i="<!--wj-stream-shell-->",s=/<\/html\s*>/i;for(;;){let{value:a,done:c}=await t.read();a&&(r+=n.decode(a,{stream:!0})),c&&(r+=n.decode());let l=r.indexOf(i);if(l!==-1)return{shell:r.slice(0,l),streaming:!0,reader:c?null:t,dec:n,rest:r.slice(l+i.length)};let u=r.indexOf(o);if(u!==-1)return{shell:r.slice(0,u),streaming:!0,reader:c?null:t,dec:n,rest:r.slice(u)};if(c)return{shell:r,streaming:!1};let f=s.exec(r);if(f){let d=f.index+f[0].length;return{shell:r.slice(0,d),streaming:!0,reader:t,dec:n,rest:r.slice(d)}}}}function As(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,o=/<(\/?)template\b[^>]*>/gi;o.lastIndex=r;let i=1,s;for(;s=o.exec(e);)if(s[1]==="/"){if(i--,i===0)return{id:n,content:e.slice(r,s.index),rest:e.slice(s.index+s[0].length)}}else i++;return null}function Ss(e,t){let n=document.getElementById(e);if(!n){pl(e);return}let r=document.createElement("template");r.innerHTML=t;let o=[...r.content.childNodes];n.replaceWith(r.content);for(let i of o)i.nodeType===1&&Xr(i)}async function vs(e,t,n,r){let o=n,i=()=>{let s;for(;s=As(o);){if(!r())return!1;Ss(s.id,s.content),o=s.rest}return!0};if(!e){i();return}try{for(;;){if(!i()){try{await e.cancel()}catch{}return}let{value:s,done:a}=await e.read();if(s&&(o+=t.decode(s,{stream:!0})),a){o+=t.decode(),i();return}}}catch{}}function wn(e){if(e.tagName==="SCRIPT"){let n=yn(e);return e.replaceWith(n),n}let t=[];bt.has(e)&&t.push(e);for(let n of e.querySelectorAll("[data-webjs-permanent]"))bt.has(n)&&t.push(n);for(let n of e.querySelectorAll("script"))t.length&&t.some(r=>r!==n&&r.contains(n))||n.replaceWith(yn(n));return e}function Qr(e){let t=[];for(let n=e.start.nextSibling;n&&n!==e.end;n=n.nextSibling)n.nodeType===1&&t.push(n);for(let n of t){let r=wn(n);r.isConnected!==!1&&De(r)}}function Fl(e){return S.get(fe(e))||null}function $l(){return we.size}function Dl(){S.clear(),we.clear(),Be.length=0,dt.clear(),An(),zr()}function Bl(e){_e=e||(t=>{location.href=t})}function Ul(){return k}function Hl(){return++k}function ql(){return G}function Wl(e){G=e}function Vl(){Or.clear(),Lr=!1}function zl(e,t){return ts(e,t)}function Kl(e){return _n.test(e)}var Mi,Fe,te,B,k,jr,G,rn,al,Bi,an,q,D,ft,_n,_e,es,Or,cn,Ii,Lr,hl,R,yl,is,ss,gl,wl,_l,S,we,Be,dt,Ue,pt,ue,$e,ht,pn,hn,bt,mt,Ir,Fr,Zt=F(()=>{_r();en();en();Je();ji();Nr();Tr();Bt();Mi="text/vnd.webjs-stream.html";Fe=null;te=!1,B=null,k=0,jr=null;G=null,rn=null,al=2e3,Bi=500,an=["wheel","touchmove","keydown","pointerdown"],q=null;D=null,ft=0;_n=/\.(?: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,_e=e=>{location.href=e};es="_top";Or=new Set;cn="webjs:nav-fallback",Ii=!1;Lr=!1;hl=16,R=new Map;yl=8,is=3e4,ss=3,gl=24,wl=100,_l=250,S=new Map,we=new Set,Be=[],dt=new Set,Ue=null,pt=null,ue=null,$e=new WeakMap,ht=new Set;pn=new WeakMap;hn=new WeakMap;bt=new WeakSet;mt=Promise.resolve();Ir=new Set(["value","checked","selected","indeterminate","disabled","open","popover"]);Fr="name=csp-nonce";(typeof window>"u"||window.__WEBJS_CLIENT_ROUTER__!==!1)&&Br()});function xs(e,...t){return{_$webjs:"template",strings:e,values:t}}function P(e){return!!e&&typeof e=="object"&&e._$webjs==="template"}var C="wjm-";function Ts(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 Nn(e){return!!e&&typeof e=="object"&&e._$webjsCss===!0}function kn(e,t){if(!(!t||!t.length))if("adoptedStyleSheets"in e&&typeof CSSStyleSheet<"u"){let n=t.map(r=>{let o=new CSSStyleSheet;return o.replaceSync(r.text),o});e.adoptedStyleSheets=n}else{let n=e,r=document.createElement("style");r.textContent=t.map(o=>o.text).join(`
|
|
4
|
+
`),n.appendChild(r)}}function js(e){return!e||!e.length?"":`<style>${e.map(t=>t.text).join(`
|
|
5
|
+
`)}</style>`}Tn();gt();Je();var wo=Symbol.for("webjs.repeat");function _o(e,t,n){return{[wo]:!0,items:[...e],keyFn:t,templateFn:n}}function _t(e){return!!e&&typeof e=="object"&&e[wo]===!0}function Hs(e){return{_$webjs:"unsafe-html",value:String(e??"")}}function Pn(e){return!!e&&typeof e=="object"&&e._$webjs==="unsafe-html"}function qs(e){return{_$webjs:"live",value:e}}function At(e){return!!e&&typeof e=="object"&&e._$webjs==="live"}function Ws(e,t){return{_$webjs:"keyed",key:e,value:t}}function St(e){return!!e&&typeof e=="object"&&e._$webjs==="keyed"}function Vs(e,t){return{_$webjs:"guard",deps:e,fn:t}}function vt(e){return!!e&&typeof e=="object"&&e._$webjs==="guard"}function zs(e){return{_$webjs:"template-content",template:e}}function Mn(e){return!!e&&typeof e=="object"&&e._$webjs==="template-content"}function Ks(e){return{_$webjs:"ref",target:e}}function Et(e){return!!e&&typeof e=="object"&&e._$webjs==="ref"}function Ys(){return{value:void 0}}function Gs(e){return{_$webjs:"cache",value:e}}function Ct(e){return!!e&&typeof e=="object"&&e._$webjs==="cache"}function Js(...e){return{_$webjs:"until",args:e}}function Nt(e){return!!e&&typeof e=="object"&&e._$webjs==="until"}function Xs(e,t){return{_$webjs:"async-append",iterable:e,mapper:t}}function In(e){return!!e&&typeof e=="object"&&e._$webjs==="async-append"}function Qs(e,t){return{_$webjs:"async-replace",iterable:e,mapper:t}}function Fn(e){return!!e&&typeof e=="object"&&e._$webjs==="async-replace"}function Zs(e){return{_$webjs:"watch",signal:e}}function kt(e){return!!e&&typeof e=="object"&&e._$webjs==="watch"}var U=null,re=!1,Ce=0,Ee=null,$n=0,Ao=(e,t)=>Object.is(e,t),Tt=()=>{},So=()=>!1;function vo(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)vo(r,e);if(e.watched)try{e.watched.call(e.wrapper)}catch(r){console.error(r)}}}function Xe(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)Xe(n,e);if(e.unwatched)try{e.unwatched.call(e.wrapper)}catch(n){console.error(n)}}}function Wn(e){if(re)throw new Error("Signal read during notification phase");if(U===null)return;let t=U,n=t.nextProducerIndex++;n<t.producers.length&&t.producers[n]!==e&&Un(t)&&Xe(t.producers[n],t),t.producers[n]!==e&&(t.producers[n]=e,Un(t)&&vo(e,t)),t.producerLastReadVersions[n]=e.version}function Un(e){return e.consumerIsAlwaysLive||e.liveConsumers&&e.liveConsumers.size>0}function Eo(e){if(!e.liveConsumers||e.liveConsumers.size===0)return;let t=re;re=!0;try{for(let n of e.liveConsumers)n.dirty||ea(n)}finally{re=t}}function ea(e){e.dirty=!0,Eo(e),e.consumerMarkedDirty.call(e.wrapper||e)}function jt(e){if(!(!e.dirty&&e.lastCleanEpoch===Ce)){if(!e.producerMustRecompute()&&!ta(e)){e.dirty=!1,e.lastCleanEpoch=Ce;return}e.producerRecomputeValue(),e.dirty=!1,e.lastCleanEpoch=Ce}}function ta(e){for(let t=0;t<e.producers.length;t++){let n=e.producers[t],r=e.producerLastReadVersions[t];if(r!==n.version||(jt(n),r!==n.version))return!0}return!1}function Hn(e){e&&(e.nextProducerIndex=0);let t=U;return U=e,t}function qn(e,t){if(U=t,!!e){if(Un(e))for(let n=e.nextProducerIndex;n<e.producers.length;n++)Xe(e.producers[n],e);for(;e.producers.length>e.nextProducerIndex;)e.producers.pop(),e.producerLastReadVersions.pop()}}var Rt=class{constructor(t,n){this.__value=t,this.version=0,this.lastCleanEpoch=Ce,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.liveConsumers=void 0,this.consumerAllowSignalWrites=!0,this.consumerIsAlwaysLive=!1,this.producerMustRecompute=So,this.producerRecomputeValue=Tt,this.consumerMarkedDirty=Tt,this.wrapper=this,this.__isSignal=!0,this.__equal=n?.equals||Ao,this.watched=n?.[Vn],this.unwatched=n?.[zn]}get(){return Wn(this),this.__value}peek(){return this.__value}set(t){if(re)throw new Error("Signal write during notification phase");this.__equal.call(this,this.__value,t)||(this.__value=t,this.version++,Ce++,Ee!==null?Co(this):Eo(this))}};function Co(e){let t=re;re=!0;try{if(!e.liveConsumers)return;for(let n of e.liveConsumers)n.dirty||(n.dirty=!0,n.__isWatcher?Ee.add(n):Co(n))}finally{re=t}}var Dn=Symbol("unset"),Bn=Symbol("computing"),xt=Symbol("errored"),Qe=class{constructor(t,n){this.__fn=t,this.__value=Dn,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||Ao,this.watched=n?.[Vn],this.unwatched=n?.[zn];let r=this;this.producerMustRecompute=function(){return r.__value===Dn||r.__value===Bn},this.producerRecomputeValue=function(){if(r.__value===Bn)throw new Error("Detected cycle in computations.");let o=r.__value;r.__value=Bn;let i=Hn(r),s,a=!1;try{s=r.__fn.call(r.wrapper)}catch(l){s=xt,r.__error=l,a=!0}finally{qn(r,i)}if(!a&&(o!==Dn&&o!==xt)&&r.__equal.call(r.wrapper,o,s)){r.__value=o;return}r.__value=s,r.version++},this.consumerMarkedDirty=Tt}get(){if(jt(this),Wn(this),this.__value===xt)throw this.__error;return this.__value}peek(){if(jt(this),this.__value===xt)throw this.__error;return this.__value}},Ot=class{constructor(t){this.__notify=t,this.version=0,this.lastCleanEpoch=Ce,this.dirty=!1,this.producers=[],this.producerLastReadVersions=[],this.nextProducerIndex=0,this.liveConsumers=void 0,this.consumerAllowSignalWrites=!1,this.consumerIsAlwaysLive=!0,this.producerMustRecompute=So,this.producerRecomputeValue=Tt,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=Hn(this);try{for(let r of t)Wn(r),r.__isComputed&&jt(r)}finally{qn(this,n)}this.dirty=!1}unwatch(...t){for(let n=this.producers.length-1;n>=0;n--)t.includes(this.producers[n])&&(Xe(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=Hn(this),r;try{r=t()}finally{qn(this,n)}return this.dirty=!1,r}dispose(){for(let t of this.producers)Xe(t,this);this.producers=[],this.producerLastReadVersions=[],this.__notify=null}},Vn=Symbol("watched"),zn=Symbol("unwatched");function na(e){let t=U;U=null;try{return e()}finally{U=t}}function ra(e){return e.producers.slice()}function oa(e){return e.liveConsumers?[...e.liveConsumers]:[]}function ia(e){return!!e.liveConsumers&&e.liveConsumers.size>0}function sa(e){return e.producers.length>0}function aa(){return U&&U.__isComputed?U:null}function ca(e){$n++,Ee===null&&(Ee=new Set);try{e()}finally{if($n--,$n===0){let t=Ee;Ee=null;for(let n of t)n.__fire()}}}var Ze={State:Rt,Computed:Qe,subtle:{Watcher:Ot,untrack:na,introspectSources:ra,introspectSinks:oa,hasSinks:ia,hasSources:sa,currentComputed:aa,watched:Vn,unwatched:zn}};function la(e,t){return new Rt(e,t)}function ua(e,t){return new Qe(e,t)}function fa(e){return!!(e&&typeof e=="object"&&e.__isSignal===!0)}function da(e){let t=!1,n=!1,r=new Qe(e),o=new Ot(()=>{t||n||(t=!0,queueMicrotask(()=>{if(t=!1,!n){try{r.get()}catch(i){console.error(i)}o.watch()}}))});o.watch(r);try{r.get()}catch(i){console.error(i)}return()=>{n||(n=!0,o.dispose())}}Bt();function Go(e,t){let n=e&&e[v]?e:null;return n?Ft(n,t):t()}var cr=new WeakMap,lr=new WeakMap,Ut=Symbol.for("webjs.instance"),M=null;function Wt(e){return e?e.nodeType===11&&e.host?e.host:e:null}function fr(e,t){let n=e.__commitOwner,r=M;n&&(M=n);try{t()}finally{M=r}}function Oe(e,t){let n=t,r=n[T];n[T]=!0;let o=M;M=t;try{let i=n[Ut];if(P(e)){let s=e;if(i&&i.strings===s.strings){je(i,s.values);return}i&&Yo(i,t);let a=t.firstChild;a&&a.nodeType===8&&a.data==="webjs-hydrate"&&a.remove(),n[Ut]=null;let c=Pa(s,t);n[Ut]=c;return}if(i&&Yo(i,t),n[Ut]=null,t.replaceChildren(),e==null||e===!1||e===!0)return;if(Array.isArray(e)){for(let s of e){let a=document.createTextNode(String(s??""));t.appendChild(a)}return}t.appendChild(document.createTextNode(String(e)))}finally{M=o,n[T]=r,r||ar(n)}}function Vt(e){let{strings:t}=e,n=cr.get(t);if(n)return n;let r=[],o="",i="text",s="",a=0,c="",l=0,u=null,f="",d="";for(let g=0;g<t.length;g++){let b=t[g];for(let y=0;y<b.length;y++){let h=b[y];switch(i){case"text":o+=h,h==="<"&&(i="tag-open");break;case"tag-open":o+=h,h==="!"?i="bang-1":h==="/"?(i="tag-name",f=""):/[a-zA-Z]/.test(h)?(i="tag-name",f=h.toLowerCase()):i="text";break;case"bang-1":o+=h,i=h==="-"?"bang-dash":"tag-name";break;case"bang-dash":o+=h,h==="-"?(i="comment",l=0):i="tag-name";break;case"comment":o+=h,h==="-"?l+=1:(h===">"&&l>=2&&(i="text"),l=0);break;case"tag-name":o+=h,h===">"?(i=f==="script"||f==="style"?"rawtext":"text",i==="rawtext"&&(d="")):/\s/.test(h)?i="in-tag":f+=h.toLowerCase();break;case"in-tag":o+=h,h===">"?(i=f==="script"||f==="style"?"rawtext":"text",i==="rawtext"&&(d="")):!/\s/.test(h)&&h!=="/"&&(i="attr-name",s=h,a=o.length-1);break;case"rawtext":o+=h,d=(d+h.toLowerCase()).slice(-9),(d.endsWith("<\/script>")||d.endsWith("</style>"))&&(i="text",d="",f="");break;case"attr-name":h==="="?(i="after-eq",o+=h):/\s/.test(h)?(i="in-tag",s="",o+=h):h===">"?(i="text",s="",o+=h):(s+=h,o+=h);break;case"after-eq":h==='"'||h==="'"?(i="attr-quoted",c=h,o+=h):/\s/.test(h)?(i="in-tag",s="",o+=h):h===">"?(i="text",s="",o+=h):(i="attr-unquoted",o+=h);break;case"attr-unquoted":/\s/.test(h)?(i="in-tag",s="",o+=h):(h===">"&&(i="text",s=""),o+=h);break;case"attr-quoted":o+=h,h===c&&(i="in-tag",s="");break;case"skip-attr":if(h===c){if(u){let W=u.firstPartIdx,w=[];for(let x=W;x<r.length;x++)(r[x].kind==="noop"||r[x].kind==="attr-mixed")&&w.push(x);let L=[],Se=t[w[0]],ve=Se.lastIndexOf(c);L.push(ve>=0?Se.slice(ve+1):Se);for(let x=1;x<w.length;x++)L.push(t[w[x]]);let E=t[w[w.length-1]+1],ze=E.indexOf(c);L.push(ze>=0?E.slice(0,ze):E),r[W]={kind:"attr-mixed",path:[],name:u.name,statics:L,group:w};for(let x=1;x<w.length;x++)r[w[x]]={kind:"noop",path:[],mixedAnchor:W};u=null}i="in-tag",s=""}break}}if(g<t.length-1){let y=r.length;if(i==="comment"){l=0,r.push({kind:"noop",path:[]});continue}if(i==="rawtext"){d="",r.push({kind:"noop",path:[]});continue}if(i==="text")o+=`<!--${C}${y}-->`,r.push({kind:"child",path:[]});else if(i==="in-tag"){let h=`data-${C}${y}`;o+=`${h}=""`,r.push({kind:"element",path:[]})}else if(i==="after-eq"){let h=s[0],W=s.slice(1);if(Ke(h)){o=o.slice(0,a);let w=xn[h],L=`data-${C}${y}`;o+=`${L}=""`,r.push({kind:w,path:[],name:W})}else{o=o.slice(0,a);let w=`data-${C}${y}`;o+=`${w}=""`,r.push({kind:"attr",path:[],name:s})}i="in-tag",s=""}else if(i==="attr-quoted"||i==="attr-unquoted"){o=o.slice(0,a);let h=`data-${C}${y}`;o+=`${h}=""`,u={name:s,firstPartIdx:y},r.push({kind:"noop",path:[]}),i="skip-attr"}else i==="skip-attr"&&r.push({kind:"noop",path:[]})}}let p=document.createElement("template");p.innerHTML=o,Ta(p.content,r);let m=ja(p.content,r);return n={templateEl:p,parts:r,formActions:m},cr.set(t,n),n}function Ta(e,t){let n=e.querySelectorAll("slot");for(let r of n){r.setAttribute(N,"");let o=t.length;r.setAttribute(`data-${C}${o}`,""),t.push({kind:"slot",path:[]})}}function ja(e,t){let n=[],r=[];function o(i){for(let s=0;s<i.childNodes.length;s++){let a=i.childNodes[s];if(n.push(s),a.nodeType===8){let c=a.data;if(c.startsWith(C)){let l=Number(c.slice(C.length));t[l]&&t[l].kind==="child"&&(t[l].path=n.slice())}}else if(a.nodeType===1){let c=a,l=[],u=[];for(let f of c.attributes)if(f.name.startsWith(`data-${C}`)){let d=Number(f.name.slice(`data-${C}`.length));t[d]&&t[d].kind!=="child"&&(t[d].path=n.slice(),u.push({idx:d,kind:t[d].kind,name:t[d].name||""})),l.push(f.name)}if(c.localName==="form"||c.localName==="button"||c.localName==="input"){let f=Ra(c,u,t);f&&r.push(f)}for(let f of l)c.removeAttribute(f);o(a)}n.pop()}}return o(e),r.length?r:null}function Ra(e,t,n){let r=e.localName==="form",o=r?"action":"formaction",i=r?"method":"formmethod",s=r?"enctype":"formenctype",a=t.filter(b=>b.kind==="attr"&&b.name.toLowerCase()===o);if(!a.length)return null;let c=[],l=[],u=[],f=r?[]:t.filter(b=>b.name.toLowerCase()==="name"&&(b.kind==="attr"||b.kind==="attr-mixed"||b.kind==="bool")).map(b=>({i:b.idx,kind:b.kind})),d=!r&&e.hasAttribute("name"),p=!r&&e.hasAttribute("form"),m=!r&&e.hasAttribute("value"),g=r?[]:t.filter(b=>b.name.toLowerCase()==="value"&&(b.kind==="attr"||b.kind==="attr-mixed"||b.kind==="bool")).map(b=>({i:b.idx,kind:b.kind}));for(let b of t){let y=String(b.name).toLowerCase();if(b.kind==="prop"){r?(y==="method"||y==="enctype"||y==="encoding")&&u.push(b.name):On(y)&&u.push(b.name);continue}if(y!==i&&y!==s||b.kind!=="attr"&&b.kind!=="attr-mixed"&&b.kind!=="bool")continue;let h=n[b.idx],W={i:b.idx,kind:b.kind};b.kind==="attr-mixed"&&(W.statics=h.statics||[],W.group=h.group||[]),(y===i?c:l).push(W)}return{isForm:r,tag:e.localName,actionIdxs:a.map(b=>b.idx),duplicateAction:a.length>1,staticAction:e.getAttribute(o)!=null,authoredName:d,authoredValue:m,authoredForm:p,propAttrs:u,nameParts:f,valueParts:g,staticMethod:e.getAttribute(i),staticEnctype:e.getAttribute(s),methodParts:c,enctypeParts:l}}function ot(e,t,n){if(e)for(let r of[!0,!1])for(let o of e){if(o.isForm!==r)continue;let i=o.actionIdxs[0],s=o.isForm?"action":"formaction";for(let l of o.actionIdxs)if(Rn(Te(n[l]),s,o.tag)){i=l;break}let a=t[i];if(!a||!a.el)continue;let c=Te(n[i]);if(o.isForm)yo(a.el,c,Ht(o.methodParts,o.staticMethod,n),Ht(o.enctypeParts,o.staticEnctype,n),o);else{let l=u=>u.some(f=>f.kind==="bool"?!!Te(n[f.i]):!0);La(a.el,c,o,l(o.nameParts),l(o.valueParts),Ht(o.methodParts,o.staticMethod,n),Ht(o.enctypeParts,o.staticEnctype,n))}}}function Oa(e){(lr.has(e)||e.getAttribute("name")===O)&&(e.getAttribute("name")===O&&e.removeAttribute("name"),e.removeAttribute("value"),lr.delete(e))}function La(e,t,n,r,o,i,s){let a=typeof t=="function"?jn(t):null;if(!a){typeof t=="function"&&Ln(null,e.localName),Oa(e),go(e,i,s,n.propAttrs);return}fo(n.duplicateAction,e.localName),po(n.propAttrs,e.localName),n.staticAction&&lo(e.localName),(n.authoredValue||o)&&co(e.localName),(n.authoredName||r)&&so(e.getAttribute("name")||O,e.localName,!1),(n.authoredForm||e.hasAttribute("form"))&&uo(e.localName),ao(e.localName,e.getAttribute("type"));let c=bo(e.localName,i,s);e.removeAttribute("formaction"),e.setAttribute("name",O),e.setAttribute("value",a),Ye(e,"formmethod",i,c.formMethod),Ye(e,"formenctype",s,c.formEnctype),lr.set(e,a)}function Pa(e,t){let{templateEl:n,parts:r,formActions:o}=Vt(e),i=n.content.cloneNode(!0),s=document.createComment(`${C}s`),a=document.createComment(`${C}e`),c=r.map(f=>zt(f,i)),l=[];for(let f=0;f<e.values.length;f++)K(c[f],e.values[f],void 0,e.values),l.push(e.values[f]);ot(o,c,e.values),t.replaceChildren(s,...i.childNodes,a);let u=t.nodeType===1&&t[v]?t:null;for(let f of c)f.kind==="slot"&&(u&&f.slotEl&&(f.slotEl[It]=u),K(f,void 0,void 0,[]));return{strings:e.strings,bound:c,lastValues:l,startNode:s,endNode:a}}function zt(e,t){if(e.kind==="noop")return{kind:"noop",mixedAnchor:e.mixedAnchor};let n=t;for(let o of e.path)n=n.childNodes[o];if(e.kind==="child")return{kind:"child",marker:n};let r=n;if(e.kind==="event"){let o={kind:"event",el:r,name:e.name||"",handler:null,dispatcher(i){o.handler?.(i)}};return r.addEventListener(o.name,o.dispatcher),o}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}`)}var Ko=Symbol("webjs.commitFailed");function je(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(Object.is(r,e.lastValues[n]))continue;let o=e.bound[n],i=o.mixedAnchor;try{o.kind==="noop"&&i!=null?K(e.bound[i],t[i],e.lastValues[i],t):K(o,r,e.lastValues[n],t)}catch(s){throw e.lastValues[n]=Ko,o.kind==="noop"&&i!=null&&(e.lastValues[i]=Ko),s}e.lastValues[n]=r}ot(cr.get(e.strings)?.formActions??null,e.bound,t)}function Yo(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 if(typeof r=="object")try{r.value=void 0}catch{}n.lastTarget=void 0,n.__lastEl=void 0}}if(n.kind==="slot"){let r=nt(n.slotEl);r&&zo(r,n.slotEl)}}t.replaceChildren()}function Ht(e,t,n){for(let r of e){if(r.kind==="bool")return Te(n[r.i])?"":$;if(r.kind==="attr"){let a=Te(n[r.i]);return a==null?"":String(a)}let o=r.statics||[],i=r.group||[],s=o[0]||"";for(let a=0;a<i.length;a++)s+=String(Te(n[i[a]])??""),s+=o[a+1]||"";return s}return t??$}function Te(e){return At(e)?e.value:e}function K(e,t,n,r){if(At(t)){let o=t.value;if(e.kind==="prop"&&e.el[e.name]===o||e.kind==="attr"&&e.el.getAttribute(e.name)===String(o)||e.kind==="bool"&&e.el.hasAttribute(e.name)===!!o)return;t=o}switch(e.kind){case"child":Fa(e,t);break;case"attr":{t==null||t===!1?e.el.removeAttribute(e.name):Rn(t,e.name,e.el.localName)||(Ge(t,e.name,e.el.localName),e.el.setAttribute(e.name,String(t)));break}case"prop":ho(t,e.name,e.el.localName),e.el[e.name]=t;break;case"bool":Ge(t,e.name,e.el.localName),t?e.el.setAttribute(e.name,""):e.el.removeAttribute(e.name);break;case"event":e.handler=typeof t=="function"?t:null;break;case"element":Ia(e,t);break;case"attr-mixed":{let o=e,i=o.statics[0];for(let s=0;s<o.group.length;s++){let a=r?r[o.group[s]]:t;Ge(a,e.name,e.el.localName),i+=String(a??""),i+=o.statics[s+1]||""}e.el.setAttribute(e.name,i);break}case"slot":{if(e.applied)break;let o=e.slotEl,i=()=>{let a=nt(o);if(!a){e.applied=!0;return}if(!a.contains(o)){a.isConnected?queueMicrotask(i):e.applied=!0;return}if(e.applied=!0,Ma(o))return;let c=document.createDocumentFragment();for(;o.firstChild;)c.appendChild(o.firstChild);o[tt]=c,queueMicrotask(()=>Z(a))},s=nt(o);s&&s.contains(o)?i():queueMicrotask(i);break}case"noop":break}}function nt(e){let t=e[It];if(t&&t.isConnected)return t;let n=e.parentElement;for(;n;){if(n[v])return n;n=n.parentElement}return null}function Ma(e){let t=e;for(let n=0;n<128;n++){let r=t.parentNode;if(!r||r===t)return!1;if(r.nodeType===11&&r.host)return!0;t=r}return!1}function Ia(e,t){let n=e,r=Et(t)?t.target:void 0,o=n.__refTarget,i=r!==o;if(i&&o)if(typeof o=="function")try{o(void 0)}catch{}else typeof o=="object"&&(o.value=void 0);if(i||n.__refElement!==e.el){if(n.__refTarget=r,r)if(typeof r=="function"){if(!i&&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 Fa(e,t){return Ka(e,t),z(e,t)}function z(e,t){return Go(e.marker&&e.marker.parentNode,()=>$a(e,t))}function $a(e,t){let n=e.marker;if(Pn(t)){se(e);let o=String(t.value??""),i=document.createElement("template");i.innerHTML=o;let s=[...i.content.childNodes],a=document.createDocumentFragment();for(let c of s)a.appendChild(c);n.parentNode?.insertBefore(a,n),e.child=s;return}if(St(t)){let o=t,i=e.__keyedKey;i!==void 0&&!Object.is(i,o.key)&&se(e),e.__keyedKey=o.key,z(e,o.value);return}if(vt(t)){let o=t,i=e.__guardDeps,s=o.deps;if(i!==void 0&&(Array.isArray(i)&&Array.isArray(s)?za(i,s):Object.is(i,s)))return;let a=Array.isArray(s)?s.slice():s;z(e,o.fn()),e.__guardDeps=a;return}if(Mn(t)){se(e);let o=t.template;if(o&&o.content){let i=o.content.cloneNode(!0),s=[...i.childNodes];n.parentNode?.insertBefore(i,n),e.child=s}return}if(Et(t))return;if(Ct(t))return Ya(e,t.value);if(Nt(t))return Ga(e,t.args);if(kt(t))return Ja(e,t.signal);if(In(t))return Xa(e,t);if(Fn(t))return Qa(e,t);if(_t(t)){if(e.child&&e.child.kind==="repeat"){Ua(e,t);return}se(e);let o={kind:"repeat",map:new Map};e.child=o,Ba(n,o,t);return}if(Array.isArray(t)){if(e.child&&e.child.kind==="array"){Wa(e,t);return}se(e);let o={kind:"array",items:[]};e.child=o,qa(n,o,t);return}if(e.child){let o=e.child;if(o.kind==="repeat")Jo(o),e.child=void 0;else if(o.kind==="array")Qo(o),e.child=void 0;else if(o.kind==="async-stream")ni(o),e.child=void 0;else if("strings"in e.child){let i=e.child;if(P(t)&&i.strings===t.strings){je(i,t.values);return}Re(i.startNode,i.endNode),e.child=void 0}else{for(let i of e.child)i.parentNode&&i.parentNode.removeChild(i);e.child=void 0}}if(t==null||t===!1||t===!0)return;if(P(t)){let o=t,{templateEl:i,parts:s,formActions:a}=Vt(o),c=i.content.cloneNode(!0),l=document.createComment(`${C}s`),u=document.createComment(`${C}e`),f=s.map(m=>zt(m,c)),d=[];for(let m=0;m<o.values.length;m++)K(f[m],o.values[m],void 0,o.values),d.push(o.values[m]);ot(a,f,o.values);let p=[l,...c.childNodes,u];n.parentNode?.insertBefore(Da(p),n);for(let m of f)m.kind==="slot"&&K(m,void 0,void 0,[]);e.child={strings:o.strings,bound:f,lastValues:d,startNode:l,endNode:u};return}let r=document.createTextNode(String(t));n.parentNode?.insertBefore(r,n),e.child=[r]}function Da(e){let t=document.createDocumentFragment();for(let n of e)t.appendChild(n);return t}function Re(e,t){let n=e.parentNode;if(!n)return;let r=e;for(;r&&r!==t;){let o=r.nextSibling;r.parentNode?.removeChild(r),r=o}t.parentNode===n&&n.removeChild(t)}function dr(e){let{templateEl:t,parts:n,formActions:r}=Vt(e),o=t.content.cloneNode(!0),i=document.createComment(`${C}s`),s=document.createComment(`${C}e`),a=n.map(u=>zt(u,o)),c=[];for(let u=0;u<e.values.length;u++)K(a[u],e.values[u],void 0,e.values),c.push(e.values[u]);ot(r,a,e.values);for(let u of a)u.kind==="slot"&&K(u,void 0,void 0,[]);let l=document.createDocumentFragment();for(l.appendChild(i);o.firstChild;)l.appendChild(o.firstChild);return l.appendChild(s),{inst:{strings:e.strings,bound:a,lastValues:c,startNode:i,endNode:s},frag:l}}function rt(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 if(typeof n=="object")try{n.value=void 0}catch{}t.lastTarget=void 0,t.__lastEl=void 0}}}function Ba(e,t,n){let{items:r,keyFn:o,templateFn:i}=n,s=e.parentNode;if(!s)return;let a=document.createDocumentFragment();for(let c=0;c<r.length;c++){let l=o(r[c],c),u=i(r[c],c);if(!P(u))continue;let{inst:f,frag:d}=dr(u);t.map.set(l,f),a.appendChild(d)}s.insertBefore(a,e)}function Ua(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let o=e.child,{items:i,keyFn:s,templateFn:a}=t,c=new Map;try{for(let l=0;l<i.length;l++){let u=s(i[l],l),f=a(i[l],l);if(!P(f))continue;let d=o.map.get(u);if(d&&d.strings===f.strings)je(d,f.values),ur(d.startNode,d.endNode,r,n),c.set(u,d),o.map.delete(u);else{d&&(o.map.delete(u),rt(d),Re(d.startNode,d.endNode));let{inst:p,frag:m}=dr(f);r.insertBefore(m,n),c.set(u,p)}}for(let[l,u]of[...o.map]){o.map.delete(l);try{rt(u)}finally{Re(u.startNode,u.endNode)}}o.map=c}catch(l){for(let[u,f]of c)o.map.set(u,f);throw l}}function Jo(e){for(let[t,n]of[...e.map]){e.map.delete(t);try{rt(n)}finally{Re(n.startNode,n.endNode)}}e.map.clear()}function Ha(e){return e.type==="tpl"?e.inst.startNode:e.type==="text"?e.node:null}function qt(e){e.type==="tpl"?(rt(e.inst),Re(e.inst.startNode,e.inst.endNode)):e.type==="text"&&e.node.parentNode?.removeChild(e.node)}function Xo(e){if(P(e)){let{inst:t,frag:n}=dr(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 qa(e,t,n){let r=e.parentNode;if(!r)return;let o=document.createDocumentFragment(),i=[];for(let s of n){let{item:a,frag:c}=Xo(s);c&&o.appendChild(c),i.push(a)}r.insertBefore(o,e),t.items=i}function Wa(e,t){let n=e.marker,r=n.parentNode;if(!r)return;let o=e.child,i=o.items,s=[],a=0;try{for(let c=0;c<t.length;c++){let l=t[c],u=i[c];if(P(l)){let p=l;if(u&&u.type==="tpl"&&u.inst.strings===p.strings){je(u.inst,p.values),s.push(u),a=c+1;continue}}else if(l!=null&&l!==!1&&l!==!0){if(u&&u.type==="text"){let p=String(l);u.node.data!==p&&(u.node.data=p),s.push(u),a=c+1;continue}}else{u&&qt(u),s.push({type:"empty"}),a=c+1;continue}let{item:f,frag:d}=Xo(l);d&&r.insertBefore(d,Va(i,c,n)),s.push(f),u&&qt(u),a=c+1}for(let c=t.length;c<i.length;c++)qt(i[c]),a=c+1;o.items=s}catch(c){throw o.items=s.concat(i.slice(a)),c}}function Va(e,t,n){for(let r=t;r<e.length;r++){let o=Ha(e[r]);if(o&&o.parentNode)return o}return n}function Qo(e){for(let t of e.items)qt(t);e.items=[]}function ur(e,t,n,r){if(t.nextSibling===r&&e.parentNode===n)return;let o=document.createDocumentFragment(),i=e;for(;i;){let s=i.nextSibling;if(o.appendChild(i),i===t)break;i=s}n.insertBefore(o,r)}function za(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 se(e){let t=e;if(t.__untilState&&(t.__untilState.aborted=!0,t.__untilState=void 0),t.__watchSub&&Zo(t),!e.child)return;let n=e.child;if(n.kind==="repeat")Jo(n);else if(n.kind==="array")Qo(n);else if(n.kind==="async-stream")ni(n);else if("strings"in n){let r=e.child;rt(r),Re(r.startNode,r.endNode)}else for(let r of e.child)r.parentNode&&r.parentNode.removeChild(r);e.child=void 0}function Ka(e,t){let n=e;n.__untilState&&!Nt(t)&&(n.__untilState.aborted=!0,n.__untilState=void 0),n.__guardDeps!==void 0&&!vt(t)&&(n.__guardDeps=void 0),n.__cacheMap&&!Ct(t)&&(n.__cacheMap=void 0),n.__keyedKey!==void 0&&!St(t)&&(n.__keyedKey=void 0),n.__watchSub&&!kt(t)&&Zo(n)}function Ya(e,t){let n=e.marker,r=e,o=r.__cacheMap;o||(o=new Map,r.__cacheMap=o);let i=e.child;if(i&&"strings"in i){let a=i;if(P(t)&&a.strings===t.strings){je(a,t.values);return}let c=document.createDocumentFragment();ur(a.startNode,a.endNode,c,null),o.set(a.strings,{inst:a,holder:c}),e.child=void 0}if(P(t)){let a=t,c=o.get(a.strings);if(c){o.delete(a.strings),e.child&&se(e),ur(c.inst.startNode,c.inst.endNode,n.parentNode,n),je(c.inst,a.values),e.child=c.inst;let l=new Set;for(let u=c.inst.startNode.nextSibling;u&&u!==c.inst.endNode;u=u.nextSibling){if(u.nodeType!==1)continue;let f=u;if(f.matches("slot[data-webjs-light]")){let d=nt(f);d&&l.add(d)}for(let d of f.querySelectorAll("slot[data-webjs-light]")){let p=nt(d);p&&l.add(p)}}for(let u of l)Z(u);return}}z(e,t)}function Ga(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=n.__untilState,o=n.__untilArgs,i=(d,p)=>!!(Object.is(d,p)||P(d)&&P(p)&&d.strings===p.strings),a=o&&o.length===t.length&&o.every((d,p)=>i(d,t[p]))&&r?r.highestResolved:1/0;r&&(r.aborted=!0),n.__untilArgs=t.slice();let c={aborted:!1,highestResolved:a};n.__untilState=c;let l=-1,u;for(let d=0;d<t.length;d++){let p=t[d];if(!p||typeof p.then!="function"){l=d,u=p;break}}l!==-1&&l<=c.highestResolved?(z(e,u),c.highestResolved=l):l===-1&&!n.__untilEverRendered&&z(e,""),n.__untilEverRendered=!0;let f=Math.min(l===-1?t.length:l,c.highestResolved);for(let d=0;d<f;d++){let p=t[d];!p||typeof p.then!="function"||Promise.resolve(p).then(m=>{if(!c.aborted&&!(d>=c.highestResolved)){try{fr(e,()=>z(e,m))}catch(g){pr(e,g);return}c.highestResolved=d}},()=>{})}}function pr(e,t){let n;try{n=t instanceof Error?t:new Error(String(t))}catch{n=new Error("render error (unstringifiable thrown value)")}let r=e.__commitOwner;if(r&&typeof r._handleRenderError=="function"){r._handleRenderError(n);return}throw n}function Ja(e,t){let n=e;if(M&&(n.__commitOwner=Wt(M)),n.__watchSig===t&&n.__watchSub){let i;n.__watchSub.observe(()=>{i=t.get()}),z(e,i);return}n.__watchSub&&(n.__watchSub.dispose(),n.__watchSub=void 0),n.__watchSig=t;let r=new Ze.subtle.Watcher(()=>{queueMicrotask(()=>{if(n.__watchSub!==r)return;let i;try{r.observe(()=>{i=t.get()}),fr(e,()=>z(e,i))}catch(s){pr(e,s)}})});n.__watchSub=r;let o;r.observe(()=>{o=t.get()}),z(e,o)}function Zo(e){e.__watchSub&&(e.__watchSub.dispose(),e.__watchSub=void 0,e.__watchSig=void 0)}function Xa(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=e.child;if(r&&r.kind==="async-stream"&&r.mode==="append"&&r.iterable===t.iterable)return;se(e);let o=t.iterable[Symbol.asyncIterator](),i={kind:"async-stream",mode:"append",aborted:!1,iterable:t.iterable,iterator:o,nodes:[]};e.child=i,ei(i,e,t)}function Qa(e,t){let n=e;M&&(n.__commitOwner=Wt(M));let r=e.child;if(r&&r.kind==="async-stream"&&r.mode==="replace"&&r.iterable===t.iterable)return;se(e);let o=t.iterable[Symbol.asyncIterator](),i={kind:"async-stream",mode:"replace",aborted:!1,iterable:t.iterable,iterator:o,nodes:[]};e.child=i,ei(i,e,t)}async function ei(e,t,n){let r=t.marker,o=0;for(;!e.aborted;){let i,s;try{if(i=await e.iterator.next(),e.aborted||i.done)break;s=n.mapper?n.mapper(i.value,o):i.value}catch(a){typeof console<"u"&&console.error("[webjs] asyncStream error:",a);return}try{fr(t,()=>{let a=ti(s);Go(r.parentNode,()=>{if(e.mode==="replace"){for(let l of e.nodes)l.parentNode&&l.parentNode.removeChild(l);e.nodes=[]}let c=document.createDocumentFragment();for(let l of a)c.appendChild(l);r.parentNode?.insertBefore(c,r),e.nodes.push(...a)})})}catch(a){e.aborted=!0;try{e.iterator.return?.()?.catch?.(()=>{})}catch{}pr(t,a);return}o++}}function ti(e){if(e==null||e===!1||e===!0)return[];if(P(e)){let t=e,{templateEl:n,parts:r,formActions:o}=Vt(t),i=n.content.cloneNode(!0),s=r.map(a=>zt(a,i));for(let a=0;a<t.values.length;a++)K(s[a],t.values[a],void 0,t.values);ot(o,s,t.values);for(let a of s)a.kind==="slot"&&K(a,void 0,void 0,[]);return[...i.childNodes]}if(Array.isArray(e)){let t=[];for(let n of e)t.push(...ti(n));return t}return[document.createTextNode(String(e))]}function ni(e){e.aborted=!0;for(let t of e.nodes)t.parentNode&&t.parentNode.removeChild(t);e.nodes=[];try{e.iterator.return?.()?.catch?.(()=>{})}catch{}}function ri(e,t){if(e.converter&&e.converter.fromAttribute)return e.converter.fromAttribute(t,e.type);if(e.type===Number)return t==null?null:Number(t);if(e.type===Boolean)return t!=null&&t!=="false";if(e.type===Object||e.type===Array){if(t==null)return null;try{return JSON.parse(t)}catch{return null}}return t}function Za(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function oi(e,t){let n=e&&e.properties||{};for(let[r,o]of Object.entries(n)){let i=typeof o=="object"&&o!==null?o:{type:o};if(!i.state&&(i.attribute||Za(r))===t)return{propName:r,def:i}}}var ii=null;function Kt(e){ii=e||null}function ec(){return ii||void 0}Je();var si=Symbol.for("webjs:registry"),ai=Symbol.for("webjs:classToTag"),Yt=globalThis,Y=Yt[si]||(Yt[si]=new Map),ci=Yt[ai]||(Yt[ai]=new WeakMap),Gt=typeof window<"u"&&typeof customElements<"u";function hr(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=Y.get(e);r?(r.cls=t,r.lazy=n):Y.set(e,{cls:t,moduleUrl:null,lazy:n,tag:e}),ci.set(t,e)}if(Gt){let e=customElements.define.bind(customElements);customElements.define=function(t,n,r){customElements.get(t)||e(t,n,r),hr(t,n)}}if(!Gt){let e=globalThis;e.customElements||(e.customElements={define(t,n){hr(t,n)},get(t){return Y.get(t)?.cls},upgrade(){},whenDefined(t){let n=Y.get(t);return Promise.resolve(n?.cls)}})}function mr(e,t){Gt?customElements.define(e,t):hr(e,t)}function tc(e,t){if(Gt)return;let n=Y.get(e);if(n){n.moduleUrl=t;return}Y.set(e,{cls:null,moduleUrl:t,lazy:!1,tag:e})}function nc(e){return Y.get(e)?.cls}function rc(e){return Y.get(e)?.moduleUrl||null}function oc(e){return Y.get(e)?.lazy===!0}function Le(e){return ci.get(e)}function ic(){return[...Y.keys()]}at();Bt();var bi=typeof window<"u"&&typeof HTMLElement<"u";function gc(e,t){return e!==t}function wc(e){try{return String(e)}catch{return Object.prototype.toString.call(e)}}function pi(e,t,n){if(typeof console>"u"||!console.warn)return;let r=Le(e.constructor)||e.tagName?.toLowerCase()||"unknown";console.warn(`[webjs] reflect:true property "${t}" on <${r}> holds a function (or an array carrying one), which has no HTML attribute representation. Removing "${n}" instead of stringifying it (a stringified function writes its source into the page, so a server action's body would ship to the browser). Pass a string, or drop reflect on this property.`)}function _c(e,t,n,r){if(typeof console>"u"||!console.warn)return;let o=Le(e.constructor)||e.tagName?.toLowerCase()||"unknown";console.warn(`[webjs] reflect:true property "${t}" on <${o}> holds a value JSON.stringify cannot serialize (a cycle, a BigInt, or a throwing toJSON), so it has no HTML attribute representation. Removing "${n}" instead. Detail: ${r}`)}function Ac(){return{states:new Set,shadowRoot:null,form:null,labels:[],role:"",willValidate:!0,validity:{},validationMessage:"",setFormValue(){},setValidity(){},checkValidity(){return!0},reportValidity(){return!0}}}var Jt=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(),o=this.__ssrAttrs.has(r);return(n===void 0?!o: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 o=r.length-1;o>=0;o--)if(r[o]&&r[o].__ssrTag===n)return r[o];return null}get dataset(){if(this.__dataset)return this.__dataset;let t=this,n=r=>"data-"+String(r).replace(/[A-Z]/g,o=>"-"+o.toLowerCase());return this.__dataset=new Proxy({},{get(r,o){if(typeof o!="string")return;let i=t.getAttribute(n(o));return i===null?void 0:i},set(r,o,i){return typeof o=="string"&&t.setAttribute(n(o),i),!0},has(r,o){return typeof o=="string"&&t.hasAttribute(n(o))},deleteProperty(r,o){return typeof o=="string"&&t.removeAttribute(n(o)),!0},ownKeys(){return t.getAttributeNames().filter(r=>r.startsWith("data-")).map(r=>r.slice(5).replace(/-([a-z])/g,(o,i)=>i.toUpperCase()))},getOwnPropertyDescriptor(r,o){if(typeof o=="string"&&t.hasAttribute(n(o)))return{enumerable:!0,configurable:!0,value:t.getAttribute(n(o))}}}),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=Ac(),this.__internals}},Sc=["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 Sc){let t="aria-"+e.slice(4).toLowerCase();Object.defineProperty(Jt.prototype,e,{configurable:!0,get(){return this.getAttribute(t)},set(n){n==null?this.removeAttribute(t):this.setAttribute(t,String(n))}})}var vc=bi?HTMLElement:Jt,yi=Symbol("webjs.factoryProps"),hi=new WeakSet,Pe=class e extends vc{static shadow=!1;static hydrate=void 0;static properties={};static styles=null;static register(t){mr(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||mi(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(hi.has(t))return;let n=t;for(;n&&n!==e;){if(Object.hasOwn(n,"properties")&&!Object.hasOwn(n,yi)){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://webjs.dev/docs/components.`)}n=Object.getPrototypeOf(n)}hi.add(t)}_initializeProperties(){let n=this.constructor.properties;if(!(!n||typeof n!="object")){this.__propValues={};for(let[r,o]of Object.entries(n)){let i=typeof o=="object"?o:{type:o},s=this[r];Object.defineProperty(this,r,{configurable:!0,enumerable:!0,get:()=>this.__propValues[r],set:a=>{let c=this.__propValues[r];(i.hasChanged||gc)(a,c)&&(this.__propValues[r]=a,i.reflect&&!i.state&&this._connected&&this._reflectAttribute(r,a,i),this.requestUpdate(r,c))}}),s!==void 0?this.__propValues[r]=s:i.default!==void 0&&(this.__propValues[r]=typeof i.default=="function"?i.default():i.default)}}}_reflectAttribute(t,n,r){let o=r.attribute||mi(t);if(!this.__reflectingAttribute){this.__reflectingAttribute=!0;try{if(r.converter&&r.converter.toAttribute){let i=r.converter.toAttribute(n,r.type);i==null?this.removeAttribute(o):this.setAttribute(o,i)}else if(typeof n=="function")this.removeAttribute(o),pi(this,t,o);else if(r.type===Boolean)n?this.setAttribute(o,""):this.removeAttribute(o);else if(n==null)this.removeAttribute(o);else if(r.type===Object||r.type===Array){let i,s=!0;try{i=JSON.stringify(n)}catch(a){s=!1,this.removeAttribute(o),_c(this,t,o,a&&a.message)}s&&this.setAttribute(o,i)}else wt(n)?(this.removeAttribute(o),pi(this,t,o)):this.setAttribute(o,String(n))}finally{this.__reflectingAttribute=!1}}}connectedCallback(){if(!bi)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 o=n[r].name;o.startsWith("data-webjs-prop-")&&t.push(o)}for(let r of t){let o=this.getAttribute(r);if(this.removeAttribute(r),o==null)continue;let i=Ec(r.slice(16));try{this[i]=ye(o)}catch(s){console.warn(`[webjs] failed to decode ${r} on <${this.tagName.toLowerCase()}>: ${s&&s.message}`)}}}_activate(){this._connected=!0,this._reflectDeclaredAttributes();let t=this.constructor;if(t.shadow!==!0&&!this.hasAttribute("data-wj-host")&&this.setAttribute("data-wj-host",""),t.shadow===!0){let n=!!this.shadowRoot;this.shadowRoot||this.attachShadow({mode:"open"}),this._renderRoot=this.shadowRoot;let r=t.styles,o=Array.isArray(r)?r:Nn(r)?[r]:[];if(o.length){if(n){let i=this.shadowRoot.querySelector("style");i&&i.remove()}kn(this._renderRoot,o)}}else this._renderRoot=this,t.styles&&console.warn(`[webjs] <${Le(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().`),sr(this)?Uo(this):this.__isHydrating()||this.hasAttribute("data-wj-serialized")||Vo(this)?(this.removeAttribute("data-wj-serialized"),Q(this),Oo(this)):Ro(this),Wo(this),$o(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)}})}__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),Bo(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=oi(this.constructor,t);if(o===void 0)return;let{propName:i,def:s}=o,a=ri(s,r);this[i]!==a&&(this[i]=a,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 o of this.__controllers)o.hostUpdate&&o.hostUpdate();this.__renderToken=(this.__renderToken||0)+1,this.__renderAbort&&this.__renderAbort.abort(),this.__renderAbort=typeof AbortController<"u"?new AbortController:null,Kt(this.__renderAbort?this.__renderAbort.signal:null);try{let o=this.update(t);o&&typeof o.then=="function"&&(r=o)}catch(o){this._handleRenderError(o)}finally{Kt(null)}if(!r){for(let o of this.__controllers)o.hostUpdated&&o.hostUpdated();n=!0}}}catch(o){console.error("[webjs] lifecycle hook threw during update phase:",o)}finally{this._isUpdating=!1,(n||r)&&(this._changedProperties=new Map)}if(r){let o=this.__renderToken;this.__pendingAsyncCommits=(this.__pendingAsyncCommits||0)+1;let i=()=>{if(this.__pendingAsyncCommits--,o===this.__renderToken){for(let s of this.__controllers)s.hostUpdated&&s.hostUpdated();this._postCommit(t)}};r.then(i,s=>{try{o===this.__renderToken&&this._handleRenderError(s instanceof Error?s:new Error(wc(s)))}finally{i()}});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 Ze.subtle.Watcher(()=>{this._connected&&this.requestUpdate()}));let n;if(this.__signalWatcher.observe(()=>{n=this.render()}),n&&typeof n.then=="function")return this._commitAsync(n);Oe(n,this._renderRoot)}_commitAsync(t){let n=this.__renderToken;if(this.__firstRendered&&this._overridesRenderFallback())try{let r=this.renderFallback();r!==void 0&&Oe(r,this._renderRoot)}catch(r){console.error("[webjs] renderFallback() threw:",r)}return Promise.resolve(t).then(r=>{if(n===this.__renderToken)try{Oe(r,this._renderRoot)}catch(o){this._handleRenderError(o instanceof Error?o:new Error(String(o)))}},r=>{n===this.__renderToken&&this._handleRenderError(r instanceof Error?r:new Error(String(r)))})}_overridesRenderFallback(){return this.renderFallback!==Xt.prototype.renderFallback}_handleRenderError(t){console.error(`[webjs] render error in <${Le(this.constructor)||this.tagName?.toLowerCase()}>:`,t);try{let n=this.renderError(t);n!==void 0&&Oe(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 mi(e){return e.replace(/([A-Z])/g,"-$1").toLowerCase()}function Ec(e){return e.replace(/-([a-z])/g,(t,n)=>n.toUpperCase())}function Xt(e){return new.target?Reflect.construct(Pe,arguments,new.target):class extends Pe{static properties=e;static[yi]=!0}}Object.setPrototypeOf(Xt,Pe);Xt.prototype=Pe.prototype;function Cc(e,t={}){return e&&typeof e=="object"&&!("call"in e)&&(t=e,e=void 0),{...e?{type:e}:{},...t}}gt();var gi=Symbol.for("webjs.notFound"),wi=Symbol.for("webjs.redirect"),_i=Symbol.for("webjs.forbidden"),Ai=Symbol.for("webjs.unauthorized");function Nc(){let e=new Error("webjs: notFound()");throw e.__webjs=gi,e}function kc(){let e=new Error("webjs: forbidden()");throw e.__webjs=_i,e}function xc(){let e=new Error("webjs: unauthorized()");throw e.__webjs=Ai,e}function Tc(e,t){let n=typeof t=="object"&&t!==null?t.status:t,r=new Error(`webjs: redirect(${e})`);throw r.__webjs=wi,r.url=e,r.status=typeof n=="number"?n:void 0,r}function jc(e){return!!e&&e.__webjs===gi}function Rc(e){return!!e&&e.__webjs===wi}function Oc(e){return!!e&&e.__webjs===_i}function Lc(e){return!!e&&e.__webjs===Ai}var Si=null;function Pc(){if(!Si)return"";try{return Si()||""}catch{return""}}var vi=null;function Mc(e){if(typeof e!="string"||!e||!vi)return e;try{return vi(e)||e}catch{return e}}Je();var Ju=Symbol.for("webjs.suspense");function Ic(e){return{_$webjsSuspense:!0,fallback:e.fallback,children:e.children}}function Fc(e){return!!e&&typeof e=="object"&&e._$webjsSuspense===!0}function $c(e,t={}){let n=t.reconnect!==!1,r=0,o=!1,i=null,s=[];function a(){o||(i=new WebSocket(Dc(e),t.protocols),i.onopen=c=>{for(r=0;s.length&&i&&i.readyState===WebSocket.OPEN;)i.send(s.shift());t.onOpen?.(c)},i.onmessage=c=>{let l=c.data;if(typeof l=="string")try{l=JSON.parse(l)}catch{}t.onMessage?.(l,c)},i.onerror=c=>{t.onError?.(c)},i.onclose=c=>{if(t.onClose?.(c),!o&&n){let l=Math.min(1e3*2**r++,3e4);setTimeout(a,l)}})}return a(),{send(c){let l=typeof c=="string"||c instanceof ArrayBuffer||ArrayBuffer.isView(c)?c:JSON.stringify(c);i&&i.readyState===WebSocket.OPEN?i.send(l):s.push(l)},close(c,l){o=!0;try{i?.close(c,l)}catch{}},get socket(){return i},get readyState(){return i?.readyState??3}}}function Dc(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}`}at();var yr="application/vnd.webjs+json";async function Bc(e,t={}){let n=new Headers(t.headers||{});n.has("accept")||n.set("accept",yr);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 br(r),n.has("content-type")||n.set("content-type",yr));let o=await fetch(e,{...t,headers:n,body:r}),i=o.headers.get("content-type")||"",s=await o.text(),a=i.includes(yr)?s?ye(s):null:i.includes("application/json")?s?JSON.parse(s):null:s;if(!o.ok){let c=a&&a.error||`richFetch ${e} -> ${o.status}`,l=new Error(c);throw l.status=o.status,l.body=a,l}return a}at();Zt();Zt();_r();en();var Zr=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 o=()=>{let i=this.updates.findIndex(s=>s.id===r);i!==-1&&(this.updates.splice(i,1),this.host?.requestUpdate?.())};return n&&typeof n.then=="function"&&(typeof n.finally=="function"?n.finally(()=>o()).catch(()=>{}):n.then(()=>o(),()=>o())),o}};async function Yl(e,t,n){let r=e.get();e.set(t);let o;try{o=await n()}catch(i){throw e.set(r),i}return o&&o.success===!1&&e.set(r),o}function Gl(e,t,n){return e&&typeof e.get=="function"&&typeof e.set=="function"?Yl(e,t,n):new Zr(e,t)}Nr();Tr();var Jl="application/vnd.webjs+stream",Xl=1,Ql=2,Zl=3,Es=new Uint8Array(0);function eu(e,t){let n=t||Es,r=n.length,o=new Uint8Array(5+r);return o[0]=e&255,o[1]=r>>>24&255,o[2]=r>>>16&255,o[3]=r>>>8&255,o[4]=r&255,r&&o.set(n,5),o}function tu(){let e=Es;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],o=(e[1]<<24|e[2]<<16|e[3]<<8|e[4])>>>0;if(e.length<5+o)break;let i=e.slice(5,5+o);n.push({type:r,payload:i}),e=e.slice(5+o)}return n}}}var nu=Symbol.for("webjs.context");function ru(e){return{__context__:nu,name:e}}var En=class extends Event{constructor(t,n,r=!1){super("context-request",{bubbles:!0,composed:!0}),this.context=t,this.callback=n,this.subscribe=r}},eo=class{constructor(t,{context:n,initialValue:r}){this._host=t,this._context=n,this._value=r,this._subscriptions=new Set,this._onRequest=o=>{let i=o;if(i.context===this._context)if(o.stopPropagation(),i.subscribe){let s={callback:i.callback},a=()=>{this._subscriptions.delete(s)};this._subscriptions.add(s),i.callback(this._value,a)}else i.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()}},to=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 En(this._context,(n,r)=>{let o=this._value;this._value=n,r&&(this._unsubscribe=r),!Object.is(o,n)&&typeof this._host.requestUpdate=="function"&&this._host.requestUpdate()},this._subscribe);this._host.dispatchEvent(t)}};function ou(){return typeof window<"u"}var ne={INITIAL:0,PENDING:1,COMPLETE:2,ERROR:3},no=class{constructor(t,{task:n,args:r,autoRun:o=!0}){this._host=t,this._taskFn=n,this._argsFn=r||(()=>[]),this._autoRun=o,this._status=ne.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=ne.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=ne.COMPLETE,this._error=void 0}catch(r){if(t.signal.aborted)return;this._error=r,this._status=ne.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 ne.INITIAL:return t.initial?.();case ne.PENDING:return t.pending?.();case ne.COMPLETE:return t.complete?.(this._value);case ne.ERROR:return t.error?.(this._error);default:return}}hostUpdate(){if(!this._autoRun||!ou())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{to as ContextConsumer,eo as ContextProvider,En as ContextRequestEvent,O as FORM_ACTION_FIELD,io as FORM_ACTION_ID_KEY,Xl as FRAME_CHUNK,Ql as FRAME_END,Zl as FRAME_ERROR,C as MARKER,Oi as SEED_MISS,Jl as STREAM_CONTENT_TYPE,Ze as Signal,Ic as Suspense,no as Task,ne as TaskStatus,Xt as WebComponent,wr as WebjsFrame,Ar as WebjsStream,ec as activeActionSignal,kn as adoptStyles,ic as allTags,Mc as asset,Xs as asyncAppend,Qs as asyncReplace,ca as batch,Gs as cache,ua as computed,$c as connectWS,nl as consumeStale,ru as createContext,tu as createFrameDecoder,Ys as createRef,Pc as cspNonce,Ts as css,fi as deserialize,Hi as disableClientRouter,da as effect,Br as enableClientRouter,eu as encodeFrame,oo as escapeAttr,Rs as escapeText,el as fetchMark,kc as forbidden,Vs as guard,xs as html,In as isAsyncAppend,Fn as isAsyncReplace,Nn as isCSS,Ct as isCache,Oc as isForbidden,vt as isGuard,St as isKeyed,oc as isLazy,At as isLive,jc as isNotFound,Rc as isRedirect,Et as isRef,_t as isRepeat,fa as isSignal,Fc as isSuspense,P as isTemplate,Mn as isTemplateContent,Lc as isUnauthorized,Pn as isUnsafeHTML,Nt as isUntil,kt as isWatch,Ws as keyed,qs as live,Wi as loadFrame,nc as lookup,rc as lookupModuleUrl,kr as markStale,qi as navigate,Nc as notFound,Gl as optimistic,ye as parse,xr as parseTagHeader,tc as primeModuleUrl,Cc as prop,Tc as redirect,Ks as ref,mr as register,tl as registerKeyTags,Oe as render,Sr as renderStream,_o as repeat,Vi as revalidate,Bc as richFetch,tn as scanSeeds,Qc as seedStats,ui as serialize,Kt as setActiveActionSignal,la as signal,br as stringify,js as stylesToString,Le as tagOf,Xc as takeSeed,zs as templateContent,xc as unauthorized,Hs as unsafeHTML,Js as until,Zs as watch};
|
|
6
6
|
//# sourceMappingURL=webjs-core-browser.js.map
|