UNPKG

framework

Version:

The (AI) Framework: turnkey, zero-config AI orchestration that wraps a coding-agent CLI (Claude Code) as a black box and takes you from an idea to a running app. Vite for AI.

4 lines 78.8 kB
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/entries/pages_index.CkW5JQ8X.js","assets/static/layouts_tailwind-00e65532.8OjKGAbA.css"])))=>i.map(i=>d[i]);
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},u=(n,r,a)=>(a=n==null?{}:e(i(n)),l(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n)),d=e=>a.call(e,`module.exports`)?e[`module.exports`]:l(t({},`__esModule`,{value:!0}),e);function f(e){return Array.from(new Set(e))}function p(e,t){let n=m();return n[e]??(n[e]=t)}function m(){var e;return globalThis._vike??(globalThis._vike={}),(e=globalThis._vike).globals??(e.globals={}),globalThis._vike.globals}var h=new Proxy({},{get:(e,t)=>e=>t===`code`?`\`${e}\``:t===`string`?`'${e}'`:e}),g=`0.4.260`,_;_??=ee();function ee(){return p(`utils/assertSingleInstance.ts`,{instances:[],alreadyLogged:new Set})}function v(){return _??=ee(),_}var te=`Client runtime of both Server Routing and Client Routing loaded https://vike.dev/client-runtimes-conflict`,ne=`Client runtime loaded twice https://vike.dev/client-runtime-duplicated`;function re(){let e=v();{let t=f(e.instances);oe(t.length<=1,`vike@${h.bold(t[0])} and vike@${h.bold(t[1])} loaded which is highly discouraged ${h.underline(`https://vike.dev/warning/version-mismatch`)}`,{onlyOnce:!0,showStackTrace:!1})}e.checkSingleInstance&&e.instances.length>1&&oe(!1,ne,{onlyOnce:!0,showStackTrace:!0})}function ie(e){let t=v();oe(t.isClientRouting!==!1,te,{onlyOnce:!0,showStackTrace:!0}),oe(t.isClientRouting===void 0,ne,{onlyOnce:!0,showStackTrace:!0}),t.isClientRouting=!0,e&&(t.checkSingleInstance=!0),re()}function ae(){v().instances.push(g),re()}function oe(e,t,{onlyOnce:n,showStackTrace:r}){let i=v();if(e)return;let a=`[Vike][Warning] ${t}`;if(n){let{alreadyLogged:e}=i,t=n===!0?a:n;if(e.has(t))return;e.add(t)}console.warn(r?Error(a):a)}function se(){return!(typeof process>`u`||!process.cwd||!process.versions||process.versions.node===void 0||!process.release||process.release.name!==`node`)}function ce(e,t){let n=Error(e);return se()&&(n.stack=le(n.stack,t)),n}function le(e,t){if(!e)return e;let n=de(e),r=0;return n.filter(e=>e.includes(` (internal/`)||e.includes(` (node:internal`)?!1:r<t&&ue(e)?(r++,!1):!0).join(`
`)}function ue(e){return e.startsWith(`    at `)}function de(e){return e.split(/\r?\n/)}function fe(e){return h.bold(h.yellow(e))}function pe(e){return h.bold(h.red(e))}function me(e){return h.yellow(e)}var y=p(`utils/assert.ts`,{alreadyLogged:new Set});ae();var he=`[vike]`,ge=`[vike@${g}]`,_e=`Bug`;function b(e,t){if(e)return;let n=[`You stumbled upon a Vike bug. Go to ${h.underline(`https://github.com/vikejs/vike/issues/new?template=bug.yml`)} and copy-paste this error. A maintainer will fix the bug (usually within 24 hours).`,ve(t)].filter(Boolean).join(` `);n=C(n,_e,!0);let r=w(n);throw y.onBeforeLog?.(),y.onBeforeErr?.(r),r}function ve(e){if(!e)return null;let t=typeof e==`string`?e:JSON.stringify(e);return h.dim(`Debug for maintainers (you can ignore this): ${t}`)}function x(e,t,{showStackTrace:n,exitOnError:r}={}){if(e)return;n||=y.alwaysShowStackTrace,t=C(t,`Wrong Usage`);let i=w(t);if(y.onBeforeLog?.(),y.onBeforeErr?.(i),r)console.error(n?i:t),process.exit(1);else throw i}function ye(e){return e=C(e,`Error`),w(e)}function S(e,t,{onlyOnce:n,showStackTrace:r}){if(e)return;if(r||=y.alwaysShowStackTrace,n){let{alreadyLogged:e}=y,r=n===!0?t:n;if(e.has(r))return;e.add(r)}let i=C(t,`Warning`);if(y.onBeforeLog?.(),r){let e=w(i);y.onBeforeErr?.(e),console.warn(e)}else console.warn(i)}function be(e,t,{onlyOnce:n}){if(!e){if(t=C(t,null),n){let{alreadyLogged:e}=y,n=t;if(e.has(n))return;e.add(n)}y.onBeforeLog?.(),console.log(t)}}function C(e,t,n=!1){let r=Ce(n),i=Se(t),a=xe(e);return y.addAssertTagsDev?`${y.addAssertTagsDev(r,i)}${a}${e}`:`${`${r}${i}`}${a}${e}`}function xe(e){return e.startsWith(`[`)?``:` `}function Se(e){if(!e)return``;let t=`[${e}]`;return t=e===`Warning`?me(t):pe(t),t}function Ce(e=!1){return fe(e?ge:he)}function w(e){let t=ce(e,3);return y.addAssertTagsDev&&(t.stack=t.stack?.replace(/^Error:\s*/,``)),t}function we(e){let t=e/1e3;if(t<120){let e=Te(t);return`${e} second${Ee(e)}`}{let e=Te(t/60);return`${e} minute${Ee(e)}`}}function Te(e){let t=e.toFixed(1);return t.endsWith(`.0`)&&(t=t.slice(0,-2)),t}function Ee(e){return e===`1`?``:`s`}function T(e){return typeof e==`object`&&!!e}function E(e){return Array.isArray(e)}function De(e,t){let n=t.find(t=>t.pageId===e);return b(t.length>0),b(n),n}function Oe(e){if(!e||E(e)||e.definedBy)return null;let{filePathToShowToUser:t}=e;return b(t),t}function ke(e){let t=Oe(e);return b(t),t}function Ae(e){return[null,void 0].includes(e)?String(e):[`boolean`,`number`,`string`].includes(typeof e)?JSON.stringify(e):null}function je(e,t){if(!e)return null;let[n,...r]=e;if(!n||r.length===0&&[`*`,`default`,t].includes(n))return null;b(n!==`*`);let i=``,a=``;return n==="default"?i=`export default`:(i=`export`,r=[n,...r]),r.forEach(e=>{i=`${i} { ${e}`,a=` }${a}`}),i+a}function Me(e,t,n){return`${Pe(e,t)} at ${D(n,t)}`}function Ne(e,t,n){return n?`${Pe(e,t)} at ${D(n,t)}`:`${Pe(e,t)} internally`}function Pe(e,t){return`${e} ${h.cyan(t)} defined`}function D(e,t){let n;return n=E(e)?e:[e],b(n.length>=1),n.map(e=>{if(e.definedBy)return Fe(e,t);let{filePathToShowToUser:n,fileExportPathToShowToUser:r}=e,i=je(r,t);return i?`${n} > ${h.cyan(i)}`:n}).join(` / `)}function Fe(e,t){if(e.definedBy===`api`)return`API call ${h.cyan(`${e.operation}({ vikeConfig: { ${t} } })`)}`;let{definedBy:n}=e;if(n===`cli`)return`CLI option ${h.cyan(`--${t}`)}`;if(n===`env`)return`environment variable ${h.cyan(`VIKE_CONFIG="{${t}}"`)}`;b(!1)}function Ie(e,t,n){let{value:r,definedAtData:i}=e;return n&&Le(r,n,t,i),e}function Le(e,t,n,r){b(e!==null);let i=typeof e;if(i===t)return;let a=Ae(e),o=a===null?`type ${h.cyan(i)}`:`value ${h.cyan(a)}`;x(!1,`${Ne(`Config`,n,r)} has an invalid ${o}: it should be a ${h.cyan(t)} instead`)}function O(e,t,n){let r=e.configValues[t];return r?Ie(r,t,n):null}function k(e){return e instanceof Function||typeof e==`function`}var Re=p(`hooks/getHook.ts`,{});function ze(e,t){if(!(t in e.exports))return null;let{hooksTimeout:n}=e.config,r=qe(n,t),i=e.exports[t];if(i===null)return null;let a=e.exportsAll[t][0];b(a.exportValue===i);let o=a.filePath;return b(o),We(i,t,o,r)}function Be(e,t){let{hooksTimeout:n}=t.config,r=qe(n,e),i=[];return t.exportsAll[e]?.forEach(t=>{let n=t.exportValue;if(n===null)return;let a=t.filePath;b(a),i.push(We(n,e,a,r))}),i}function Ve(e,t){let n=e.configValues[t];if(!n?.value)return null;let{hookFn:r,hookFilePath:i}=Ge(n);return We(r,t,i,Ue(t))}function He(e,t){let n=e.configValues[t];if(!n?.value)return[];let r=n.value;return b(E(r)),r.map((e,r)=>{let i=e,a=Ue(t);return b(E(n.definedAtData)),We(i,t,ke(n.definedAtData[r]),a)})}function Ue(e){return A(e)}function We(e,t,n,r){return b(n),Ke(e,{hookName:t,hookFilePath:n}),{hookFn:e,hookName:t,hookFilePath:n,hookTimeout:r}}function Ge(e){let t=e.value;return b(t),{hookFn:t,hookFilePath:ke(e.definedAtData)}}function Ke(e,{hookName:t,hookFilePath:n}){b(t&&n),b(!t.endsWith(`)`)),b(!n.endsWith(` `)),x(k(e),`Hook ${t}() defined by ${n} should be a function`)}function qe(e,t){let n=Je(e);if(n===!1)return{error:!1,warning:!1};let r=n[t],i=A(t);return r?.error!==void 0&&(i.error=r.error),r?.warning!==void 0&&(i.warning=r.warning),i}function Je(e){if(e===void 0)return{};if(e===!1)return!1;x(T(e),`Setting ${h.cyan(`hooksTimeout`)} should be ${h.cyan(`false`)} or an object`);let t={};return Object.entries(e).forEach(([e,n])=>{if(n===!1){t[e]={error:!1,warning:!1};return}x(T(n),`Setting ${h.cyan(`hooksTimeout.${e}`)} should be ${h.cyan(`false`)} or an object`);let[r,i]=[`error`,`warning`].map(t=>{let r=n[t];if(r===void 0||r===!1)return r;let i=`Setting ${h.cyan(`hooksTimeout.${e}.${t}`)} should be`;return x(typeof r==`number`,`${i} ${h.cyan(`false`)} or a number`),x(r>0,`${i} a positive number`),r});t[e]={error:r,warning:i}}),t}function A(e){return e===`onBeforeRoute`?{error:5*1e3,warning:1*1e3}:Re.isPrerendering?{error:120*1e3,warning:30*1e3}:(b(!e.toLowerCase().includes(`prerender`)),{error:30*1e3,warning:4*1e3})}function Ye(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return!!n&&!(`value`in n)&&!!n.get}function Xe(e){Ze(e)}function Ze(e){if(e.is404===void 0||e.is404===null)return;let t=e.pageProps||{};if(!T(t)){S(!1,`pageContext.pageProps should be an object`,{showStackTrace:!0,onlyOnce:!0});return}t.is404=t.is404||e.is404,e.pageProps=t}function Qe(e){return typeof e==`string`&&$e(e)?`.${e}`:`[${JSON.stringify(e)}]`}function $e(e){return/^[a-z0-9\$_]+$/i.test(e)}function j(){return Object.getOwnPropertyDescriptor(globalThis,`window`)?.get?.toString().includes(`[native code]`)??!1}function et(e,t,n,r){return new Proxy(e,{get:(i,a)=>tt(a,e,t,n,r)})}function tt(e,...t){let[n,r,i,a]=t,o=String(e);if(e===`_isProxyObject`)return!0;if(e===`dangerouslyUseInternals`)return t[2]=!0,et(...t);if(e===`_originalObject`)return n;if(a&&!(e in n))return a(e);let s=n[e];return nt(o,s,r),s}function nt(e,t,n){if(t!==`__VIKE__NOT_SERIALIZABLE__`)return;let r=Qe(e);b(j()),x(!1,`Can't access ${n}${r} on the client side. Because it can't be serialized, see server logs.`)}function rt(e){return b(e._isOriginalObject),et(e,`globalContext`)}function it(e){b(!e._isProxyObject),b(!e.globalContext),b(e._isOriginalObject),Xe(e),`_pageId`in e||Object.defineProperty(e,"_pageId",{get(){return S(!1,`pageContext._pageId has been renamed to pageContext.pageId`,{showStackTrace:!0,onlyOnce:!0}),e.pageId},enumerable:!1});let t=rt(e._globalContext);return et(e,`pageContext`,!0,e=>{if(e===`globalContext`)return t;if(e in t)return t[e]})}function at(e){[`urlPathname`,`urlParsed`,`url`,`pageExports`].forEach(t=>{e.prop&&b(Ye(e,t))})}var ot=p(`utils/execHook.ts`,{userHookErrors:new WeakMap,pageContext:null});async function st(e,t,n){return await lt(Be(e,t),t,n)}async function ct(e,t,n){let r=He(t._pageConfigGlobal,e),i=n(t);await Promise.all(r.map(async e=>{await pt(()=>e.hookFn(i),e,t,null)}))}async function lt(e,t,n){if(!e.length)return[];let r=n(t);return await Promise.all(e.map(async e=>{let n=await pt(()=>e.hookFn(r),e,t._globalContext,r);return{...e,hookReturn:n}}))}async function ut(e,t,n){let{hookReturn:r}=(await lt([e],t,n))[0];x(r===void 0,`The ${e.hookName}() hook defined by ${e.hookFilePath} isn't allowed to return a value`)}function dt(e){return T(e)?ot.userHookErrors.get(e)??!1:!1}function ft(e,t,n,r,i){let a=n&&r(n);return i??=()=>e.hookFn(a),{hookReturn:mt(i,e,t,a)}}function pt(e,t,n,r){let{hookName:i,hookFilePath:a,hookTimeout:{error:o,warning:s}}=t,c,l,u=new Promise((e,t)=>{c=t=>{d(),e(t)},l=e=>{d(),t(e)}}),d=()=>{f&&clearTimeout(f),p&&clearTimeout(p)},f=ht(s)&&setTimeout(()=>{S(!1,`The ${i}() hook defined by ${a} is slow: it's taking more than ${we(s)} (https://vike.dev/hooksTimeout)`,{onlyOnce:!1})},s),p=ht(o)&&setTimeout(()=>{let e=ye(`The ${i}() hook defined by ${a} timed out: it didn't finish after ${we(o)} (https://vike.dev/hooksTimeout)`);l(e)},o);return(async()=>{try{let i=await mt(e,t,n,r);c(i)}catch(e){T(e)&&ot.userHookErrors.set(e,{hookName:i,hookFilePath:a}),l(e)}})(),u}function mt(e,t,n,r){let{hookName:i,hookFilePath:a}=t;b(i!==`onHookCall`);let o=n._pageConfigGlobal.configValues.onHookCall,s=()=>(_t(r),e());if(!o?.value)return s();let c=!1,l,u,d=()=>{c=!0;try{l=s()}catch(e){throw u=e,e}return l};for(let e of o.value){let t={name:i,filePath:a,call:d};d=()=>((async()=>{try{await e(t,r)}catch(e){e!==u&&console.error(e)}})(),x(c,`onHookCall() must run hook.call()`),l)}if(d(),u)throw u;return l}function ht(e){return!!e&&e!==1/0}function gt(e){_t(e)}function _t(e){ot.pageContext=e,Promise.resolve().then(()=>{ot.pageContext=null})}var M={},vt=99,yt=5*1e3;function bt(e){let t=new Date().getTime();Object.keys(M).forEach(e=>{let n=M[e];t-n.startTime>yt&&delete M[e]});let n=M[e]??(M[e]={count:0,startTime:t});n.count++;let r=`${e} called ${n.count} times within ${we(yt)} — infinite loop?`;n.count>vt&&x(!1,r),!n.warned&&n.count>vt*.5&&(S(!1,r,{onlyOnce:!1,showStackTrace:!0}),n.warned=!0)}var xt=25*1e3;function St({timeout:e=xt}={}){let t,n,r=!1,i=new Promise((e,i)=>{t=(...t)=>(r=!0,a(),e(...t)),n=(...e)=>(r=!0,a(),i(...e))}),a=()=>o.forEach(e=>clearTimeout(e)),o=[],s;return s=e?new Proxy(i,{get(t,n){if(n===`then`&&!r){let t=Error(`Promise hasn't resolved after ${we(e)}`);o.push(setTimeout(()=>{b(t.stack),S(!1,Ct(t.stack),{onlyOnce:!1})},e))}let i=Reflect.get(t,n);return typeof i==`function`?i.bind(t):i}}):i,{promise:s,resolve:t,reject:n}}function Ct(e){return e.startsWith(`Error: `)&&(e=e.slice(7)),e}function wt(e){return E(e)&&e.every(e=>typeof e==`string`)}function Tt(e){return T(e)&&Object.values(e).every(e=>typeof e==`string`)}function N(e,t,n){if(!T(e))return!1;if(!(t in e))return n===`undefined`;if(n===void 0)return!0;let r=e[t];return n===`undefined`?r===void 0:n===`array`?E(r):n===`object`?T(r):n===`string[]`?wt(r):n===`string{}`?Tt(r):n===`function`?k(r):E(n)?typeof r==`string`&&n.includes(r):n===`null`?r===null:n===`true`?r===!0:n===`false`?r===!1:typeof r===n}function P(e,t,n){t&&(n||b(!t._isOriginalObject),Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)))}function F(e){window.location.href=e}function I(e,t){b(e===t)}var Et=[L({is:e=>e===void 0,match:e=>e===`!undefined`,serialize:()=>`!undefined`,deserialize:()=>void 0}),L({is:e=>e===1/0,match:e=>e===`!Infinity`,serialize:()=>`!Infinity`,deserialize:()=>1/0}),L({is:e=>e===-1/0,match:e=>e===`!-Infinity`,serialize:()=>`!-Infinity`,deserialize:()=>-1/0}),L({is:e=>typeof e==`number`&&isNaN(e),match:e=>e===`!NaN`,serialize:()=>`!NaN`,deserialize:()=>NaN}),L({is:e=>e instanceof Date,match:e=>e.startsWith(`!Date:`),serialize:e=>`!Date:`+e.toISOString(),deserialize:e=>new Date(e.slice(6))}),L({is:e=>typeof e==`bigint`,match:e=>e.startsWith(`!BigInt:`),serialize:e=>`!BigInt:`+e.toString(),deserialize:e=>{if(typeof BigInt>`u`)throw Error(`Your JavaScript environement does not support BigInt. Consider adding a polyfill.`);return BigInt(e.slice(8))}}),L({is:e=>e instanceof RegExp,match:e=>e.startsWith(`!RegExp:`),serialize:e=>`!RegExp:`+e.toString(),deserialize:e=>{e=e.slice(8);let t=e.match(/\/(.*)\/(.*)?/),n=t[1],r=t[2];return new RegExp(n,r)}}),L({is:e=>e instanceof Map,match:e=>e.startsWith(`!Map:`),serialize:(e,t)=>`!Map:`+t(Array.from(e.entries())),deserialize:(e,t)=>new Map(t(e.slice(5)))}),L({is:e=>e instanceof Set,match:e=>e.startsWith(`!Set:`),serialize:(e,t)=>`!Set:`+t(Array.from(e.values())),deserialize:(e,t)=>new Set(t(e.slice(5)))}),L({is:e=>typeof e==`string`&&e.startsWith(`!`),match:e=>e.startsWith(`!`),serialize:e=>`!`+e,deserialize:e=>e.slice(1)})];function L(e){return e}function Dt(e,t={}){return Ot(JSON.parse(e),t)}function Ot(e,t={},n=[]){return typeof e==`string`?kt(e,t,n):(typeof e==`object`&&e&&Object.entries(e).forEach(([r,i])=>{e[r]=Ot(i,t,[...n,r])}),e)}function kt(e,t,n){let r=e=>Dt(e,t);{let i=t.reviver?.(n,e,r);if(i){if(typeof i.replacement!=`string`)return i.replacement;if(e=i.replacement,i.resolved)return e}}for(let{match:t,deserialize:n}of Et)if(t(e))return n(e,r);return e}var At=`vike_pageContext`,jt=`vike_globalContext`;function Mt(){b(j())}Nt();function Nt(){Mt()}function Pt(){let e=It(At);return b(N(e,`pageId`,`string`)),b(N(e,`routeParams`,`string{}`)),e}function Ft(){return It(jt)}function It(e){let t=document.getElementById(e);x(t,`Couldn't find #${e} (which Vike automatically injects in the HTML): make sure it exists (i.e. don't remove it and make sure your HTML isn't malformed)`);let n=t.textContent;return b(n),Dt(n)}function Lt(e){return e==null}function Rt(e){return!Lt(e)}function zt(e,t){return Vt(e,t,!0)}function Bt(e,t){return Vt(e,t,!1)}function Vt(e,t,n){let r=n?`CLIENT_ONLY`:`SERVER_ONLY`,i=e.filter(e=>e.isRelevant(t)&&e.fileType!==`.page.route`).sort(Ht(n,t)),a=e=>{let n=i.filter(n=>n.pageId===t&&n.isEnv(e?`CLIENT_AND_SERVER`:r));x(n.length<=1,`Merge the following files into a single file: ${n.map(e=>e.filePath).join(` `)}`);let a=n[0];return b(a===void 0||!a.isDefaultPageFile),a},o=a(!1),s=a(!0),c=e=>i.filter(t=>t.isRendererPageFile&&t.isEnv(e?`CLIENT_AND_SERVER`:r))[0],l=c(!1),u=c(!0);return[o,s,...i.filter(e=>e.isDefaultPageFile&&!e.isRendererPageFile&&(e.isEnv(r)||e.isEnv(`CLIENT_AND_SERVER`))),l,u].filter(Rt)}function Ht(e,t){let n=e?`CLIENT_ONLY`:`SERVER_ONLY`;return(e,r)=>{if(!e.isDefaultPageFile&&r.isDefaultPageFile)return-1;if(!r.isDefaultPageFile&&e.isDefaultPageFile)return 1;{let t=e.isRendererPageFile,n=r.isRendererPageFile;if(!t&&n)return-1;if(!n&&t)return 1;b(t===n)}{let n=Ut(t,e.filePath),i=Ut(t,r.filePath);if(n<i)return-1;if(i<n)return 1;b(n===i)}return e.isEnv(n)&&r.isEnv(`CLIENT_AND_SERVER`)?-1:r.isEnv(n)&&e.isEnv(`CLIENT_AND_SERVER`)?1:0}}function Ut(e,t){let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);let r=e.slice(n),i=t.slice(n);return r.split(`/`).length+i.split(`/`).length}async function Wt(e,t){let n=Bt(e,t).filter(e=>e.fileType===`.page.server`);return await Promise.all(n.map(async e=>{e.exportNames||(b(e.loadExportNames,t),await e.loadExportNames())})),{hasOnBeforeRenderServerSideOnlyHook:n.some(({exportNames:e})=>(b(e),e.includes(`onBeforeRender`)))}}var Gt=[`urlPathname`,`urlParsed`],Kt=[`Page`,`pageExports`,`exports`];function qt(e){[...Kt,...Gt].forEach(t=>{t in e&&(Gt.includes(t)?(b(t.startsWith(`url`)),S(!1,`pageContext.${t} is already available in the browser when using Client Routing; adding '${t}' to passToClient has no effect`,{onlyOnce:!0})):S(!1,`pageContext.${t} is a built-in that cannot be overridden; adding '${t}' to passToClient has no effect`,{onlyOnce:!0}),delete e[t])})}function R(e,t,n){return typeof e==`string`?Jt(e.split(``),t,n).join(``):Jt(e,t,n)}function Jt(e,t,n){let r=[],i=t>=0?t:e.length+t;b(i>=0&&i<=e.length);let a=n>=0?n:e.length+n;for(b(a>=0&&a<=e.length);!(i===a||(i===e.length&&(i=0),i===a));){let t=e[i];b(t!==void 0),r.push(t),i++}return r}function z(e,t){b(dn(e),e),b(t.startsWith(`/`));let{hashString:n,withoutHash:r}=Yt(e);b(n===null||n.startsWith(`#`));let i=n===null?``:Zt(n.slice(1)),{searchString:a,withoutSearch:o}=Xt(r);b(a===null||a.startsWith(`?`));let s=``;if(a!==null)s=a;else if(e.startsWith(`#`)){let e=en();s=e&&Xt(e).searchString||``}let c={},l={};Array.from(new URLSearchParams(s)).forEach(([e,t])=>{c[e]=t,l[e]=[...l.hasOwnProperty(e)?l[e]:[],t]});let{protocol:u,origin:d,pathnameAbsoluteWithBase:f}=$t(o,t),p=o.slice((d||``).length);ln(e,d,p,a,n);let{pathname:m,isBaseMissing:h}=sn(f,t),g=un(d,m,a,n),{hostname:_,port:ee}=nn(d?d.slice(u.length):null,e);return m=Qt(m),b(m.startsWith(`/`)),{href:g,protocol:u,hostname:_,port:ee,origin:d,pathname:m,pathnameOriginal:p,isBaseMissing:h,search:c,searchAll:l,searchOriginal:a,hash:i,hashOriginal:n}}function Yt(e){let[t,...n]=e.split(`#`);return{hashString:[``,...n].join(`#`)||null,withoutHash:t}}function Xt(e){let[t,...n]=e.split(`?`);return{searchString:[``,...n].join(`?`)||null,withoutSearch:t}}function Zt(e){try{return decodeURIComponent(e)}catch{}try{return decodeURI(e)}catch{}return e}function Qt(e){return e=e.replace(/\s+$/,``),e=e.split(`/`).map(e=>Zt(e).split(`/`).join(`%2F`)).join(`/`),e}function $t(e,t){b(!e.includes(`?`)&&!e.includes(`#`));{let{protocol:t,origin:n,pathname:r}=tn(e);if(n)return{protocol:t,origin:n,pathnameAbsoluteWithBase:r};b(r===e)}if(e.startsWith(`/`))return{protocol:null,origin:null,pathnameAbsoluteWithBase:e};{let n=en(),r;return r=n?tn(n.split(`?`)[0].split(`#`)[0]).pathname:t,{protocol:null,origin:null,pathnameAbsoluteWithBase:on(e,r)}}}function en(){return typeof window<`u`?window?.document?.baseURI:void 0}function tn(e){if(gn(e)){let{protocol:t,uriWithoutProtocol:n}=rn(e);b(t);let[r,...i]=n.split(`/`),a=t+r;return{pathname:`/`+i.join(`/`),origin:a,protocol:t}}else return{pathname:e,origin:null,protocol:null}}function nn(e,t){let n={hostname:null,port:null};if(!e)return n;let r=e.split(`:`);if(r.length>1){let e=parseInt(r.pop(),10);b(e||e===0,t),n.port=e}return n.hostname=r.join(`:`),n}function rn(e){let[t,...n]=e.split(`:`);if(n.length===0||!/^[a-z][a-z0-9\+\-]*$/i.test(t))return{protocol:null,uriWithoutProtocol:e};let r=t+`:`,i=n.join(`:`);return i.startsWith(`//`)&&(r+=`//`,i=i.slice(2)),{protocol:r,uriWithoutProtocol:i}}function an(e){return![`ipfs://`,`ipns://`].includes(e)&&e.endsWith(`://`)}function on(e,t){let n=t.split(`/`),r=e.split(`/`),i=t.endsWith(`/`);e.startsWith(`.`)&&n.pop();for(let e in r){let t=r[e];t==``&&e===`0`||t!=`.`&&(t==`..`?n.pop():(i=!1,n.push(t)))}let a=n.join(`/`);return i&&!a.endsWith(`/`)&&(a+=`/`),a.startsWith(`/`)||(a=`/`+a),a}function sn(e,t){b(e.startsWith(`/`)),b(cn(t));let n=e;if(b(n.startsWith(`/`)),b(t.startsWith(`/`)),t===`/`)return{pathname:e,isBaseMissing:!1};let r=t;return t.endsWith(`/`)&&n===R(t,0,-1)&&(r=R(t,0,-1),b(n===r)),n.startsWith(r)?(b(n.startsWith(`/`)||n.startsWith(`http`)),b(n.startsWith(r)),n=n.slice(r.length),n.startsWith(`/`)||(n=`/`+n),b(n.startsWith(`/`)),{pathname:n,isBaseMissing:!1}):{pathname:e,isBaseMissing:!0}}function cn(e){return e.startsWith(`/`)}function ln(e,t,n,r,i){b(e===un(t,n,r,i))}function un(e,t,n,r){return`${e||``}${t}${n||``}${r||``}`}function dn(e){return fn(e)||mn(e)}function fn(e){return pn(e)||gn(e)}function pn(e){return e.startsWith(`/`)}function mn(e){return[`.`,`?`,`#`].some(t=>e.startsWith(t))||e===``}function hn(e){return!e.startsWith(`/`)&&!mn(e)}function gn(e){let{protocol:t}=rn(e);return!!t&&an(t)}function _n(e,t){x(fn(e),vn(e,t,!0))}function vn(e,t,n,r){let i=`${t} is ${h.string(e)} but it should start with ${h.string(`/`)}`;return n&&(i+=` or a protocol (e.g. ${h.string(`http://`)})`),r&&(i+=`, or be ${h.string(`*`)}`),i}function yn(e,t,n){let{pathnameOriginal:r,searchOriginal:i,hashOriginal:a}=z(e,`/`);e.startsWith(`/`)&&b(e===`${r}${i||``}${a||``}`,{url:e});let o=r.endsWith(`/`),s;return n&&r!==`/`?(s=o?R(r,0,-1):r,b(!s.endsWith(`/`),{url:e}),b(s!==``)):s=r+(o?``:`/`)+`index`,b(s),s+=t,`${s}${i||``}${a||``}`}var bn=`.pageContext.json`;function xn(e){return yn(e,bn,!1)}function B(e){return typeof e!=`object`||!e?!1:Object.getPrototypeOf(e)===null||e.constructor.name===`Object`}function Sn(e,{hookName:t,hookFilePath:n}){if(e==null)return;b(!t.endsWith(`)`));let r=`The ${h.cyan(`pageContext`)} object provided by the ${t}() hook defined by ${n}`;x(T(e),`${r} should be an object (but it's ${h.cyan(`typeof pageContext === ${JSON.stringify(typeof e)}`)} instead)`),x(!(`isPageContext`in e),`${r} shouldn't be the whole ${h.cyan(`pageContext`)} object, see https://vike.dev/pageContext-manipulation#do-not-return-entire-pagecontext`),S(!(`pageId`in e),`${r} sets ${h.cyan(`pageContext.pageId`)} which means that Vike's routing is overridden. This is an experimental feature: make sure to contact a vike maintainer before using this.`,{onlyOnce:!0}),x(!(`is404`in e),`${r} sets ${h.cyan(`pageContext.is404`)} which is forbidden, use ${h.cyan(`throw render()`)} instead, see https://vike.dev/render`)}function Cn(e){return`[`+e.map(e=>`'`+e+`'`).join(`, `)+`]`}function wn(e,t,n){b(!n.endsWith(` `));let r=[],i=Object.keys(e);for(let e of i)t.includes(e)||r.push(e);x(r.length===0,[n,`returned an object with following unknown keys:`,Cn(r)+`.`,`Only following keys are allowed:`,Cn(t)+`.`].join(` `))}function Tn(e,t){if(e==null)return;let n=`The onBeforeRender() hook defined by ${t}`;x(B(e),`${n} should return a plain JavaScript object, ${h.cyan(`undefined`)}, or ${h.cyan(`null`)}`),wn(e,[`pageContext`],n),e.pageContext&&Sn(e.pageContext,{hookName:`onBeforeRender`,hookFilePath:t})}var En=`The guard() hook defined by`;async function Dn(e,t){let n;e._globalContext._pageFilesAll.length>0?(b(e._globalContext._pageConfigs.length===0),n=On(e.pageId,e._globalContext._pageFilesAll)):n=ze(e,`guard`),n&&await ut(n,e,t)}function On(e,t){let n=t.find(t=>t.pageId===e&&t.fileType===`.page.route`);if(!n)return null;let{filePath:r,fileExports:i}=n;b(i);let a=i.guard;if(!a)return null;let o=r,s=A(`guard`);return x(k(a),`${En} ${o} should be a function`),{hookFn:a,hookName:`guard`,hookFilePath:o,hookTimeout:s}}function kn(e,t,{color:n=e=>e,trailingComma:r=!0}={}){if(b(e.length>0),e.length===1)return n(e[0]);let i=e.slice(0,e.length-1),a=e[e.length-1],o=r&&e.length>2?`,`:``;return i.map(n).join(`, `)+`${o} ${t} `+n(a)}function An(e){let t=Error(`AbortRender`);return P(t,{_pageContextAbort:e,[jn]:!0}),t}var jn=`_isAbortError`;function Mn(e){return typeof e==`object`&&!!e&&jn in e}function Nn(e){return e._urlRewrite||e._urlRedirect||e.abortStatusCode?(b(N(e,`_abortCall`,`string`)),!0):!1}function Pn(e,t,n){if(t)return;let r=n._urlRewrite??n.urlOriginal;b(r);let i=e._pageContextAbort._abortCall;b(i);let a=dt(e),o=``;a&&(o=` by ${h.cyan(`${a.hookName}()`)} hook defined at ${a.hookFilePath}`),be(!1,`${h.cyan(i)} thrown${o} while rendering ${h.cyan(r)}`,{onlyOnce:!1})}function Fn(e){let t=e.at(-1);if(!t)return null;let n=t._pageContextAbort;return b(n),n}function In(e,t,n){P(t,{_pageContextAbort:n}),e.push(t),Ln(e)}function Ln(e){if(e.length<10)return;let t=e.map(e=>e._pageContextAbort._abortCall);f(t).length!==t.length&&x(!1,`Infinite loop: ${t.join(` => `)}`)}var Rn=`_isServerSideError`;function zn(e){return P(e,{Page:e.config?.Page||e.exports?.Page}),at(e),Vn(e),Bn(e)}function Bn(e){return it(e)}function Vn(e){Hn(e)}function Hn(e){Object.entries(e).forEach(([t,n])=>{delete e[t],e[t]=n})}function V(e){return zn(e)}var Un=p(`getPageContextFromHooks.ts`,{}),Wn=[`guard`,`data`,`onBeforeRender`];function Gn(){let e=Pt();return ar(e),P(e,{_hasPageContextFromServer:!0}),e}async function Kn(e){for(let t of Wn)nr(t,e)&&(t===`guard`?await sr(e):await Xn(t,e));return e}async function qn(e,t){let n={_hasPageContextFromServer:!1};if(!t&&await er(e)){let t=await ir(e);if(`is404ServerSideRouted`in t)return{is404ServerSideRouted:!0};let{pageContextFromServer:r}=t;n._hasPageContextFromServer=!0,b(!(Rn in r)),b(!(`serverSideError`in r)),P(n,r)}return{pageContextFromHooksServer:n}}async function Jn(e,t){let n=!1;for(let r of Wn)if(!(!nr(r,e)&&e._hasPageContextFromServer))if(r===`guard`){if(t)continue;await sr(e)}else r===`data`&&(n=!0),await Xn(r,e);let r=rr(`data`,e);return(n&&r.client||e._hasPageContextFromServer&&r.server)&&await Yn(`onData`,e),e}async function Yn(e,t){return await st(e,t,e=>V(e))}async function Xn(e,t){let n;n=e===`data`?await Zn(t):await Qn(t),Object.assign(t,n)}async function Zn(e){let t=(await Yn(`data`,e))[0];if(!t)return;let{hookReturn:n}=t;return{data:n}}async function Qn(e){let t=(await Yn(`onBeforeRender`,e))[0];if(!t)return;let{hookReturn:n,hookFilePath:r}=t,i={};Tn(n,r);let a=n?.pageContext;return a&&P(i,a),i}function $n(e){e._pageContextInitIsPassedToClient&&(Un.pageContextInitIsPassedToClient=!0)}async function er(e){if(or(e)){let{hasOnBeforeRenderServerSideOnlyHook:t}=await Wt(e._pageFilesAll,e.pageId);return t}return!!Un.pageContextInitIsPassedToClient||tr(e)}function tr(e){if(or(e))return!1;let t=O(De(e.pageId,e._globalContext._pageConfigs),`hasServerOnlyHook`)?.value;return b(t===!0||t===!1),t}function nr(e,t){let n=rr(e,t);return!!n.client&&!n.server}function rr(e,t){return or(t)?{client:!1,server:!0}:O(De(t.pageId,t._globalContext._pageConfigs),`${e}Env`)?.value??{}}async function ir(e){let t=xn(e._urlRewrite??e.urlOriginal),n=await fetch(t);{let r=n.headers.get(`content-type`),i=`application/json`,a=r&&r.includes(i);if(!a&&n.status===404)return F(e.urlOriginal),{is404ServerSideRouted:!0};x(a,`Wrong Content-Type for ${t}: it should be ${i} but it's ${r} instead. Make sure to properly use pageContext.httpResponse.headers, see https://vike.dev/renderPage`)}let r=Dt(await n.text());if(b(T(r)),Nn(r))throw An(r);if(`serverSideError`in r||`_isServerSideError`in r)throw ye(`pageContext couldn't be fetched because an error occurred on the server-side`);return ar(r),{pageContextFromServer:r}}function ar(e){x(!(`urlOriginal`in e),`Adding 'urlOriginal' to passToClient is forbidden`),b(N(e,`pageId`,`string`)),qt(e)}function or(e){return e._globalContext._pageConfigs.length===0}async function sr(e){await Dn(e,e=>V(e))}function H(e,t,n){let r=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(e,t,{...r,enumerable:n})}function cr(e,t){return P(e,t),e}function lr(){let e={_isOriginalObject:!0,isPageContext:!0};return H(e,`_isOriginalObject`,!1),e}function U(e,t,{get:n,...r}){Object.defineProperty(e,t,{...r,get:n})}function ur(e){b(typeof e.urlOriginal==`string`),at(e);let t={};return U(t,`urlPathname`,{get:fr,enumerable:!0,configurable:!0}),U(t,`url`,{get:pr,enumerable:!1,configurable:!0}),U(t,`urlParsed`,{get:mr,enumerable:!0,configurable:!0}),t}function dr(e){let t=e=>b(typeof n==`string`,{src:e,urlResolved:n}),n,r;e.urlLogical?(n=e.urlLogical,r=!1,t(1)):e._urlRewrite?(n=e._urlRewrite,r=!1,t(2)):(n=e.urlOriginal,r=!0,t(3)),t(4);let i=e._urlHandler;i||=e=>e,n=i(n);let a=r?e._baseServer:`/`;return z(n,a)}function fr(){let{pathname:e}=dr(this),t=e;return b(t.startsWith(`/`)),t}function pr(){return S(!1,"`pageContext.url` is outdated. Use `pageContext.urlPathname`, `pageContext.urlParsed`, or `pageContext.urlOriginal` instead. (See https://vike.dev/migration/0.4.23 for more information.)",{onlyOnce:!0,showStackTrace:!0}),fr.call(this)}function mr(){let{isBaseMissing:e,...t}=dr(this),n=j(),r=e=>{S(n,`pageContext.urlParsed.${e} isn't available on the server-side (HTTP requests don't include the URL hash)`,{onlyOnce:!0,showStackTrace:!0})},i={...t,get hash(){return r(`hash`),t.hash},get hashOriginal(){return r(`hashOriginal`),t.hashOriginal},get hashString(){return S(!1,`pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal`,{onlyOnce:!0,showStackTrace:!0}),r(`hashString`),t.hashOriginal},get searchString(){return S(!1,`pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal`,{onlyOnce:!0,showStackTrace:!0}),t.searchOriginal}};return H(i,`hashString`,!1),H(i,`searchString`,!1),n||(H(i,`hash`,!1),H(i,`hashOriginal`,!1)),i}function hr(){return b(gr(`/`)),`/`}function gr(e){return e.startsWith(`/`)}function _r(e,t,n){Object.keys(e).filter(e=>!n?.includes(e)).forEach(t=>delete e[t]),Object.defineProperties(e,Object.getOwnPropertyDescriptors(t))}var vr=[`clientRouting`];function yr(e){vr.forEach(t=>{if(b(e.fileExports),!(t in e.fileExports))return;let n=`The value of \`${t}\` is only allowed to be \`true\`.`;x(e.fileExports[t]!==!1,`${e.filePath} has \`export { ${t} }\` with the value \`false\` which is prohibited: remove \`export { ${t} }\` instead. (${n})`),x(e.fileExports[t]===!0,`${e.filePath} has \`export { ${t} }\` with a forbidden value. ${n}`)})}var br=[`render`,`clientRouting`,`prerender`,`doNotPrerender`];function xr(e,t){x(!br.includes(e),`${t} has \`export default { ${e} }\` which is prohibited, use \`export { ${e} }\` instead.`)}function Sr(e){let t=`.page.`,n=R(e.split(t),0,-1).join(t);return b(!n.includes(`\\`)),n}function Cr(e,t){if(t.length>0){let e=t.filter(e=>e.isErrorPage);return e.length===0?null:(x(e.length===1,`Only one error page can be defined`),e[0].pageId)}let n=f(e.map(({pageId:e})=>e).filter(e=>wr(e,!1)));if(x(n.length<=1,`Only one _error.page.js is allowed, but found several: ${n.join(` `)}`),n.length>0){let e=n[0];return b(e),e}return null}function wr(e,t){return b(!e.includes(`\\`)),e.includes(`/_error`)}var Tr=[`js`,`cjs`,`mjs`],Er=[`ts`,`cts`,`mts`],Dr=[...Tr,...Er],Or=[`jsx`,`cjsx`,`mjsx`],kr=[`tsx`,`ctsx`,`mtsx`],Ar=[...Or,...kr],jr=[`vue`,`svelte`,`marko`,`md`,`mdx`],Mr=[...Dr,...Ar,...jr];``+Mr.join(`,`);function Nr(e){return Mr.some(t=>e.endsWith(`.`+t))}function Pr(e){return jr.some(t=>e.endsWith(`.`+t))}var Fr=[`.page`,`.page.server`,`.page.route`,`.page.client`,`.css`];function Ir(e){if(e.endsWith(`.css`))return`.css`;b(Nr(e),e);let t=e.split(`/`).slice(-1)[0].split(`.`),n=t.slice(-3)[0],r=t.slice(-2)[0];if(r===`page`)return`.page`;if(b(n===`page`,e),r===`server`)return`.page.server`;if(r===`client`)return`.page.client`;if(r===`route`)return`.page.route`;b(!1,e)}function Lr(e){let t=e=>r.pageId===e||r.isDefaultPageFile&&(zr(r.filePath)||Br(e,r.filePath)),n=Ir(e),r={filePath:e,fileType:n,isEnv:e=>{if(b(n!==`.page.route`),e===`CLIENT_ONLY`)return n===`.page.client`||n===`.css`;if(e===`SERVER_ONLY`)return n===`.page.server`;if(e===`CLIENT_AND_SERVER`)return n===`.page`;b(!1)},isRelevant:t,isDefaultPageFile:Rr(e),isRendererPageFile:n!==`.css`&&Rr(e)&&zr(e),isErrorPageFile:wr(e,!1),pageId:Sr(e)};return r}function Rr(e){return!wr(e,!1)&&e.includes(`/_default`)}function zr(e){return e.includes(`/renderer/`)}function Br(e,t){b(!e.endsWith(`/`)),b(!t.endsWith(`/`)),b(Rr(t));let n=R(t.split(`/`),0,-1).filter(e=>e!==`_default`).join(`/`);return e.startsWith(n)}var Vr=[`$$registrations`,`_rerender_only`],Hr=[`.md`,`.mdx`],Ur=[`server`];function Wr(e,t,n){let r=Object.keys(e),i=e=>e==="default"||e===n,a=r.filter(i),o=h.code(`export default`),s=h.code(`export { ${n} }`);a.length===0&&x(!1,`${t} should define ${s} or ${o}`),a.length===2&&x(!1,`${t} is ambiguous: remove ${o} or ${s}`),b(a.length===1),Ur.includes(n)||Hr.some(e=>t.endsWith(e))||r.filter(e=>!i(e)).filter(e=>!Vr.includes(e)).forEach(e=>{S(!1,`${t} unexpected ${h.cyan(`export { ${e} }`)}, see https://vike.dev/no-side-exports`,{onlyOnce:!0})})}function Gr(e,t){let n=e.map(e=>{let t=qr(e.configValuesSerialized);return Kr(t),{...e,configValues:t}}),r={configValues:{}};{let e=qr(t.configValuesSerialized);Object.assign(r.configValues,e)}return{pageConfigs:n,pageConfigGlobal:r}}function Kr(e){let t=`route`,n=e[t];if(!n)return;let{value:r,definedAtData:i}=n,a=typeof r;b(i);let o=Me(`Config`,t,i);x(a===`string`||k(r),`${o} has an invalid type '${a}': it should be a string or a function instead, see https://vike.dev/route`)}function qr(e){let t={};return Object.entries(e).forEach(([e,r])=>{let i;if(r.type===`cumulative`){let{valueSerialized:t,...a}=r;i={value:t.map((t,i)=>{let{value:a,sideExports:o}=Jr(t,e,()=>{let e=r.definedAtData[i];return b(e),e});return n(o),a}),...a}}else{let{valueSerialized:t,...a}=r,{value:o,sideExports:s}=Jr(t,e,()=>{b(r.type!==`computed`);let{definedAtData:e}=r;return Array.isArray(e)?e[0]:e});n(s),i={value:o,...a}}t[e]=i}),t;function n(e){e.forEach(e=>{let{configName:n,configValue:r}=e;t[n]||(t[n]=r)})}}function Jr(e,t,n){if(e.type===`js-serialized`){let{value:t}=e;return t=Ot(t),{value:t,sideExports:[]}}if(e.type===`pointer-import`){let{value:t}=e;return{value:t,sideExports:[]}}if(e.type===`plus-file`){let r=n(),{exportValues:i}=e;b(!r.definedBy),Wr(i,r.filePathToShowToUser,t);let a,o=!1,s=[];return Object.entries(i).forEach(([e,n])=>{e!=="default"&&e!==t?s.push({configName:e,configValue:{type:`standard`,value:n,definedAtData:{filePathToShowToUser:r.filePathToShowToUser,fileExportPathToShowToUser:[e]}}}):(a=n,b(!o),o=!0)}),b(o),{value:a,sideExports:s}}b(!1)}function Yr(e,t,n){b(e,typeof e),t(e)||b(!1,{moduleExports:e,moduleExportsKeys:Xr(e),moduleId:n})}function Xr(e){return[...Object.getOwnPropertyNames(e),...Object.getOwnPropertySymbols(e),...Object.keys(e)]}function Zr(e){Yr(e,e=>`pageFilesLazy`in e),b(N(e,`pageFilesLazy`,`object`)),b(N(e,`pageFilesEager`,`object`)),b(N(e,`pageFilesExportNamesLazy`,`object`)),b(N(e,`pageFilesExportNamesEager`,`object`)),b(N(e.pageFilesLazy,`.page`)),b(N(e.pageFilesLazy,`.page.client`)||N(e.pageFilesLazy,`.page.server`)),b(N(e,`pageFilesList`,`string[]`)),b(N(e,`pageConfigsSerialized`)),b(N(e,`pageConfigGlobalSerialized`));let{pageConfigsSerialized:t,pageConfigGlobalSerialized:n}=e;ei(t),ti(n);let{pageConfigs:r,pageConfigGlobal:i}=Gr(t,n),a={};Qr(e.pageFilesLazy).forEach(({filePath:e,pageFile:t,globValue:n})=>{t=a[e]=a[e]??t;let r=n;$r(r),t.loadFile=async()=>{`fileExports`in t||(t.fileExports=await r(),yr(t))}}),Qr(e.pageFilesExportNamesLazy).forEach(({filePath:e,pageFile:t,globValue:n})=>{t=a[e]=a[e]??t;let r=n;$r(r),t.loadExportNames=async()=>{if(!(`exportNames`in t)){let e=await r();b(N(e,`exportNames`,`string[]`),t.filePath),t.exportNames=e.exportNames}}}),Qr(e.pageFilesEager).forEach(({filePath:e,pageFile:t,globValue:n})=>{t=a[e]=a[e]??t;let r=n;b(T(r)),t.fileExports=r}),Qr(e.pageFilesExportNamesEager).forEach(({filePath:e,pageFile:t,globValue:n})=>{t=a[e]=a[e]??t;let r=n;b(T(r)),b(N(r,`exportNames`,`string[]`),t.filePath),t.exportNames=r.exportNames}),e.pageFilesList.forEach(e=>{a[e]=a[e]??Lr(e)});let o=Object.values(a);return o.forEach(({filePath:e})=>{b(!e.includes(`\\`))}),{pageFilesAll:o,pageConfigs:r,pageConfigGlobal:i}}function Qr(e){let t=[];return Object.entries(e).forEach(([e,n])=>{b(Fr.includes(e)),b(T(n)),Object.entries(n).forEach(([n,r])=>{let i=Lr(n);b(i.fileType===e),t.push({filePath:n,pageFile:i,globValue:r})})}),t}function $r(e){b(k(e))}function ei(e){b(E(e)),e.forEach(e=>{b(T(e)),b(N(e,`pageId`,`string`)),b(N(e,`routeFilesystem`)),b(N(e,`configValuesSerialized`))})}function ti(e){b(N(e,`configValuesSerialized`))}function ni(e){return(t,n)=>{let r=e(t),i=e(n);return r===i?0:r>i?-1:1}}function ri(e){return(t,n)=>{let r=e(t),i=e(n);return r===i?0:r<i?-1:1}}function W(e){return(t,n)=>{let r=e(t),i=e(n);if(b([!0,!1,null].includes(r)),b([!0,!1,null].includes(i)),r===i)return 0;if(r===!0||i===!1)return-1;if(i===!0||r===!1)return 1;b(!1)}}function ii(e){return W(t=>{let n=e(t);return n===null?null:!n})}function ai(e,t,n){let r=oi(si({pageConfigGlobalValues:e,pageConfigValues:n})),i=(()=>{if(t.isErrorPage)return{...r,isErrorPage:!0};{let e=r.config.route??t.routeFilesystem.routeString;return{...r,route:e}}})();return[t.pageId,i]}function oi(e){return{config:e.config,_source:e.source,_sources:e.sources,_from:e.from}}function si({pageConfigGlobalValues:e,pageConfigValues:t}){return di({configValues:{...e,...t}})}function ci(e,t,n){let r={},i={},a={};e.forEach(e=>{fi(e).forEach(({exportName:t,exportValue:n,isFromDefaultExport:r})=>{b(t!=="default"),a[t]=a[t]??[],a[t].push({exportValue:n,exportSource:`${e.filePath} > ${r?`\`export default { ${t} }\``:`\`export { ${t} }\``}`,filePath:e.filePath,_filePath:e.filePath,_fileType:e.fileType,_isFromDefaultExport:r})})});let o,s,c;if(t){let e=si({pageConfigGlobalValues:n.configValues,pageConfigValues:t.configValues});o=e.source,s=e.sources,c=e.from,Object.assign(r,e.config),Object.assign(i,e.configEntries),Object.assign(a,e.exportsAll)}else o={},s={},c={configsStandard:{},configsCumulative:{},configsComputed:{}};let l={},u={};Object.entries(a).forEach(([e,t])=>{t.forEach(({exportValue:t,_fileType:n,_isFromDefaultExport:r})=>{u[e]=u[e]??t,n===`.page`&&!r&&(e in l||(l[e]=t))})}),b(!(`default`in u)),b(!(`default`in a));let d={config:r,from:c,source:o,sources:s,configEntries:i,exports:u,exportsAll:a};return U(d,`pageExports`,{get:()=>(j()||S(!1,`pageContext.pageExports is outdated, use pageContext.exports instead`,{onlyOnce:!0,showStackTrace:!0}),l),enumerable:!1,configurable:!0}),d}function li(e,t){return ui(e,t,e=>e.configValues)}function ui(e,t,n){let r=n(t,!0),i=oi(di({configValues:r})),a=Object.fromEntries(e.map(e=>{let t=n(e);return ai(r,e,t)})),o={...i,pages:a};return{...o,_globalConfigPublic:o}}function di(e){let t={},n={},r={},i={},a={},o={configsStandard:{},configsCumulative:{},configsComputed:{}},s=(e,t)=>{i[t]=e,a[t]??(a[t]=[]),a[t].push(e)},c=(e,t,i)=>{let a=Oe(i),o=Ne(`Config`,e,i);n[e]=n[e]??[],n[e].push({configValue:t,configDefinedAt:o,configDefinedByFile:a});let s=e;r[s]=r[s]??[],r[s].push({exportValue:t,exportSource:o,filePath:a,_filePath:a,_fileType:null,_isFromDefaultExport:null})};return Object.entries(e.configValues).forEach(([e,n])=>{let{value:r}=n;if(t[e]=t[e]??r,n.type===`standard`){let t={type:`configsStandard`,value:n.value,definedAt:D(n.definedAtData,e)};s(t,e),o.configsStandard[e]=t,c(e,r,n.definedAtData)}if(n.type===`cumulative`){let t={type:`configsCumulative`,definedAt:D(n.definedAtData,e),values:n.value.map((t,r)=>{let i=n.definedAtData[r];b(i);let a=D(i,e);return c(e,t,i),{value:t,definedAt:a}})};s(t,e),o.configsCumulative[e]=t}if(n.type===`computed`){let t={type:`configsComputed`,definedAt:`Vike`,value:n.value};s(t,e),o.configsComputed[e]=t,c(e,r,n.definedAtData)}}),{config:t,configEntries:n,exportsAll:r,source:i,sources:a,from:o}}function fi(e){let{filePath:t,fileExports:n}=e;b(n),b(Nr(t));let r=[];return Object.entries(n).sort(ii(([e])=>e==="default")).forEach(([e,n])=>{let i=e==="default";if(i)if(Pr(t))e=`Page`;else{x(T(n),`The ${h.cyan(`export default`)} of ${t} should be an object.`),Object.entries(n).forEach(([e,n])=>{xr(e,t),r.push({exportName:e,exportValue:n,isFromDefaultExport:i})});return}r.push({exportName:e,exportValue:n,isFromDefaultExport:i})}),r.forEach(({exportName:e,isFromDefaultExport:t})=>{b(!(t&&br.includes(e)))}),r}async function pi(e,t,n,r,i){let{previousCreateGlobalContextPromise:a}=t,{promise:o,resolve:s}=St({timeout:null});t.previousCreateGlobalContextPromise=o,a&&(b(t.globalContext),await a);try{let a=mi(e),o;if(t.globalContext?o=!0:(t.globalContext=a,o=!1),n&&a._pageConfigs.length>0){let e=n?.(a);P(a,e)}else P(a,await r?.(a));P(a,await i?.(a));let s=He(a._pageConfigGlobal,`onCreateGlobalContext`),c=!1;return gi(t.onCreateGlobalContextHooks??[],s)||(t.onCreateGlobalContextHooks=s,await ct(`onCreateGlobalContext`,a,rt),c=!0),o&&(c?_r(t.globalContext,a):P(t.globalContext,a,!0)),t.globalContext}finally{s()}}function mi(e){let{pageFilesAll:t,pageConfigs:n,pageConfigGlobal:r}=Zr(e),i={isGlobalContext:!0,_isOriginalObject:!0,_virtualFileExportsGlobalEntry:e,_pageFilesAll:t,_pageConfigs:n,_pageConfigGlobal:r,_allPageIds:hi(t,n),...li(n,r)};return H(i,`_isOriginalObject`,!1),i}function hi(e,t){let n=f(e.filter(({isDefaultPageFile:e})=>!e).map(({pageId:e})=>e)),r=t.map(e=>e.pageId);return[...n,...r]}function gi(e,t){let n=e.map(e=>e.hookFn),r=t.map(e=>e.hookFn);return n.every(e=>r.includes(e))&&r.every(e=>n.includes(e))}var G=p(`getGlobalContextClientInternalShared.ts`,(()=>{let{promise:e,resolve:t}=St();return{globalContextInitialPromise:e,globalContextInitialPromiseResolve:t}})());async function _i(){if(G.globalContextPromise)return await G.globalContextPromise;let e=pi(G.virtualFileExportsGlobalEntry,G,()=>{let e={isClientSide:!0};return P(e,Ft()),e});G.globalContextPromise=e;let t=await e;return b(G.globalContext===t),G.globalContextInitialPromiseResolve(),t}async function vi(e){G.virtualFileExportsGlobalEntry!==e&&(delete G.globalContextPromise,G.virtualFileExportsGlobalEntry=e,await _i())}function yi(e,t){let n=t.filter(({filesystemRoot:t})=>e.startsWith(t)).sort(ni(({filesystemRoot:e})=>e.length))[0],r;if(n){let{filesystemRoot:t,urlRoot:i}=n,a={pageId:e,filesystemRoot:t,urlRoot:i};b(i.startsWith(`/`)&&e.startsWith(`/`)&&t.startsWith(`/`),a),b(e.startsWith(t),a),t===`/`?r=e:(b(!t.endsWith(`/`),a),r=R(e,t.length,0)),b(r.startsWith(`/`),a),r=i+(i.endsWith(`/`)?``:`/`)+R(r,1,0)}else r=e;return b(r.startsWith(`/`)),r=r.split(`/`).filter(e=>e!==`pages`&&e!==`src`&&e!==`index`).join(`/`),b(!r.includes(`.page.`)),b(!r.endsWith(`.`)),r.endsWith(`/index`)&&(r=R(r,0,-6)),r===``&&(r=`/`),b(r.startsWith(`/`)),b(!r.endsWith(`/`)||r===`/`),r}function bi(e){return typeof e==`object`&&!!e&&`then`in e&&k(e.then)}async function xi(e,t,n){let{hookReturn:r}=ft({hookFn:e,hookFilePath:n,hookName:`route`},t._globalContext,t,it);if(Si(r,`The Route Function ${n}`),r=await r,r===!1)return null;if(r===!0&&(r={}),x(B(r),`The Route Function ${n} should return a boolean or a plain JavaScript object (but it's ${h.cyan(`typeof result === ${JSON.stringify(typeof r)}`)} instead)`),`match`in r){let{match:e}=r;if(x(typeof e==`boolean`,`The ${h.cyan(`match`)} value returned by the Route Function ${n} should be a boolean.`),!e)return null}let i=null;`precedence`in r&&(i=r.precedence,x(typeof i==`number`,`The ${h.cyan(`precedence`)} value returned by the Route Function ${n} should be a number.`)),wi(r,`The ${h.cyan(`routeParams`)} object returned by the Route Function ${n} should`);let a=r.routeParams||{};return x(!(`pageContext`in r),`Providing ${h.cyan(`pageContext`)} in Route Functions is prohibited, see https://vike.dev/route-function#cannot-provide-pagecontext`),b(B(a)),Object.keys(r).forEach(e=>{x(e===`match`||e===`routeParams`||e===`precedence`,`The Route Function ${n} returned an object with an unknown property ${h.cyan(e)} (the known properties are ${h.cyan(`match`)}, ${h.cyan(`routeParams`)}, and ${h.cyan(`precedence`)})`)}),{precedence:i,routeParams:a}}function Si(e,t){S(!bi(e),`${t} returned a promise, but asynchronous routing is deprecated and will be removed in the next major release, see https://vike.dev/route-function#async`,{onlyOnce:!0})}function Ci(){S(!1,`${h.cyan(`iKnowThePerformanceRisksOfAsyncRouteFunctions`)} is deprecated and will be removed in the next major release`,{onlyOnce:!0})}function wi(e,t){b(t.endsWith(` should`)),N(e,`routeParams`)&&x(N(e,`routeParams`,`string{}`),`${t} be ${h.bold(`Record<string, string>`)}`)}async function Ti(e,t,n,r){return await Promise.all(e.filter(e=>e.fileType===`.page.route`).map(e=>e.loadFile?.())),Ei(e,t,n,r)}function Ei(e,t,n,r){let{onBeforeRouteHook:i,filesystemRoots:a}=Oi(e,t,n);return{pageRoutes:Di(a,e,t,r),onBeforeRouteHook:i}}function Di(e,t,n,r){let i=[];return n.length>0&&(b(e===null),n.filter(e=>!e.isErrorPage).forEach(e=>{let t=e.pageId,n=null;{let r=`route`,i=O(e,r);if(i){let a=i.value;b(i.definedAtData);let o=D(i.definedAtData,r);if(typeof a==`string`)n={pageId:t,comesFromV1PageConfig:!0,routeString:a,routeDefinedAtString:o,routeType:`STRING`};else{let{definedAtData:r}=i;b(!E(r)&&!r.definedBy);let{filePathToShowToUser:s}=r;b(s),b(k(a)),O(e,`iKnowThePerformanceRisksOfAsyncRouteFunctions`,`boolean`)&&Ci(),n={pageId:t,comesFromV1PageConfig:!0,routeFunction:a,routeFunctionFilePath:s,routeDefinedAtString:o,routeType:`FUNCTION`}}}}if(!n){let{routeFilesystem:r}=e;b(r);let{routeString:i,definedAtLocation:a}=r;b(r.routeString.startsWith(`/`)),n={pageId:t,routeFilesystemDefinedBy:a,comesFromV1PageConfig:!0,routeString:i,routeDefinedAtString:null,routeType:`FILESYSTEM`}}b(n),i.push(n)})),n.length===0&&(b(e),r.filter(e=>!wr(e,!1)).forEach(n=>{let r=t.find(e=>e.pageId===n&&e.fileType===`.page.route`);if(!r||!(`default`in r.fileExports)){let t=yi(n,e);b(t.startsWith(`/`)),b(!t.endsWith(`/`)||t===`/`),i.push({pageId:n,comesFromV1PageConfig:!1,routeString:t,routeDefinedAtString:null,routeFilesystemDefinedBy:`${n}.page.*`,routeType:`FILESYSTEM`})}else{let{filePath:e,fileExports:t}=r;if(b(t.default),N(t,`default`,`string`)){let r=t.default;x(r.startsWith(`/`),`A Route String should start with a leading slash '/' but ${e} has \`export default '${r}'\`. Make sure to \`export default '/${r}'\` instead.`),i.push({pageId:n,comesFromV1PageConfig:!1,routeString:r,routeDefinedAtString:e,routeType:`STRING`});return}if(N(t,`default`,`function`)){let r=t.default;`iKnowThePerformanceRisksOfAsyncRouteFunctions`in t&&Ci(),i.push({pageId:n,comesFromV1PageConfig:!1,routeFunction:r,routeFunctionFilePath:e,routeDefinedAtString:e,routeType:`FUNCTION`});return}x(!1,`The default export of ${e} should be a string or a function.`)}})),i}function Oi(e,t,n){if(t.length>0)return{onBeforeRouteHook:Ve(n,`onBeforeRoute`),filesystemRoots:null};let r=null,i=[];return e.filter(e=>e.fileType===`.page.route`&&e.isDefaultPageFile).forEach(({filePath:e,fileExports:t})=>{if(b(t),`onBeforeRoute`in t){x(N(t,`onBeforeRoute`,`function`),`\`export { onBeforeRoute }\` of ${e} should be a function.`);let{onBeforeRoute:n}=t,i=`onBeforeRoute`;r={hookFilePath:e,hookFn:n,hookName:i,hookTimeout:A(i)}}`filesystemRoutingRoot`in t&&(x(N(t,`filesystemRoutingRoot`,`string`),`\`export { filesystemRoutingRoot }\` of ${e} should be a string.`),x(N(t,`filesystemRoutingRoot`,`string`),`\`export { filesystemRoutingRoot }\` of ${e} is \`'${t.filesystemRoutingRoot}'\` but it should start with a leading slash \`/\`.`),i.push({filesystemRoot:ki(e),urlRoot:t.filesystemRoutingRoot}))}),{onBeforeRouteHook:r,filesystemRoots:i}}function ki(e){b(e.startsWith(`/`)),b(!e.endsWith(`/`));let t=R(e.split(`/`),0,-1).join(`/`)||`/`;return b(t.startsWith(`/`)),b(!t.endsWith(`/`)||t===`/`),t}async function Ai(){let e=await _i();return P(e,await ji(e)),e}async function ji(e){let{pageRoutes:t,onBeforeRouteHook:n}=await Ti(e._pageFilesAll,e._pageConfigs,e._pageConfigGlobal,e._allPageIds);return{_pageRoutes:t,_onBeforeRouteHook:n}}async function Mi(e){let t=Ni(e),n=await Ai();return P(t,{_globalContext:n,_pageFilesAll:n._pageFilesAll}),I(t,cr(t,n._globalConfigPublic)),t}function Ni(e){let t=lr();P(t,{isClientSide:!0,isPrerendering:!1,urlOriginal:e,_urlHandler:null});let n=hr();return b(cn(n)),P(t,{_baseServer:n}),P(t,ur(t)),t}var Pi=p(`utils/assertRouterType.ts`,{});function Fi(){Li(Ii()),Pi.isClientRouting=!0}function Ii(){return Pi.isClientRouting!==!1}function Li(e){x(j(),`${h.cyan(`import { something } from 'vike/client/router'`)} is forbidden on the server-side`,{showStackTrace:!0}),S(e,"You shouldn't `import { something } from 'vike/client/router'` when using Server Routing. The 'vike/client/router' utilities work only with Client Routing. In particular, don't `import { navigate }` nor `import { prefetch }` as they unnecessarily bloat your client-side bundle sizes.",{showStackTrace:!0,onlyOnce:!0})}function Ri(e,t){let n=e.filter(e=>e.pageId===t);return b(n.length<=1),n[0]??null}async function zi(e,t){if(`isPageEntryLoaded`in e&&!t)return e;let{moduleId:n,moduleExportsPromise:r}=e.loadVirtualFilePageEntry(),i=await r;Yr(i,()=>`configValuesSerialized`in i,n);let a=i,o;try{o=Bi(a)}catch(e){if(!(e instanceof ReferenceError)&&!(e instanceof TypeError))throw e;await new Promise(e=>setTimeout(e)),o=Bi(a)}return Object.assign(e.configValues,o),P(e,{isPageEntryLoaded:!0}),e}function Bi(e){return qr(e.configValuesSerialized)}var Vi=`_isAssetsError`;async function Hi(e,t,n,r){let i=zt(t,e),a=Ri(n,e),o;try{o=(await Promise.all([a&&zi(a,!1),...i.map(e=>e.loadFile?.())]))[0]}catch(e){throw Wi(e)&&Object.assign(e,{[Vi]:!0}),e}let s={};return P(s,ci(i,o,r)),P(s,{_pageFilesLoaded:i}),s}function Ui(e){return e?e[Vi]===!0:!1}function Wi(e){return e instanceof Error&&[`Failed to fetch dynamically imported module`,`error loading dynamically imported module`,`Importing a module script failed`,`error resolving module specifier`,`failed to resolve module`].some(t=>e.message.toLowerCase().includes(t.toLowerCase()))}function K(e,t){b(!e.startsWith(`#`));let{searchOriginal:n,hashOriginal:r,pathname:i}=z(e,`/`),a=`${i}${n||``}`;return t?.withoutHash||(a+=r||``),b(a.startsWith(`/`)),a}function Gi(e){let t=e.getAttribute(`href`);return t===null||!dn(t)||t===``||hn(t)||Yi(t)||qi(e)||Ji(e)||!Zi(t)||!Ki(e)}function Ki(e){if(Qi()){let t=e.getAttribute(`data-vike-link`);return t!==null&&t!==`false`}else return!0}function qi(e){let t=e.getAttribute(`target`),n=e.getAttribute(`rel`);return t===`_blank`||t===`_external`||n===`external`||e.hasAttribute(`download`)}function Ji(e){return e.getAttribute(`data-vike`)===`false`}function Yi(e){return!!(e.startsWith(`#`)||e.includes(`#`)&&K(e,{withoutHash:!0})===K(window.location.href,{withoutHash:!0}))}function Xi(e){return e.startsWith(`#`)?e===window.location.hash:K(e)===K(window.location.href)}function Zi(e){let t=hr();b(cn(t));let{isBaseMissing:n}=z(e,t);return!n}function Qi(){return!!window._disableAutomaticLinkInterception}function q(e){return e.fileType===`.css`?[]:e.exportNames?e.exportNames:(b(e.fileExports,e.filePath),Object.keys(e.fileExports))}function $i({pageFilesClientSide:e,pageFilesServerSide:t,pageId:n}){return{isHtmlOnly:r(),isClientRouting:a()};function r(){return t.some(e=>e.pageId===n&&e.fileType===`.page`)?(i(),!1):!(!t.some(e=>e.pageId===n&&e.fileType===`.page.server`)||e.some(e=>e.pageId===n&&e.fileType===`.page.client`&&q(e).includes(`render`)))}function i(){x(e.some(e=>q(e).includes(`render`)),["No client-side `render()` hook found.",`See https://vike.dev/render-modes for more information.`,["Loaded client-side page files (none of them `export { render }`):",...e.map((e,t)=>` (${t+1}): ${e.filePath}`)].join(`
`)].join(` `))}function a(){return e.some(e=>q(e).includes(`clientRouting`))}}function ea({pageFilesClientSide:e,pageFilesServerSide:t,isHtmlOnly:n,isClientRouting:r}){let i=[],a=t.filter(t=>!e.includes(t)),o=[];if(o.push(...e.map(e=>({id:e.filePath,onlyAssets:!1,eagerlyImported:!1}))),o.push(...a.map(e=>({id:e.filePath,onlyAssets:!0,eagerlyImported:!1}))),n)i=e.map(e=>e.filePath);else{let e=ta(r);o.push({id:e,onlyAssets:!1,eagerlyImported:!1}),i=[e]}return{clientEntries:i,clientDependencies:o}}function ta(e){return e?`@@vike/dist/client/runtime-client-routing/entry.js`:`@@vike/dist/client/runtime-server-routing/entry.js`}function na(e,t){let n=zt(e,t),r=Bt(e,t),{isHtmlOnly:i,isClientRouting:a}=$i({pageFilesClientSide:n,pageFilesServerSide:r,pageId:t});i&&(n=n.filter(e=>e.isEnv(`CLIENT_ONLY`)&&!q(e).includes(`render`)),n=ia(n));let{clientEntries:o,clientDependencies:s}=ea({pageFilesClientSide:n,pageFilesServerSide:r,isHtmlOnly:i,isClientRouting:a});return{isHtmlOnly:i,isClientRouting:a,clientEntries:o,clientDependencies:s,pageFilesClientSide:n,pageFilesServerSide:r}}async function ra(e,t,{sharedPageFilesAlreadyLoaded:n}){let r=zt(e,t);await Promise.all(r.map(async e=>{b(e.isEnv(`CLIENT_ONLY`)||e.isEnv(`CLIENT_AND_SERVER`)),!(n&&e.isEnv(`CLIENT_AND_SERVER`))&&await e.loadExportNames?.()}))}function ia(e){let t=[];for(let n of e)if(t.push(n),q(n).includes(`overrideDefaultPages`))break;return t}function aa(e,t,n){if(e){let t=O(e,`clientRouting`,`boolean`)?.value??!1;return{isClientRuntimeLoaded:O(e,`isClientRuntimeLoaded`,`boolean`)?.value??!1,isClientRouting:t}}else{let{isHtmlOnly:e,isClientRouting:r}=na(t,n);return{isClientRuntimeLoaded:!e,isClientRouting:r}}}async function oa(e,t){await ra(t._pageFilesAll,e,{sharedPageFilesAlreadyLoaded:!1});let{isClientRuntimeLoaded:n,isClientRouting:r}=aa(Ri(t._globalContext._pageConfigs,e),t._pageFilesAll,e);return n&&r}function sa(e){return e.replace(/[/\-\\^$*+?.()|[\]{}]/g,`\\$&`)}var ca=`@`,la=`:`;function ua(e,t=`Invalid`){let n=`${t} Route String ${J(e)}`;x(e!==``,`${n} (empty string): set it to ${J(`/`)} instead`),x([`/`,`*`].includes(e[0]),`${n}: it should start with ${J(`/`)} or ${J(`*`)}`),x(!e.includes(`**`),`${n}: set it to ${J(e.split(`**`).join(`*`))} instead`)}function da(e,t){ua(e);let n=fa(e),r=n.map(e=>e.param?`[^/]+`:e.glob?`.*`:sa(e.static)).map(e=>`(${e})`).join(``),i=RegExp(`^${r}/?$`),a=t.match(i);if(!a)return null;let o={},[s,...c]=a,l=0,u=n.filter(e=>e.glob).length>1;return n.forEach((e,t)=>{let n=c[t];if(e.param&&(o[e.param]=n),e.glob){let e=`*${u?++l:``}`;o[e]=n}}),{routeParams:o}}function fa(e){let t=[],n=e=>{let n=t[t.length-1];n?.static?n.static+=e:t.push({static:e})},r=e.split(`/`);return r.forEach((i,a)=>{a!==0&&n(`/`),ha(i)?(S(!i.startsWith(la),`Outdated Route String ${J(e)}, use ${J(e.split(la).join(ca))} instead`,{onlyOnce:!0}),t.push({param:i.slice(1)})):i===`*`&&a===r.length-1&&e!==`*`&&e!==`/*`?t.push({glob:!0}):i.split(`*`).forEach((e,r)=>{r!==0&&t.push({glob:!0}),e!==``&&n(e)})}),t}function pa(e){let t=[];return fa(e).forEach(e=>{e.param&&t.push(e.param)}),t}function ma(e){let t=fa(e),n=e=>e?.split(`/`).filter(Boolean).length||0,r=0;for(let e of t){if(!e.static)break;r+=n(e.static)}let i=t.map(e=>n(e.static)).reduce((e,t)=>e+t,0),a=t.filter(e=>e.param).length,o=t.filter(e=>e.glob).length;return{numberOfStaticPartsBeginning:r,numberOfStaticParts:i,numberOfParams:a,numberOfGlobs:o}}function ha(e){return e.startsWith(ca)||e.startsWith(la)}function ga(e){let t=da(e,e);return b(t),Object.keys(t.routeParams).length===0}function J(e){return j()?`'${e}'`:(e===``&&(e=`''`),h.cyan(e))}function _a(e){e.sort(va).sort(W(e=>e.routeType===`FUNCTION`&&!!e.precedence&&e.precedence<0)).sort(W(e=>e.routeType===`STRING`&&ga(e.routeString)===!1)).sort(W(e=>e.routeType===`FUNCTION`&&!e.precedence)).sort(W(e=>e.routeType===`STRING`&&ga(e.routeString)===!0)).sort(W(e=>e.routeType===`FILESYSTEM`)).sort(W(e=>e.routeType===`FUNCTION`&&!!e.precedence&&e.precedence>0))}function va(e,t){{let n=e.precedence??0,r=t.precedence??0;if(n!==r)return n>r?-1:1}if(!t.routeString||!e.routeString)return 0;{let n=ni(e=>ma(e).numberOfStaticPartsBeginning)(e.routeString,t.routeString);if(n!==0)return n}{let n=ni(e=>ma(e).numberOfStaticParts)(e.routeString,t.routeString);if(n!==0)return n}{let n=ri(e=>ma(e).numberOfGlobs)(e.routeString,t.routeString);if(n!==0)return n}{let n=ni(e=>ma(e).numberOfParams)(e.routeString,t.routeString);if(n!==0)return n}return 0}function ya(e,t){if(!B(e))return!1;for(let n of Object.keys(e))if(!t.includes(n))return!1;return!0}async function ba(e){let t={};if(!e._globalContext._onBeforeRouteHook)return null;let n=await xa(e._globalContext._onBeforeRouteHook,e);return n&&(P(t,n),N(t,`pageId`,`string`)||N(t,`pageId`,`null`))?(N(t,`routeParams`)?b(N(t,`routeParams`,`object`)):P(t,{routeParams:{}}),P(t,{_routingProvidedByOnBeforeRouteHook:!0}),t):(P(t,{_routingProvidedByOnBeforeRouteHook:!1}),t)}async function xa(e,t){let{hookReturn:n}=ft(e,t._globalContext,t,it);Si(n,`The onBeforeRoute() hook ${e.hookFilePath}`),n=await n;let r=`The onBeforeRoute() hook defined by ${e.hookFilePath}`;if(x(n==null||ya(n,[`pageContext`])&&N(n,`pageContext`),`${r} should return ${h.cyan(`null`)}, ${h.cyan(`undefined`)}, or a plain JavaScript object ${h.cyan(`{ pageContext: { /* ... */ } }`)}`),n==null)return null;if(x(N(n,`pageContext`,`object`),`${r} returned ${h.cyan(`{ pageContext }`)} but pageContext should be a plain JavaScript object.`),N(n.pageContext,`pageId`)&&!N(n.pageContext,`pageId`,`null`)){let e=`${r} returned ${h.cyan(`{ pageContext: { pageId } }`)} but ${h.cyan(`pageId`)} should be`;x(N(n.pageContext,`pageId`,`string`),`${e} a string or null`),x(t._globalContext._allPageIds.includes(n.pageContext.pageId),`${e} ${kn(t._globalContext._allPageIds.map(e=>h.cyan(e)),`or`)}`)}N(n.pageContext,`routeParams`)&&wi(n.pageContext,`${r} returned ${h.cyan(`{ pageContext: { routeParams } }`)} but routeParams should`);let i=e=>`${r} returned ${h.cyan(`{ pageContext: { ${e} } }`)} which is deprecated. Return ${h.cyan(`{ pageContext: { urlLogical } }`)} instead.`;N(n.pageContext,`url`)&&(S(!1,i(`url`),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.url,delete n.pageContext.url),N(n.pageContext,`urlOriginal`)&&(S(!1,i(`urlOriginal`),{onlyOnce:!0}),n.pageContext.urlLogical=n.pageContext.urlOriginal,delete n.pageContext.urlOriginal),N(n.pageContext,`urlLogical`)&&_n(n.pageContext.urlLogical,`${r} returned ${h.cyan(`{ pageContext: { urlLogical } }`)} and ${h.cyan(`urlLogical`)}`),Sn(n.pageContext,{hookFilePath:e.hookFilePath,hookName:`onBeforeRoute`});let a={};return P(a,n.pageContext),a}j()&&Fi();async function Sa(e,t){let n={};if(!t){let t=await ba(e);if(t){if(t._routingProvidedByOnBeforeRouteHook)return b(t.pageId),t;P(n,t)}P(e,t)}let r=e._globalContext._allPageIds;x(r.length>0,`No page found. You must create at least one page.`),b(e._globalContext._pageFilesAll.length>0||e._globalContext._pageConfigs.length>0);let{urlPathname:i}=e;b(i.startsWith(`/`));let a=[];await Promise.all(e._globalContext._pageRoutes.map(async t=>{let{pageId:n,routeType:r}=t;if(t.routeType===`FILESYSTEM`){let{routeString:e}=t,o=da(e,i);if(o){let{routeParams:t}=o;a.push({pageId:n,routeParams:t,routeString:e,routeType:r})}return}if(t.routeType===`STRING`){let{routeString:e}=t,o=da(e,i);if(o){let{routeParams:t}=o;b(r===`STRING`),a.push({pageId:n,routeString:e,routeParams:t,routeType:r})}return}if(t.routeType===`FUNCTION`){let{routeFunction:i,routeFunctionFilePath:o}=t,s=await xi(i,e,o);if(s){let{routeParams:e,precedence:t}=s;a.push({pageId:n,precedence:t,routeParams:e,routeType:r})}return}b(!1)})),_a(a);let o=a[0]??null;if(P(n,{_routeMatch:o}),!o)return P(n,{pageId:null,routeParams:{}}),n;{let{routeParams:e}=o;b(B(e)),P(n,{pageId:o.pageId,routeParams:o.routeParams})}return n}var Ca=p(`getPageContextCurrent.ts`,{pageContextCurrent:null});function wa(){let{pageContextCurrent:e}=Ca;return e}function Ta(e){Ca.pageContextCurrent=e}var Ea=5e3,Da={staticAssets:`hover`,pageContext:Ea},Oa={staticAssets:`hover`,pageContext:!1},ka=Oa;function Aa(e,t){let n=ka;if(`prefetchLinks`in e.exports&&x(!1,"`export { prefetchLinks }` is deprecated, use `export { prefetchStaticAssets }` instead."),`prefetchStaticAssets`in e.exports){let t=e.exports.prefetchStaticAssets;n.staticAssets=t}if(`prefetch`in e.exports){let{prefetch:t}=e.exports;t===!0&&(n=Da),t===!1&&(n=Oa),Object.assign(n,t),n.pageContext===!0&&(n.pageContext=Ea)}if(n.staticAssets,t){{let e=t.getAttribute(`data-prefetch`);e!==null&&(e===``&&(e=`true`),e===`true`&&(n=Da),e===`false`&&(n=Oa))}{let e=t.getAttribute(`data-prefetch-static-assets`);e!==null&&(e===`false`&&(n.staticAssets=!1),n.staticAssets=e)}{let e=t.getAttribute(`data-prefetch-page-context`);if(e!==null){e===``&&(e=`true`),e===`true`&&(n.pageContext=Ea),e===`false`&&(n.pageContext=!1);let t=parseInt(e,10);Number.isNaN(t)||(n.pageContext=t)}}}return n}function ja(e,t){let n=`URL ${e} passed to ${t}() is invalid`;return x(dn(e),n),e.startsWith(location.origin)&&(e=e.slice(location.origin.length)),x(e.startsWith(`/`)||mn(e),n),e}Fi();var Y=p(`prefetch.ts`,{linkPrefetchHandlerAdded:new WeakSet,addLinkPrefetchHandlers_debounce:null,mutationObserver:new MutationObserver(Ra),linkTags:document.getElementsByTagName(`A`),prefetchedPageContexts:{}});function Ma(e){if(!Aa(e,null).pageContext)return null;let t=Ka(e.urlPathname),n=Y.prefetchedPageContexts[t];return!n||n.result.is404ServerSideRouted||Wa(n)?null:n.result.pageContextFromHooksServer}async function Na(e){try{await Hi(e.pageId,e._pageFilesAll,e._globalContext._pageConfigs,e._globalContext._pageConfigGlobal)}catch(e){if(Ui(e))No(e,!0);else throw e}}async function Pa(e,t){Ia(e,await qn(e,!1),t)}function Fa(e,t){qa()&&Ia(e,t,null)}function Ia(e,t,n){n===null&&(n=La());let r=Ka(e.urlPathname);b(qa()),Y.prefetchedPageContexts[r]={resultFetchedAt:Date.now(),resultMaxAge:n,result:t}}function La(){let e=wa();if(!e)return 1/0;let t=Aa(e,null);return typeof t.pageContext==`number`?t.pageContext:Ea}function Ra(){Y.addLinkPrefetchHandlers_debounce&&clearTimeout(Y.addLinkPrefetchHandlers_debounce),Y.addLinkPrefetchHandlers_debounce=setTimeout(()=>{`requestIdleCallback`in window?requestIdleCallback(Ha,{timeout:300}):setTimeout(Ha,150)},250)}function za(){Ra()}function Ba(){Y.mutationObserver.observe(document.body,{childList:!0,subtree:!0})}function Va(){Y.mutationObserver.disconnect()}function Ha(){for(let e of Y.linkTags)Y.linkPrefetchHandlerAdded.has(e)||(Y.linkPrefetchHandlerAdded.add(e),!Gi(e)&&(e.addEventListener(`mouseover`,()=>{Ua(e,`hover`)},{passive:!0}),e.addEventListener(`touchstart`,()=>{Ua(e,`hover`)},{passive:!0}),new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&Ua(e,`viewport`)})}).observe(e)))}async function Ua(e,t){let n,r=wa();if(r)n=Aa(r,e);else if(qa())n={staticAssets:`hover`,pageContext:1/0};else return;if(Gi(e))return;let i=e.getAttribute(`href`),a=await Ga(i);a?.pageId&&(b(N(a,`pageId`,`string`)),await oa(a.pageId,a)&&await Promise.all([(async()=>{n.staticAssets===t&&await Na(a)})(),(async()=>{if(t!==`viewport`&&n.pageContext){let e=Ka(i),t=Y.prefetchedPageContexts[e];if(!t||Wa(t)){let e=n.pageContext;await Pa(a,e)}}})()]))}function Wa(e){return Date.now()-e.resultFetchedAt>e.resultMaxAge}async function Ga(e){let t=await Mi(e),n;try{n=await Sa(t)}catch{return null}return P(t,n),t}function Ka(e){return e.startsWith(`#`)&&(e=`/`),b(e.startsWith(`/`),{urlPathname:e}),e.split(`#`)[0]}function qa(){return`_isBrilloutDocpress`in window}async function Ja(e,t){let n=null;n=ze(e,`render`);{let t=ze(e,`onRenderClient`);t&&(n=t)}if(!n){let t=Ya(e);if(b(t),e._globalContext._pageConfigs.length>0)x(!1,`No onRenderClient() hook defined for URL '${t}', but it's needed, see https://vike.dev/onRenderClient`);else{let n=e._pageFilesLoaded.filter(e=>e.fileType===`.page.client`),r;r=n.length===0?"No file `*.page.client.*` found for URL "+t:`One of the following files should export a render() hook: `+n.map(e=>e.filePath).join(` `),x(!1,r)}}await ut(n,e,t)}function Ya(e){let t;try{t=e.urlPathname??e.urlOriginal}catch{}return t??=window.location.href,t}function Xa(e){return K(window.location.href,e)}var X=p(`history.ts`,{monkeyPatched:!1,previous:void 0});lo(),X.previous=so();function Za(){Z(window.history.state)||ro({vike:{timestamp:eo(),scrollPosition:$a(),triggeredBy:`browser`}})}function Qa(){let e=window.history.state;return oo(e),e}function $a(){return{x:window.scrollX,y:window.scrollY}}function eo(){return new Date().getTime()}function to(e){if(e||=$a(),!Z(window.history.state))return;let t=Qa();ro({...t,vike:{...t.vike,scrollPosition:e}})}function no(e,t){if(t)ro(Qa(),e);else{let t={vike:{timestamp:eo(),scrollPosition:null,triggeredBy:`vike`}};window.history.pushState(t,``,e)}}function ro(e,t){let n=t??null;window.history.replaceState(e,``,n),oo(window.history.state)}function io(e,t){History.prototype.replaceState.bind(window.history)(e,``,t)}function ao(){X.monkeyPatched||(X.monkeyPatched=!0,[`pushState`,`replaceState`].forEach(e=>{let t=window.history[e].bind(window.history);window.history[e]=(n={},...r)=>{x(n==null||T(n),`history.${e}(state) argument state must be an object`);let i=Z(n)?n:{...n,vike:{scrollPosition:$a(),timestamp:eo(),triggeredBy:`user`}};t(i,...r),oo(window.history.state),X.previous=so(),queueMicrotask(()=>{Z(window.history.state)||(Object.assign(i,window.history.state),io(i))})}}))}function Z(e){return!!e?.vike}function oo(e){Z(e)||b(!1,{state:e})}function so(){return{url:Xa(),state:Qa()}}function co(){let{previous:e}=X,t=Z(window.history.state),n=window.history.state===null;if(!t&&!n)return F(Xa()),{skip:!0};t||Za();let r=so();return X.previous=r,n?{skip:!0}:{previous:e,current:r}}function lo(){ao(),Za()}function uo(e){window.addEventListener(`visibilitychange`,()=>{document.visibilityState===`hidden`&&e()})}function fo(e){window.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&e()})}function po(e){return new Promise(t=>setTimeout(t,e))}function mo(e,t){let n=!1;return()=>{n||(n=!0,setTimeout(()=>{n=!1,e()},t))}}function ho(e,t){if(!e&&t&&_o(t)){go(t);return}if(bo(e)){xo(e);return}e?.preserveScroll||vo(So())}function go(e){let t=window.history.state;io(null,e),b(window.history.state===null),window.location.replace(e),io(t,e)}function _o(e){return e.includes(`#`)&&e.includes(`:~:text`)}function vo(e){if(!e)yo();else{let t=decodeURIComponent(e),n=document.getElementById(t)||document.getElementsByName(t)[0];n?(n.scrollIntoView(),n.focus()):e===`top`&&yo()}}function yo(){xo({x:0,y:0})}function bo(e){return e?.y!==void 0}function xo(e){let t=()=>{window.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;let e=new Date().getTime();for(;;)if(await po(10),t(),n()||new Date().getTime()-e>100)return},0)}))}function So(){let{hash:e}=window.location;return e===``?null:(b(e.startsWith(`#`)),e=e.slice(1),e)}function Co(){window.addEventListener(`scroll`,mo(to,300),{passive:!0}),uo(to)}var wo=p(`scrollRestoration.ts`,{});function To(){Oo(),uo(Oo),fo(()=>wo.initialRenderIsDone&&Do())}function Eo(){wo.initialRenderIsDone=!0,Do()}function Do(){`scrollRestoration`in window.history&&(window.history.scrollRestoration=`manual`)}function Oo(){`scrollRestoration`in window.history&&(window.history.scrollRestoration=`auto`)}function ko(e){T(e)&&e.isAlreadyLogged||console.error(e)}var Q=p(`renderPageClient.ts`,(()=>{let{promise:e,resolve:t}=St();return{renderCounter:0,hydrationAwaitPromise:e,hydrationAwaitPromiseResolve:t}})());async function $(e){bt(`renderPageClient()`);let{urlOriginal:t=Xa(),overwriteLastHistoryEntry:n=!1,isBackwardNavigation:r=!1,isHistoryNavigation:i=!1,doNotRenderIfSamePage:a,isClientSideNavigation:o=!0,pageContextInitClient:s,pageContextsAborted:c=[]}=e,{scrollTarget:l}=e,{previousPageContext:u}=Q;Va();let{isRenderOutdated:d,setHydrationCanBeAborted:f,isFirstRender:p}=Po(),m={urlOriginal:t,isBackwardNavigation:r,isHistoryNavigation:i,pageContextsAborted:c,isClientSideNavigation:o,pageContextInitClient:s,isFirstRender:p};if(Q.clientRoutingIsDisabled){F(t);return}if(!p&&(await Q.hydrationAwaitPromise,d())||(await Q.onRenderClientPreviousPromise,d()))return;return await h();async function h(){let e=async e=>{await g({err:e})},n=await Ao(!1,m);if(d())return;if(Q.isFirstRenderDone&&(b(u),!Q.isTransitioning)){Q.isTransitioning=!0;let t=Be(`onPageTransitionStart`,u);try{await lt(t,n,Bn)}catch(t){await e(t);return}if(d())return}if(p){let e=Gn();b(!(`urlOriginal`in e)),P(n,e),Fa(n,{pageContextFromHooksServer:e})}{let r;try{r=await Sa(n)}catch(t){await e(t);return}if(d())return;if(b(!(`urlOriginal`in r)),p){let{pageId:e,routeParams:t,...i}=r;P(n,i),b(N(n,`routeParams`,`string{}`))}else P(n,r);if(!p){if(!r.pageId){F(t);return}let e=await oa(r.pageId,n);if(d())return;if(!e){F(t);return}let i=r.pageId&&u?.pageId&&r.pageId===u.pageId;if(a&&i)return}}b(N(n,`pageId`,`string`));let r=await Ro(n,p,d);if(!r.skip){if(`err`in r){await e(r.err);return}if(I(n,r.pageContext),Ta(n),n.exports.hydrationCanBeAborted&&f(),!d())if(p){b(N(n,`_hasPageContextFromServer`,`true`));let t;try{t=await Kn(n)}catch(t){await e(t);return}return d()?void 0:(I(n,t),await v(n))}else{let t,r=Ma(n);if(r)t=r;else try{let e=await qn(n,!1);if(e.is404ServerSideRouted)return;t=e.pageContextFromHooksServer,Fa(n,e)}catch(t){await e(t);return}if(d())return;b(!(`urlOriginal`in t)),P(n,t);let i;try{i=await Jn(n,!1)}catch(t){await e(t);return}return d()?void 0:(I(n,i),await v(n))}}}async function g(e){let{err:t}=e;b(t),Mn(t)||ko(t);let n=await Ao(!0,m);if(d())return;P(n,{errorWhileRendering:t});let r;if(Mn(t)){let e=await ee(t,n);if(e.skip)return;r=e.pageContextAbort}await _(n,e,r)}async function _(e,n,r){let i=e=>{ko(e)},a=Cr(e._pageFilesAll,e._globalContext._pageConfigs);if(!a)throw Error(`No error page defined.`);P(e,{pageId:a,routeParams:{}}),r?(b(r.abortStatusCode),b(!(`urlOriginal`in r)),P(e,r),P(e,{is404:r.abortStatusCode===404})):P(e,{is404:!1});let o=await oa(e.pageId,e);if(d())return;if(!o){F(t);return}let s=await Ro(e,p,d);if(s.skip)return;if(`err`in s){i(s.err);return}I(e,s.pageContext),Ta(e);let c;try{let t=await qn(e,!0);if(t.is404ServerSideRouted)return;c=t.pageContextFromHooksServer}catch(e){i(e);return}if(d())return;b(!(`urlOriginal`in c)),P(e,c);let l;try{l=await Jn(e,!0)}catch(e){i(e);return}d()||(I(e,l),await v(e,n))}async function ee(t,n){let r=t;Pn(t,!0,n);let i=r._pageContextAbort;if(In(c,n,i),i._urlRewrite)return await $({...e,scrollTarget:void 0,pageContextsAborted:c}),{skip:!0};if(i._urlRedirect){let t=i._urlRedirect.url;if(t.startsWith(`/`))await $({...e,scrollTarget:void 0,urlOriginal:t,overwriteLastHistoryEntry:!1,pageContextsAborted:c});else return F(t),{skip:!0};return{skip:!0}}return{pageContextAbort:i}}async function v(e,r){let i=async e=>{r?ko(e):await g({err:e})};Mo(t,n),Q.previousPageContext=e,b(Q.onRenderClientPreviousPromise===void 0);let a=(async()=>{let t;try{await Ja(e,V)}catch(e){b(e),t=e}return Q.onRenderClientPreviousPromise=void 0,Q.isFirstRenderDone=!0,t})();Q.onRenderClientPreviousPromise=a;let o=await a;if(!(o&&(await i(o),!r))){if(p&&!o){try{await st(`onHydrationEnd`,e,V)}catch(e){if(await i(e),!r)return}if(d(!0))return}if(!d(!0)){if(Q.isTransitioning){Q.isTransitioning=void 0,b(u);let t=Be(`onPageTransitionEnd`,u);try{await lt(t,e,V)}catch(e){if(await i(e),!r)return}if(d(!0))return}if(!l&&u){let t=Io(u),n=Io(e);n!==!1&&t!==!1&&Lo(n,t)&&(l={preserveScroll:!0})}return ho(l,t),bo(l)&&to(l),Eo(),e._hasPageContextFromServer&&$n(e),Ba(),Ra(),Q.renderedPageContext=e,jo(t),Q.hydrationAwaitPromiseResolve(),e}}}}async function Ao(e,{urlOriginal:t,isBackwardNavigation:n,isHistoryNavigation:r,pageContextsAborted:i,isClientSideNavigation:a,pageContextInitClient:o,isFirstRender:s}){let c=Q.previousPageContext??null,l=await Mi(t);P(l,{isBackwardNavigation:n,isHistoryNavigation:r,isClientSideNavigation:a,isHydration:s&&!e,previousPageContext:c,pageContextsAborted:i,...o}),Q.currentPageContext=l,Object.defineProperty(l,"_previousPageContext",{get(){return S(!1,`pageContext._previousPageContext has been renamed pageContext.previousPageContext`,{showStackTrace:!0,onlyOnce:!0}),c},enumerable:!1});{let e=Fn(i);b(!e||!(`urlOriginal`in e)),P(l,e)}return l}function jo(e){window._vike??(window._vike={}),window._vike.fullyRenderedUrl=e}function Mo(e,t){Xa()!==e&&no(e,t)}function No(e,t){Q.clientRoutingIsDisabled=!0,b(Ui(e)),t&&console.log(e),be(!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 Po(){let e=++Q.renderCounter;b(e>=1);let t=!1;return{isRenderOutdated:n=>e===1&&!t&&!n?!1:e!==Q.renderCounter,setHydrationCanBeAborted:()=>{t=!0,Q.hydrationAwaitPromiseResolve()},isFirstRender:e===1}}function Fo(){return Q.renderCounter}function Io(e){let t=e.from.configsStandard.keepScrollPosition;if(!t)return!1;let n=t.value,r=t.definedAt;b(r);let i=pa(r);return k(n)&&(n=n(e,{configDefinedAt:t.definedAt})),n===!0?[r,...i.map(t=>{let n=e.routeParams[t];return b(n),n})]:n}function Lo(e,t){return e===t?!0:!Array.isArray(e)||!Array.isArray(t)?!1:e.length===t.length&&e.every((n,r)=>e[r]===t[r])}async function Ro(e,t,n){let r=!1,i,a;try{a=await Hi(e.pageId,e._pageFilesAll,e._globalContext._pageConfigs,e._globalContext._pageConfigGlobal)}catch(n){if(i=n,r=!0,zo(i,e,t))return{skip:!0}}if(n())return{skip:!0};if(r)return{err:i};P(e,a);try{await st(`onCreatePageContext`,e,V)}catch(e){i=e,r=!0}return n()?{skip:!0}:r?{err:i}:{pageContext:e}}function zo(e,t,n){if(!Ui(e))return!1;if(n)throw No(e,!1),e;return No(e,!0),F(t.urlOriginal),!0}function Bo(){window.addEventListener(`popstate`,Vo)}async function Vo(){bt(`onPopState()`);let e=co();if(e.skip)return;let{previous:t,current:n}=e;await Ho(t,n)}async function Ho(e,t){let n=t.state.vike.scrollPosition||void 0;if(Uo(t.url)===Uo(e.url)&&t.url!==e.url){ho(n);return}let r=t.state.vike.triggeredBy===`user`||e.state.vike.triggeredBy===`user`;await $({scrollTarget:n,isBackwardNavigation:!t.state.vike.timestamp||!e.state.vike.timestamp?null:t.state.vike.timestamp<e.state.vike.timestamp,doNotRenderIfSamePage:r,isHistoryNavigation:!0})}function Uo(e){return e.split(`#`)[0]}function Wo(){document.addEventListener(`click`,Go)}async function Go(e){if(!Ko(e))return;let t=qo(e.target);if(!t)return;let n=t.getAttribute(`href`);if(n===null||Ji(t))return;if(n.includes(`#`)&&Xi(n)){e.preventDefault(),vo(n.split(`#`)[1]);return}if(Gi(t))return;e.preventDefault();let r;{let e=t.getAttribute(`keep-scroll-position`);e!==null&&(r={preserveScroll:e!==`false`})}await $({scrollTarget:r,urlOriginal:n})}function Ko(e){return e.button===0&&!e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey}function qo(e){for(;e.tagName!==`A`;){let{parentNode:t}=e;if(!t)return null;e=t}return e}var Jo=c({default:()=>Yo});function Yo(){return!0}var Xo=`modulepreload`,Zo=function(e){return`/`+e},Qo={},$o=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=Zo(t,n),t=s(t),t in Qo)return;Qo[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:Xo,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},es=c({neverLoaded:()=>os,pageConfigGlobalSerialized:()=>cs,pageConfigsSerialized:()=>ss,pageFilesEager:()=>ns,pageFilesExportNamesEager:()=>is,pageFilesExportNamesLazy:()=>rs,pageFilesLazy:()=>ts,pageFilesList:()=>as}),ts={},ns={},rs={},is={},as=[],os={},ss=[{pageId:`/pages/index`,isErrorPage:void 0,routeFilesystem:{routeString:`/`,definedAtLocation:`/pages/index/`},loadVirtualFilePageEntry:()=>({moduleId:`virtual:vike:page-entry:client:/pages/index`,moduleExportsPromise:$o(()=>import(`../entries/pages_index.CkW5JQ8X.js`),__vite__mapDeps([0,1]))}),configValuesSerialized:{hasServerOnlyHook:{type:`computed`,definedAtData:null,valueSerialized:{type:`js-serialized`,value:!1}},isClientRuntimeLoaded:{type:`computed`,definedAtData:null,valueSerialized:{type:`js-serialized`,value:!0}},onBeforeRenderEnv:{type:`computed`,definedAtData:null,valueSerialized:{type:`js-serialized`,value:null}},dataEnv:{type:`computed`,definedAtData:null,valueSerialized:{type:`js-serialized`,value:null}},guardEnv:{type:`computed`,definedAtData:null,valueSerialized:{type:`js-serialized`,value:null}},route:{type:`standard`,definedAtData:{filePathToShowToUser:`/pages/index/+route.ts`,fileExportPathToShowToUser:[]},valueSerialized:{type:`plus-file`,exportValues:Jo}},clientRouting:{type:`standard`,definedAtData:{filePathToShowToUser:`vike-react/config`,fileExportPathToShowToUser:[`default`,`clientRouting`]},valueSerialized:{type:`js-serialized`,value:!0}}}}],cs={configValuesSerialized:{}};ts[`.page`]={...Object.assign({})},is[`.page`]={...Object.assign({})},is[`.page.server`]={...Object.assign({})},ns[`.page.route`]={...Object.assign({})},ts[`.page.client`]={...Object.assign({})},is[`.page.client`]={...Object.assign({})},os[`.page.server`]={...Object.assign({})};var ls=p(`initClientRouter.ts`,{});function us(){vi(es),!ls.done&&(ls.done=!0,fs(),ds(),Wo(),za())}function ds(){b(Fo()===0),$({scrollTarget:{preserveScroll:!0},isClientSideNavigation:!1})}function fs(){To(),lo(),Co(),Bo()}export{Dt as a,ie as c,o as d,c as f,Fi as i,h as l,u as m,$ as n,Et as o,d as p,ja as r,gt as s,us as t,s as u};