import{i as K,s as dt,a as gt,b as k,c as F,g as j,d as H,e as Oe,f as l,h as Y,j as R,p as M,k as c,l as u,m as $,n as D,o as p,q as ht,r as d,t as x,u as Fe,v as ie,w as ae,x as pt,y as V,z as Ae,A as $e,B as Ee,C as E,D as mt,E as yt,F as bt,G as Rt,H as St,I as wt,J as ke,K as Te,L as Pt,M as _t,N as vt,O as le,P as Q,Q as Ct,R as Ot}from"../chunks/chunk-e9714d86.js";import{_ as X}from"../chunks/chunk-cf010ec4.js";function O(e){return typeof e!="object"||e===null?!1:Object.getPrototypeOf(e)===null?!0:e.constructor.name==="Object"}function pe(e){return"["+e.map(t=>"'"+t+"'").join(", ")+"]"}function Z(e,t){const n=Object.getOwnPropertyDescriptor(e,t);return!!n&&!("value"in n)&&!!n.get}function Ft(e){return typeof e=="object"&&e!==null&&"then"in e&&K(e.then)}const At=["default"],$t=["default",...At],Et=Object.freeze(Object.defineProperty({__proto__:null,exportNames:$t},Symbol.toStringTag,{value:"Module"})),kt=["default"],Tt=["default",...kt],It=Object.freeze(Object.defineProperty({__proto__:null,exportNames:Tt},Symbol.toStringTag,{value:"Module"})),xt=["default"],Nt=["default",...xt],jt=Object.freeze(Object.defineProperty({__proto__:null,exportNames:Nt},Symbol.toStringTag,{value:"Module"})),ue={},Ie={},Ht={},J={},Bt=[],xe={},Lt=!0,Wt=[],Dt={onBeforeRoute:null,onPrerenderStart:null},Ut=Object.assign({"/src/pages/404.page.vue":()=>X(()=>import("./src_pages_404.page.6bb55506.js"),["assets/entries/src_pages_404.page.6bb55506.js","assets/chunks/chunk-5a4ab062.js","assets/chunks/chunk-449c23a2.js","assets/static/c-button.1b70e3dc.css","assets/chunks/chunk-ee54c1e8.js","assets/chunks/chunk-cf010ec4.js"]),"/src/pages/Home.page.vue":()=>X(()=>import("./src_pages_Home.page.16dc467b.js").then(e=>e.aR),["assets/entries/src_pages_Home.page.16dc467b.js","assets/chunks/chunk-449c23a2.js","assets/static/c-button.1b70e3dc.css","assets/chunks/chunk-a740628f.js","assets/static/lodash.af515ca7.css","assets/chunks/chunk-cf010ec4.js","assets/chunks/chunk-ee54c1e8.js","assets/static/Home.page.d5a6dada.css"]),"/src/ui/demo/demo-home.page.vue":()=>X(()=>import("./src_ui_demo_demo-home.page.4cfbf913.js"),["assets/entries/src_ui_demo_demo-home.page.4cfbf913.js","assets/chunks/chunk-fb60a83f.js","assets/chunks/chunk-449c23a2.js","assets/static/c-button.1b70e3dc.css","assets/chunks/chunk-cf010ec4.js","assets/chunks/chunk-d8b8b4f8.js","assets/static/c-alert.926bd053.css","assets/chunks/chunk-3db18d93.js","assets/chunks/chunk-a740628f.js","assets/static/lodash.af515ca7.css","assets/chunks/chunk-323c539f.js","assets/chunks/chunk-a3974c29.js","assets/chunks/chunk-e0e1a528.js","assets/chunks/chunk-6deddc2e.js","assets/chunks/chunk-9a43cce8.js","assets/chunks/chunk-340feaf0.js","assets/static/c-input-text.556101b4.css","assets/chunks/chunk-893bf84a.js","assets/chunks/chunk-153e0e77.js","assets/chunks/chunk-767079b6.js","assets/static/c-modal-value.6b78fab4.css","assets/chunks/chunk-606d31d4.js","assets/chunks/chunk-27eb844d.js","assets/static/c-select.8dd6cbf5.css","assets/chunks/chunk-baf8ab22.js","assets/chunks/chunk-a66a4022.js","assets/static/demo-home.page.a31aff5d.css"])}),Vt={...Ut};ue[".page"]=Vt;const zt=Object.assign({"/src/pages/404.page.vue":Et,"/src/pages/Home.page.vue":It,"/src/ui/demo/demo-home.page.vue":jt}),Gt={...zt};J[".page"]=Gt;const Kt=Object.assign({}),Yt={...Kt};J[".page.server"]=Yt;const Mt=Object.assign({}),Jt={...Mt};Ie[".page.route"]=Jt;const qt=Object.assign({}),Qt={...qt};ue[".page.client"]=Qt;const Xt=Object.assign({}),Zt={...Xt};J[".page.client"]=Zt;const en=Object.assign({}),tn={...en};xe[".page.server"]=tn;const nn=Object.freeze(Object.defineProperty({__proto__:null,isGeneratedFile:Lt,neverLoaded:xe,pageConfigGlobal:Dt,pageConfigs:Wt,pageFilesEager:Ie,pageFilesExportNamesEager:J,pageFilesExportNamesLazy:Ht,pageFilesLazy:ue,pageFilesList:Bt},Symbol.toStringTag,{value:"Module"}));dt(nn);function rn(){gt(),k()}function on(){const e=!!window.__REACT_DEVTOOLS_GLOBAL_HOOK__?.renderers?.size,t=!!window.__REACT_DEVTOOLS_GLOBAL_HOOK__?.rendererInterfaces?.size,n=!!window.__vite_plugin_react_preamble_installed__;return e||t||n}function Ne(e,t){const n=Object.keys,r=typeof e;return e&&t&&r==="object"&&r===typeof t?n(e).length===n(t).length&&n(e).every(s=>Ne(e[s],t[s])):e===t}function sn(e,t){return F(e)&&F(t)&&e.constructor===t.constructor&&Ne({...e,stack:null},{...t,stack:null})&&t.message===t.message}function z(e){window.location.href=e}function an(e){return new Promise(t=>setTimeout(t,e))}function ln(e,t){let n=!1;return()=>{n||(n=!0,setTimeout(()=>{n=!1,e()},t))}}rn();const me=j("navigationState.ts",{}),un=H(),je={markNavigationChange(){me.navigationChanged=!0},get noNavigationChangeYet(){return!me.navigationChanged&&this.isFirstUrl(H())},isFirstUrl(e){return e===un}};async function cn(e,t){const r=Oe(e,t).filter(s=>s.fileType===".page.server");return await Promise.all(r.map(async s=>{s.exportNames||(l(s.loadExportNames,t),await s.loadExportNames())})),{hasOnBeforeRenderServerSideOnlyHook:r.some(({exportNames:s})=>(l(s),s.includes("onBeforeRender")))}}function fn(e,t){if(!O(e))return!1;for(const n of Object.keys(e))if(!t.includes(n))return!1;return!0}function dn(e){return typeof e=="object"&&e!==null&&Object.values(e).every(t=>typeof t=="string")}function gn(e,t){if(l(e.length>0),e.length===1)return e[0];const n=e.slice(0,e.length-1),r=e[e.length-1];return n.join(", ")+` ${t} `+r}Y()&&k();function He(e,t=!0){l(e.urlOriginal),"urlPathname"in e&&l(Z(e,"urlPathname")),Object.defineProperty(e,"urlPathname",{get:Le,enumerable:t,configurable:!0}),"url"in e&&l(Z(e,"url")),Object.defineProperty(e,"url",{get:hn,enumerable:!1,configurable:!0}),"urlParsed"in e&&l(Z(e,"urlParsed")),Object.defineProperty(e,"urlParsed",{get:pn,enumerable:t,configurable:!0})}function Be(e){let t=e._urlHandler;t||(t=s=>s);const n=e._urlRewrite??e.urlOriginal;l(n&&typeof n=="string");const r=t(n),o=e._baseServer;return l(o.startsWith("/")),M(r,o)}function Le(){const{pathname:e}=Be(this),t=e;return l(t.startsWith("/")),t}function hn(){return R(!1,"`pageContext.url` is outdated. Use `pageContext.urlPathname`, `pageContext.urlParsed`, or `pageContext.urlOriginal` instead. (See https://vite-plugin-ssr.com/migration/0.4.23 for more information.)",{onlyOnce:!0,showStackTrace:!0}),Le.call(this)}function pn(){const e=Be(this),{origin:t,pathname:n,pathnameOriginal:r,search:o,searchAll:s,searchOriginal:i,hash:a,hashOriginal:h}=e,f=Y(),g=_=>{R(f,`pageContext.urlParsed.${_} isn't available on the server-side (HTTP requests don't include the URL hash by design)`,{onlyOnce:!0,showStackTrace:!0})},m={origin:t,pathname:n,pathnameOriginal:r,search:o,searchAll:s,searchOriginal:i,get hash(){return g("hash"),a},get hashOriginal(){return g("hashOriginal"),h},get hashString(){return R(!1,"pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal",{onlyOnce:!0,showStackTrace:!0}),g("hashString"),h},get searchString(){return R(!1,"pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal",{onlyOnce:!0,showStackTrace:!0}),i}};return L(m,"hashString"),L(m,"searchString"),f||(L(m,"hash"),L(m,"hashOriginal")),m}function L(e,t){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(e,t,{...n,enumerable:!1})}function mn(e){l(typeof e.urlOriginal=="string"),l(typeof e.urlPathname=="string"),l(O(e.urlParsed)),l(e.urlPathname===e.urlParsed.pathname)}const We="@",re=":";function yn(e,t="Invalid"){l(t.endsWith("Invalid")||t.endsWith("invalid")),u(e!=="",`${t} Route String ${C(e)} (empty string): set it to ${C("/")} instead`),u(e.startsWith("/")||e==="*",`${t} Route String ${C(e)}: Route Strings should start with a leading slash ${C("/")} (or be ${C("*")})`)}function oe(e,t){yn(e),l(t.startsWith("/"));const n=e.split("/"),r=t.split("/"),o={};bn(e),e==="*"&&(e="/*");for(let s=0;si!==""&&i!=="*");let n=0;for(const i of t){if(U(i))break;n++}const r=t.filter(i=>!U(i)).length,o=t.filter(i=>U(i)).length,s=e.endsWith("*");return{numberOfParameterSegments:o,numberOfStaticSegmentsBeginning:n,numberOfStaticSegements:r,isCatchAll:s}}function U(e){return e.startsWith(We)||e.startsWith(re)}function ye(e){const n=oe(e,e);return l(n),Object.keys(n.routeParams).length===0}function C(e){return Y()?`'${e}'`:(e===""&&(e="''"),c.cyan(e))}function Rn(e){e.sort(Sn).sort($(t=>t.routeType==="FUNCTION"&&!!t.precedence&&t.precedence<0)).sort($(t=>t.routeType==="STRING"&&ye(t.routeString)===!1)).sort($(t=>t.routeType==="FUNCTION"&&!t.precedence)).sort($(t=>t.routeType==="STRING"&&ye(t.routeString)===!0)).sort($(t=>t.routeType==="FILESYSTEM")).sort($(t=>t.routeType==="FUNCTION"&&!!t.precedence&&t.precedence>0))}function Sn(e,t){{const n=e.precedence??0,r=t.precedence??0;if(n!==r)return n>r?-1:1}if(!t.routeString||!e.routeString)return 0;{const r=D(o=>I(o).numberOfStaticSegmentsBeginning)(e.routeString,t.routeString);if(r!==0)return r}{const r=D(o=>I(o).numberOfStaticSegements)(e.routeString,t.routeString);if(r!==0)return r}{const r=D(o=>I(o).numberOfParameterSegments)(e.routeString,t.routeString);if(r!==0)return r}{if(I(t.routeString).isCatchAll)return-1;if(I(e.routeString).isCatchAll)return 1}return 0}async function wn(e,t,n){mn(t);let r=e(t);if(De(r,`The Route Function ${n}`),r=await r,r===!1)return null;if(r===!0&&(r={}),u(O(r),`The Route Function ${n} should return a boolean or a plain JavaScript object (but it's ${c.cyan(`typeof result === ${JSON.stringify(typeof r)}`)} instead)`),"match"in r){const{match:i}=r;if(u(typeof i=="boolean",`The ${c.cyan("match")} value returned by the Route Function ${n} should be a boolean.`),!i)return null}let o=null;"precedence"in r&&(o=r.precedence,u(typeof o=="number",`The ${c.cyan("precedence")} value returned by the Route Function ${n} should be a number.`)),Ue(r,`The ${c.cyan("routeParams")} object returned by the Route Function ${n} should`);const s=r.routeParams||{};return u(!("pageContext"in r),`Providing ${c.cyan("pageContext")} in Route Functions is prohibited, see https://vite-plugin-ssr.com/route-function#cannot-provide-pagecontext`),l(O(s)),Object.keys(r).forEach(i=>{u(i==="match"||i==="routeParams"||i==="precedence",`The Route Function ${n} returned an object with an unknown property ${c.cyan(i)} (the known properties are ${c.cyan("match")}, ${c.cyan("routeParams")}, and ${c.cyan("precedence")})`)}),{precedence:o,routeParams:s}}function De(e,t){R(!Ft(e),`${t} returned a promise, but asynchronous routing is deprecated and will be removed in the next major release, see https://vite-plugin-ssr.com/route-function#async`,{onlyOnce:!0})}function be(){const e=c.cyan("iKnowThePerformanceRisksOfAsyncRouteFunctions");R(!1,`${e} is deprecated and will be removed in the next major release`,{onlyOnce:!0})}function Ue(e,t){l(t.endsWith(" should")),p(e,"routeParams")&&(l(t.endsWith(" should")),u(O(e.routeParams),`${t} be a plain JavaScript object.`),u(dn(e.routeParams),`${t} only hold string values.`))}function Ve(e,{hookName:t,hookFilePath:n}){if(e==null)return;l(!t.endsWith(")"));const r=`The ${c.cyan("pageContext")} object provided by the ${t}() hook defined by ${n}`;u(F(e),`${r} should be an object (but it's ${c.cyan(`typeof pageContext === ${JSON.stringify(typeof e)}`)} instead)`),u(!("_objectCreatedByVitePluginSsr"in e),`${r} shouldn't be the whole ${c.cyan("pageContext")} object, see https://vite-plugin-ssr.com/pageContext-manipulation#do-not-return-entire-pagecontext`),R(!("_pageId"in e),`${r} sets ${c.cyan("pageContext._pageId")} which means that vite-plugin-ssr's routing is overriden. This is an experimental feature: make sure to contact a vite-plugin-ssr maintainer before using this.`,{onlyOnce:!0}),u(!("is404"in e),`${r} sets ${c.cyan("pageContext.is404")} which is forbidden, use ${c.cyan("throw render()")} instead, see https://vite-plugin-ssr.com/render`)}async function Pn(e,t){let n=e.onBeforeRoute(t);De(n,`The onBeforeRoute() hook ${e.hookFilePath}`),n=await n;const r=`The onBeforeRoute() hook defined by ${e.hookFilePath}`;if(u(n==null||fn(n,["pageContext"])&&p(n,"pageContext"),`${r} should return ${c.cyan("null")}, ${c.cyan("undefined")}, or a plain JavaScript object ${c.cyan("{ pageContext: { /* ... */ } }")}`),n==null)return null;if(u(p(n,"pageContext","object"),`${r} returned ${c.cyan("{ pageContext }")} but pageContext should be a plain JavaScript object.`),p(n.pageContext,"_pageId")&&!p(n.pageContext,"_pageId","null")){const s=`${r} returned ${c.cyan("{ pageContext: { _pageId } }")} but ${c.cyan("_pageId")} should be`;u(p(n.pageContext,"_pageId","string"),`${s} a string or null`),u(t._allPageIds.includes(n.pageContext._pageId),`${s} ${gn(t._allPageIds.map(i=>c.cyan(i)),"or")}`)}p(n.pageContext,"routeParams")&&Ue(n.pageContext,`${r} returned ${c.cyan("{ pageContext: { routeParams } }")} but routeParams should`);const o={};return p(n.pageContext,"url")&&(R(!1,`${r} returned ${c.cyan("{ pageContext: { url } }")} but ${c.cyan("pageContext.url")} has been renamed to ${c.cyan("pageContext.urlOriginal")}. Return ${c.cyan("{ pageContext: { urlOriginal } }")} instead. (See https://vite-plugin-ssr.com/migration/0.4.23 for more information.)`,{onlyOnce:!0}),n.pageContext.urlOriginal=n.pageContext.url,delete n.pageContext.url),p(n.pageContext,"urlOriginal")&&(ht(n.pageContext.urlOriginal,`${r} returned ${c.cyan("{ pageContext: { urlOriginal } }")} but ${c.cyan("urlOriginal")}`),d(o,{_urlOriginalPristine:t.urlOriginal})),Ve(n.pageContext,{hookFilePath:e.hookFilePath,hookName:"onBeforeRoute"}),d(o,n.pageContext),o}var W;function Re(...e){W||(W=globalThis.__brillout_debug_createDebugger?.("vps:routing")),W&&W(...e)}Y()&&k();async function ze(e){He(e),Re("Pages routes:",e._pageRoutes);const t={};if(e._onBeforeRouteHook){const i=await Pn(e._onBeforeRouteHook,e);if(i){if(d(t,i),p(t,"_pageId","string")||p(t,"_pageId","null"))return p(t,"routeParams")?l(p(t,"routeParams","object")):d(t,{routeParams:{}}),d(t,{_routingProvidedByOnBeforeRouteHook:!0,_routeMatches:"CUSTOM_ROUTE"}),{pageContextAddendum:t};d(e,t)}}d(t,{_routingProvidedByOnBeforeRouteHook:!1});const n=e._allPageIds;l(n.length>=0),u(e._pageFilesAll.length>0||e._pageConfigs.length>0,"No *.page.js file found. You must create at least one *.page.js file."),u(n.length>0,"You must create at least one *.page.js file that isn't _default.page.*");const{urlPathname:r}=e;l(r.startsWith("/"));const o=[];await Promise.all(e._pageRoutes.map(async i=>{const{pageId:a,routeType:h}=i;if(i.routeType==="FILESYSTEM"){const{routeString:f}=i,g=oe(f,r);if(g){const{routeParams:m}=g;o.push({pageId:a,routeParams:m,routeString:f,routeType:h})}return}if(i.routeType==="STRING"){const{routeString:f}=i,g=oe(f,r);if(g){const{routeParams:m}=g;l(h==="STRING"),o.push({pageId:a,routeString:f,routeParams:m,routeType:h})}return}if(i.routeType==="FUNCTION"){const{routeFunction:f,routeDefinedAt:g}=i,m=await wn(f,e,g);if(m){const{routeParams:_,precedence:S}=m;o.push({pageId:a,precedence:S,routeParams:_,routeType:h})}return}l(!1)})),Rn(o);const s=o[0];if(Re(`Route matches for URL ${c.cyan(r)} (in precedence order):`,o),d(t,{_routeMatches:o}),!s)return d(t,{_pageId:null,routeParams:{}}),{pageContextAddendum:t};{const{routeParams:i}=s;l(O(i)),d(t,{_pageId:s.pageId,routeParams:s.routeParams})}return{pageContextAddendum:t}}const Se=["urlPathname","urlParsed"],_n=["Page","pageExports","exports"];function Ge(e){[..._n,...Se].forEach(n=>{n in e&&(Se.includes(n)?(l(n.startsWith("url")),R(!1,`pageContext.${n} is already available in the browser when using Client Routing; adding '${n}' to passToClient has no effect`,{onlyOnce:!0})):R(!1,`pageContext.${n} is a built-in that cannot be overriden; adding '${n}' to passToClient has no effect`,{onlyOnce:!0}),delete e[n])})}const vn="/";function Cn(e,t,n){const{pathnameOriginal:r,searchOriginal:o,hashOriginal:s}=M(e,vn);e.startsWith("/")&&l(e===`${r}${o||""}${s||""}`,{url:e});const i=r.endsWith("/");let a;return n&&r!=="/"?(i?a=x(r,0,-1):a=r,l(!a.endsWith("/"),{url:e}),l(a!=="")):a=r+(i?"":"/")+"index",l(a),a=a+t,`${a}${o||""}${s||""}`}const On=".pageContext.json",Fn=!1;function An(e){return Cn(e,On,Fn)}function $n(e,t,n){l(!n.endsWith(" "));const r=[],o=Object.keys(e);for(const s of o)t.includes(s)||r.push(s);u(r.length===0,[n,"returned an object with following unknown keys:",pe(r)+".","Only following keys are allowed:",pe(t)+"."].join(" "))}function En(e,t){if(e==null)return;const n=`The onBeforeRender() hook defined by ${t}`;u(O(e),`${n} should return a plain JavaScript object, ${c.cyan("undefined")}, or ${c.cyan("null")}`),$n(e,["pageContext"],n),e.pageContext&&Ve(e.pageContext,{hookName:"onBeforeRender",hookFilePath:t})}async function kn(e,t){let n;if(e._pageFilesAll.length>0?(l(e._pageConfigs.length===0),n=Tn(e._pageId,e._pageFilesAll)):n=Fe(e,"guard"),!n)return;const r=n.hookFn;let o=e;const s=t(e);s&&(o=s);const i=await ie(()=>r(o),"guard",n.hookFilePath);u(i===void 0,`The guard() hook of ${n.hookFilePath} returns a value, but guard() doesn't accept any return value`)}function Tn(e,t){const n=t.find(a=>a.pageId===e&&a.fileType===".page.route");if(!n)return null;const{filePath:r,fileExports:o}=n;l(o);const s=o.guard;if(!s)return null;const i=r;return u(K(s),`guard() defined by ${i} should be a function`),{hookFn:s,hookName:"guard",hookFilePath:i}}function In(e){const t=new Error("AbortRender");return d(t,{_pageContextAbort:e,[Ke]:!0}),t}const Ke="_isAbortError";function ee(e){return typeof e=="object"&&e!==null&&Ke in e}function xn(e){return e._urlRewrite||e._urlRedirect||e.abortStatusCode?(l(p(e,"_abortCall","string")),!0):!1}function Nn(e,t,n){if(t)return;const r=n._urlRewrite??n.urlOriginal;l(r);const o=e._pageContextAbort._abortCall;ae(!1,`${c.cyan(o)} intercepted while rendering ${c.cyan(r)}`,{onlyOnce:!1})}function jn(e){Hn(e);const t={_urlRewrite:null};return e.forEach(n=>{Object.assign(t,n)}),t}function Hn(e){const t=[];e.forEach(n=>{const r=n._urlRewrite;{const o=t.indexOf(r);if(o!==-1){const s=[...t.slice(o),r].map(i=>`render('${i}')`).join(" => ");u(!1,`Infinite loop of render() calls: ${s}`)}}t.push(r)})}function Bn(e,t){const n=[e>0&&c.cyan("throw render('/some-url')"),t>0&&c.cyan("throw redirect('/some-url')")].filter(Boolean).join(" and ");u(e+t<=7,`Maximum chain length of 7 ${n} exceeded. Did you define an infinite loop of ${n}?`)}const Ye=j("router/getPageContext.ts",{});async function Ln(e){if(e._isFirstRenderAttempt&&je.isFirstUrl(e.urlOriginal)){l(p(e,"_isFirstRenderAttempt","true"));const t=await Wn(e);return we(t),t}else{l(p(e,"_isFirstRenderAttempt","false"));const t=await Un(e);return we(t),t}}async function Wn(e){const t=pt();Ge(t),d(t,{isHydration:!0,_hasPageContextFromClient:!1}),d(t,await V(e._pageFilesAll,e._pageConfigs,t._pageId));{const n={...e,...t};if(await Gn(n)){const r=await Je(n);d(t,r)}}return t}async function Dn(e){const t=Ae(e._pageFilesAll,e._pageConfigs);if(!t)throw new Error("No error page defined.");const n={isHydration:!1,_pageId:t};return d(n,await Me({...e,...n},!0)),n}async function Un(e){const t={isHydration:!1};return d(t,await Kn(e)),d(t,await Me({...e,...t},!1)),t}async function Me(e,t){let n={};if(d(n,await V(e._pageFilesAll,e._pageConfigs,e._pageId)),!t&&await Vn({...e,...n})){const r=await Jn(e);if(!r._isError)d(n,r);else{const o=Ae(e._pageFilesAll,e._pageConfigs);l(o),n={},d(n,{isHydration:!1,_pageId:o}),d(n,await V(e._pageFilesAll,e._pageConfigs,n._pageId)),l(p(r,"is404","boolean")),l(p(r,"pageProps","object")),l(p(r.pageProps,"is404","boolean")),l(!("serverSideError"in r)),d(n,r)}}else d(n,{_hasPageContextFromServer:!1}),t||await kn({_hasPageContextFromClient:!1,...e,...n},r=>$e(r,!0));{const r=await Je({...e,...n});d(n,r)}return n}async function Je(e){const t=Fe(e,"onBeforeRender");if(!t)return{_hasPageContextFromClient:!1};const n=t.hookFn,r={_hasPageContextFromClient:!0},o=$e({...e,...r},!0),s=await ie(()=>n(o),"onBeforeRender",t.hookFilePath);En(s,t.hookFilePath);const i=s?.pageContext;return d(r,i),r}async function Vn(e){return!!Ye.pageContextInitHasClientData||await zn(e)}function we(e){e._pageContextInitHasClientData&&(Ye.pageContextInitHasClientData=!0)}async function zn(e){if(e._pageConfigs.length>0){const t=Ee(e._pageId,e._pageConfigs);return E(t,"onBeforeRenderEnv")?.value==="server-only"}else{const{hasOnBeforeRenderServerSideOnlyHook:t}=await cn(e._pageFilesAll,e._pageId);return t}}async function Gn(e){if(e._pageConfigs.length>0){const t=Ee(e._pageId,e._pageConfigs);return E(t,"onBeforeRenderEnv")?.value==="client-only"}else return!1}async function Kn(e){const n=(await ze(e)).pageContextAddendum;if(!n._pageId){const r=new Error("No routing match");throw Yn(r),r}return l(p(n,"_pageId","string")),n}function Yn(e){d(e,{_is404:!0})}function Mn(e){return F(e)&&e._is404===!0}async function Jn(e){const t=e._urlRewrite??e._urlOriginalPristine??e.urlOriginal,n=An(t),r=await fetch(n);{const i=r.headers.get("content-type"),a="application/json",h=i&&i.includes(a);if(!h&&r.status===404)throw z(e.urlOriginal),Qn();u(h,`Wrong Content-Type for ${n}: it should be ${a} but it's ${i} instead. Make sure to properly use pageContext.httpResponse.headers, see https://vite-plugin-ssr.com/renderPage`)}const o=await r.text(),s=mt(o);if(l(F(s)),"serverSideError"in s)throw yt("The pageContext object couldn't be fetched from the server as an error occurred on the server-side. Check your server logs.");if(xn(s))throw In(s);return l(p(s,"_pageId","string")),Ge(s),d(s,{_hasPageContextFromServer:!0}),s}function qn(e){return F(e)&&!!e._alreadyServerSideRouted}function Qn(){const e=new Error("Page doesn't exist");return Object.assign(e,{_alreadyServerSideRouted:!0}),e}function Xn(e,t){const r=t.filter(({filesystemRoot:s})=>e.startsWith(s)).sort(D(({filesystemRoot:s})=>s.length))[0];let o;if(r){const{filesystemRoot:s,urlRoot:i}=r,a={pageId:e,filesystemRoot:s,urlRoot:i};l(i.startsWith("/")&&e.startsWith("/")&&s.startsWith("/"),a),l(e.startsWith(s),a),s!=="/"?(l(!s.endsWith("/"),a),o=x(e,s.length,0)):o=e,l(o.startsWith("/"),a),o=i+(i.endsWith("/")?"":"/")+x(o,1,0)}else o=e;return l(o.startsWith("/")),o=o.split("/").filter(s=>s!=="pages"&&s!=="src"&&s!=="index").join("/"),l(!o.includes(".page.")),l(!o.endsWith(".")),o.endsWith("/index")&&(o=x(o,0,-6)),o===""&&(o="/"),l(o.startsWith("/")),l(!o.endsWith("/")||o==="/"),o}async function Zn(e,t,n,r){await Promise.all(e.filter(a=>a.fileType===".page.route").map(a=>a.loadFile?.()));const{onBeforeRouteHook:o,filesystemRoots:s}=tr(e,t,n);return{pageRoutes:er(s,e,t,r),onBeforeRouteHook:o}}function er(e,t,n,r){const o=[];let s=[...r];if(n.length>0){l(e===null);const i=!0;n.filter(a=>!a.isErrorPage).forEach(a=>{const h=a.pageId;s=rr(s,h);let f=null;{const g="route",m=E(a,g);if(m){const _=bt(a,g),S=m.value,T=Rt(_);typeof S=="string"?f={pageId:h,comesFromV1PageConfig:i,routeString:S,routeDefinedAt:T,routeType:"STRING"}:(l(K(S)),E(a,"iKnowThePerformanceRisksOfAsyncRouteFunctions","boolean")&&be(),f={pageId:h,comesFromV1PageConfig:i,routeFunction:S,routeDefinedAt:T,routeType:"FUNCTION"})}}if(!f){const{routeFilesystem:g}=a;l(g);const{routeString:m,definedBy:_}=g;l(g.routeString.startsWith("/")),f={pageId:h,routeFilesystemDefinedBy:_,comesFromV1PageConfig:i,routeString:m,routeDefinedAt:null,routeType:"FILESYSTEM"}}l(f),o.push(f)})}if(n.length===0){l(e);const i=!1;s.filter(a=>!St(a)).forEach(a=>{const h=t.find(f=>f.pageId===a&&f.fileType===".page.route");if(!h||!("default"in h.fileExports)){const f=Xn(a,e);l(f.startsWith("/")),l(!f.endsWith("/")||f==="/"),o.push({pageId:a,comesFromV1PageConfig:i,routeString:f,routeDefinedAt:null,routeFilesystemDefinedBy:`${a}.page.*`,routeType:"FILESYSTEM"})}else{const{filePath:f,fileExports:g}=h;if(l(g.default),p(g,"default","string")){const m=g.default;u(m.startsWith("/"),`A Route String should start with a leading slash '/' but ${f} has \`export default '${m}'\`. Make sure to \`export default '/${m}'\` instead.`),o.push({pageId:a,comesFromV1PageConfig:i,routeString:m,routeDefinedAt:f,routeType:"STRING"});return}if(p(g,"default","function")){const m=g.default;"iKnowThePerformanceRisksOfAsyncRouteFunctions"in g&&be(),o.push({pageId:a,comesFromV1PageConfig:i,routeFunction:m,routeDefinedAt:f,routeType:"FUNCTION"});return}u(!1,`The default export of ${f} should be a string or a function.`)}})}return o}function tr(e,t,n){if(t.length>0){if(n.onBeforeRoute){const s=n.onBeforeRoute.value;if(s){l(!n.onBeforeRoute.isComputed);const i=n.onBeforeRoute.definedAtInfo.filePath;return l(i),u(K(s),`The hook onBeforeRoute() defined by ${i} should be a function.`),{onBeforeRouteHook:{hookFilePath:i,onBeforeRoute:s},filesystemRoots:null}}}return{onBeforeRouteHook:null,filesystemRoots:null}}let r=null;const o=[];return e.filter(s=>s.fileType===".page.route"&&s.isDefaultPageFile).forEach(({filePath:s,fileExports:i})=>{if(l(i),"onBeforeRoute"in i){u(p(i,"onBeforeRoute","function"),`\`export { onBeforeRoute }\` of ${s} should be a function.`);const{onBeforeRoute:a}=i;r={hookFilePath:`${s} > \`export { onBeforeRoute }\``,onBeforeRoute:a}}"filesystemRoutingRoot"in i&&(u(p(i,"filesystemRoutingRoot","string"),`\`export { filesystemRoutingRoot }\` of ${s} should be a string.`),u(p(i,"filesystemRoutingRoot","string"),`\`export { filesystemRoutingRoot }\` of ${s} is \`'${i.filesystemRoutingRoot}'\` but it should start with a leading slash \`/\`.`),o.push({filesystemRoot:nr(s),urlRoot:i.filesystemRoutingRoot}))}),{onBeforeRouteHook:r,filesystemRoots:o}}function nr(e){l(e.startsWith("/")),l(!e.endsWith("/"));const t=e.split("/"),n=x(t,0,-1).join("/")||"/";return l(n.startsWith("/")),l(!n.endsWith("/")||n==="/"),n}function rr(e,t){const{length:n}=e;return e=e.filter(r=>r!==t),l(e.length===n-1),e}function qe(){const e="/";return l(or(e)),e}function or(e){return e.startsWith("/")}const te=j("createPageContext.ts",{});async function Qe(e){te.pageFilesData||(te.pageFilesData=await wt(!0));const{pageFilesAll:t,allPageIds:n,pageConfigs:r,pageConfigGlobal:o}=te.pageFilesData,{pageRoutes:s,onBeforeRouteHook:i}=await Zn(t,r,o,n),a=qe();l(ke(a));const f={_objectCreatedByVitePluginSsr:!0,_urlHandler:null,_urlRewrite:null,_baseServer:a,_isProduction:!0,_pageFilesAll:t,_pageConfigs:r,_pageConfigGlobal:o,_allPageIds:n,_pageRoutes:s,_onBeforeRouteHook:i};return d(f,e),He(f),f}async function Xe(e){const t=await Qe({urlOriginal:e}),n=await ze(t),r=t._pageFilesAll,o=t._pageConfigs;if(!("pageContextAddendum"in n))return{pageId:null,pageFilesAll:r,pageConfigs:o};const s=n.pageContextAddendum._pageId;return s?{pageId:s,pageFilesAll:r,pageConfigs:o}:{pageId:null,pageFilesAll:r,pageConfigs:o}}function N(e){return e.fileType===".css"?[]:e.exportNames?e.exportNames:(l(e.fileExports,e.filePath),Object.keys(e.fileExports))}function sr({pageFilesClientSide:e,pageFilesServerSide:t,pageId:n}){return{isHtmlOnly:r(),isClientRouting:s()};function r(){return t.some(a=>a.pageId===n&&a.fileType===".page")?(o(),!1):!(!t.some(a=>a.pageId===n&&a.fileType===".page.server")||e.some(a=>a.pageId===n&&a.fileType===".page.client"&&N(a).includes("render")))}function o(){const i=e.some(a=>N(a).includes("render"));u(i,["No client-side `render()` hook found.","See https://vite-plugin-ssr.com/render-modes for more information.",["Loaded client-side page files (none of them `export { render }`):",...e.map((a,h)=>` (${h+1}): ${a.filePath}`)].join(` `)].join(" "))}function s(){return e.some(a=>N(a).includes("clientRouting"))}}function ir({pageFilesClientSide:e,pageFilesServerSide:t,isHtmlOnly:n,isClientRouting:r}){let o=[];const s=t.filter(a=>!e.includes(a)),i=[];if(i.push(...e.map(a=>({id:a.filePath,onlyAssets:!1,eagerlyImported:!1}))),i.push(...s.map(a=>({id:a.filePath,onlyAssets:!0,eagerlyImported:!1}))),n)o=e.map(a=>a.filePath);else{const a=ar(r);i.push({id:a,onlyAssets:!1,eagerlyImported:!1}),o=[a]}return{clientEntries:o,clientDependencies:i}}function ar(e){return e?"@@vite-plugin-ssr/dist/esm/client/client-routing-runtime/entry.js":"@@vite-plugin-ssr/dist/esm/client/server-routing-runtime/entry.js"}function lr(e,t){let n=Te(e,t);const r=Oe(e,t),{isHtmlOnly:o,isClientRouting:s}=sr({pageFilesClientSide:n,pageFilesServerSide:r,pageId:t});o&&(n=n.filter(h=>h.isEnv("CLIENT_ONLY")&&!N(h).includes("render")),n=cr(n));const{clientEntries:i,clientDependencies:a}=ir({pageFilesClientSide:n,pageFilesServerSide:r,isHtmlOnly:o,isClientRouting:s});return{isHtmlOnly:o,isClientRouting:s,clientEntries:i,clientDependencies:a,pageFilesClientSide:n,pageFilesServerSide:r}}async function ur(e,t,{sharedPageFilesAlreadyLoaded:n}){const r=Te(e,t);await Promise.all(r.map(async o=>{l(o.isEnv("CLIENT_ONLY")||o.isEnv("CLIENT_AND_SERVER")),!(n&&o.isEnv("CLIENT_AND_SERVER"))&&await o.loadExportNames?.()}))}function cr(e){const t=[];for(const n of e)if(t.push(n),N(n).includes("overrideDefaultPages"))break;return t}function fr(e,t,n){if(e){const r=E(e,"clientRouting","boolean")?.value??!1;return{isClientSideRenderable:E(e,"isClientSideRenderable","boolean")?.value??!1,isClientRouting:r}}else{const{isHtmlOnly:r,isClientRouting:o}=lr(t,n);return{isClientSideRenderable:!r,isClientRouting:o}}}async function Ze(e){const{pageId:t,pageFilesAll:n,pageConfigs:r}=await Xe(e);if(!t)return!1;await ur(n,t,{sharedPageFilesAlreadyLoaded:!1});const o=Pt(r,t),{isClientSideRenderable:s,isClientRouting:i}=fr(o,n,t);return s&&i}function et(e){return!e.startsWith("/")&&!e.startsWith(".")&&!e.startsWith("?")&&e!==""}function tt(e){const t=e.getAttribute("href");return!!(t===null||t===""||et(t)||gr(e)||hr(t)||!pr(t)||!_t(t)||!dr(e))}function dr(e){if(Nr()){const n=e.getAttribute("data-vike-link");return n!==null&&n!=="false"}else return!0}function gr(e){const t=e.getAttribute("target"),n=e.getAttribute("rel");return t==="_blank"||t==="_external"||n==="external"||e.hasAttribute("download")}function hr(e){if(e.startsWith("#"))return!0;const t=n=>n.split("#")[0];return!!(e.includes("#")&&t(e)===t(window.location.href))}function pr(e){const t=qe();l(ke(t));const{hasBaseServer:n}=M(e,t);return n}function mr(e,t){let n=yr(e,t);return n==="viewport"&&!e._isProduction&&(ae(!1,"Viewport prefetching is disabled in development",{onlyOnce:!0}),n="hover"),{prefetchStaticAssets:n}}function yr(e,t){{const n=br(t);if(n!==null)return n}if("prefetchLinks"in e.exports&&u(!1,"`export { prefetchLinks }` is deprecated, use `export { prefetchStaticAssets }` instead."),"prefetchStaticAssets"in e.exports){const{prefetchStaticAssets:n}=e.exports;if(n===!1)return!1;if(n==="hover")return"hover";if(n==="viewport")return"viewport";const r="prefetchStaticAssets value should be false, 'hover', or 'viewport'";u(O(n),r);const o=Object.keys(n);u(o.length===1&&o[0]==="when",r);const{when:s}=n;if(s==="HOVER"||s==="VIEWPORT"){const i=s.toLowerCase();return R(!1,`prefetchStaticAssets value \`{ when: '${s}' }\` is outdated: set prefetchStaticAssets to '${i}' instead`,{onlyOnce:!0}),i}u(!1,r)}return"hover"}function br(e){const t=e.getAttribute("data-prefetch-static-assets"),n=e.getAttribute("data-prefetch");if(t===null&&n===null)return null;const r="The attribute data-prefetch is outdated, use data-prefetch-static-assets instead.";if(t){if(u(n===null,r),t==="hover"||t==="viewport")return t;if(t==="false")return!1;u(!1,`data-prefetch-static-assets has value "${t}" but it should instead be "false", "hover", or "viewport"`)}if(n){if(l(!t),R(!1,r,{onlyOnce:!0}),n==="true")return"viewport";if(n==="false")return"hover";u(!1,`data-prefetch has value "${n}" but it should instead be "true" or "false"`)}l(!1)}const nt=new Map;function rt(e){const t=st(e);return nt.has(t)}function ot(e){const t=st(e);nt.set(t,!0)}function st(e){return M(e,"/").pathname}k();const Pe=new Map;async function Rr(e){if(u(vt(),"prefetch() only works with Client Routing, see https://vite-plugin-ssr.com/prefetch",{showStackTrace:!0}),u(!et(e),`You are trying to prefetch the URL ${e} of another domain which cannot be prefetched`,{showStackTrace:!0}),rt(e))return;ot(e);const{pageId:t,pageFilesAll:n,pageConfigs:r}=await Xe(e);if(t)try{await V(n,r,t)}catch(o){if(le(o))se(o,!0);else throw o}}function Sr(e){ot(e.urlPathname),[...document.getElementsByTagName("A")].forEach(n=>{if(Pe.has(n))return;Pe.set(n,!0);const r=n.getAttribute("href");if(tt(n)||(l(r),rt(r)))return;const{prefetchStaticAssets:o}=mr(e,n);if(o&&(o==="hover"&&(n.addEventListener("mouseover",()=>{ne(r)}),n.addEventListener("touchstart",()=>{ne(r)},{passive:!0})),o==="viewport")){const s=new IntersectionObserver(i=>{i.forEach(a=>{a.isIntersecting&&(ne(r),s.disconnect())})});s.observe(n)}})}async function ne(e){try{if(!await Ze(e))return}catch{return}await Rr(e)}function it(){let e=window.history.state;e||(e={});let t=!1;"timestamp"in e||(t=!0,e.timestamp=lt()),"scrollPosition"in e||(t=!0,e.scrollPosition=at()),ut(e),t&&fe(e)}function ce(){const e=window.history.state||{};return ut(e),e}function at(){return{x:window.scrollX,y:window.scrollY}}function lt(){return new Date().getTime()}function _e(){const e=at(),t=ce();fe({...t,scrollPosition:e})}function wr(e,t){if(t)fe(ce(),e);else{const n=lt();Pr({timestamp:n,scrollPosition:null},e)}}function ut(e){if(l(F(e)),"timestamp"in e){const{timestamp:t}=e;l(typeof t=="number")}if("scrollPosition"in e){const{scrollPosition:t}=e;t!==null&&l(p(t,"x","number")&&p(t,"y","number"))}}function fe(e,t){window.history.replaceState(e,"",t??null)}function Pr(e,t){window.history.pushState(e,"",t)}k();const _r=j("navigate.ts",{});function vr(e){_r.navigate=e}const P=j("useClientRouter.ts",{previousState:G()});Tr();it();function se(e,t){l(le(e)),P.clientRoutingIsDisabled=!0,t&&console.log(e),ae(!1,["Failed to fetch static asset.","This usually happens when a new frontend is deployed.","Falling back to Server Routing.","(The next page navigation will use Server Routing instead of Client Routing.)"].filter(Boolean).join(" "),{onlyOnce:!0})}function Cr(){Er(),Or((o,{keepScrollPosition:s})=>{r({scrollTarget:s?"preserve-scroll":"scroll-to-top-or-hash",urlOriginal:o,isBackwardNavigation:!1,checkClientSideRenderable:!0})}),Fr((o,s)=>{r({scrollTarget:o,isBackwardNavigation:s})}),vr(async(o,{keepScrollPosition:s=!1,overwriteLastHistoryEntry:i=!1}={})=>{await r({scrollTarget:s?"preserve-scroll":"scroll-to-top-or-hash",urlOriginal:o,overwriteLastHistoryEntry:i,isBackwardNavigation:!1,checkClientSideRenderable:!0})});let e=0,t,n=!1;r({scrollTarget:"preserve-scroll",isBackwardNavigation:null});return;async function r({scrollTarget:o,urlOriginal:s=H(),overwriteLastHistoryEntry:i=!1,isBackwardNavigation:a,checkClientSideRenderable:h,pageContextsFromRewrite:f=[],redirectCount:g=0}){if(Bn(f.length,g),P.clientRoutingIsDisabled){z(s);return}const m=jn(f);if(h){const w=m._urlRewrite??s;let b;try{b=await Ze(w)}catch(A){if(ee(A))b=!0;else throw A}if(!b){z(s);return}}const _={urlOriginal:s,isBackwardNavigation:a,...m},S=++e;l(S>=1),S>1&&n===!1&&(P.onPageTransitionStart?.(_),n=!0);let T=!1;const q=()=>S===1&&T===!1?!1:S!==e,y=await Qe(_);if(q())return;const ge=S===1;d(y,{_isFirstRenderAttempt:ge});let B,v,he=!1;try{B=await Ln(y)}catch(w){he=!0,v=w}if(he){if(ee(v)||console.error(v),Ce(v,y))return;if(ee(v)){const w=v;Nn(v,y._isProduction,y);const b=w._pageContextAbort;if(b._urlRewrite){await r({scrollTarget:o,urlOriginal:s,overwriteLastHistoryEntry:i,isBackwardNavigation:a,pageContextsFromRewrite:[...f,b],redirectCount:g});return}if(b._urlRedirect){const A=b._urlRedirect.url;if(A.startsWith("http")){window.location.href=A;return}else await r({scrollTarget:"scroll-to-top-or-hash",urlOriginal:A,overwriteLastHistoryEntry:!1,isBackwardNavigation:!1,checkClientSideRenderable:!0,pageContextsFromRewrite:f,redirectCount:g++});return}l(b.abortStatusCode),d(y,b),b.abortStatusCode===404&&d(y,{is404:!0})}else d(y,{is404:Mn(v)});try{B=await Dn(y)}catch(w){if(Ce(w,y)||(ge||setTimeout(()=>{window.location.pathname=s},0),sn(v,w)))return;throw w}}if(l(B),d(y,B),Q(y,"onPageTransitionStart"),P.onPageTransitionStart=y.exports.onPageTransitionStart,y.exports.hydrationCanBeAborted?T=!0:R(!on(),"You seem to be using React; we recommend setting hydrationCanBeAborted to true, see https://vite-plugin-ssr.com/clientRouting",{onlyOnce:!0}),!q()&&(t&&await t,!q())){if(Ar(s,i),je.markNavigationChange(),l(t===void 0),t=(async()=>{await Ct(y,!0),Sr(y)})(),await t,t=void 0,y._isFirstRenderAttempt){Q(y,"onHydrationEnd");const{onHydrationEnd:w}=y.exports;if(w){const b=y.exportsAll.onHydrationEnd[0].exportSource;l(b),await ie(()=>w(y),"onHydrationEnd",b)}}else S===e&&(y.exports.onPageTransitionEnd&&(Q(y,"onPageTransitionEnd"),y.exports.onPageTransitionEnd(y)),n=!1);ct(o),de(),P.initialRenderIsDone=!0}}}function Or(e){document.addEventListener("click",t);return;function t(o){if(!n(o))return;const s=r(o.target);if(!s)return;const i=s.getAttribute("href");if(tt(s))return;l(i),o.preventDefault();const a=![null,"false"].includes(s.getAttribute("keep-scroll-position"));e(i,{keepScrollPosition:a})}function n(o){return o.button===0&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey}function r(o){for(;o.tagName!=="A";){const{parentNode:s}=o;if(!s)return null;o=s}return o}}function Fr(e){window.addEventListener("popstate",()=>{const t=G(),n=t.historyState.scrollPosition||"scroll-to-top-or-hash",r=t.urlWithoutHash===P.previousState.urlWithoutHash,o=!t.historyState.timestamp||!P.previousState.historyState.timestamp?null:t.historyState.timestampwindow.scrollTo(e.x,e.y),n=()=>window.scrollX===e.x&&window.scrollY===e.y;n()||(t(),!n()&&requestAnimationFrame(()=>{t(),!n()&&setTimeout(async()=>{if(t(),n())return;const r=new Date().getTime();for(;;)if(await an(10),t(),n()||new Date().getTime()-r>100)return},0)}))}function Er(){window.addEventListener("scroll",ln(_e,Math.ceil(1e3/3)),{passive:!0}),ft(_e)}function kr(){let{hash:e}=window.location;return e===""?null:(l(e.startsWith("#")),e=e.slice(1),e)}function Tr(){ve(),ft(ve),Ir(()=>P.initialRenderIsDone&&de())}function de(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="manual")}function ve(){"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto")}function ft(e){window.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&e()})}function Ir(e){window.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&e()})}function Ce(e,t){return!!(qn(e)||xr(e,t))}function xr(e,t){if(!le(e))return!1;if(t._isFirstRenderAttempt)throw se(e,!1),e;return se(e,!0),z(t.urlOriginal),!0}function Nr(){return!!window._disableAutomaticLinkInterception}k();const jr=!0;Ot(jr);Cr();